about summary refs log tree commit diff
path: root/corepkgs/nix-pull/builder.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'corepkgs/nix-pull/builder.sh.in')
-rw-r--r--corepkgs/nix-pull/builder.sh.in34
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