diff options
Diffstat (limited to 'corepkgs/nix-pull/builder.sh.in')
-rw-r--r-- | corepkgs/nix-pull/builder.sh.in | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/corepkgs/nix-pull/builder.sh.in b/corepkgs/nix-pull/builder.sh.in new file mode 100644 index 000000000000..cc1a125d8f8f --- /dev/null +++ b/corepkgs/nix-pull/builder.sh.in @@ -0,0 +1,34 @@ +#! @shell@ -e + +export PATH=/bin:/usr/bin + +mkdir $out + +cat > $out/fetch <<EOF +#! @shell@ -e + +export PATH=/bin:/usr/bin + +echo "downloading \$2..." + +export PRINT_PATH=1 +result=(\$(@bindir@/nix-prefetch-url \$2)) + +hash=\${result[0]} +path=\${result[1]} + +if test "\$hash" != "\$3"; then + echo "hash is \$hash, expected \$3" + exit 1 +fi + +echo "unpacking into \$1..." + +if ! @bunzip2@ < "\$path" | @bindir@/nix-store --restore "\$1"; then + exit 1 +fi + +exit 0 +EOF + +chmod +x $out/fetch |