From c09d21cbcf373871fee4a4c26117b3f705a1f4f6 Mon Sep 17 00:00:00 2001 From: Alex Griffin Date: Wed, 8 Jan 2020 16:27:45 -0600 Subject: linux-initrd: Don't close over core Guile modules. * nonguix/modules.scm: New file. * nongnu/system/linux-initrd.scm: Limit 'source-module-closure' to guix and nonguix modules only. --- nongnu/system/linux-initrd.scm | 5 +++-- nonguix/modules.scm | 27 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 nonguix/modules.scm diff --git a/nongnu/system/linux-initrd.scm b/nongnu/system/linux-initrd.scm index cb83845..460d48d 100644 --- a/nongnu/system/linux-initrd.scm +++ b/nongnu/system/linux-initrd.scm @@ -19,6 +19,7 @@ #:use-module (guix modules) #:use-module (guix utils) #:use-module (nongnu packages linux) + #:use-module (nonguix modules) #:export (microcode-initrd)) ;; See https://www.kernel.org/doc/Documentation/x86/microcode.txt @@ -45,7 +46,7 @@ MICROCODE-PACKAGES, in the format expected by the kernel." '((gnu build linux-initrd) (guix build utils) (nonguix build utils)) - #:select? (const #t)) + #:select? nonguix-module-name?) #~(begin (use-modules (gnu build linux-initrd) (guix build utils) @@ -83,7 +84,7 @@ MICROCODE-PACKAGES, in the format expected by the kernel." (with-imported-modules (source-module-closure '((guix build utils) (nonguix build utils)) - #:select? (const #t)) + #:select? nonguix-module-name?) #~(begin (use-modules (guix build utils) (nonguix build utils)) diff --git a/nonguix/modules.scm b/nonguix/modules.scm new file mode 100644 index 0000000..570a8bb --- /dev/null +++ b/nonguix/modules.scm @@ -0,0 +1,27 @@ +;;; Copyright © 2020 Alex Griffin +;;; +;;; This program is free software: you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; This program is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program. If not, see . + +(define-module (nonguix modules) + #:use-module (ice-9 match) + #:export (nonguix-module-name?)) + +(define (nonguix-module-name? name) + "Return true if NAME (a list of symbols) denotes a Guix or Nonguix module." + (match name + (('guix _ ...) #t) + (('gnu _ ...) #t) + (('nonguix _ ...) #t) + (('nongnu _ ...) #t) + (_ #f))) -- cgit v1.2.3