aboutsummaryrefslogtreecommitdiff
path: root/nix-support/binary-tarball.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix-support/binary-tarball.nix')
-rw-r--r--nix-support/binary-tarball.nix28
1 files changed, 28 insertions, 0 deletions
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)
+''