summary refs log tree commit diff
path: root/m4/guix.m4
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-11-03 21:43:30 +0100
committerLudovic Courtès <ludo@gnu.org>2012-11-03 21:49:54 +0100
commitd388c2c435395aee61dc074023b1f218e6037545 (patch)
tree9b9016d2dea7bb708a20a571f5d48a3ec17bc3fb /m4/guix.m4
parent1275baeba7bbee85a28766eb7307cf1690ec08d2 (diff)
downloadguix-d388c2c435395aee61dc074023b1f218e6037545.tar.gz
build: Require GNU libgcrypt.
* guix/utils.scm (sha256): Remove Coreutils- and libchop-based
  implementations.
* README: Update accordingly.

* m4/guix.m4: New file.
* configure.ac: Use `GUIX_ASSERT_LIBGCRYPT_USABLE'.  Set and substitute
  `LIBGCRYPT_PREFIX'.
* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): Pass
  `--with-libgcrypt-prefix=$(LIBGCRYPT_PREFIX)'.
Diffstat (limited to 'm4/guix.m4')
-rw-r--r--m4/guix.m435
1 files changed, 35 insertions, 0 deletions
diff --git a/m4/guix.m4 b/m4/guix.m4
new file mode 100644
index 0000000000..29f928f653
--- /dev/null
+++ b/m4/guix.m4
@@ -0,0 +1,35 @@
+dnl Guix --- Nix package management from Guile.         -*- coding: utf-8 -*-
+dnl Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+dnl
+dnl This file is part of Guix.
+dnl
+dnl Guix is free software; you can redistribute it and/or modify it
+dnl under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or (at
+dnl your option) any later version.
+dnl
+dnl Guix is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+dnl GUIX_ASSERT_LIBGCRYPT_USABLE
+dnl
+dnl Assert that GNU libgcrypt is usable from Guile.
+AC_DEFUN([GUIX_ASSERT_LIBGCRYPT_USABLE],
+  [AC_CACHE_CHECK([whether $LIBGCRYPT can be dynamically loaded],
+    [guix_cv_libgcrypt_usable_p],
+    [GUILE_CHECK([retval],
+      [(dynamic-func \"gcry_md_hash_buffer\" (dynamic-link \"$LIBGCRYPT\"))])
+     if test "$retval" = 0; then
+       guix_cv_libgcrypt_usable_p="yes"
+     else
+       guix_cv_libgcrypt_usable_p="no"
+     fi])
+
+   if test "x$guix_cv_libgcrypt_usable_p" != "xyes"; then
+     AC_MSG_ERROR([GNU libgcrypt does not appear to be usable; see `--with-libgcrypt-prefix' and `README'.])
+   fi])