summary refs log tree commit diff
path: root/pkgs/build-support/nuke-references
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2006-11-03 13:33:24 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2006-11-03 13:33:24 +0000
commit609607768fd1792d72bddfa0860892097a9e6595 (patch)
treea6a4be83e784ce9f2aa764e5cb2ecb4a568acbed /pkgs/build-support/nuke-references
parentd0a18cf8fa06e827a9e9d5ed1975cbad47ea52c3 (diff)
downloadnixpkgs-609607768fd1792d72bddfa0860892097a9e6595.tar
nixpkgs-609607768fd1792d72bddfa0860892097a9e6595.tar.gz
nixpkgs-609607768fd1792d72bddfa0860892097a9e6595.tar.bz2
nixpkgs-609607768fd1792d72bddfa0860892097a9e6595.tar.lz
nixpkgs-609607768fd1792d72bddfa0860892097a9e6595.tar.xz
nixpkgs-609607768fd1792d72bddfa0860892097a9e6595.tar.zst
nixpkgs-609607768fd1792d72bddfa0860892097a9e6595.zip
* Turn the nukeRefs() function into a separate program.
svn path=/nixpkgs/trunk/; revision=6941
Diffstat (limited to 'pkgs/build-support/nuke-references')
-rw-r--r--pkgs/build-support/nuke-references/builder.sh12
-rw-r--r--pkgs/build-support/nuke-references/default.nix11
2 files changed, 23 insertions, 0 deletions
diff --git a/pkgs/build-support/nuke-references/builder.sh b/pkgs/build-support/nuke-references/builder.sh
new file mode 100644
index 00000000000..867262c516b
--- /dev/null
+++ b/pkgs/build-support/nuke-references/builder.sh
@@ -0,0 +1,12 @@
+source $stdenv/setup
+
+ensureDir $out/bin
+cat > $out/bin/nuke-refs <<EOF
+#! $SHELL -e
+for i in \$*; do
+    cat \$i | sed "s|/nix/store/[a-z0-9]*-|/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" > \$i.tmp
+    if test -x \$i; then chmod +x \$i.tmp; fi
+    mv \$i.tmp \$i
+done
+EOF
+chmod +x $out/bin/nuke-refs
diff --git a/pkgs/build-support/nuke-references/default.nix b/pkgs/build-support/nuke-references/default.nix
new file mode 100644
index 00000000000..d672184553f
--- /dev/null
+++ b/pkgs/build-support/nuke-references/default.nix
@@ -0,0 +1,11 @@
+# The program `nuke-refs' created by this derivation replaces all
+# references to the Nix store in the specified files by a non-existant
+# path (/nix/store/eeee...).  This is useful for getting rid of
+# dependencies that you know are not actually needed at runtime.
+
+{stdenv}:
+
+stdenv.mkDerivation {
+  name = "nuke-references";
+  builder = ./builder.sh;
+}
\ No newline at end of file