[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#65866] [PATCH v2 5/8] build: Add dependency on Git.
From: |
Ludovic Courtès |
Subject: |
[bug#65866] [PATCH v2 5/8] build: Add dependency on Git. |
Date: |
Sat, 23 Sep 2023 00:28:01 +0200 |
* 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.
---
configure.ac | 7 +++++++
doc/guix.texi | 1 +
guix/config.scm.in | 6 +++++-
guix/self.scm | 10 +++++++++-
4 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 92dede8014..d817f620cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -201,6 +201,13 @@ AC_SUBST([GZIP])
AC_SUBST([BZIP2])
AC_SUBST([XZ])
+dnl Git is now required for the "builtin:git-download" derivation builder.
+AC_PATH_PROG([GIT], [git])
+if test "x$GIT" = "x"; then
+ AC_MSG_ERROR([Git is missing; please install it.])
+fi
+AC_SUBST([GIT])
+
LIBGCRYPT_LIBDIR="no"
LIBGCRYPT_PREFIX="no"
diff --git a/doc/guix.texi b/doc/guix.texi
index 50c4984d71..8812e42e99 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -1011,6 +1011,7 @@ Requirements
@item
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, version 0.5.0
or later;
+@item @uref{https://git-scm.com, Git} (yes, both!);
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
4.3.0 or later;
@item @url{https://www.gnu.org/software/make/, GNU Make}.
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 @@ (define-module (guix config)
%config-directory
%system
+ %git
%gzip
%bzip2
%xz))
@@ -109,6 +110,9 @@ (define %config-directory
(define %system
"@guix_system@")
+(define %git
+ "@GIT@")
+
(define %gzip
"@GZIP@")
diff --git a/guix/self.scm b/guix/self.scm
index d2300052d8..9eaddc7a29 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -69,6 +69,7 @@ (define %packages
("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 @@ (define* (compiled-guix source #:key
(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 @@ (define* (compiled-guix source #:key
=> ,(make-config.scm #:gzip gzip
#:bzip2 bzip2
#:xz xz
+ #:git git
#:package-name
%guix-package-name
#:package-version
@@ -1104,7 +1109,7 @@ (define %default-config-variables
(%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 @@ (define* (make-config.scm #:key gzip xz bzip2
%state-directory
%store-database-directory
%config-directory
+ %git
%gzip
%bzip2
%xz))
@@ -1176,6 +1182,8 @@ (define* (make-config.scm #:key gzip xz bzip2
;; 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
--
2.41.0
- [bug#65866] [PATCH v2 6/8] perform-download: Use the ‘git’ command captured at configure time., (continued)
- [bug#65866] [PATCH v2 6/8] perform-download: Use the ‘git’ command captured at configure time., Ludovic Courtès, 2023/09/22
- [bug#65866] [PATCH v2 4/8] daemon: Add “git-download” built-in builder., Ludovic Courtès, 2023/09/22
- [bug#65866] [PATCH v2 7/8] git-download: Use “builtin:git-download” when available., Ludovic Courtès, 2023/09/22
- [bug#65866] [PATCH v2 7/8] git-download: Use “builtin:git-download” when available., Simon Tournier, 2023/09/25
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Ludovic Courtès, 2023/09/25
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Simon Tournier, 2023/09/25
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Maxim Cournoyer, 2023/09/25
- bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts, Ludovic Courtès, 2023/09/26
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Simon Tournier, 2023/09/26
- [bug#65866] [PATCH 0/8] Add built-in builder for Git checkouts, Simon Tournier, 2023/09/25
- [bug#65866] [PATCH v2 5/8] build: Add dependency on Git.,
Ludovic Courtès <=
- [bug#65866] [PATCH v2 5/8] build: Add dependency on Git., Simon Tournier, 2023/09/25
- [bug#65866] Bootstrapping without the daemon and all that, Ludovic Courtès, 2023/09/26
- [bug#65866] Bootstrapping without the daemon and all that, Simon Tournier, 2023/09/26
[bug#65866] [PATCH 2/8] git-download: Honor the ‘GUIX_DOWNLOAD_FALLBACK_TEST’ environment variable., Ludovic Courtès, 2023/09/11
[bug#65866] [PATCH 3/8] perform-download: Remove unused one-argument clause., Ludovic Courtès, 2023/09/11
[bug#65866] [PATCH 1/8] git-download: Move fallback code to (guix build git)., Ludovic Courtès, 2023/09/11