logsmash/nix/extracted-logs.nix
Robin Appelman 550f507687
All checks were successful
CI / checks (push) Successful in 2m27s
CI / build (push) Successful in 2m39s
CI / build-nixpkgs (push) Successful in 45s
update source versions for data extractions
2025-12-01 22:51:57 +01:00

45 lines
861 B
Nix

{
lib,
stdenvNoCC,
logging-extractor,
fetchzip,
fetchurl,
name,
version,
url,
major,
sha256,
mode ? "json",
}: let
inherit (builtins) substring stringLength;
getExt = path: substring (stringLength path - 3) (-1) path;
extractor =
if ((getExt url) == "zip")
then fetchzip
else fetchurl;
ext =
if mode == "rust"
then "rs"
else "json";
cleanedMajor = builtins.replaceStrings ["."] ["_"] major;
in
stdenvNoCC.mkDerivation rec {
pname = "extractor-logs-${name}-${cleanedMajor}";
inherit version;
src = extractor {
inherit url sha256;
};
nativeBuildInputs = [logging-extractor];
buildPhase = ''
echo ${src}
logging-extractor . ${mode} > logs.${ext}
'';
installPhase = ''
mkdir -p $out
cp logs.* $out/${name}_${cleanedMajor}.${ext}
'';
}