;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 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 . ;; Build Guix using Guix. (use-modules (srfi srfi-26)) ;; Add ~/.config/guix/latest to the search path. (add-to-load-path (and=> (or (getenv "XDG_CONFIG_HOME") (and=> (getenv "HOME") (cut string-append <> "/.config"))) (cut string-append <> "/guix/latest"))) (use-modules (guix) (guix ui) (guix git-download) (ice-9 match)) (match (command-line) ((program source) (with-error-handling (with-store store (let* ((script (string-append source "/build-aux/build-self.scm")) (build (primitive-load script)) (git? (git-predicate source))) (run-with-store store ;; TODO: Extract #:version and #:commit using Guile-Git. (mlet* %store-monad ((source (interned-file source "guix-source" #:select? git? #:recursive? #t)) (drv (build source))) (mbegin %store-monad (show-what-to-build* (list drv)) (built-derivations (list drv)) (with-monad %store-monad (display (derivation->output-path drv)) (newline) (return drv)))))))))) 8164a73b&showmsg=1'>root/gnu.scm
AgeCommit message (Collapse)Author
2017-11-08gnu: Improve error reporting of the use-.*modules macros.Ludovic Courtès
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.
2017-05-16bootloader: Add extlinux support.Mathieu Othacehe
* 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.