summary refs log tree commit diff
path: root/pkgs/stdenv/generic/setup.sh
diff options
context:
space:
mode:
authorNicolas Pierron <nicolas.b.pierron@gmail.com>2009-11-19 17:19:32 +0000
committerNicolas Pierron <nicolas.b.pierron@gmail.com>2009-11-19 17:19:32 +0000
commit6ba27ab5521e4439c082c868dcf692fea0e6f876 (patch)
tree16cd85d5f1a84c97feba8f56a952f1baf4db631e /pkgs/stdenv/generic/setup.sh
parent8c638e5e6880156986f2af9ee5c473be5d1b3fd1 (diff)
downloadnixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.tar
nixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.tar.gz
nixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.tar.bz2
nixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.tar.lz
nixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.tar.xz
nixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.tar.zst
nixpkgs-6ba27ab5521e4439c082c868dcf692fea0e6f876.zip
* Add file support in the runHook function.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18467
Diffstat (limited to 'pkgs/stdenv/generic/setup.sh')
-rw-r--r--pkgs/stdenv/generic/setup.sh11
1 files changed, 6 insertions, 5 deletions
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 1dd772ff317..efd1abbe02a 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -4,11 +4,12 @@
 # environment variables) and from shell scripts (as functions). 
 runHook() {
     local hookName="$1"
-    if test "$(type -t $hookName)" = function; then
-        $hookName
-    else
-        eval "${!hookName}"
-    fi
+    case "$(type -t $hookName)" in
+        (function|alias|builtin) $hookName;;
+        (file) source $hookName;;
+        (keyword) :;;
+        (*) eval "${!hookName}";;
+    esac
 }