Subject: [PATCH] gnu: chibi-scheme: Fix cross-compilation.
From: Zheng Junjie <[email-masked]>
To: [email-masked]
Date: Mon, 30 Dec 2024 15:57:33 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/scheme.scm (chibi-scheme)[arguments]: Use G-expression.
<#:make-flags>:When cross-compilation, Set CHIBI.
[native-inputs]: When cross-compilation. Add this-package.

Change-Id: I424854d77e575f2e2aab8a5a9d32ef628c9db953
---
 gnu/packages/scheme.scm | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 490a09aa1ca..678ca9db064 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -25,6 +25,7 @@
 ;;; Copyright © 2023 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2024 Skylar Hill <[email-masked]>
 ;;; Copyright © 2024 Artyom V. Poptsov <[email-masked]>
+;;; Copyright © 2024 Zheng Junjie <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -603,14 +604,24 @@ (define-public chibi-scheme
         (base32 "02zq35hdbi03rmmamx6ml4ihsigdl4mmbf6d9ysazv8ciiln5v4b"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (delete 'configure))           ; no configure script
-       #:make-flags (let ((out (assoc-ref %outputs "out")))
-                      (list (string-append "PREFIX=" out)
-                            (string-append "CC=" ,(cc-for-target))
-                            (string-append "LDFLAGS=-Wl,-rpath=" out "/lib")))
-       #:test-target "test"))
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (delete 'configure))           ; no configure script
+           #:make-flags
+           #~(list
+              #$@(if
+                  (%current-target-system)
+                  #~((string-append
+                      "CHIBI=" #+(this-package-native-input "chibi-scheme")
+                      "/bin/chibi-scheme"))
+                  #~())
+              (string-append "PREFIX=" #$output)
+              (string-append "CC=" #$(cc-for-target))
+              (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
+           #:test-target "test"))
+    (native-inputs (if (%current-target-system)
+                       (list this-package)
+                       (list)))
     (synopsis "Small embeddable Scheme implementation")
     (description
      "Chibi-Scheme is a very small library with no external dependencies

base-commit: a74324f31075f05e7464d23192b29967fa254f26
prerequisite-patch-id: 54256209498bcad438d9fe404caa48d0cdb1ad33
-- 
2.47.1