summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2008-02-12 10:41:00 +0000
committerLudovic Courtès <ludo@gnu.org>2008-02-12 10:41:00 +0000
commitdf17eb0dc3143c3c0273b39d07ed8a1a2a75af28 (patch)
treea66b12d2617aa5c894c85893dd9c7e90ffae06d5 /pkgs
parent28d2f608c61628cd429f3dcc3c6fad6ebaec8ff9 (diff)
downloadnixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.tar
nixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.tar.gz
nixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.tar.bz2
nixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.tar.lz
nixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.tar.xz
nixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.tar.zst
nixpkgs-df17eb0dc3143c3c0273b39d07ed8a1a2a75af28.zip
Guile: fix chroot build; make sure `guile-snarf' sees `gawk'; add a setup hook.
svn path=/nixpkgs/trunk/; revision=10636
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/guile/default.nix11
-rw-r--r--pkgs/development/interpreters/guile/setup-hook.sh8
-rw-r--r--pkgs/development/interpreters/guile/snarf-tmpdir.patch16
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 35 insertions, 2 deletions
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 9b12bc9a2f6..edac3bf6eff 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -6,5 +6,14 @@ stdenv.mkDerivation {
 		sha256 = "2ab59099cf2d46f57cf5421c9b84aa85f61961640046e8066c6b321257517796";
 	};
 
-  propagatedBuildInputs = [readline libtool gmp];
+  patches = [ ./snarf-tmpdir.patch ];
+
+  buildInputs = [ makeWrapper ];
+  propagatedBuildInputs = [readline libtool gmp gawk];
+
+  postInstall = ''
+    wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
+  '';
+
+  setupHook = ./setup-hook.sh;
 }
diff --git a/pkgs/development/interpreters/guile/setup-hook.sh b/pkgs/development/interpreters/guile/setup-hook.sh
new file mode 100644
index 00000000000..114bc4e87cc
--- /dev/null
+++ b/pkgs/development/interpreters/guile/setup-hook.sh
@@ -0,0 +1,8 @@
+addGuileLibPath () {
+    if test -d "$1/lib/site-guile"
+    then
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/lib/site-guile"
+    fi
+}
+
+envHooks=(${envHooks[@]} addGuileLibPath)
diff --git a/pkgs/development/interpreters/guile/snarf-tmpdir.patch b/pkgs/development/interpreters/guile/snarf-tmpdir.patch
new file mode 100644
index 00000000000..1c7f157227b
--- /dev/null
+++ b/pkgs/development/interpreters/guile/snarf-tmpdir.patch
@@ -0,0 +1,16 @@
+--- guile-1.8.3/libguile/guile-snarf.in	2008-02-12 10:32:48.000000000 +0100
++++ guile-1.8.3/libguile/guile-snarf.in	2008-02-12 11:01:53.000000000 +0100
+@@ -69,9 +69,12 @@ fi
+ 
+ # set vars and handler -- handle CPP override
+ cpp_ok_p=false
+-tempdir="/tmp/snarf.$$"
++
++if [ x"$TMPDIR" = x ]; then TMPDIR="/tmp" ; else : ; fi
++tempdir="$TMPDIR/guile-snarf.$$"
+ (umask 077 && mkdir $tempdir) || exit 1
+ temp="$tempdir/tmp"
++
+ if [ x"$CPP" = x ] ; then cpp="@CPP@" ; else cpp="$CPP" ; fi
+ 
+ trap "rm -rf $tempdir" 0 1 2 15
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 69709990d7a..bfabdf6fa35 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1538,7 +1538,7 @@ rec {
   };
 
   guile = import ../development/interpreters/guile {
-    inherit fetchurl stdenv ncurses readline libtool gmp;
+    inherit fetchurl stdenv ncurses readline libtool gmp gawk makeWrapper;
   };
 
   kaffe =  import ../development/interpreters/kaffe {