guix-commits
[Top][All Lists]
Advanced

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

02/07: gnu: guile-fibers@1.1: Support cross-compilation.


From: guix-commits
Subject: 02/07: gnu: guile-fibers@1.1: Support cross-compilation.
Date: Thu, 14 Apr 2022 08:49:47 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 1f826021534c5ab290263708e970e8474f0364ff
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Apr 14 11:32:57 2022 +0200

    gnu: guile-fibers@1.1: Support cross-compilation.
    
    Fixes <https://issues.guix.gnu.org/54793>.
    Reported by Mathieu Othacehe <othacehe@gnu.org>.
    
    * gnu/packages/guile-xyz.scm (guile-fibers-1.1)[arguments]: Add
    'support-cross-compilation' phase.
---
 gnu/packages/guile-xyz.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 3299b6cb74..863ebd17ea 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -627,6 +627,25 @@ Unix-style DSV format and RFC 4180 format.")
                   (add-after 'unpack 'regenerate-autotools
                     (lambda _
                       (delete-file "configure")))
+                  (add-after 'unpack 'support-cross-compilation
+                    (lambda* (#:key target #:allow-other-keys)
+                      ;; Support cross-compilation.  These issues are fixed in
+                      ;; Fibers commit c4756b9c336374546a41ac90a4431fcc8f7e98ee
+                      ;; and this phase can be removed for 1.1.1.
+                      (when target
+                        (substitute* "build-aux/guile.am"
+                          (("\\$\\(AM_V_GEN\\)" all)
+                           (string-append all " FIBERS_CROSS_COMPILING=yes "))
+                          (("compile")
+                           (string-append "compile --target=" target
+                                          " -L $(abs_top_srcdir)")))
+                        (substitute* "fibers/epoll.scm"
+                          (("\\(dynamic-call")
+                           "(unless (getenv \"FIBERS_CROSS_COMPILING\") 
(dynamic-call")
+                          (("\\(dynamic-link.*" all)
+                           (string-append all ")\n"))
+                          (("#,(%sizeof|%offsetof)" _ prefix)
+                           prefix)))))
                   (add-after 'install 'mode-guile-objects
                     (lambda* (#:key outputs #:allow-other-keys)
                       ;; .go files are installed to "lib/guile/X.Y/cache".



reply via email to

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