summaryrefslogtreecommitdiff
path: root/gnu/packages/racket.scm
diff options
context:
space:
mode:
authorPhilip McGrath <philip@philipmcgrath.com>2022-05-09 02:02:43 -0400
committerLudovic Courtès <ludo@gnu.org>2022-05-12 10:30:07 +0200
commit544fbdcc9e092fd03663d649a199060ea278a658 (patch)
tree717b148e0321a045d4d6a5d231a46db97bb44770 /gnu/packages/racket.scm
parentaf375c63945819128375226cb987bc90a9a88743 (diff)
downloadguix-patches-544fbdcc9e092fd03663d649a199060ea278a658.tar
guix-patches-544fbdcc9e092fd03663d649a199060ea278a658.tar.gz
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>
Diffstat (limited to 'gnu/packages/racket.scm')
-rw-r--r--gnu/packages/racket.scm18
1 files changed, 15 insertions, 3 deletions
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