;;; 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/current to the search path. (eval-when (expand load eval) (and=> (or (getenv "XDG_CONFIG_HOME") (and=> (getenv "HOME") (cut string-append <> "/.config/guix/current"))) (lambda (current) (set! %load-path (cons (string-append current "/share/guile/site/" (effective-version)) %load-path)) (set! %load-compiled-path (cons (string-append current "/lib/guile/" (effective-version) "/site-ccache") %load-compiled-path))))) (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 #:pull-version 1))) (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)))))))))) 023-11-05 23:23:23 +0100'>2023-11-05tests: Honor system and target when lowering <system-test>....Ludovic Courtès 2023-04-21tests: Fork and exec a new Guile for the marionette REPL....Ludovic Courtès 2022-05-18services: Add more description fields....Ludovic Courtès 2021-08-29Migrate to the new 'targets' field of bootloader-configuration....Maxim Cournoyer 2021-04-12tests: Support package extensions in the backdoor REPL....Maxime Devos 2021-02-19tests: Export %simple-os....Mathieu Othacehe 2020-07-25utils: Move <location> and '&error-location' to (guix diagnostics)....Ludovic Courtès 2020-03-05tests: Add <system-test> gexp compiler....Ludovic Courtès 2020-01-23tests: Fix typo in comment....Ludovic Courtès 2019-12-18gexp: Allow character literals in GEXP->SEXP....Marius Bakke 2019-09-23repl, marionette: 'self-quoting?' matches keywords....Ludovic Courtès 2019-03-25accounts: Add default value for the 'home-directory' field of <user-account>....Ludovic Courtès