diff options
-rw-r--r-- | guix/profiles.scm | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index 9df63c97e9..f7af01b9b2 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -1202,17 +1202,18 @@ for both major versions of GTK+." and creates the dependency graph of all these kernel modules. This is meant to be used as a profile hook." - (define kmod ; lazy reference + (define kmod ; lazy reference (module-ref (resolve-interface '(gnu packages linux)) 'kmod)) (define build - (with-imported-modules - (source-module-closure '((guix build utils) + (with-imported-modules (source-module-closure + '((guix build utils) (gnu build linux-modules))) #~(begin (use-modules (ice-9 ftw) (ice-9 match) - (srfi srfi-1) ; append-map + (srfi srfi-1) ; append-map (gnu build linux-modules)) + (let* ((inputs '#$(manifest-inputs manifest)) (module-directories (map (lambda (directory) @@ -1220,20 +1221,20 @@ This is meant to be used as a profile hook." inputs)) (directory-entries (lambda (directory) - (scandir directory (lambda (basename) - (not - (string-prefix? "." basename)))))) + (scandir directory + (lambda (basename) + (not (string-prefix? "." basename)))))) ;; Note: Should usually result in one entry. (versions (delete-duplicates (append-map directory-entries module-directories)))) - (match versions - ((version) - (let ((old-path (getenv "PATH"))) - (setenv "PATH" #+(file-append kmod "/bin")) - (make-linux-module-directory inputs version #$output) - (setenv "PATH" old-path))) - (_ (error "Specified Linux kernel and Linux kernel modules + (match versions + ((version) + (let ((old-path (getenv "PATH"))) + (setenv "PATH" #+(file-append kmod "/bin")) + (make-linux-module-directory inputs version #$output) + (setenv "PATH" old-path))) + (_ (error "Specified Linux kernel and Linux kernel modules are not all of the same version"))))))) (gexp->derivation "linux-module-database" build #:local-build? #t |