Subject: [PATCH 2/7] gnu: racket: Fix out-of-source build.

From: Philip McGrath <[email-masked]>
Date: Tue, 3 May 2022 14:33:41 -0400

* gnu/packages/racket.scm (racket-vm-cgc)[arguments]: Add a 'symlink-src'
phase to put license files where 'install-license-files' expects to find
them. Supply '#:out-of-source? #t'.
---
 gnu/packages/racket.scm | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm
index adf3ccfd74..2f4f7cebd8 100644
--- a/gnu/packages/racket.scm
+++ b/gnu/packages/racket.scm
@@ -272,8 +272,8 @@ (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 helps a lot with debugging
+       #:out-of-source? #t
        #:modules '((ice-9 match)
                    (ice-9 regex)
                    (guix build gnu-build-system)
@@ -310,7 +310,15 @@ (define-public racket-vm-cgc
                                 #f)))))))
            (add-before 'configure 'chdir
              (lambda _
-               (chdir "racket/src"))))))
+               (chdir "racket/src")))
+           (add-after 'chdir 'symlink-src
+             ;; workaround for install-license-files
+             (lambda* (#:key out-of-source? #:allow-other-keys)
+               (when out-of-source?
+                 (with-directory-excursion ".."
+                   (symlink "src"
+                            (package-name->name+version
+                             (strip-store-file-name #$output))))))))))
      (home-page "https://racket-lang.org")
      (synopsis "Old Racket implementation used for bootstrapping")
      (description "This variant of the Racket BC (``before Chez'' or
-- 
2.32.0