From df17eb0dc3143c3c0273b39d07ed8a1a2a75af28 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 12 Feb 2008 10:41:00 +0000 Subject: Guile: fix chroot build; make sure `guile-snarf' sees `gawk'; add a setup hook. svn path=/nixpkgs/trunk/; revision=10636 --- pkgs/development/interpreters/guile/default.nix | 11 ++++++++++- pkgs/development/interpreters/guile/setup-hook.sh | 8 ++++++++ pkgs/development/interpreters/guile/snarf-tmpdir.patch | 16 ++++++++++++++++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/interpreters/guile/setup-hook.sh create mode 100644 pkgs/development/interpreters/guile/snarf-tmpdir.patch (limited to 'pkgs/development/interpreters') diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix index 9b12bc9a2f6df..edac3bf6effc2 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 0000000000000..114bc4e87ccad --- /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 0000000000000..1c7f157227be8 --- /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 -- cgit 1.4.1