mirror of
https://github.com/NixOS/nix.git
synced 2024-11-22 14:52:55 +00:00
663c06e8cd
The dependencies of the corepkgs are not necessarily in the chroot (or in the Nix store), so don't build them in a chroot.
35 lines
700 B
Nix
35 lines
700 B
Nix
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
|
||
|
||
{ 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;
|
||
}
|