unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: "Aleix Conchillo Flaqué" <aconchillo@gmail.com>
To: Maxime Devos <maximedevos@telenet.be>
Cc: Guix-devel <guix-devel@gnu.org>, guile-devel <guile-devel@gnu.org>
Subject: Re: (ice-9 base64)?
Date: Thu, 18 Aug 2022 17:20:14 -0700	[thread overview]
Message-ID: <CA+XASoU93LKF5jdaDfumV_R9f5Gof3_rwEFuLTKUn6dmsfjfVA@mail.gmail.com> (raw)
In-Reply-To: <2dea77ed-4f1b-b799-62d7-149072fd2103@telenet.be>

[-- Attachment #1: Type: text/plain, Size: 3973 bytes --]

On Thu, Aug 18, 2022 at 12:56 AM Maxime Devos <maximedevos@telenet.be>
wrote:

> 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:
>
Thanks, I understand the benefit now.

> [...] allows [...] to make transverse changes
> 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.
>
> ... that was written with Guix in mind, but it applies to every
> distribution and everyone.
>
> 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 see... In my mind, initially, I was thinking the opposite. By adding it
to Guile, new projects will use the new base64 module and existing projects
will update whenever they want.

On 18-08-2022 02:09, Aleix Conchillo Flaqué wrote:
>
> About Guix's unbundling (maybe that's something that should go on Guix's
> mailing list),
>
> 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.
>
> 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?
>
> Currently, it's not done yet, presumably for that reason and maybe also
> due to nobody having noticed it yet?
>
> 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)")))
>
OK, I was imagining something like that. In this case do we assume (gcrypt
base64) is installed? Because some projects don't have a dependency on
guile-gcrypt.

> 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.
>
So, what do you think would be the way to proceed in order to include a
base64 implementation in Guile itself?

For example:

1. Add (ice-9 base64) (or (encoding base64)) to Guile and let new projects
and existing projects to update with conditional module loading to support
old versions of Guile.
2. Do unbundling in Guix packages both for projects that have not updated
upstream and for projects in (1). The unbundling would be done by pointing
to Guix's (or guile-gcrypt) base64 implementation, or is there a way they
could point to Guile's implementation?

Does that make sense or am I still missing something (I'm about to catch a
cold so my brain is not working quite well this week)? Originally, I was
thinking only in (1).

Thanks!

Aleix

[-- Attachment #2: Type: text/html, Size: 7443 bytes --]

  reply	other threads:[~2022-08-19  0:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-16 16:10 (ice-9 base64)? Aleix Conchillo Flaqué
2022-08-16 16:16 ` [EXT] " Thompson, David
2022-08-16 16:58 ` Maxime Devos
2022-08-16 17:21   ` Aleix Conchillo Flaqué
     [not found]     ` <df5ce89f-a7a2-7337-8dc7-67372cb1c48c@telenet.be>
     [not found]       ` <CA+XASoWyG7xDNcRyX46RERoORB=a=hckh5uU3MQvJ-z8ou-9Fg@mail.gmail.com>
     [not found]         ` <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be>
     [not found]           ` <CA+XASoXPLroB1LLb6yi4w0nAd20xHGC0HBEJtjUYzuFP7XCAWw@mail.gmail.com>
2022-08-18  7:56             ` Maxime Devos
2022-08-19  0:20               ` Aleix Conchillo Flaqué [this message]
2022-08-19 10:06                 ` Maxime Devos

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

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+XASoU93LKF5jdaDfumV_R9f5Gof3_rwEFuLTKUn6dmsfjfVA@mail.gmail.com \
    --to=aconchillo@gmail.com \
    --cc=guile-devel@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=maximedevos@telenet.be \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).