aboutsummaryrefslogtreecommitdiff
path: root/nix-support/binary-tarball.nix
blob: 69ffb3d4c097caf7eaf7df8ddf96c0ef0bcb3af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
  buildPackages,
  cacert,
  nix,
  system,
}:
let
  rootPaths = [
    nix
    cacert
  ];
  installerClosureInfo = buildPackages.closureInfo { inherit rootPaths; };

  meta.description = "Distribution-independent Lix bootstrap binaries for ${system}";
in
buildPackages.runCommand "lix-binary-tarball-${nix.version}"
  {
    inherit meta;
    passthru.rootPaths = rootPaths;
  }
  ''
    cp ${installerClosureInfo}/registration $TMPDIR/reginfo

    dir=lix-${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)
  ''