flake reorg

This commit is contained in:
Robin Appelman 2024-09-27 17:40:09 +02:00
commit 2a34eee2f1
11 changed files with 179 additions and 285 deletions

View file

@ -1,8 +1,9 @@
{
packages,
lib,
writeTextDir,
}: let
{ packages
, lib
, writeTextDir
,
}:
let
inherit (builtins) head attrNames concatStringsSep replaceStrings;
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.lists) flatten last;
@ -33,4 +34,5 @@
}
}
'';
in writeTextDir "mod.rs" code
in
writeTextDir "mod.rs" code

View file

@ -1,17 +1,19 @@
{
stdenvNoCC,
logging-extractor,
fetchzip,
name,
version,
url,
major,
sha256,
mode ? "json",
}: let
{ stdenvNoCC
, logging-extractor
, fetchzip
, name
, version
, url
, major
, sha256
, mode ? "json"
,
}:
let
ext = if mode == "rust" then "rs" else "json";
cleanedMajor = builtins.replaceStrings ["."] ["_"] major;
in stdenvNoCC.mkDerivation rec {
cleanedMajor = builtins.replaceStrings [ "." ] [ "_" ] major;
in
stdenvNoCC.mkDerivation rec {
pname = "extractor-logs-${name}-${cleanedMajor}";
inherit version;
@ -19,7 +21,7 @@ in stdenvNoCC.mkDerivation rec {
inherit url sha256;
};
nativeBuildInputs = [logging-extractor];
nativeBuildInputs = [ logging-extractor ];
buildPhase = ''
logging-extractor . ${mode} > logs.${ext}

View file

@ -1,18 +1,19 @@
{
stdenv,
rustPlatform,
lib,
}: let
{ stdenv
, rustPlatform
, lib
,
}:
let
inherit (lib.sources) sourceByRegex;
src = sourceByRegex ../logging-extractor ["Cargo.*" "(src|tests|test-data)(/.*)?"];
src = sourceByRegex ../logging-extractor [ "Cargo.*" "(src|tests|test-data)(/.*)?" ];
in
rustPlatform.buildRustPackage rec {
pname = "logging-extractor";
version = "0.1.0";
rustPlatform.buildRustPackage rec {
pname = "logging-extractor";
version = "0.1.0";
inherit src;
inherit src;
cargoLock = {
lockFile = ../logging-extractor/Cargo.lock;
};
}
cargoLock = {
lockFile = ../logging-extractor/Cargo.lock;
};
}

30
nix/logsmash.nix Normal file
View file

@ -0,0 +1,30 @@
{ stdenv
, makeRustPlatform
, rust-bin
, lib
, extracted-logs-rust
,
}:
let
inherit (lib.sources) sourceByRegex;
src = sourceByRegex ../. [ "Cargo.*" "(src|data)(/.*)?" ];
rustPlatform = makeRustPlatform {
cargo = rust-bin.stable.latest.default;
rustc = rust-bin.stable.latest.default;
};
in
rustPlatform.buildRustPackage rec {
pname = "logsmash";
version = "0.1.0";
inherit src;
preBuild = ''
rm -r data/src/data
cp -r ${extracted-logs-rust} data/src/data
'';
cargoLock = {
lockFile = ../Cargo.lock;
};
}

View file

@ -1,4 +1,5 @@
final: prev: let
final: prev:
let
inherit (builtins) mapAttrs attrValues map tail;
inherit (prev) symlinkJoin;
inherit (prev.lib) importJSON;
@ -15,18 +16,19 @@ final: prev: let
inherit (data) url sha256 version;
inherit name major mode;
}));
in {
logging-extractor = final.callPackage ./logging-extractor.nix {};
in
{
logging-extractor = final.callPackage ./logging-extractor.nix { };
extracted-logs-parts = mapAttrs (loggingFor "json") packages;
extracted-logs-parts-rust = mapAttrs (loggingFor "rust") packages;
extracted-logs-rust-mod = final.callPackage ./data-mod.nix {inherit packages;};
extracted-logs-rust-mod = final.callPackage ./data-mod.nix { inherit 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))) ++ [final.extracted-logs-rust-mod];
paths = (flatten (map attrValues (attrValues final.extracted-logs-parts-rust))) ++ [ final.extracted-logs-rust-mod ];
};
logsmash = final.callPackage ./package.nix {};
logsmash = final.callPackage ./logsmash.nix { };
}

View file

@ -1,29 +0,0 @@
{
stdenv,
makeRustPlatform,
rust-bin,
lib,
extracted-logs-rust,
}: let
inherit (lib.sources) sourceByRegex;
src = sourceByRegex ../. ["Cargo.*" "(src|data)(/.*)?"];
rustPlatform = makeRustPlatform {
cargo = rust-bin.stable.latest.default;
rustc = rust-bin.stable.latest.default;
};
in
rustPlatform.buildRustPackage rec {
pname = "logsmash";
version = "0.1.0";
inherit src;
preBuild = ''
rm -r data/src/data
cp -r ${extracted-logs-rust} data/src/data
'';
cargoLock = {
lockFile = ../Cargo.lock;
};
}

View file

@ -212,4 +212,4 @@
"prefix": "/apps/impersonate"
}
}
}
}