diff options
author | Clément Lassieur <clement@lassieur.org> | 2018-06-22 00:23:19 +0200 |
---|---|---|
committer | Clément Lassieur <clement@lassieur.org> | 2018-06-22 00:48:22 +0200 |
commit | 4e7950fdce5b83db018c44a80ec4a4059612d716 (patch) | |
tree | 79eb4beeb30b6ef5d61833e68106db8fb4d3a7f5 | |
parent | 18ab54d4a2aaf932b14e69c30650c1d2c4db33c7 (diff) | |
download | guix-4e7950fdce5b83db018c44a80ec4a4059612d716.tar.gz |
gnu: parallel: Wrap program instead of substituting 'ps' and 'perl'.
* gnu/packages/parallel.scm (parallel)[arguments]: Replace 'ps' and 'perl' substitutions with a 'wrap-program' phase. Move the 'post-install-test' phase after it. [inputs]: Add bash.
-rw-r--r-- | gnu/packages/parallel.scm | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index f242f97ec1..cdc4aabf5a 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +34,7 @@ #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages freeipmi) #:use-module (gnu packages linux) #:use-module (gnu packages mpi) @@ -68,20 +70,28 @@ ;; Patch hard coded '/bin/sh' in the lin ending in: ;; $Global::shell = $ENV{'PARALLEL_SHELL'} || ;; parent_shell($$) || $ENV{'SHELL'} || "/bin/sh"; - (("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n")) - ;; Patch call to 'ps' and 'perl' commands. - ((" ps ") (string-append " " (which "ps") " ")) - ((" perl -") (string-append " " (which "perl") " -")))) + (("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n")))) (list "src/parallel" "src/sem")) #t)) - (add-after 'install 'post-install-test + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/parallel") + `("PATH" ":" prefix + ,(map (lambda (input) + (string-append (assoc-ref inputs input) "/bin")) + '("perl" + "procps")))) + #t))) + (add-after 'wrap-program 'post-install-test (lambda* (#:key outputs #:allow-other-keys) (invoke (string-append (assoc-ref outputs "out") "/bin/parallel") "echo" ":::" "1" "2" "3")))))) (inputs - `(("perl" ,perl) + `(("bash" ,bash) + ("perl" ,perl) ("procps" ,procps))) (home-page "https://www.gnu.org/software/parallel/") (synopsis "Build and execute command lines in parallel") |