summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-05-27 14:28:00 +0200
committerLudovic Courtès <ludo@gnu.org>2020-05-28 00:55:00 +0200
commitc1dc50ab202fafedde3a6b70ce6339496ad53a51 (patch)
treec81d1b05d4c3c8349cb89a780aa933285d24f7a3
parentc041c360b7145997b723c66065b1a0a22265efe7 (diff)
maint: Check whether Guile-Gcrypt is recent enough.
Suggested by Danny Milosavljevic <dannym@scratchpost.org> in <https://bugs.gnu.org/41494>. * m4/guix.m4 (GUIX_CHECK_GUILE_GCRYPT): New macro. * configure.ac: Use it.
-rw-r--r--configure.ac6
-rw-r--r--m4/guix.m420
2 files changed, 22 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 0a20b476eb9..cbf92dad309 100644
--- a/configure.ac
+++ b/configure.ac
@@ -136,9 +136,9 @@ if test "x$guix_cv_have_recent_guile_sqlite3" != "xyes"; then
136 AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.]) 136 AC_MSG_ERROR([A recent Guile-SQLite3 could not be found; please install it.])
137fi 137fi
138 138
139GUILE_MODULE_AVAILABLE([have_guile_gcrypt], [(gcrypt hash)]) 139GUIX_CHECK_GUILE_GCRYPT
140if test "x$have_guile_gcrypt" != "xyes"; then 140if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
141 AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.]) 141 AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
142fi 142fi
143 143
144dnl Guile-newt is used by the graphical installer. 144dnl Guile-newt is used by the graphical installer.
diff --git a/m4/guix.m4 b/m4/guix.m4
index 961ce838ac7..9eb38634822 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -1,5 +1,5 @@
1dnl GNU Guix --- Functional package management for GNU 1dnl GNU Guix --- Functional package management for GNU
2dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> 2dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
3dnl Copyright © 2014 Mark H Weaver <mhw@netris.org> 3dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
4dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> 4dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
5dnl 5dnl
@@ -194,6 +194,24 @@ AC_DEFUN([GUIX_CHECK_GUILE_JSON], [
194 fi]) 194 fi])
195]) 195])
196 196
197dnl GUIX_CHECK_GUILE_GCRYPT
198dnl
199dnl Check whether a recent-enough Guile-Gcrypt is available.
200AC_DEFUN([GUIX_CHECK_GUILE_GCRYPT], [
201 dnl Check whether we're using Guile-Gcrypt 0.2.x or later. 0.2.0
202 dnl introduced the 'hash-algorithm' macro and related code.
203 AC_CACHE_CHECK([whether Guile-Gcrypt is available and recent enough],
204 [guix_cv_have_recent_guile_gcrypt],
205 [GUILE_CHECK([retval],
206 [(use-modules (gcrypt hash))
207 (equal? (hash-algorithm sha256)
208 (lookup-hash-algorithm 'sha256))])
209 if test "$retval" = 0; then
210 guix_cv_have_recent_guile_gcrypt="yes"
211 else
212 guix_cv_have_recent_guile_gcrypt="no"
213 fi])
214])
197 215
198dnl GUIX_TEST_ROOT_DIRECTORY 216dnl GUIX_TEST_ROOT_DIRECTORY
199AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [ 217AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [