1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-28 12:01:49 +02:00

system: Use 'source-module-closure' where needed.

* gnu/system/vm.scm (%vm-module-closure): Remove.
(expression->derivation-in-linux-vm): Use 'source-module-closure'
instead of %VM-MODULE-CLOSURE.
(qemu-image): Likewise.
* gnu/system/linux-initrd.scm (expression->initrd): Likewise.
(flat-linux-module-directory, base-initrd): Likewise.
* gnu/system/mapped-devices.scm (open-luks-device): Likewise.
This commit is contained in:
Ludovic Courtès
2016-09-04 23:42:50 +02:00
parent 7ca87354db
commit 239c6e2762
3 changed files with 19 additions and 33 deletions
+11 -14
View File
@@ -27,6 +27,7 @@
#:select (%store-prefix)) #:select (%store-prefix))
#:use-module ((guix derivations) #:use-module ((guix derivations)
#:select (derivation->output-path)) #:select (derivation->output-path))
#:use-module (guix modules)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
@@ -66,10 +67,8 @@ the derivations referenced by EXP are automatically copied to the initrd."
(mlet %store-monad ((init (gexp->script "init" exp (mlet %store-monad ((init (gexp->script "init" exp
#:guile guile))) #:guile guile)))
(define builder (define builder
(with-imported-modules '((guix cpio) (with-imported-modules (source-module-closure
(guix build utils) '((gnu build linux-initrd)))
(guix build store-copy)
(gnu build linux-initrd))
#~(begin #~(begin
(use-modules (gnu build linux-initrd)) (use-modules (gnu build linux-initrd))
@@ -88,9 +87,9 @@ the derivations referenced by EXP are automatically copied to the initrd."
"Return a flat directory containing the Linux kernel modules listed in "Return a flat directory containing the Linux kernel modules listed in
MODULES and taken from LINUX." MODULES and taken from LINUX."
(define build-exp (define build-exp
(with-imported-modules '((guix build utils) (with-imported-modules (source-module-closure
(guix elf) '((guix build utils)
(gnu build linux-modules)) (gnu build linux-modules)))
#~(begin #~(begin
(use-modules (ice-9 match) (ice-9 regex) (use-modules (ice-9 match) (ice-9 regex)
(srfi srfi-1) (srfi srfi-1)
@@ -223,13 +222,11 @@ loaded at boot time in the order in which they appear."
(mlet %store-monad ((kodir (flat-linux-module-directory linux (mlet %store-monad ((kodir (flat-linux-module-directory linux
linux-modules))) linux-modules)))
(expression->initrd (expression->initrd
(with-imported-modules '((guix build bournish) (with-imported-modules (source-module-closure
(guix build utils) '((gnu build linux-boot)
(guix build syscalls) (guix build utils)
(gnu build linux-boot) (guix build bournish)
(gnu build linux-modules) (gnu build file-systems)))
(gnu build file-systems)
(guix elf))
#~(begin #~(begin
(use-modules (gnu build linux-boot) (use-modules (gnu build linux-boot)
(guix build utils) (guix build utils)
+3 -2
View File
@@ -20,6 +20,7 @@
(define-module (gnu system mapped-devices) (define-module (gnu system mapped-devices)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules)
#:use-module (gnu services) #:use-module (gnu services)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:autoload (gnu packages cryptsetup) (cryptsetup) #:autoload (gnu packages cryptsetup) (cryptsetup)
@@ -95,8 +96,8 @@
(define (open-luks-device source target) (define (open-luks-device source target)
"Return a gexp that maps SOURCE to TARGET as a LUKS device, using "Return a gexp that maps SOURCE to TARGET as a LUKS device, using
'cryptsetup'." 'cryptsetup'."
(with-imported-modules '((gnu build file-systems) (with-imported-modules (source-module-closure
(guix build bournish)) '((gnu build file-systems)))
#~(let ((source #$source)) #~(let ((source #$source))
;; XXX: 'use-modules' should be at the top level. ;; XXX: 'use-modules' should be at the top level.
(use-modules (rnrs bytevectors) ;bytevector? (use-modules (rnrs bytevectors) ;bytevector?
+5 -17
View File
@@ -26,6 +26,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix monads) #:use-module (guix monads)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules)
#:use-module ((gnu build vm) #:use-module ((gnu build vm)
#:select (qemu-command)) #:select (qemu-command))
@@ -90,21 +91,6 @@
(options "trans=virtio") (options "trans=virtio")
(check? #f)))) (check? #f))))
(define %vm-module-closure
;; The closure of (gnu build vm), roughly.
;; FIXME: Compute it automatically.
'((gnu build vm)
(gnu build install)
(gnu build linux-boot)
(gnu build linux-modules)
(gnu build file-systems)
(guix elf)
(guix records)
(guix build utils)
(guix build syscalls)
(guix build bournish)
(guix build store-copy)))
(define* (expression->derivation-in-linux-vm name exp (define* (expression->derivation-in-linux-vm name exp
#:key #:key
(system (%current-system)) (system (%current-system))
@@ -148,7 +134,8 @@ made available under the /xchg CIFS share."
(define builder (define builder
;; Code that launches the VM that evaluates EXP. ;; Code that launches the VM that evaluates EXP.
(with-imported-modules %vm-module-closure (with-imported-modules (source-module-closure '((guix build utils)
(gnu build vm)))
#~(begin #~(begin
(use-modules (guix build utils) (use-modules (guix build utils)
(gnu build vm)) (gnu build vm))
@@ -205,7 +192,8 @@ register INPUTS in the store database of the image so that Guix can be used in
the image." the image."
(expression->derivation-in-linux-vm (expression->derivation-in-linux-vm
name name
(with-imported-modules %vm-module-closure (with-imported-modules (source-module-closure '((gnu build vm)
(guix build utils)))
#~(begin #~(begin
(use-modules (gnu build vm) (use-modules (gnu build vm)
(guix build utils)) (guix build utils))