diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-11-19 16:49:21 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-11-19 16:51:12 +0100 |
commit | b9c0b3f126472b144c543d8d77a8047e8d905ada (patch) | |
tree | 2ad99b8789bcb62b993ed18d2877905f7f02bdac /nixpkgs/pkgs/build-support/closure-info.nix | |
parent | 67419f0e56f99b0ebbe14574d3492110ac84c8d6 (diff) | |
parent | c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad (diff) | |
download | nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.tar nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.tar.gz nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.tar.bz2 nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.tar.lz nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.tar.xz nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.tar.zst nixlib-b9c0b3f126472b144c543d8d77a8047e8d905ada.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs into HEAD
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/top-level/perl-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/build-support/closure-info.nix')
-rw-r--r-- | nixpkgs/pkgs/build-support/closure-info.nix | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/build-support/closure-info.nix b/nixpkgs/pkgs/build-support/closure-info.nix index 6b3ff6fd62b0..f2aa4964d9a1 100644 --- a/nixpkgs/pkgs/build-support/closure-info.nix +++ b/nixpkgs/pkgs/build-support/closure-info.nix @@ -4,7 +4,7 @@ # "nix-store --load-db" and "nix-store --register-validity # --hash-given". -{ stdenv, buildPackages }: +{ stdenv, coreutils, jq }: { rootPaths }: @@ -19,18 +19,24 @@ stdenv.mkDerivation { preferLocalBuild = true; - PATH = "${buildPackages.coreutils}/bin:${buildPackages.jq}/bin"; + nativeBuildInputs = [ coreutils jq ]; - builder = builtins.toFile "builder" - '' - . .attrs.sh + empty = rootPaths == []; + buildCommand = + '' out=''${outputs[out]} mkdir $out - jq -r ".closure | map(.narSize) | add" < .attrs.json > $out/total-nar-size - jq -r '.closure | map([.path, .narHash, .narSize, "", (.references | length)] + .references) | add | map("\(.)\n") | add' < .attrs.json | head -n -1 > $out/registration - jq -r .closure[].path < .attrs.json > $out/store-paths + if [[ -n "$empty" ]]; then + echo 0 > $out/total-nar-size + touch $out/registration $out/store-paths + else + jq -r ".closure | map(.narSize) | add" < "$NIX_ATTRS_JSON_FILE" > $out/total-nar-size + jq -r '.closure | map([.path, .narHash, .narSize, "", (.references | length)] + .references) | add | map("\(.)\n") | add' < "$NIX_ATTRS_JSON_FILE" | head -n -1 > $out/registration + jq -r '.closure[].path' < "$NIX_ATTRS_JSON_FILE" > $out/store-paths + fi + ''; } |