;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 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 . ;;; ;;; Check whether important binaries are available. ;;; (use-modules (guix store) (guix grafts) (guix packages) (guix derivations) (gnu packages emacs) (gnu packages make-bootstrap) (srfi srfi-1) (srfi srfi-26) (ice-9 format)) (with-store store (parameterize ((%graft? #f)) (let* ((native (append-map (lambda (system) (map (cut package-derivation store <> system) (list %bootstrap-tarballs emacs))) %hydra-supported-systems)) (cross (map (cut package-cross-derivation store %bootstrap-tarballs <>) '("mips64el-linux-gnu" "arm-linux-gnueabihf"))) (total (append native cross))) (set-build-options store #:use-substitutes? #t #:substitute-urls %default-substitute-urls) (let* ((total (map derivation->output-path total)) (available (substitutable-paths store total)) (missing (lset-difference string=? total available))) (if (null? missing) (format (current-error-port) "~a packages found substitutable on~{ ~a~}~%" (length total) %hydra-supported-systems) (format (current-error-port) "~a packages are not substitutable:~%~{ ~a~%~}~%" (length missing) missing)) (exit (null? missing)))))) /commit/gnu.scm?id=c5a4a92f1a796e342b7db4c458f1fdb61ffc8d40'>gnu: Improve error reporting of the use-.*modules macros....Suggested by Julien Lepiller and myglc2 at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00106.html>. * gnu.scm (%try-use-modules): New procedure. (package-module-hint, service-module-hint): New procedures. (try-use-modules): New macro. (use-package-modules, use-service-modules, use-system-modules): Use it. * tests/guix-system.sh: Test it. Ludovic Courtès 2017-05-16bootloader: Add extlinux support....* gnu/bootloader.scm: New file. * gnu/bootloader/extlinux.scm: New file. * gnu/bootloader/grub.scm: New file. * gnu/local.mk: Build new files. * gnu/system.scm: Adapt to new bootloader api. * gnu/scripts/system.scm: Adapt to new bootloader api. * gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu bootloader grub) modules. * gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm. * gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader). * gnu/tests.scm: Ditto. * gnu/tests/nfs.scm: Ditto. Mathieu Othacehe