gnu: racket: Fix out-of-source build.

* 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 <ludo@gnu.org>
This commit is contained in:
Philip McGrath 2022-05-09 02:02:43 -04:00 committed by Ludovic Courtès
parent af375c6394
commit 544fbdcc9e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -276,8 +276,9 @@ (define-public racket-vm-cgc
;; 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 @@ (define maybe-release-catalog
#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