summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-04-15 18:12:24 +0200
committerLudovic Courtès <ludo@gnu.org>2022-04-15 19:13:02 +0200
commit6e174c4edd4786d93c1e424c45052f70b2bb3fb0 (patch)
tree7bab3e7df497a69aa407d4489edb093542c7ab0d /gnu
parent35a1de1a4cfbd3bb0514d4b8ba8d07d20da2993f (diff)
downloadguix-6e174c4edd4786d93c1e424c45052f70b2bb3fb0.tar.gz
gnu: shepherd: Support cross-compilation.
Reported by phodina <phodina@protonmail.com>.

* gnu/packages/admin.scm (shepherd-0.9)[arguments]: New field.
[native-inputs]: Add GUILE-FIBERS-1.1.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/admin.scm22
1 files changed, 21 insertions, 1 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 1db04adf71..94636faf8b 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -322,7 +322,27 @@ interface and is based on GNU Guile.")
               (sha256
                (base32
                 "1rdwhrcibs2ly4hjwwb5kmzb133ccjmrfvb0a70cqkv9jy1pg061"))))
-    (native-inputs (list pkg-config guile-3.0))
+    (arguments
+     (list #:configure-flags #~'("--localstatedir=/var")
+           #:make-flags #~'("GUILE_AUTO_COMPILE=0")
+           #:phases (if (%current-target-system)
+                        #~(modify-phases %standard-phases
+                            (add-before 'configure 'set-fibers-directory
+                              (lambda _
+                                ;; When cross-compiling, refer to the target
+                                ;; Fibers, not the native one.
+                                (substitute* '("herd.in" "shepherd.in")
+                                  (("%FIBERS_SOURCE_DIRECTORY%")
+                                   #$(file-append
+                                      (this-package-input "guile-fibers")
+                                      "/share/guile/site/3.0"))
+                                  (("%FIBERS_OBJECT_DIRECTORY%")
+                                   #$(file-append
+                                      (this-package-input "guile-fibers")
+                                      "/lib/guile/3.0/site-ccache"))))))
+                        #~%standard-phases)))
+    (native-inputs (list pkg-config guile-3.0
+                         guile-fibers-1.1))       ;for cross-compilation
     (inputs (list guile-3.0 guile-fibers-1.1))))
 
 (define-public guile2.2-shepherd