|
From: | Maxime Devos |
Subject: | Re: (ice-9 base64)? |
Date: | Thu, 18 Aug 2022 09:56:15 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 |
Then, if I understood correctly, IMO I would say Guile should not really care about Guix's bundling/unbundling. That is, adding (ice-9 base64) (or however we want to call it... maybe (encoding base64) following Golang and Guile's (web ....) module) should be totally independent of Guix. So, if we add (ice-9 base64) to Guile then Guix should figure out what to do with it, but it's Guix's concern not Guile's.
It's not some Guix-specific quirk. It's the same for at least
Debian. It benefits not only Guix itself but all users of the
software:
[...] allows [...] to make transverse changes... that was written with Guix in mind, but it applies to every distribution and everyone.
such as applying security updates for a given software package in a
single place and have them affect the whole system—something that
bundled copies prevent.
Besides, your goal appears to be to unbundle the base64 into a
single location (as a module of Guile), if we do that I think we
should go all the way -- just adding it to Guile increases
bundling instead of decreasing bundling, only if the various
upstreams are modified to unbundle and use the new location then
the unbundling is completed.
I don't see why, there's nothing to write about except "oops some packages are bundling base64, let's unbundle those", and for unbundling those, it seems more practical to write about that here on guile-devel. Also I noticed I sent some messages to guix-devel instead of guile-devel, correcting now.About Guix's unbundling (maybe that's something that should go on Guix's mailing list),
Currently, it's not done yet, presumably for that reason and maybe also due to nobody having noticed it yet?I don't think currently there's any unbundling for base64 modules or at least not in a package I maintain guile-jwt (guile-jwt bundles base64). And probably there's no unbundling because there's no canonical implementation? Even if there was a canonical implementation, how would that look like in Guix's guile-jwt package? What would the snippet actually do?
How it would look like, for upstreams that refuse to unbundle or
are unresponsive:
#~(begin
(delete-file "local/copy/of/base64.scm")
[also remove it from the Makefile.am]
(substitute* (find-files "." "\\.scm$")
(("(\\local base64 module\\)") "(gcrypt base64)")))
For responsive upstreams that do not mind these kind of improvements, there is a preference for submitting a patch upstream -- that way, everyone benefits, not only Guix.
Greetings,
Maxime.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |