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.
This commit is contained in:
Ludovic Courtès 2017-03-12 00:37:33 +01:00
parent 5a717a95b3
commit 1dbe3a8db0
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
2 changed files with 13 additions and 12 deletions

View File

@ -91,7 +91,14 @@ dnl Installation directory for .scm and .go files.
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION" guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
AC_SUBST([guilemoduledir]) 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)]) GUILE_MODULE_AVAILABLE([have_guile_json], [(json)])
AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"]) AM_CONDITIONAL([HAVE_GUILE_JSON], [test "x$have_guile_json" = "xyes"])

View File

@ -544,21 +544,16 @@ GNU Guix depends on the following packages:
@itemize @itemize
@item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.7 or later; @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.7 or later;
@item @url{http://gnupg.org/, GNU libgcrypt}; @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}. @item @url{http://www.gnu.org/software/make/, GNU Make}.
@end itemize @end itemize
The following dependencies are optional: The following dependencies are optional:
@itemize @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 @item
Installing Installing
@url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will @url{http://savannah.nongnu.org/projects/guile-json/, Guile-JSON} will
@ -2003,8 +1998,7 @@ or to client tools such as @command{guix package}
(@pxref{client-substitute-urls,, client @option{--substitute-urls} (@pxref{client-substitute-urls,, client @option{--substitute-urls}
option}). option}).
Substitute URLs can be either HTTP or HTTPS@footnote{For HTTPS access, Substitute URLs can be either HTTP or HTTPS.
the Guile bindings of GnuTLS must be installed. @xref{Requirements}.}
HTTPS is recommended because communications are encrypted; conversely, HTTPS is recommended because communications are encrypted; conversely,
using HTTP makes all communications visible to an eavesdropper, who using HTTP makes all communications visible to an eavesdropper, who
could use the information gathered to determine, for instance, whether could use the information gathered to determine, for instance, whether