summaryrefslogtreecommitdiff
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
parent35a1de1a4cfbd3bb0514d4b8ba8d07d20da2993f (diff)
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.
-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