diff --git a/configure.ac b/configure.ac index aa60471143..1598bfae94 100644 --- a/configure.ac +++ b/configure.ac @@ -151,9 +151,9 @@ if test "x$guix_cv_have_recent_guile_git" != "xyes"; then fi dnl Check for Guile-zlib. -GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)]) -if test "x$have_guile_zlib" != "xyes"; then - AC_MSG_ERROR([Guile-zlib is missing; please install it.]) +GUIX_CHECK_GUILE_ZLIB +if test "x$guix_cv_have_recent_guile_zlib" != "xyes"; then + AC_MSG_ERROR([A recent Guile-zlib could not be found; please install it.]) fi dnl Check for Guile-lzlib. diff --git a/m4/guix.m4 b/m4/guix.m4 index c1ce0876fa..90a106add8 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -226,6 +226,24 @@ AC_DEFUN([GUIX_CHECK_GUILE_GIT], [ fi]) ]) +dnl GUIX_CHECK_GUILE_ZLIB +dnl +dnl Check whether a recent-enough Guile-zlib is available. +AC_DEFUN([GUIX_CHECK_GUILE_ZLIB], [ + dnl Check whether we're using Guile-zlib 0.1.0 or later. + dnl 0.1.0 introduced the 'make-zlib-input-port' and related code. + AC_CACHE_CHECK([whether Guile-zlib is available and recent enough], + [guix_cv_have_recent_guile_zlib], + [GUILE_CHECK([retval], + [(use-modules (zlib)) + make-zlib-input-port]) + if test "$retval" = 0; then + guix_cv_have_recent_guile_zlib="yes" + else + guix_cv_have_recent_guile_zlib="no" + fi]) +]) + dnl GUIX_TEST_ROOT_DIRECTORY AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [ AC_CACHE_CHECK([for unit test root directory],