blob: c5155dcc917c5a5bf21e8db3838dc452719b03e4 (
plain) (
blame)
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
|
with import <nix/config.nix>;
let
builder = builtins.toFile "nar.sh"
''
export PATH=${nixBinDir}:${coreutils}
echo "packing ‘$storePath’..."
mkdir $out
dst=$out/tmp.nar.xz
set -o pipefail
nix-store --dump "$storePath" | ${xz} -9 > $dst
hash=$(nix-hash --flat --type $hashAlgo --base32 $dst)
echo -n $hash > $out/nar-compressed-hash
mv $dst $out/$hash.nar.xz
'';
in
{ storePath, hashAlgo }:
derivation {
name = "nar";
system = builtins.currentSystem;
builder = shell;
args = [ "-e" builder ];
inherit storePath hashAlgo;
# Don't build in a chroot because Nix's dependencies may not be there.
__noChroot = true;
}
|