Browse Source

build: GnuTLS is now a hard dependency.

Discussed as part of <>.

* 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.
Ludovic Courtès 3 years ago
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
2 changed files with 13 additions and 12 deletions
  1. +8
  2. +5

+ 8
- 1 View File

@@ -91,7 +91,14 @@ dnl Installation directory for .scm and .go files.

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.])

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"])

+ 5
- 11
doc/guix.texi View File

@@ -544,21 +544,16 @@ GNU Guix depends on the following packages:
@item @url{, GNU Guile}, version 2.0.7 or later;
@item @url{, GNU libgcrypt};
@uref{, GnuTLS}, specifically its Guile bindings
(@pxref{Guile Preparations, how to install the GnuTLS bindings for
Guile,, gnutls-guile, GnuTLS-Guile});
@item @url{, GNU Make}.
@end itemize

The following dependencies are optional:

Installing @uref{, 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}.

@url{, Guile-JSON} will
@@ -2003,8 +1998,7 @@ or to client tools such as @command{guix package}
(@pxref{client-substitute-urls,, client @option{--substitute-urls}

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