diff options
author | Qyriad <qyriad@qyriad.me> | 2024-04-12 06:35:54 -0600 |
---|---|---|
committer | Qyriad <qyriad@qyriad.me> | 2024-04-12 06:35:54 -0600 |
commit | 629351163dd20ecc40e4b69366c283f8da9b2972 (patch) | |
tree | b15def0336e3a027983b0e70ddeb845710f23833 | |
parent | 99845e0e01eaa2120b10c22591c43c4305f5ba51 (diff) |
flake: factor out binary tarball into its own file
Bit-for-bit identical, and this one is callPackage-able
Change-Id: Ic635687b0054e107271a9c24ae69101f5e0fba9e
-rw-r--r-- | flake.nix | 29 | ||||
-rw-r--r-- | nix-support/binary-tarball.nix | 28 |
2 files changed, 29 insertions, 28 deletions
@@ -116,34 +116,7 @@ ); binaryTarball = - nix: pkgs: - let - inherit (pkgs) buildPackages; - installerClosureInfo = buildPackages.closureInfo { rootPaths = [ nix ]; }; - in - - buildPackages.runCommand "nix-binary-tarball-${version}" - { - #nativeBuildInputs = lib.optional (system != "aarch64-linux") shellcheck; - meta.description = "Distribution-independent Nix bootstrap binaries for ${pkgs.system}"; - } - '' - cp ${installerClosureInfo}/registration $TMPDIR/reginfo - - dir=nix-${version}-${pkgs.system} - fn=$out/$dir.tar.xz - mkdir -p $out/nix-support - echo "file binary-dist $fn" >> $out/nix-support/hydra-build-products - tar cvfJ $fn \ - --owner=0 --group=0 --mode=u+rw,uga+r \ - --mtime='1970-01-01' \ - --absolute-names \ - --hard-dereference \ - --transform "s,$TMPDIR/reginfo,$dir/.reginfo," \ - --transform "s,$NIX_STORE,$dir/store,S" \ - $TMPDIR/reginfo \ - $(cat ${installerClosureInfo}/store-paths) - ''; + nix: pkgs: pkgs.callPackage ./nix-support/binary-tarball.nix { inherit nix version; }; overlayFor = getStdenv: final: prev: diff --git a/nix-support/binary-tarball.nix b/nix-support/binary-tarball.nix new file mode 100644 index 000000000..88c556c33 --- /dev/null +++ b/nix-support/binary-tarball.nix @@ -0,0 +1,28 @@ +{ + buildPackages, + nix, + system, + version, +}: +let + installerClosureInfo = buildPackages.closureInfo { rootPaths = [ nix ]; }; + + meta.description = "Distribution-independent Nix bootstrap binaries for ${system}"; +in +buildPackages.runCommand "nix-binary-tarball-${version}" { inherit meta; } '' + cp ${installerClosureInfo}/registration $TMPDIR/reginfo + + dir=nix-${version}-${system} + fn=$out/$dir.tar.xz + mkdir -p $out/nix-support + echo "file binary-dist $fn" >> $out/nix-support/hydra-build-products + tar cvfJ $fn \ + --owner=0 --group=0 --mode=u+rw,uga+r \ + --mtime='1970-01-01' \ + --absolute-names \ + --hard-dereference \ + --transform "s,$TMPDIR/reginfo,$dir/.reginfo," \ + --transform "s,$NIX_STORE,$dir/store,S" \ + $TMPDIR/reginfo \ + $(cat ${installerClosureInfo}/store-paths) +'' |