diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-03-12 00:37:33 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-03-12 00:40:15 +0100 |
commit | 1dbe3a8db0a3e5a8e5f9b30e6f6a6bbfb699275b (patch) | |
tree | 1eb49e4166a7affad076771bd5a629c2be065356 | |
parent | 5a717a95b33d72026085c2309a2079956586c098 (diff) |
build: GnuTLS is now a hard dependency.
Discussed as part of <https://bugs.gnu.org/25975>.
* configure.ac: Check for (gnutls) and error out if it's missing.
* doc/guix.texi (Requirements): Move GnuTLS from optional to required.
(Substitutes): Remove footnote about the need for GnuTLS.
-rw-r--r-- | configure.ac | 9 | ||||
-rw-r--r-- | doc/guix.texi | 16 |
2 files changed, 13 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac index 06b0618b43..e5daadb121 100644 --- a/configure.ac +++ b/configure.ac @@ -91,7 +91,14 @@ dnl Installation directory for .scm and .go files. guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" AC_SUBST([guilemoduledir]) -dnl guile-json is used for the PyPI package importer +dnl The GnuTLS bindings are necessary for substitutes over HTTPS and for 'guix +dnl pull', among other things. +GUILE_MODULE_AVAILABLE([have_gnutls], [(gnutls)]) +if test "x$have_gnutls" != "xyes"; then + AC_MSG_ERROR([The Guile bindings of GnuTLS are missing; please install them.]) +fi + +dnl Guile-JSON is used in various places. GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) diff --git a/doc/guix.texi b/doc/guix.texi index a602c701cb..93d0b7a084 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -544,6 +544,10 @@ GNU Guix depends on the following packages: @itemize @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.7 or later; @item @url{http://gnupg.org/, GNU libgcrypt}; +@item +@uref{http://gnutls.org/, GnuTLS}, specifically its Guile bindings +(@pxref{Guile Preparations, how to install the GnuTLS bindings for +Guile,, gnutls-guile, GnuTLS-Guile}); @item @url{http://www.gnu.org/software/make/, GNU Make}. @end itemize @@ -551,15 +555,6 @@ The following dependencies are optional: @itemize @item -Installing @uref{http://gnutls.org/, GnuTLS-Guile} will allow you to -access @code{https} URLs for substitutes, which is highly recommended -(@pxref{Substitutes}). It also allows you to access HTTPS URLs with the -@command{guix download} command (@pxref{Invoking guix download}), the -@command{guix import pypi} command, and the @command{guix import cpan} -command. @xref{Guile Preparations, how to install the GnuTLS bindings -for Guile,, gnutls-guile, GnuTLS-Guile}. - -@item Installing @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will allow you to use the @command{guix import pypi} command (@pxref{Invoking @@ -2003,8 +1998,7 @@ or to client tools such as @command{guix package} (@pxref{client-substitute-urls,, client @option{--substitute-urls} option}). -Substitute URLs can be either HTTP or HTTPS@footnote{For HTTPS access, -the Guile bindings of GnuTLS must be installed. @xref{Requirements}.} +Substitute URLs can be either HTTP or HTTPS. HTTPS is recommended because communications are encrypted; conversely, using HTTP makes all communications visible to an eavesdropper, who could use the information gathered to determine, for instance, whether |