guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#70065] [PATCH 2/6] gnu: racket: Update to 8.12.


From: Philip McGrath
Subject: [bug#70065] [PATCH 2/6] gnu: racket: Update to 8.12.
Date: Sat, 30 Mar 2024 18:10:24 -0400
User-agent: Mozilla Thunderbird

Hi Skyler,

On 3/30/24 10:35, Skyler Ferris wrote:
On 3/28/24 22:18, Philip McGrath wrote:
+(define chez-configure
+  ;; The custom Chez 'configure' script doesn't allow unrecognized flags, such
+  ;; as those automatically added by `gnu-build-system`. This replacement
+  ;; phase uses only the explicitly provided `#:configure-flags`.
+  #~(lambda* (#:key inputs (configure-flags '()) out-of-source?
+              #:allow-other-keys)
+      (let* ((abs-srcdir (getcwd))
+             (srcdir (if out-of-source?
+                         (string-append "../" (basename abs-srcdir))
+                         ".")))
+        (format #t "source directory: ~s (relative from build: ~s)~%"
+                abs-srcdir srcdir)
+        (when out-of-source?
+            (begin
+              (mkdir "../build")
+              (chdir "../build")))
+        (format #t "build directory: ~s~%" (getcwd))
+        (format #t "configure flags: ~s~%" configure-flags)
+        (apply invoke
+               (string-append srcdir "/configure")
+               configure-flags))))
+
Are the format statements supposed to be here or are they left over from
debugging?

Yes, the format statements are supposed to be there: (@ (guix build gnu-build-system) configure) prints the same messages. The code is unchanged from the chez-scheme configure phase, just factored out because we will also need it for cross-compiling chez-scheme-for-racket-bootstrap-bootfiles (because there's now a supported way to do that, and the experimental script we'd been using had bit-rotted) and for chez-scheme-bootstrap-bootfiles (native and cross) once we start bootstrapping it.

+          ;; Building the documentation requires stex and a running scheme.
+          ;; TODO: improve cross support upstream.
I believe this comment should be associated with the build-docs phase,
not the install-docs phase, correct?


I had intended to put it here, but your comment prompted me to rethink it. For context, the build-docs phase is new in this commit: previously, I relied on the fact that the install-docs target depends on build-docs. I now think I should move the first line of the comment to build-docs and add a comment to install-docs pointing that out, because its part of the issue with cross-compilation. (Currently, the build scripts try to use the cross-compiled scheme to build the docs, which obviously doesn't work. The Right Thing would be to build the docs using the native scheme while using the sources from the cross-built scheme.)

Thanks,
Philip





reply via email to

[Prev in Thread] Current Thread [Next in Thread]