guix-commits
[Top][All Lists]
Advanced

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

06/18: rakudo-build-system: Look up the interpreter in 'inputs'.


From: guix-commits
Subject: 06/18: rakudo-build-system: Look up the interpreter in 'inputs'.
Date: Fri, 4 Jun 2021 17:29:22 -0400 (EDT)

civodul pushed a commit to branch core-updates
in repository guix.

commit a62d17dc05f60f242f577ab97db20380f701432d
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Mon May 31 19:21:16 2021 +0200

    rakudo-build-system: Look up the interpreter in 'inputs'.
    
    * guix/build/rakudo-build-system.scm (wrap): Pass
      the shell interpreter from 'inputs' to 'wrap-program' using
      'search-input-file'.
    
    Partially-Fixes: <https://issues.guix.gnu.org/47869>
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 guix/build/rakudo-build-system.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/guix/build/rakudo-build-system.scm 
b/guix/build/rakudo-build-system.scm
index b2c090f..5cf1cc5 100644
--- a/guix/build/rakudo-build-system.scm
+++ b/guix/build/rakudo-build-system.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -108,6 +109,12 @@
                         (string-append dir "/sbin"))))
                 outputs))
 
+  ;; Do not require bash to be present in the package inputs
+  ;; even when there is nothing to wrap.
+  ;; Also, calculate (sh) only once to prevent some I/O.
+  (define %sh (delay (search-input-file inputs "bin/bash")))
+  (define (sh) (force %sh))
+
   (let* ((out  (assoc-ref outputs "out"))
          (var `("PERL6LIB" "," prefix
                 ,(cons (string-append out "/share/perl6/lib,"
@@ -117,7 +124,7 @@
                         (or (getenv "PERL6LIB") "") #\,)))))
     (for-each (lambda (dir)
                 (let ((files (list-of-files dir)))
-                  (for-each (cut wrap-program <> var)
+                  (for-each (cut wrap-program <> #:sh (sh) var)
                             files)))
               bindirs)
     #t))



reply via email to

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