janneke pushed a commit to branch wip-hurd-vm
in repository guix.
commit 599123914ca9af7331b2129fccd2107ccea045c3
Author: Jan (janneke) Nieuwenhuizen <[email protected]>
AuthorDate: Thu Apr 30 15:39:32 2020 +0200
DRAFT: gnu: services: Use xprogram-file.
* gnu/services.scm (xprogram-file): New procedure.
(activation-script, hurd-activation-script): Use it.
---
gnu/services.scm | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/gnu/services.scm b/gnu/services.scm
index 76c10c8..ebe36bd 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -516,12 +516,19 @@ temporary locations at boot time.")))
ACTIVATION-SCRIPT-TYPE."
(activation-script (service-value service)))
+(define (xprogram-file name gexp)
+ ;; XXX How to properly get the Hurd hosts Guile?
+ (program-file name gexp
+ #:guile (if (hurd-target?)
+ (with-parameters ((%current-target-system
"i586-pc-gnu"))
+ (@ (gnu packages guile) guile-3.0))
+ #f)))
+
(define (activation-script gexps)
"Return the system's activation script, which evaluates GEXPS."
-
- (program-file "activate.scm" (if (hurd-target?)
- (hurd-activation-script gexps)
- (gnu/linux-activation-script gexps))))
+ (xprogram-file "activate.scm" (if (hurd-target?)
+ (hurd-activation-script gexps)
+ (gnu/linux-activation-script gexps))))
(define (gnu/linux-activation-script gexps)
"Return a GNU/Linux system activation script, which evaluates GEXPS."
@@ -557,9 +564,9 @@ ACTIVATION-SCRIPT-TYPE."
(define (hurd-activation-script gexps)
"Return the Hurd activation script, which evaluates GEXPS."
(define actions
- (map (cut program-file "activate-service.scm" <>) gexps))
+ (map (cut xprogram-file "activate-service.scm" <>) gexps))
- (program-file "activate.scm"
+ (xprogram-file "activate.scm"
(with-imported-modules (source-module-closure
'((gnu build activation)
(guix build utils)))