aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-09-11 14:54:29 +0200
committerLudovic Courtès <ludo@gnu.org>2023-09-26 17:36:58 +0200
commitf651a359691cbe4750f1fe8d14dd964f7971f916 (patch)
tree37461ac136692991b66342b0678b57efa71af441 /guix
parent95f21231352b66f92c466cb30f2258291e854f2f (diff)
downloadguix-f651a359691cbe4750f1fe8d14dd964f7971f916.tar
guix-f651a359691cbe4750f1fe8d14dd964f7971f916.tar.gz
build: Add dependency on Git.
* configure.ac: Check for ‘git’ and substitute ‘GIT’. * guix/config.scm.in (%git): New variable. * guix/self.scm (compiled-guix): Define ‘git’ and pass it to ‘make-config.scm’. (make-config.scm): Add #:git; emit a ‘%git’ variable. * doc/guix.texi (Requirements): Add it.
Diffstat (limited to 'guix')
-rw-r--r--guix/config.scm.in6
-rw-r--r--guix/self.scm10
2 files changed, 14 insertions, 2 deletions
diff --git a/guix/config.scm.in b/guix/config.scm.in
index d582d91d74..62e15dd713 100644
--- a/guix/config.scm.in
+++ b/guix/config.scm.in
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2016, 2018-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Caleb Ristvedt <caleb.ristvedt@cune.org>
;;;
;;; This file is part of GNU Guix.
@@ -35,6 +35,7 @@
%config-directory
%system
+ %git
%gzip
%bzip2
%xz))
@@ -109,6 +110,9 @@
(define %system
"@guix_system@")
+(define %git
+ "@GIT@")
+
(define %gzip
"@GZIP@")
diff --git a/guix/self.scm b/guix/self.scm
index b8b9b9fe37..a1f235659d 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -69,6 +69,7 @@
("gzip" . ,(ref 'compression 'gzip))
("bzip2" . ,(ref 'compression 'bzip2))
("xz" . ,(ref 'compression 'xz))
+ ("git-minimal" . ,(ref 'version-control 'git-minimal))
("po4a" . ,(ref 'gettext 'po4a))
("gettext-minimal" . ,(ref 'gettext 'gettext-minimal))
("gcc-toolchain" . ,(ref 'commencement 'gcc-toolchain))
@@ -826,6 +827,9 @@ itself."
(define guile-lzma
(specification->package "guile-lzma"))
+ (define git
+ (specification->package "git-minimal"))
+
(define dependencies
(append-map transitive-package-dependencies
(list guile-gcrypt guile-gnutls guile-git guile-avahi
@@ -999,6 +1003,7 @@ itself."
=> ,(make-config.scm #:gzip gzip
#:bzip2 bzip2
#:xz xz
+ #:git git
#:package-name
%guix-package-name
#:package-version
@@ -1104,7 +1109,7 @@ itself."
(%storedir . "/gnu/store")
(%sysconfdir . "/etc")))
-(define* (make-config.scm #:key gzip xz bzip2
+(define* (make-config.scm #:key gzip xz bzip2 git
(package-name "GNU Guix")
(package-version "0")
(channel-metadata #f)
@@ -1134,6 +1139,7 @@ itself."
%state-directory
%store-database-directory
%config-directory
+ %git
%gzip
%bzip2
%xz))
@@ -1176,6 +1182,8 @@ itself."
;; information is used by (guix describe).
'#$channel-metadata)
+ (define %git
+ #+(and git (file-append git "/bin/git")))
(define %gzip
#+(and gzip (file-append gzip "/bin/gzip")))
(define %bzip2