aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.

;; 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))))))))))
span>etc: teams: Add help information for commands....* etc/teams.scm.in (main): Add command information to usage help prompt. Signed-off-by: Christopher Baines <mail@cbaines.net> Antero Mejr 2022-10-03etc: teams: Add news.scm to translations team scope....* etc/teams.scm.in (translations)[#:scope]: Add etc/news.scm. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Thiago Jung Bauermann 2022-09-28teams: Add Simon Tournier....* etc/teams.scm.in: Add Simon Tournier. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun 2022-09-28etc: teams: Add (....* etc/teams.scm.in: Add (. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> ( 2022-09-28etc: teams: Add more scopes to teams....* etc/teams.scm.in (r, julia, ruby, go, rust, kernel, translations, home, mozilla, racket): Add scopes. (emacs)[scope]: Add ``guix import elpa''-related files. (installer)[scope]: Correct ``guix/installer'' to ``gnu/installer''. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> ( 2022-09-27teams: Add pukkamustard....* etc/teams.scm.in: Add pukkamustard. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> pukkamustard 2022-09-27teams: Add Josselin Poiret....* etc/teams.scm.in: Add Josselin Poiret. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Josselin Poiret 2022-09-26etc: teams: Add description and scope for lisp team....* etc/teams.scm.in (lisp): Add description and scope fields. Guillaume Le Vaillant 2022-09-25etc: teams: Give games a scope....* etc/teams.scm.in (games)[#:name]: Change to “Games and Toys”. [#:description, #:scope]: New fields. Liliana Marie Prikler 2022-09-25etc: teams: Add description and scope for emacs....* etc/teams.scm.in (emacs): Add #:description and #:scope. Liliana Marie Prikler 2022-09-25etc: teams: Define Java team scope....* etc/teams.scm.in (java): Define it. Julien Lepiller 2022-09-25etc: teams: Define OCaml team scope....* etc/teams.scm.in (ocaml): Define it. Julien Lepiller 2022-09-25etc: teams: Define python team scope....* etc/teams.scm.in (python): Define it. Lars-Dominik Braun 2022-09-25etc: teams: Define haskell team scope....* etc/teams.scm.in (haskell): Define it. Lars-Dominik Braun 2022-09-25etc: installer: Define installer team scope....* etc/teams.scm.in (installer): Define it. Mathieu Othacehe 2022-09-25etc: teams: Define core team scope....* etc/teams.scm.in (core): Define it. Mathieu Othacehe 2022-09-25etc: teams: Add regular expression support to scopes....* etc/teams.scm (find-teams-by-scope): Differentiate between raw strings and regexps. Make raw string matches strict. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Liliana Marie Prikler 2022-09-25etc: teams: Add scope support....Add a scope list to each team. This list defines all the files and directories that are mentored by the team. Also add a cc-members command that takes two Git revision strings as input, add returns the members that should be CC'ed given the files impacted between the two revisions. * etc/teams.scm.in (<team>)[scope]: New field. (team, list-teams): Adapt those procedures. (find-team-by-scope, diff-revisions): New procedures. (main): Add a "cc-members" command. * doc/contributing.texi ("Teams"): Document it. ("Sending a Patch Series"): Adapt it. Mathieu Othacehe 2022-09-14etc: teams: Add entry for Andrew Tropin....* etc/teams.scm.in ("Andrew Tropin"): New member. Andrew Tropin 2022-09-09etc: teams: Add entry for Guillaume Le Vaillant....* etc/teams.scm.in ("Guillaume Le Vaillant"): New member. Guillaume Le Vaillant 2022-09-04etc: teams: Add entry for Philip McGrath....* etc/teams.scm.in ("Philip McGrath"): New member. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath 2022-09-04etc: teams: Add racket team....* etc/teams.scm.in (racket): New team. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Philip McGrath 2022-08-11etc: teams: Add Mathieu Othacehe to mentors....* etc/teams.scm.in (mentors): New member. Mathieu Othacehe 2022-08-05etc: teams: Add entry for Mathieu Othacehe....* etc/teams.scm.in ("Mathieu Othacehe"): New member. Mathieu Othacehe 2022-08-05etc: teams: Add entry for Eric Bavier....* etc/teams.scm.in ("Eric Bavier"): New member. (mozilla): Add #:description keyword before description. Eric Bavier 2022-07-13etc: teams: Add entry for Jonathan Brielmaier....* etc/teams.scm.in ("Jonathan Brielmaier"): New member. Jonathan Brielmaier 2022-07-13etc: teams: Add mozilla team....* etc/teams.scm.in (mozilla): New team. Jonathan Brielmaier 2022-07-10etc: teams: Add entry for Thiago Jung Bauermann....* etc/teams.scm.in ("Thiago Jung Bauermann"): New member. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Thiago Jung Bauermann 2022-07-08etc: teams: Add entry for Christopher Baines....* etc/teams.scm.in ("Christopher Baines"): New member. Christopher Baines 2022-07-08etc: teams: Add entry for Björn Höfling....* etc/teams.scm.in ("Björn Höfling"): New member. Björn Höfling 2022-07-07etc: teams: Add entry for jgart....* etc/teams.scm.in ("jgart"): New member. Signed-off-by: Lars-Dominik Braun <lars@6xq.net> jgart via Guix-patches via 2022-07-07etc: teams: Add entry for Lars-Dominik Braun....* etc/teams.scm.in ("Lars-Dominik Braun"): New member. Lars-Dominik Braun 2022-07-07etc: teams: Add entry for Florian Pelz....* etc/teams.scm.in ("Florian Pelz"): New member. Florian Pelz 2022-07-06etc: teams: Add entry for Julien Lepiller....* etc/teams.scm.in ("Julien Lepiller"): New member. Julien Lepiller 2022-07-04etc: teams: Add entry for Efraim Flashner....* etc/teams.scm.in ("Efraim Flashner"): New member. Efraim Flashner 2022-07-03teams: Add leo Famulari....* etc/teams.scm.in ("Leo Famulari"): New member. Leo Famulari 2022-07-03etc: teams: Add entry for Liliana Prikler....* etc/teams.scm.in ("Liliana Marie Prikler"): New member. Liliana Marie Prikler 2022-07-03etc: teams: Sort members lexicographically by last name....* etc/teams.scm.in: Sort members lexicographically by last name. Liliana Marie Prikler 2022-07-03etc: Update teams....* etc/teams.scm.in: Rename maths team to science and add myself to it. Andreas Enge 2022-07-03etc: Add teams.scm....* etc/teams.scm.in: New file. * configure.ac: Generate executable. * .gitignore: Ignore generated file. Ricardo Wurmus