From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id SE1kGnBo/2IOKgAAbAwnHQ (envelope-from ) for ; Fri, 19 Aug 2022 12:39:44 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 0HaQGXBo/2JX1QAAG6o9tA (envelope-from ) for ; Fri, 19 Aug 2022 12:39:44 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E93252983B for ; Fri, 19 Aug 2022 12:39:43 +0200 (CEST) Received: from localhost ([::1]:38694 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oOytx-0004Wp-LA for larch@yhetil.org; Fri, 19 Aug 2022 06:06:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42462) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOytI-0004TB-FX for guix-devel@gnu.org; Fri, 19 Aug 2022 06:06:12 -0400 Received: from albert.telenet-ops.be ([2a02:1800:110:4::f00:1a]:37476) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oOytF-0001LX-Kp for guix-devel@gnu.org; Fri, 19 Aug 2022 06:06:12 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by albert.telenet-ops.be with bizsmtp id 9N622800B20ykKC06N64GU; Fri, 19 Aug 2022 12:06:05 +0200 Message-ID: Date: Fri, 19 Aug 2022 12:06:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US To: =?UTF-8?Q?Aleix_Conchillo_Flaqu=c3=a9?= Cc: Guix-devel , guile-devel References: <33556713-c85b-ab0f-554e-94a40f9d418e@telenet.be> <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be> <2dea77ed-4f1b-b799-62d7-149072fd2103@telenet.be> From: Maxime Devos Subject: Re: (ice-9 base64)? In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------3ZhYbj4laAEt5dr3ZekObmDl" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660903565; bh=7WOIryTdTUbBTQaGgEFkldMuee7wXoQXG4pmk8sB4Do=; h=Date:To:Cc:References:From:Subject:In-Reply-To; b=AWfurrrXJkYrj6CY7WPhWNkE5kxH31BJ8DUdFFFynh35/rKh5X8MUwfAbIVxjo1rq KHMlGnZA04JRcetMojO+gJ8lpEGnracdhNTmBboP/slkIy2D2V4mN3imKHPqc+yfNM jYc04ONSnDGJ6IYGzVcy6ucmCb/7yhYois8TO9kfhpGtFaKHZ8y7KJ6JmYUqvjCWTJ WPDyqtHVNByULg86pvrLcVEqVdsOMzWZB3Q5TY/nazA1p537h8jomEE2C3ilZXRxWo FNfdKpNRzfzhCd4gWcRHWK0cUDHcKYrISI1JYK2MdKHI+QJN/hbEduoXqiyMSuusis WPfmPkw85POjA== Received-SPF: pass client-ip=2a02:1800:110:4::f00:1a; envelope-from=maximedevos@telenet.be; helo=albert.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1660905584; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=LT/xM/dtqLueuxs2ATAjFfwio43c5vwkMxxgq29Tf78=; b=d7TAXZHG33CPMdwlqpv/T4AKYKgPEzEjXrT4EBL3UmE7POtjEjMGtn2kQUbRS0uQMdP88g 7ckA1CqbSTAhS9mQdLLI2ZfQEWPSYOovE/J0m9o75uaTy5i/anQGPZfWS17jbfBuLxbPx6 Dr5Rrqp0EBXb/Nkydzxb3OdUgZ6JuWl8TuVA8Ouck3+2yJaZ0sG2bB4XJcfvR2mQXTvVGb 778VH8oPb4D5t6f+/n/to/XrpUWSyp3Oi1iZKSMh1V2XCOzn+Szw4DqHjkK6A9aBIh0pkA 0NuOWqiBPb2H7buH+ge4zF1n693t+R9td7CvoeaI7CS62+6OZBHtFxDCpBm+IA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660905584; a=rsa-sha256; cv=none; b=EzcbMkgvq/Jvpf+oaEpfS87zTp4TX5iO30DkAQ5OhSLrsFNkfVen6L3f6zhJbKHax2BbIJ aahKStRnGlVycE2qzKZ8xOVZHzSVYyNFgf5e9RMcHgQu/uzPHrBKCeTW2cc/GhTNqQ9Q0S wpv+144h0tN30IIKQVcECdkaY+YMLxmAKpILq1wx7EESxRVMamL9pwJosuVZcqVuX8GCzr b3mwX5BefepXBhRaNxj4YrywTMjq6oVQnn0S2bFOj5mcCeVxTtgsiX1nyHWR+EzkICFNgu vHOWJXpOxiZ3VQacDmZXEu+9pe7L4QA6ceClBnYEE+9+e4Ce9f0QGIZJNOLXsg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=AWfurrrX; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 4.85 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b=AWfurrrX; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: E93252983B X-Spam-Score: 4.85 X-Migadu-Scanner: scn0.migadu.com X-TUID: R9GVE6T1bQ1+ This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------3ZhYbj4laAEt5dr3ZekObmDl Content-Type: multipart/mixed; boundary="------------NBBvICyMSiT8p8XMLNPwhFJy"; protected-headers="v1" From: Maxime Devos To: =?UTF-8?Q?Aleix_Conchillo_Flaqu=c3=a9?= Cc: Guix-devel , guile-devel Message-ID: Subject: Re: (ice-9 base64)? References: <33556713-c85b-ab0f-554e-94a40f9d418e@telenet.be> <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be> <2dea77ed-4f1b-b799-62d7-149072fd2103@telenet.be> In-Reply-To: --------------NBBvICyMSiT8p8XMLNPwhFJy Content-Type: multipart/mixed; boundary="------------BW08JCQyfdaFB136Gy3miK3A" --------------BW08JCQyfdaFB136Gy3miK3A Content-Type: multipart/alternative; boundary="------------SXAr4fISkUxv7dsizkD4aCqI" --------------SXAr4fISkUxv7dsizkD4aCqI Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 T24gMTktMDgtMjAyMiAwMjoyMCwgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgd3JvdGU6DQoN Cj4gU28sIHdoYXQgZG8geW91IHRoaW5rIHdvdWxkIGJlIHRoZSB3YXkgdG8gcHJvY2VlZCBp biBvcmRlciB0byBpbmNsdWRlIA0KPiBhIGJhc2U2NCBpbXBsZW1lbnRhdGlvbiBpbiBHdWls ZSBpdHNlbGY/DQo+DQo+IEZvciBleGFtcGxlOg0KPg0KPiAxLiBBZGQgKGljZS05IGJhc2U2 NCkgKG9yIChlbmNvZGluZyBiYXNlNjQpKSB0byBHdWlsZSBhbmQgbGV0IG5ldyANCj4gcHJv amVjdHMgYW5kIGV4aXN0aW5nIHByb2plY3RzIHRvIHVwZGF0ZSB3aXRoIGNvbmRpdGlvbmFs IG1vZHVsZSANCj4gbG9hZGluZyB0byBzdXBwb3J0IG9sZCB2ZXJzaW9ucyBvZiBHdWlsZS4N Cj4gMi4gRG8gdW5idW5kbGluZyBpbiBHdWl4IHBhY2thZ2VzIGJvdGggZm9yIHByb2plY3Rz IHRoYXQgaGF2ZSBub3QgDQo+IHVwZGF0ZWQgdXBzdHJlYW0gYW5kIGZvciBwcm9qZWN0cyBp biAoMSkuIFRoZSB1bmJ1bmRsaW5nIHdvdWxkIGJlIGRvbmUgDQo+IGJ5IHBvaW50aW5nIHRv IEd1aXgncyAob3IgZ3VpbGUtZ2NyeXB0KSBiYXNlNjQgaW1wbGVtZW50YXRpb24sIG9yIGlz IA0KPiB0aGVyZSBhIHdheSB0aGV5IGNvdWxkIHBvaW50IHRvIEd1aWxlJ3MgaW1wbGVtZW50 YXRpb24/DQoNCklmIHRoZSBjYW5vbmljYWwgbG9jYXRpb24gb2YgYmFzZTY0IGJlY29tZXMg R3VpbGUgaXRzZWxmIGluc3RlYWQgb2YgDQpndWlsZS1nY3J5cHQsIHRoZW4gaXQgbmVlZHMg dG8gYmUgcG9pbnRlZCBhdCBHdWlsZSdzIGJhc2U2NC4gTGlrZXdpc2UsIA0KR3VpeCcgYmFz ZTY0IGltcGxlbWVudGF0aW9uIHdvdWxkIG5lZWQgdG8gYmUgcmVwbGFjZWQgYnkgR3VpbGUn cywgd2l0aCBhIA0KZmFsbGJhY2suDQoNCkkgZG9uJ3Qgc2VlIHdoeSB3ZSB3b3VsZCBwb2lu dCB0byBHdWl4JyBpbXBsZW1lbnRhdGlvbiwgaXQncyBtaXNzaW5nIA0Kc29tZSBidWcgZml4 ZXMuDQoNCj4NCj4gRG9lcyB0aGF0IG1ha2Ugc2Vuc2Ugb3IgYW0gSSBzdGlsbCBtaXNzaW5n IHNvbWV0aGluZyAoSSdtIGFib3V0IHRvIA0KPiBjYXRjaCBhIGNvbGQgc28gbXkgYnJhaW4g aXMgbm90IHdvcmtpbmcgcXVpdGUgd2VsbCB0aGlzIHdlZWspPyANCj4gT3JpZ2luYWxseSwg SSB3YXMgdGhpbmtpbmcgb25seSBpbiAoMSkuDQoNCkV4Y2VwdCBmb3IgdGhlIHJlbWFyayBh Ym91dCAoMSksIEkgdGhpbmsgc28uwqAgSSB0aGluayB0aGUgZm9sbG93aW5nIGxpc3QgDQpp cyBhIGJpdCBtb3JlIGNsZWFyIHRob3VnaDoNCg0KIDEuIEFkZCAoaWNlLTkgYmFzZTY0KSB0 byBHdWlsZSAob3IgYW5vdGhlciBuYW1lIChlbmNvZGluZyBiYXNlNjQpKS4NCiAyLiBJbmZv cm0gYSBmZXcgdXBzdHJlYW1zIHRoYXQgdXNlZCB0byBpbmNsdWRlIGEgY29weSBvZiBiYXNl NjQgdGhhdCBpdA0KICAgIGlzIG5vdyBwYXJ0IG9mIEd1aWxlIGl0c2VsZiAtLSB0aG9zZSB1 cHN0cmVhbXMgY2FuIHRoZW4gcmVtb3ZlIHRoZWlyDQogICAgbG9jYWwgY29weSBhbmQgdXNl IEd1aWxlJ3MgYmFzZTY0LCBhbmQgZG8gY29uZGl0aW9uYWwgbW9kdWxlIGxvYWRpbmcNCiAg ICBpZiB0aGV5IGNhbm5vdCBpbmNyZWFzZSB0aGVpciBtaW5pbWFsIEd1aWxlIHZlcnNpb24g eWV0Lg0KIDMuIEluIEd1aXgsIHdlIHdpbGwgaGF2ZSB0byB1cGRhdGUgR3VpbGUgdG8gYSBu ZXcgdmVyc2lvbiB0aGF0IGhhcyB0aGUNCiAgICBiYXNlNjQgbW9kdWxlIGFuZCByZW1vdmUg dGhlIGxvY2FsIGZhbGxiYWNrIGNvcGllcy7CoCBBbmQgaWYgdXBzdHJlYW0NCiAgICByZWZ1 c2VzIHBhdGNoZXMgdG8gdXNlIEd1aWxlJ3MgYmFzZTY0IChtYXliZSB3aXRoIGEgZmFsbGJh Y2spLCB0aGVuDQogICAgaXQgd2lsbCBuZWVkIHRvIGJlIHBhdGNoZWQgbG9jYWxseSBpbiBH dWl4Lg0KDQpPbiAoMik6IEkgZG9uJ3QgdGhpbmsgaXQncyBuZWNlc3NhcnkgdG8gY29udGFj dCBfYWxsXyB0aGUgdXBzdHJlYW1zLCANCnRob3VnaCB0byBnaXZlIGEgZ29vZCBleGFtcGxl IGl0IHdvdWxkIGJlIG5pY2UgdG8gY29udGFjdCBzb21lIG9mIHRoZW0uDQoNCigzKSBpcyBh IEd1aXggY29uY2Vybiwgbm90IHJlYWxseSBhIEd1aWxlIGNvbmNlcm4uDQoNCkdyZWV0aW5n cywNCk1heGltZS4NCg0K --------------SXAr4fISkUxv7dsizkD4aCqI Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

On 19-08-2022 02:20, Aleix Conchillo Flaqu=C3=A9 wrote:

So, what do yo= u 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?

If the canonical location of base64 becomes Guile itself instead of guile-gcrypt, then it needs to be pointed at Guile's base64. Likewise, Guix' base64 implementation would need to be replaced by Guile's, with a fallback.

I don't see why we would point to Guix' implementation, it's missing some bug fixes.


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

Except for the remark about (1), I think so.=C2=A0 I think the following list is a bit more clear though:

  1. Add (ice-9 base64) to Guile (or another name (encoding base64)).
  2. Inform a few upstreams that used to include a copy of base64 that it is now part of Guile itself -- those upstreams can then remove their local copy and use Guile's base64, and do conditional module loading if they cannot increase their minimal Guile version yet.
  3. In Guix, we will have to update Guile to a new version that has the base64 module and remove the local fallback copies.=C2=A0= And if upstream refuses patches to use Guile's base64 (maybe with a fallback), then it will need to be patched locally in Guix.

On (2): I don't think it's necessary to contact _all_ the upstreams, though to give a good example it would be nice to contact some of them.

(3) is a Guix concern, not really a Guile concern.

Greetings,
Maxime.

--------------SXAr4fISkUxv7dsizkD4aCqI-- --------------BW08JCQyfdaFB136Gy3miK3A Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------BW08JCQyfdaFB136Gy3miK3A-- --------------NBBvICyMSiT8p8XMLNPwhFJy-- --------------3ZhYbj4laAEt5dr3ZekObmDl Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYv9giQUDAAAAAAAKCRBJ4+4iGRcl7pdJ AQCCMxkYzmfBN4Yu55np2iahs34HyXIWpmy+lSvRMaeMNQD/Qt8Dvhyk7yW1X0HMOkl5KG/oK6K6 KAxne2/8klUH4QY= =7guO -----END PGP SIGNATURE----- --------------3ZhYbj4laAEt5dr3ZekObmDl--