aboutsummaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-10-12 21:47:14 +0200
committerLudovic Courtès <ludo@gnu.org>2020-10-22 17:10:25 +0200
commit59bb1ae3a9aeae75a75b20090253613a7a8800d8 (patch)
tree8b7d4c08e53cf219d8e1e98f641dd052fadc6662 /m4
parent830ea72799f988b0fb334f9833f37ef147f7ca2c (diff)
downloadguix-59bb1ae3a9aeae75a75b20090253613a7a8800d8.tar
guix-59bb1ae3a9aeae75a75b20090253613a7a8800d8.tar.gz
git: Require Guile-Git 0.3.0 or later.
* guix/git.scm (auth-supported?): Remove. (clone*): Inline code that was dependent on AUTH-SUPPORTED?. (update-cached-checkout): Likewise. (resolve-reference): Remove check for 'object-lookup-prefix' and use it unconditionally. (load-git-submodules): Remove. (update-submodules): Use 'repository-submodules', 'submodule-lookup', etc. unconditionally. (update-cached-checkout): Use 'repository-close!' unconditionally. * m4/guix.m4 (GUIX_CHECK_GUILE_GIT): New macro. * configure.ac: Use it and error out when it fails. * doc/guix.texi (Requirements): Bump to Guile-Git 0.3.0.
Diffstat (limited to 'm4')
-rw-r--r--m4/guix.m422
1 files changed, 22 insertions, 0 deletions
diff --git a/m4/guix.m4 b/m4/guix.m4
index 2fcc65e039..4fa7cdf737 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -204,6 +204,28 @@ AC_DEFUN([GUIX_CHECK_GUILE_GCRYPT], [
fi])
])
+dnl GUIX_CHECK_GUILE_GIT
+dnl
+dnl Check whether a recent-enough Guile-Git is available.
+AC_DEFUN([GUIX_CHECK_GUILE_GIT], [
+ dnl Check whether we're using Guile-Git 0.3.0 or later. 0.3.0
+ dnl introduced SSH authentication support and more.
+ AC_CACHE_CHECK([whether Guile-Git is available and recent enough],
+ [guix_cv_have_recent_guile_git],
+ [GUILE_CHECK([retval],
+ [(use-modules (git) (git auth) (git submodule))
+ (let ((auth (%make-auth-ssh-agent)))
+ repository-close!
+ object-lookup-prefix
+ (make-clone-options
+ #:fetch-options (make-fetch-options auth)))])
+ if test "$retval" = 0; then
+ guix_cv_have_recent_guile_git="yes"
+ else
+ guix_cv_have_recent_guile_git="no"
+ fi])
+])
+
dnl GUIX_TEST_ROOT_DIRECTORY
AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [
AC_CACHE_CHECK([for unit test root directory],