From 544fbdcc9e092fd03663d649a199060ea278a658 Mon Sep 17 00:00:00 2001 From: Philip McGrath Date: Mon, 9 May 2022 02:02:43 -0400 Subject: gnu: racket: Fix out-of-source build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/racket.scm (racket-vm-cgc)[arguments]: Supply '#:out-of-source? #t'. Wrap 'install-license-files' to work around limitation. Signed-off-by: Ludovic Courtès --- gnu/packages/racket.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'gnu/packages/racket.scm') diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index c6f8ec20ba..e593f64c21 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -276,8 +276,9 @@ ;; main-distribution-test that aren't part of the main ;; distribution. #:tests? #f - ;; Upstream recommends #:out-of-source?, and it does - ;; help with debugging, but it confuses `install-license-files`. + ;; Upstream recommends #:out-of-source?, and it + ;; helps a lot with debugging. + #:out-of-source? #t #:modules '((ice-9 match) (ice-9 regex) (guix build gnu-build-system) @@ -314,7 +315,18 @@ #f))))))) (add-before 'configure 'chdir (lambda _ - (chdir "racket/src")))))) + (chdir "racket/src"))) + (replace 'install-license-files + ;; The #:out-of-source? mode for install-license-files fails + ;; to find the srcdir: as a workaround, navigate there ourselves. + (let ((install-license-files + (assoc-ref %standard-phases 'install-license-files))) + (lambda args + (with-directory-excursion "../src" + (apply install-license-files + `(,@args + ;; if there are duplicate keywords, last is used + #:out-of-source? #f))))))))) (home-page "https://racket-lang.org") (synopsis "Old Racket implementation used for bootstrapping") (description "This variant of the Racket BC (``before Chez'' or -- cgit v1.2.3