summary refs log tree commit diff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/guix.m420
1 files changed, 19 insertions, 1 deletions
diff --git a/m4/guix.m4 b/m4/guix.m4
index 961ce838ac..9eb3863482 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -1,5 +1,5 @@
 dnl GNU Guix --- Functional package management for GNU
-dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
 dnl Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
 dnl
@@ -194,6 +194,24 @@ AC_DEFUN([GUIX_CHECK_GUILE_JSON], [
      fi])
 ])
 
+dnl GUIX_CHECK_GUILE_GCRYPT
+dnl
+dnl Check whether a recent-enough Guile-Gcrypt is available.
+AC_DEFUN([GUIX_CHECK_GUILE_GCRYPT], [
+  dnl Check whether we're using Guile-Gcrypt 0.2.x or later.  0.2.0
+  dnl introduced the 'hash-algorithm' macro and related code.
+  AC_CACHE_CHECK([whether Guile-Gcrypt is available and recent enough],
+    [guix_cv_have_recent_guile_gcrypt],
+    [GUILE_CHECK([retval],
+      [(use-modules (gcrypt hash))
+       (equal? (hash-algorithm sha256)
+               (lookup-hash-algorithm 'sha256))])
+     if test "$retval" = 0; then
+       guix_cv_have_recent_guile_gcrypt="yes"
+     else
+       guix_cv_have_recent_guile_gcrypt="no"
+     fi])
+])
 
 dnl GUIX_TEST_ROOT_DIRECTORY
 AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [