From: Maxime Devos <maximedevos@telenet.be>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 56867@debbugs.gnu.org, guile-devel@gnu.org
Subject: [bug#56867] [PATCH] download: Do not wrap TLS port on GnuTLS >= 3.7.7.
Date: Thu, 4 Aug 2022 21:37:44 +0200 [thread overview]
Message-ID: <b20286a9-45a7-4e3a-87eb-696e87c671e0@telenet.be> (raw)
In-Reply-To: <87pmhjuld1.fsf@gnu.org>
[-- Attachment #1.1.1.1: Type: text/plain, Size: 1793 bytes --]
On 02-08-2022 09:59, Ludovic Courtès wrote:
>>> + (if (module-defined? (resolve-interface '(gnutls))
>>> + 'set-session-record-port-close!) ;GnuTLS >= 3.7.7
>> resolve-module (and presumably also sets #:ensure #t by default, which
>> sometimes causes 'module not found' messages to be replaced by
>> 'unbound variable', which I don't think is useful behaviour, can
>> #:ensure be set to #false?
> This is unnecessary: see the ‘load-gnutls’ mechanism there. The idiom
> above is already used in a couple of places.
I have looked at the 'load-gnutls' procedure, but I do not see how it
avoids the issue I mentioned (*).
I have also seen this idiom (resolve-interface and friends with #:ensure
#t) before, in other places, but that doesn't make the idiom correct --
in fact, _because_ I've seen the idiom elsewhere causing problems, I
recommend avoiding the same mistake here (and preferably also
eliminating it elsewhere).
More generally, the second sentence is a logical fallacy, a variant of
"ad populum" -- the prevalency of a mistake does not make it correct and
does not invalidate evidence of it being a mistake.
To be clear, I am not referring to the existence/absence of compilation
errors when compiling the Guix package without gnutls in the build
environment, but to the confusing _contents_ of the error message and
the odd semantics of #:ensure #t, and not only at compilation time but
also at runtime.
(*) The autoloading of gnutls in load-gnutls avoids compilation errors
when gnutls is absent, but by the way it does it, it causes the module
to be registered as 'it exists' even when it doesn't, so the information
in the module system of Guix becomes incorrect.
Greetings,
Maxime.
[-- Attachment #1.1.1.2: Type: text/html, Size: 2552 bytes --]
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 929 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
next prev parent reply other threads:[~2022-08-04 19:39 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-01 9:07 [bug#56867] [PATCH] download: Do not wrap TLS port on GnuTLS >= 3.7.7 Ludovic Courtès
2022-08-01 9:15 ` Ludovic Courtès
2022-08-01 9:56 ` Maxime Devos
2022-08-02 7:59 ` Ludovic Courtès
2022-08-04 19:37 ` Maxime Devos [this message]
2022-08-05 8:31 ` Ludovic Courtès
2022-08-05 10:17 ` Maxime Devos
2022-08-03 15:57 ` bug#56867: " Ludovic Courtès
2022-08-04 14:20 ` [bug#56867] " Ludovic Courtès
2022-08-04 14:46 ` bug#56005: " Thiago Jung Bauermann via Bug reports for GNU Guix
2022-08-04 16:19 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b20286a9-45a7-4e3a-87eb-696e87c671e0@telenet.be \
--to=maximedevos@telenet.be \
--cc=56867@debbugs.gnu.org \
--cc=guile-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.