;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix 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. ;;; ;;; GNU Guix 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 GNU Guix. If not, see . (define-module (test-modules) #:use-module (guix modules) #:use-module ((guix build-system gnu) #:select (%gnu-build-system-modules)) #:use-module ((guix utils) #:select (call-with-temporary-directory)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-64)) (test-begin "modules") (test-assert "closure of (guix build gnu-build-system)" (lset= equal? (live-module-closure '((guix build gnu-build-system))) (source-module-closure '((guix build gnu-build-system))) %gnu-build-system-modules (source-module-closure %gnu-build-system-modules) (live-module-closure %gnu-build-system-modules))) (test-assert "closure of (gnu build install)" (lset= equal? (live-module-closure '((gnu build install))) (source-module-closure '((gnu build install))))) (test-assert "closure of (gnu build image)" (lset= equal? (live-module-closure '((gnu build image))) (source-module-closure '((gnu build image))))) (test-equal "&missing-dependency-error" '(something that does not exist) (call-with-temporary-directory (lambda (directory) (call-with-output-file (string-append directory "/foobar.scm") (lambda (port) (write '(define-module (foobar) #:use-module (something that does not exist)) port))) (call-with-output-file (string-append directory "/baz.scm") (lambda (port) (write '(define-module (baz) #:use-module (foobar)) port))) (guard (c ((missing-dependency-error? c) (missing-dependency-module c))) (source-module-closure '((baz)) (list directory) #:select? (const #t)))))) (test-end) owrap'>AgeCommit message (Expand)Author 2022-09-24platforms: x86: Rename Hurd hurd to i586-gnu....* guix/platforms/x86.scm (hurd): Rename it to ... (i586-gnu): ... this variable. * gnu/system/images/hurd.scm (hurd-disk-image, hurd-barebones-disk-image, hurd-barebones-qcow2-image): Adapt those. Mathieu Othacehe 2022-09-24image: Make the operating-system field mandatory....Make the operating-system field mandatory as creating an image without it makes no sense. Introduce a new macro, image-without-os for the specific cases where the image is only created to be inherited from afterwards. * gnu/image.scm (<image>)[operating-system]: Make it mandatory. * gnu/system/image.scm (image-without-os): New macro. (efi-disk-image, efi32-disk-image, iso9660-image, docker-image, raw-with-offset-disk-image): Use it. * gnu/system/images/hurd.scm (hurd-disk-image): Ditto. Mathieu Othacehe