2012-01-03 02:16:29 +02:00
|
|
|
|
with import <nix/config.nix>;
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
|
|
builder = builtins.toFile "nar.sh"
|
|
|
|
|
''
|
|
|
|
|
export PATH=${nixBinDir}:${coreutils}
|
|
|
|
|
|
|
|
|
|
echo "packing ‘$storePath’..."
|
|
|
|
|
mkdir $out
|
|
|
|
|
dst=$out/tmp.nar.bz2
|
|
|
|
|
|
|
|
|
|
set -o pipefail
|
|
|
|
|
nix-store --dump "$storePath" | ${bzip2} > $dst
|
|
|
|
|
|
|
|
|
|
nix-hash --flat --type $hashAlgo --base32 $dst > $out/narbz2-hash
|
|
|
|
|
|
|
|
|
|
mv $out/tmp.nar.bz2 $out/$(cat $out/narbz2-hash).nar.bz2
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
in
|
|
|
|
|
|
2012-04-14 19:48:11 +03:00
|
|
|
|
{ storePath, hashAlgo }:
|
2012-01-03 02:16:29 +02:00
|
|
|
|
|
|
|
|
|
derivation {
|
|
|
|
|
name = "nar";
|
2012-04-14 19:48:11 +03:00
|
|
|
|
system = builtins.currentSystem;
|
2012-01-03 02:16:29 +02:00
|
|
|
|
builder = shell;
|
|
|
|
|
args = [ "-e" builder ];
|
2012-04-14 19:48:11 +03:00
|
|
|
|
inherit storePath hashAlgo;
|
2012-01-03 02:16:29 +02:00
|
|
|
|
}
|