diff options
-rw-r--r-- | distro/packages/attr.scm | 9 | ||||
-rw-r--r-- | distro/packages/lsh.scm | 5 | ||||
-rw-r--r-- | distro/packages/perl.scm | 10 | ||||
-rw-r--r-- | guix/build/utils.scm | 8 |
4 files changed, 17 insertions, 15 deletions
diff --git a/distro/packages/attr.scm b/distro/packages/attr.scm index ad2cd3987a..c61f4d7031 100644 --- a/distro/packages/attr.scm +++ b/distro/packages/attr.scm @@ -56,12 +56,9 @@ 'check (lambda _ ;; Use the right shell. - (let ((bash (search-path (search-path-as-string->list - (getenv "PATH")) - "bash"))) - (substitute* "test/run" - (("/bin/sh") - (string-append bash "/bin/bash")))) + (substitute* "test/run" + (("/bin/sh") + (which "bash"))) (system* "make" "tests" "-C" "test") diff --git a/distro/packages/lsh.scm b/distro/packages/lsh.scm index aa74c77b60..8f44967726 100644 --- a/distro/packages/lsh.scm +++ b/distro/packages/lsh.scm @@ -1,5 +1,5 @@ ;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*- -;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org> +;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of Guix. ;;; @@ -114,8 +114,7 @@ (substitute* "src/testsuite/login-auth-test" (("/bin/cat") ;; Use the right path to `cat'. - (search-path (search-path-as-string->list (getenv "PATH")) - "cat")))) + (which "cat")))) %standard-phases))) (home-page "http://www.lysator.liu.se/~nisse/lsh/") (synopsis diff --git a/distro/packages/perl.scm b/distro/packages/perl.scm index 26b25b154d..c4bfb6b260 100644 --- a/distro/packages/perl.scm +++ b/distro/packages/perl.scm @@ -1,5 +1,5 @@ ;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*- -;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org> +;;; Copyright (C) 2012, 2013 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of Guix. ;;; @@ -46,13 +46,11 @@ 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) - (libc (assoc-ref inputs "libc")) - (pwd (search-path (search-path-as-string->list - (getenv "PATH")) - "pwd"))) + (libc (assoc-ref inputs "libc"))) ;; Use the right path for `pwd'. (substitute* "dist/Cwd/Cwd.pm" - (("/bin/pwd") pwd)) + (("/bin/pwd") + (which "pwd"))) (zero? (system* "./Configure" diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 5729cdbf04..f365b0db05 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -36,6 +36,8 @@ set-path-environment-variable search-path-as-string->list list->search-path-as-string + which + alist-cons-before alist-cons-after alist-replace @@ -214,6 +216,12 @@ SEPARATOR-separated path accordingly. Example: (format #t "environment variable `~a' set to `~a'~%" env-var value))) +(define (which program) + "Return the complete file name for PROGRAM as found in $PATH, or #f if +PROGRAM could not be found." + (search-path (search-path-as-string->list (getenv "PATH")) + program)) + ;;; ;;; Phases. |