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>
This commit is contained in:
Maxime Devos 2021-05-31 19:21:16 +02:00 committed by Ludovic Courtès
parent 2ac898d7f8
commit a62d17dc05
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -108,6 +109,12 @@
(string-append dir "/sbin")))) (string-append dir "/sbin"))))
outputs)) 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")) (let* ((out (assoc-ref outputs "out"))
(var `("PERL6LIB" "," prefix (var `("PERL6LIB" "," prefix
,(cons (string-append out "/share/perl6/lib," ,(cons (string-append out "/share/perl6/lib,"
@ -117,7 +124,7 @@
(or (getenv "PERL6LIB") "") #\,))))) (or (getenv "PERL6LIB") "") #\,)))))
(for-each (lambda (dir) (for-each (lambda (dir)
(let ((files (list-of-files dir))) (let ((files (list-of-files dir)))
(for-each (cut wrap-program <> var) (for-each (cut wrap-program <> #:sh (sh) var)
files))) files)))
bindirs) bindirs)
#t)) #t))