Subject: bug#38171: guix lynx can not connect, ArchLinux lynx can, why?

From: [email-masked] (Clément Lassieur)
Date: Tue, 12 Nov 2019 01:05:41 +0100

Hi Bengt,

Thank you for the report!

It seems to be a GnuTLS issue with TLS 1.3 hosts[1].  There is patch
upstream but it hasn't landed in a release yet, so I think it's safer to
switch to OpenSSL.  What do you think?  I attached a patch doing just
that.

Cheers,
Clément

[1]: https://lists.gnu.org/archive/html/lynx-dev/2018-12/msg00009.html

>From 83523b25d10f5fc42473dbfb93e5ee3c29e23b88 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= <[email-masked]>
Date: Tue, 12 Nov 2019 00:38:30 +0100
Subject: [PATCH] gnu: lynx: Fix errors with TLS 1.3 hosts.

Fixes <https://bugs.gnu.org/38171>.
Reported by Bengt Richter <[email-masked]>.

See <https://lists.gnu.org/archive/html/lynx-dev/2018-12/msg00009.html>.

* gnu/packages/web-browsers.scm (lynx)[inputs, arguments]: Replace GnuTLS with
OpenSSL.
---
 gnu/packages/web-browsers.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 1b41aec874..24531623c6 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -8,6 +8,7 @@
 ;;; Copyright © 2018 Rutger Helling <[email-masked]>
 ;;; Copyright © 2018 Timo Eisenmann <[email-masked]>
 ;;; Copyright © 2018 Pierre Neidhardt <[email-masked]>
+;;; Copyright © 2019 Clément Lassieur <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -222,7 +223,7 @@ and the GTK+ toolkit.")
                      ("perl" ,perl)))
     (inputs `(("ncurses" ,ncurses)
               ("libidn" ,libidn)
-              ("gnutls" ,gnutls)
+              ("openssl" ,openssl)
               ("libgcrypt" ,libgcrypt)
               ("unzip" ,unzip)
               ("zlib" ,zlib)
@@ -230,12 +231,12 @@ and the GTK+ toolkit.")
               ("bzip2" ,bzip2)))
     (arguments
      `(#:configure-flags
-       (let ((gnutls (assoc-ref %build-inputs "gnutls")))
+       (let ((openssl (assoc-ref %build-inputs "openssl")))
          `("--with-pkg-config"
            "--with-screen=ncurses"
            "--with-zlib"
            "--with-bzlib"
-           ,(string-append "--with-gnutls=" gnutls)
+           ,(string-append "--with-ssl=" openssl)
            ;; "--with-socks5"    ; XXX TODO
            "--enable-widec"
            "--enable-ascii-ctypes"
-- 
2.23.0