;;; 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)))))))))) guix/commit/.dir-locals.el?id=d52e16d3b68b4f5e748b4d6014d4a9c207266ade'>deduplication: Use 'dynamic-wind' when changing permissions of the parent....Ludovic Courtès 2020-06-16channels: 'latest-channel-instance' authenticates Git checkouts....Ludovic Courtès 2020-06-10database: separate transaction-handling and retry-handling....Caleb Ristvedt 2020-06-10database: ensure update-or-insert is run within a transaction...Caleb Ristvedt 2020-06-10database: rewrite query procedures in terms of with-statement....Caleb Ristvedt 2020-06-06ui: 'display-search-results' automatically invokes the pager....Ludovic Courtès 2020-06-05git-authenticate: Add tests....Ludovic Courtès 2020-05-16gexp: Add 'let-system'....Ludovic Courtès 2020-03-22store: Add 'with-build-handler'....Ludovic Courtès 2020-03-12gexp: Add 'with-parameters'....Ludovic Courtès 2019-11-29ui: Factorize 'with-profile-lock'....Ludovic Courtès 2019-11-19pull: Acquire a lock for the target profile....Ludovic Courtès 2019-09-23git: Add 'commit-difference'....Ludovic Courtès 2019-06-05syscalls: Add 'with-file-lock' macro....Ludovic Courtès 2019-05-27publish: Add support for lzip....Ludovic Courtès 2019-03-07database: Make 'register-items' transactional....Caleb Ristvedt 2019-01-11status: Add 'with-status-verbosity'....Ludovic Courtès