initial matching

This commit is contained in:
Robin Appelman 2024-07-21 01:17:23 +02:00
commit 246b4552f9
31 changed files with 87489 additions and 43394 deletions

View file

@ -7,8 +7,10 @@
url,
major,
sha256,
}:
stdenvNoCC.mkDerivation rec {
mode ? "json",
}: let
ext = if mode == "rust" then "rs" else "json";
in stdenvNoCC.mkDerivation rec {
pname = "extractor-logs-${name}-${major}";
inherit version;
@ -19,11 +21,11 @@ stdenvNoCC.mkDerivation rec {
nativeBuildInputs = [logging-extractor];
buildPhase = ''
logging-extractor . > logs.json
logging-extractor . ${mode} > logs.${ext}
'';
installPhase = ''
mkdir -p $out/${name}/${major}
cp logs.json $out/${name}/${major}
mkdir -p $out
cp logs.* $out/${name}_${major}.${ext}
'';
}

View file

@ -5,16 +5,21 @@ final: prev: let
inherit (prev.lib.lists) flatten;
packages = prev.lib.traceValSeq (importJSON ./versions.json);
loggingFor = name:
loggingFor = mode: name:
mapAttrs (major: data: (final.callPackage ./extracted-logs.nix {
inherit (data) url sha256 version;
inherit name major;
inherit name major mode;
}));
in {
logging-extractor = final.callPackage ./logging-extractor.nix {};
extracted-logs-parts = mapAttrs loggingFor packages;
extracted-logs-parts = mapAttrs (loggingFor "json") packages;
extracted-logs-parts-rust = mapAttrs (loggingFor "rust") packages;
extracted-logs = symlinkJoin {
name = "extracted-logs";
paths = flatten (map attrValues (attrValues final.extracted-logs-parts));
};
extracted-logs-rust = symlinkJoin {
name = "extracted-logs";
paths = flatten (map attrValues (attrValues final.extracted-logs-parts-rust));
};
}