licenses: Export license record.
[jackhill/guix/guix.git] / configure.ac
index 2817e6e..6a6a020 100644 (file)
@@ -93,14 +93,14 @@ m4_pattern_forbid([^GUIX_])
 
 dnl Search for 'guile' and 'guild'.  This macro defines
 dnl 'GUILE_EFFECTIVE_VERSION'.
-GUILE_PKG([2.2 2.0])
+GUILE_PKG([3.0 2.2])
 GUILE_PROGS
 if test "x$GUILD" = "x"; then
-   AC_MSG_ERROR(['guild' binary not found; please check your guile-2.x installation.])
+   AC_MSG_ERROR(['guild' binary not found; please check your Guile installation.])
 fi
 
-if test "x$GUILE_EFFECTIVE_VERSION" = "x2.0"; then
-  PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.13])
+if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then
+  PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3])
 fi
 
 dnl Installation directories for .scm and .go files.
@@ -123,8 +123,8 @@ if test "x$have_guile_git" != "xyes"; then
 fi
 
 dnl Check for Guile-JSON.
-GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
-if test "x$have_guile_json" != "xyes"; then
+GUIX_CHECK_GUILE_JSON
+if test "x$guix_cv_have_recent_guile_json" != "xyes"; then
   AC_MSG_ERROR([Guile-JSON is missing; please install it.])
 fi
 
@@ -139,6 +139,21 @@ if test "x$have_guile_gcrypt" != "xyes"; then
   AC_MSG_ERROR([Guile-Gcrypt could not be found; please install it.])
 fi
 
+dnl Guile-newt is used by the graphical installer.
+GUILE_MODULE_AVAILABLE([have_guile_newt], [(newt)])
+
+AC_ARG_ENABLE([installer],
+    AS_HELP_STRING([--enable-installer], [Build the graphical installer sources.]))
+
+AS_IF([test "x$enable_installer" = "xyes"], [
+if test "x$have_guile_newt" != "xyes"; then
+  AC_MSG_ERROR([Guile-newt could not be found; please install it.])
+fi
+])
+
+AM_CONDITIONAL([ENABLE_INSTALLER],
+  [test "x$enable_installer" = "xyes"])
+
 dnl Make sure we have a full-fledged Guile.
 GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
 
@@ -191,7 +206,6 @@ else
    AC_MSG_RESULT([not found])
 fi
 
-LIBGCRYPT="libgcrypt"
 LIBGCRYPT_LIBDIR="no"
 LIBGCRYPT_PREFIX="no"
 
@@ -201,7 +215,6 @@ AC_ARG_WITH([libgcrypt-prefix],
     yes|no)
       ;;
     *)
-      LIBGCRYPT="$withval/lib/libgcrypt"
       LIBGCRYPT_PREFIX="$withval"
       LIBGCRYPT_LIBDIR="$withval/lib"
       ;;
@@ -212,11 +225,9 @@ AC_ARG_WITH([libgcrypt-libdir],
      [search for GNU libgcrypt's shared library in DIR])],
   [case "$withval" in
     yes|no)
-      LIBGCRYPT="libgcrypt"
       LIBGCRYPT_LIBDIR="no"
       ;;
     *)
-      LIBGCRYPT="$withval/libgcrypt"
       LIBGCRYPT_LIBDIR="$withval"
       ;;
    esac])
@@ -229,10 +240,6 @@ case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in
     ;;
 esac
 
-dnl Library name suitable for `dynamic-link'.
-AC_MSG_CHECKING([for libgcrypt shared library name])
-AC_MSG_RESULT([$LIBGCRYPT])
-AC_SUBST([LIBGCRYPT])
 AC_SUBST([LIBGCRYPT_PREFIX])
 AC_SUBST([LIBGCRYPT_LIBDIR])
 
@@ -247,6 +254,16 @@ AC_MSG_CHECKING([for zlib's shared library name])
 AC_MSG_RESULT([$LIBZ])
 AC_SUBST([LIBZ])
 
+dnl Library name of lzlib suitable for 'dynamic-link'.
+GUIX_LIBLZ_FILE_NAME([LIBLZ])
+if test "x$LIBLZ" = "x"; then
+  LIBLZ="liblz"
+else
+  # Strip the .so or .so.1 extension since that's what 'dynamic-link' expects.
+  LIBLZ="`echo $LIBLZ | sed -es'/\.so\(\.[[0-9.]]\+\)\?//g'`"
+fi
+AC_SUBST([LIBLZ])
+
 dnl Check for Guile-SSH, for the (guix ssh) module.
 GUIX_CHECK_GUILE_SSH
 AM_CONDITIONAL([HAVE_GUILE_SSH],
@@ -267,9 +284,14 @@ dnl Documentation translation.
 AM_MISSING_PROG([PO4A_TRANSLATE], [po4a-translate])
 AM_MISSING_PROG([PO4A_UPDATEPO], [po4a-updatepo])
 
-dnl Emacs (optional), for 'etc/indent-package.el'.
-AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs])
-AC_SUBST([EMACS])
+dnl Emacs (optional), for 'etc/indent-code.el'.
+AC_PATH_PROG([EMACS], [emacs])
+if test "x$EMACS" = x; then
+    AC_MSG_WARN([Please install GNU Emacs to use etc/indent-code.el.])
+else
+    AC_SUBST([EMACS])
+    AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el])
+fi
 
 case "$storedir" in
   /gnu/store)
@@ -289,6 +311,5 @@ AC_CONFIG_FILES([Makefile
 AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
 AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
   [chmod +x pre-inst-env])
-AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el])
 
 AC_OUTPUT