guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: parallel: Wrap program instead of substituting 'ps' and 'per


From: Clément Lassieur
Subject: 01/01: gnu: parallel: Wrap program instead of substituting 'ps' and 'perl'.
Date: Thu, 21 Jun 2018 18:49:20 -0400 (EDT)

snape pushed a commit to branch master
in repository guix.

commit 4e7950fdce5b83db018c44a80ec4a4059612d716
Author: Clément Lassieur <address@hidden>
Date:   Fri Jun 22 00:23:19 2018 +0200

    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.
---
 gnu/packages/parallel.scm | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index f242f97..cdc4aab 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2016 Ben Woodcroft <address@hidden>
 ;;; Copyright © 2017, 2018 Rutger Helling <address@hidden>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <address@hidden>
+;;; Copyright © 2018 Clément Lassieur <address@hidden>
 ;;;
 ;;; 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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]