From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id UG0AM8tJ/WKTJAEAbAwnHQ (envelope-from ) for ; Wed, 17 Aug 2022 22:04:27 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id uKTtMstJ/WKgLAEA9RJhRA (envelope-from ) for ; Wed, 17 Aug 2022 22:04:27 +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 612FDA2BD for ; Wed, 17 Aug 2022 22:04:27 +0200 (CEST) Received: from localhost ([::1]:36556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oOOeD-0007DI-8T for larch@yhetil.org; Wed, 17 Aug 2022 15:24:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48064) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oOOdy-0007D9-Kd for guix-devel@gnu.org; Wed, 17 Aug 2022 15:23:58 -0400 Received: from laurent.telenet-ops.be ([2a02:1800:110:4::f00:19]:49724) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oOOdv-0005g3-GW for guix-devel@gnu.org; Wed, 17 Aug 2022 15:23:58 -0400 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by laurent.telenet-ops.be with bizsmtp id 8jPo2800d20ykKC01jPpiR; Wed, 17 Aug 2022 21:23:49 +0200 Message-ID: <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be> Date: Wed, 17 Aug 2022 21:23:48 +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?= , Guix-devel References: <33556713-c85b-ab0f-554e-94a40f9d418e@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="------------X3nczsW0sOSUjjfL4yrb0FIX" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1660764229; bh=P2IHYaHhMf+Vvx1BsrcDFyHpCmg5rgxaEji5oPRjuBM=; h=Date:To:References:From:Subject:In-Reply-To; b=lLX/XMH0yZJxj9XJRO7AcfEVowNIKDvsalhFWIleBPWHy70o0dYdHJTO43k4AayCR j4siOQ8QdJXdM5sMYhN+rfMPviF5dp1w6ILhfIwiL7H2OJmjKOzsFeYqxST3AD4X9P WeQcKTnybUErhGA9mE8V+YIw+CjjoIFLFyOTL8+EbJNLoxBiv4bKBlsZG610Bd5B65 FosWEYsQzZw3GBL4beYn46i7vheoamFMp2gBE39kOy+zsN8yYR+ugFSCF/CzDmR/u4 XLtlqQApifTu39IWJejkQ0s6G99ZC0zQ/vQej9NJt3zpUF3e7BU71n1DKEXPzIYQX5 a27PiBvSfvIwA== Received-SPF: pass client-ip=2a02:1800:110:4::f00:19; envelope-from=maximedevos@telenet.be; helo=laurent.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=1660766667; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=wgy1Zp6Yvuofx54hOWLL5ZhFQ3vYPHfiIfB5+OCLQSs=; b=d9LgRXhQpkmYjsFSWtnzCoJjycbPIE9zicZ+XgUJ6E9Lisl1bd9BtvAItewskaSaMP05bq vJ7DrV1Vj2IK0V0rXNAVQPMAtheB/GHrvmrOlnKF5mntEAY7s/Egp4xeqldMABqsHzvqjE gfUX9biuCVmCaSR4Rf1/1VrgMdwnuWZr4M2LjqrITqpiD0BeoD0cHfoi9oLOQH6RU0Yryy OR58IbvukTDtyxtq8tGtpqkr/5Fu8nKENkpoVw6SOBEsdopTXbnHFy2GQjek6ktu/hKjeY LU1PSbuP223X/jZENLEDS0CDnweoI1pXa54SwCkR+fyZajRF6jzzZiblayY23w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1660766667; a=rsa-sha256; cv=none; b=jppM9d4h3/aXrnQagYyr0y/u9Pybg9Oo1Fu6tNTOcZTiwiOrWj9l2/9rzHN1Za71hotrO9 fkyOncVrbF9BxIZK0Lpq4vrH3xZWQt8epN+xh432Sbj+nVNiTPsf4tKOJ+vDigFebwIvI7 cdWZsSQK7wLsuVNzJHcCoYjoTW6hoVGXQ0IA6V8/3eK/s4PyBWJOpSYhZi9WntZidEqvDP XfUihFpA0ZFwK/WFbzMKgHhVwDQg76rNaCE0L2mfHRh8qHSOn6i3WgH3KZwYmV+PK9Xxpe h/hVovQoqcxvOpNTDF4wy8vAaDSwEQXsGUfyECVUTp6tJhiEeYFh393lw6YYLw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b="lLX/XMH0"; 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: 6.14 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=telenet.be header.s=r22 header.b="lLX/XMH0"; 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: 612FDA2BD X-Spam-Score: 6.14 X-Migadu-Scanner: scn0.migadu.com X-TUID: rfOyL1nmR8s2 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------X3nczsW0sOSUjjfL4yrb0FIX Content-Type: multipart/mixed; boundary="------------fy0MS5rCab1V3MFC2Ekpt0C5"; protected-headers="v1" From: Maxime Devos To: =?UTF-8?Q?Aleix_Conchillo_Flaqu=c3=a9?= , Guix-devel Message-ID: <5331d2f3-13a5-e40c-f3bb-398438a0b103@telenet.be> Subject: Re: (ice-9 base64)? References: <33556713-c85b-ab0f-554e-94a40f9d418e@telenet.be> In-Reply-To: --------------fy0MS5rCab1V3MFC2Ekpt0C5 Content-Type: multipart/mixed; boundary="------------gmR2Iv7eL075pWJJ07pqpwuB" --------------gmR2Iv7eL075pWJJ07pqpwuB Content-Type: multipart/alternative; boundary="------------eOuVFyWGfd66L3x4TbZ0L0UZ" --------------eOuVFyWGfd66L3x4TbZ0L0UZ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQpPbiAxNy0wOC0yMDIyIDE4OjIyLCBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSB3cm90ZToN Cj4gSGkgTWF4aW1lIQ0KPg0KPiBPbiBUdWUsIEF1ZyAxNiwgMjAyMiBhdCAxMjowNCBQTSBN YXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+IA0KPiB3cm90ZToNCj4NCj4N Cj4gICAgIE9uIDE2LTA4LTIwMjIgMTk6MjEsIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIHdy b3RlOg0KPj4NCj4+DQo+PiAgICAgT24gVHVlLCBBdWcgMTYsIDIwMjIgYXQgOTo1OSBBTSBN YXhpbWUgRGV2b3MNCj4+ICAgICA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT4gd3JvdGU6DQo+ Pg0KPj4NCj4+ICAgICAgICAgT24gMTYtMDgtMjAyMiAxODoxMCwgQWxlaXggQ29uY2hpbGxv IEZsYXF1w6kgd3JvdGU6DQo+Pj4gICAgICAgICBIaSwNCj4+Pg0KPj4+ICAgICAgICAgSW4g bWFueSBwcm9qZWN0cyBJJ3ZlIGJlZW4gY29weWluZyBHw7ZyYW4gV2VpbmhvbHQncyBiYXNl NjQNCj4+PiAgICAgICAgIGltcGxlbWVudGF0aW9uIGFuZCBJJ3ZlIGFsc28gc2VlbiBpdCBp biBvdGhlciBwcm9qZWN0cywNCj4+PiAgICAgICAgIHdvdWxkIGl0IG1ha2Ugc2Vuc2UgdG8g aW5jbHVkZSBpdCBpbiBHdWlsZSdzIHN0YW5kYXJkDQo+Pj4gICAgICAgICBsaWJyYXJ5PyBb Li4uXQ0KPj4NCj4+ICAgICAgICAgSWYgd2UgZG8gdGhpcywgd2Ugc2hvdWxkIGNvbnRhY3Qg dGhlIHZhcmlvdXMgb3RoZXIgcHJvamVjdHMNCj4+ICAgICAgICAgdG8gbWFrZSB0aGVtIHVz ZSAoaWNlLTkgYmFzZTY0KS4NCj4+DQo+Pg0KPj4gICAgIEkgdGhpbmsgdGhleSBjb3VsZCBz d2l0Y2ggd2hlbmV2ZXIgdGhleSB3YW50IChpLmUuIHdoZW5ldmVyIHRoaXMNCj4+ICAgICB3 YXMgYWRkZWQgdG8gR3VpbGUpIG9yIGV2ZW4gbm90IHN3aXRjaCBhdCBhbGwuDQo+DQo+ICAg ICBTdXJlLCBidXQgdGhleSBjYW4ndCBzd2l0Y2ggaWYgdGhleSBkb24ndCBrbm93IGFib3V0 IGl0LiBBbmQgaWYNCj4gICAgIHRoZXkgZG9uJ3Qga25vdyBhYm91dCBpdCBhbmQgaGVuY2Ug ZG9uJ3Qgc3dpdGNoLCB0aGUgcHJvcG9zYWwNCj4gICAgIGZhaWxzIGF0IGl0cyBwdXJwb3Nl IG9mIHVuYnVuZGxpbmcgYmFzZTY0LiBCZXNpZGVzLCB3ZSBuZWVkIHRoZW0NCj4gICAgIHRv IHN3aXRjaCAoc2VlIEd1aXggbm8tYnVuZGxpbmcgcG9saWN5IGFuZCB0aGUgcmVhc29ucyBi ZWhpbmQgaXQpDQo+ICAgICAtLSBpZiB1cHN0cmVhbSByZWZ1c2VzIHRvIHVuYnVuZGxlLCB0 aGVuIGluIG91ciBsb2NhbGx5IG1vZGlmaWVkDQo+ICAgICB2ZXJzaW9uIGZvciBHdWl4Lg0K Pg0KPg0KPiBGb3JnaXZlIG15IGlnbm9yYW5jZSwgYnV0IHdoYXQgZG8geW91IG1lYW4gYnkg dW5idW5kbGluZz8gSSdtIG5vdCANCj4gZmFtaWxpYXIgd2l0aCBHdWl4IGF0IGFsbCwgd2Vs bCwganVzdCBjb25jZXB0dWFsbHkgYW5kIGZvciB0cnlpbmcgYSANCj4gZmV3IGNvbW1hbmRz IHllYXJzIGFnby4NCg0KU29tZXRpbWVzIHRoZSBzb3VyY2UgY29kZSBvZiBhIHBhY2thZ2Ug Y29udGFpbnMgYSBjb3B5IG9mIGEgZGVwZW5kZW5jeS4gDQpUaGlzIGlzIGNhbGxlZCAnYnVu ZGxpbmcnLiAnVW5idW5kbGluZycgaXMgdGhlIGFjdCBvZiB1bmRvaW5nIHRoZSANCididW5k bGluZycsIHRoaXMgaXMgb2Z0ZW4gZG9uZSBieSBjbGVhbmluZyB1cCB0aGUgc291cmNlIGNv ZGUgKHdpdGggd2hhdCANCndlIGNhbGwgYSAnc25pcHBldCcgaW4gR3VpeDogKHNuaXBwZXQg I34oZGVsZXRlLWZpbGUtcmVjdXJzaXZlbHkgDQoiZ29vZ2xldGVzdCIpKSkgYW5kIHNldHRp bmcgc29tZSBjb25maWd1cmF0aW9uIGZsYWdzIA0KKCItRFVTRV9TWVNURU1fR09PR0xFVEVT VD15ZXMiIG9yIHN1Y2gpLg0KDQpGb3IgZXhhbXBsZSwgaW4gR3VpeCB3ZSBvY2Nhc2lvbmFs bHkgZW5jb3VudGVyIGEgYnVuZGxlZCAiZ29vZ2xldGVzdCIgKGEgDQp0ZXN0IGZyYW1ld29y aykuDQoNCkluIHRoaXMgY2FzZSwgd2UgYXJlIGtpbmQgb2YgKHVuKWJ1bmRsaW5nIHRoZSBi YXNlNjQgbW9kdWxlLCB0aG91Z2ggaXQncyANCm5vdCBfZXhhY3RseV8gKHVuKWJ1bmRsaW5n IGJlY2F1c2UsIEFGQUlLLCB0aGVyZSBpcyBjYW5vbmljYWwgdXBzdHJlYW0gDQpsb2NhdGlv biBmb3IgdGhlIGJhc2U2NCBtb2R1bGUgdG8gcmVwbGFjZSB0aGluZ3Mgd2l0aC4gU3RpbGwg c2VlbXMgDQpwcmV0dHkgY2xvc2UgdG8gbWUuDQoNClVwc2lkZXMgb2YgdW5idW5kbGluZywg YXMgbWVudGlvbmVkIGluICcoZ3VpeClTdWJtaXR0aW5nIFBhdGNoZXMnOg0KDQo+IMKgwqDC oMKgIFNvbWV0aW1lcywgcGFja2FnZXMgaW5jbHVkZSBjb3BpZXMgb2YgdGhlIHNvdXJjZSBj b2RlIG9mIHRoZWlyDQo+IMKgwqDCoMKgIGRlcGVuZGVuY2llcyBhcyBhIGNvbnZlbmllbmNl IGZvciB1c2Vycy7CoCBIb3dldmVyLCBhcyBhDQo+IMKgwqDCoMKgIGRpc3RyaWJ1dGlvbiwg d2Ugd2FudCB0byBtYWtlIHN1cmUgdGhhdCBzdWNoIHBhY2thZ2VzIGVuZCB1cCB1c2luZw0K PiDCoMKgwqDCoCB0aGUgY29weSB3ZSBhbHJlYWR5IGhhdmUgaW4gdGhlIGRpc3RyaWJ1dGlv biwgaWYgdGhlcmUgaXMgb25lLg0KPiDCoMKgwqDCoCBUaGlzIGltcHJvdmVzIHJlc291cmNl IHVzYWdlICh0aGUgZGVwZW5kZW5jeSBpcyBidWlsdCBhbmQgc3RvcmVkDQo+IMKgwqDCoMKg IG9ubHkgb25jZSksIGFuZCBhbGxvd3MgdGhlIGRpc3RyaWJ1dGlvbiB0byBtYWtlIHRyYW5z dmVyc2UgY2hhbmdlcw0KPiDCoMKgwqDCoCBzdWNoIGFzIGFwcGx5aW5nIHNlY3VyaXR5IHVw ZGF0ZXMgZm9yIGEgZ2l2ZW4gc29mdHdhcmUgcGFja2FnZSBpbiBhDQo+IMKgwqDCoMKgIHNp bmdsZSBwbGFjZSBhbmQgaGF2ZSB0aGVtIGFmZmVjdCB0aGUgd2hvbGUgc3lzdGVt4oCUc29t ZXRoaW5nIHRoYXQNCj4gwqDCoMKgwqAgYnVuZGxlZCBjb3BpZXMgcHJldmVudC4NCkFub3Ro ZXIgYmVuZWZpdDogcmV2aWV3aW5nIGZvciBhYnNlbmNlIG9mIG1hbHdhcmUgaXMgbGVzcyB3 b3JrIHdoZW4gDQp0aGVyZSdzIG9ubHkgYSBzaW5nbGUgY29weSB0byByZXZpZXcsIHRob3Vn aCBJIHN1cHBvc2UgdGhhdCBpbiB0aGlzIGNhc2UgDQp0aGUgbW9kdWxlIGlzIHNvIHNtYWxs IHRoZSByZXZpZXdpbmcgYmVuZWZpdCBpcyBtaW5pbWFsLg0KDQo+PiAgICAgICAgIFdoZXRo ZXIgd2Ugc2ltcGx5IHJlcGxhY2UgKGd1aXggYmFzZTY0KSBieSAoZ2NyeXB0IGJhc2U2NCkN Cj4+ICAgICAgICAgZGVwZW5kcyBvbiBob3cgb2xkIChnY3J5cHQgYmFzZTY0KSBpcyBjb21w YXJlZCB0byB0aGUNCj4+ICAgICAgICAgZWFybGllc3QgJ3N1cHBvcnRlZCcgR3VpeCBmb3Ig cHVsbC90aW1lLXRyYXZlbCwgYnV0IGV2ZW4gaWYNCj4+ICAgICAgICAgaXQgaXMgbm90IHBy ZXNlbnQgaW4gdGhlIG9sZCBnY3J5cHQsIHdlIGNhbiB3b3JrLWFyb3VuZCB0aGF0DQo+PiAg ICAgICAgICh3ZSBoYXZlIGEgJ2Zha2UtZ2NyeXB0LWhhc2gnIGluIGJ1aWxkLWF1eC9idWls ZC1zZWxmLnNjbSwgc28NCj4+ICAgICAgICAgd2UgY2FuIGVhc2lseSBoYXZlIGEgKGRlZmlu ZSBnY3J5cHQtYmFzZTY0IFtzb21lIGNvcHldKSkuIE9yDQo+PiAgICAgICAgIHNpbXBseSB1 cGRhdGUgdGhlIGxvY2FsIGd1aWxlLWdjcnlwdCBpbiBidWlkLWF1eC9idWlsZC1zZWxmLnNj bS4NCj4+DQo+PiAgICAgZ3VpbGUtZ2NyeXB0IGJhc2U2NCBpcyBwcmV0dHkgbmV3IHdpdGgg dGhlIHBhdGNoIGFib3ZlIChidXQgbm8NCj4+ICAgICByZWxlYXNlIGFmdGVyIHRoYXQpLCBJ IGhhdmUgbm8gaWRlYSBpZiBHdWl4IGhhcyBhZGRlZCBhbnl0aGluZyBlbHNlLg0KPg0KPiAg ICAgYmFzZTY0IGlzIGF2YWlsYWJsZSBpbiBhdCBsZWFzdCAwLjMuMCwgd2hpY2ggaXMgcGFj a2FnZWQgaW4gRGViaWFuDQo+ICAgICBidWxsc2V5ZSAod2hpY2ggaXMgY29uc2lkZXJlZCAi c3RhYmxlIiksIHNvIG5vdCB0b28gbmV3LCB0aG91Z2ggd2UNCj4gICAgIG1pZ2h0IG5lZWQg dG8gY2hhbmdlIGJ1aWxkLWF1eC9idWlsZC1zZWxmLnNjbSBpZiAwLjEuMCBkb2Vzbid0DQo+ ICAgICBoYXZlIGJhc2U2NC7CoCBHdWl4IGFwcGVhcnMgdG8gaGF2ZSB0aGUgcHJlLXF1b3Rl ZC1wYXRjaCB2ZXJzaW9uLA0KPiAgICAgd2l0aG91dCBjaGFuZ2VzIG9mIGl0cyBvd24gZXhj ZXB0IGZvciBhIGRpZmZlcmVudCBtb2R1bGUgbmFtZS4NCj4NCj4NCj4gT25lIG1vcmUgdGlt ZSwgZm9yZ2l2ZSBtZSwgYnV0IHdoYXQgaXMgYnVpbGQtYXV4L2J1aWxkLXNlbGYuc2NtPw0K SXQncyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgb2YgR3VpeCwgaXQncyBhIGZpbGUgKGZy b20gdGhlIG5ldyANCnZlcnNpb24sIG5vdCB0aGUgb2xkKSB0aGF0IGlzIGxvYWRlZCBieSAi Z3VpeCBwdWxsIiBpbiB0aGUgb2xkIEd1aXggdG8gDQpjb21waWxlIHRoZSBuZXcgdmVyc2lv biBvZiBHdWl4Lg0KPg0KPj4gICAgICAgICBPVE9IIGEgc2ltaWxhciByZXBsYWNlbWVudCBj YW4gYmUgZG9uZSBmb3IgKGljZS05IGJhc2U2NCksDQo+PiAgICAgICAgIGJ1dCB0cmFuc2l0 aW9uaW5nIHRvIChpY2UtOSBiYXNlNjQpIHdvdWxkIHRha2UgbXVjaCBsb25nZXIsDQo+PiAg ICAgICAgIGF0IGxlYXN0IHVudGlsIHRoZSB2YXJpb3VzIGRpc3RyaWJ1dGlvbnMgYXJlIHVw ZGF0ZWQgdG8gYQ0KPj4gICAgICAgICBHdWlsZSB0aGF0IGhhcyAoaWNlLTkgYmFzZTY0KSwg d2hlcmVhcyAoZ2NyeXB0IGJhc2U2NCkgY291bGQNCj4+ICAgICAgICAgYmUgc3dpdGNoZWQg dG8gaW1tZWRpYXRlbHkuDQo+Pg0KPj4gICAgIE1heWJlIHRoaXMgY291bGQgYmUgaGFuZGxl ZCBieSBlYWNoIHByb2plY3QgaW5kZXBlbmRlbnRseS4NCj4NCj4gICAgIFRoZXkgd291bGRu J3QgaGF2ZSB0byBpZiB0aGUgYmFzZTY0IG1vZHVsZSBpcyBwdXQgaW4gKGd1aWxlIGdjcnlw dCkuDQo+DQo+DQo+IEFuZCB0aGUgbGFzdCBmb3JnaXZlbmVzcy4uLiAoZ3VpbGUgZ2NyeXB0 KT8NCg0KT29wcywgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIGd1aWxlLWdjcnlwdCAtLSBpdCdz IGEgR3VpbGUgcGFja2FnZSAtLSANCiJndWl4IHNob3cgZ3VpbGUtZ2NyeXB0IiAvIDxodHRw czovL25vdGFidWcub3JnL2N3ZWJiZXIvZ3VpbGUtZ2NyeXB0Pi4NCg0KR3JlZXRpbmdzLA0K TWF4aW1lLg0KDQo= --------------eOuVFyWGfd66L3x4TbZ0L0UZ Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable


On 17-08-2022 18:22, Aleix Conchillo Flaqu=C3=A9 wrote:
Hi Maxime!

On Tue, Aug 16, 2022 at 12:04 PM Maxime Devos <ma= ximedevos@telenet.be> wrote:


On 16-08-2022 19:21, Aleix Conchillo Flaqu=C3=A9 wrote= :


On Tue, Aug 16,= 2022 at 9:59 AM Maxime Devos <maximedevos@telen= et.be> wrote:


On 16-08-2022 18:10, Aleix Conchillo Flaqu=C3= =A9 wrote:
Hi,

In many projects I've been copying G=C3=B6ran Weinholt's base64 implementation and I've also seen it in other projects, would it make sense to include it in Guile's standard library? [...]

If we do this, we should contact the various other projects to make them use (ice-9 base64).

=
= I think they could switch whenever they want (i.e. whenever this was added to Guile) or even not switch at all.

Sure, but they can't switch if they don't know about it. And if they don't know about it and hence don't switch, the proposal fails at its purpose of unbundling base64. Besides, we need them to switch (see Guix no-bundling policy and the reasons behind it) -- if upstream refuses to unbundle, then in our locally modified version for Guix.


Forgive my ignorance, but what do you mean by unbundling? I'm not familiar with Guix at all, well, just conceptually and for trying a few commands years ago.

Sometimes the source code of a package contains a copy of a dependency. This is called 'bundling'. 'Unbundling' is the act of undoing the 'bundling', this is often done by cleaning up the source code (with what we call a 'snippet' in Guix: (snippet #~(delete-file-recursively "googletest"))) and setting some configuration flags ("-DUSE_SYSTEM_GOOGLETEST=3Dyes" or such).

For example, in Guix we occasionally encounter a bundled "googletest" (a test framework).

In this case, we are kind of (un)bundling the base64 module, though it's not _exactly_ (un)bundling because, AFAIK, there is canonical upstream location for the base64 module to replace things with. Still seems pretty close to me.

Upsides of unbundling, as mentioned in '(guix)Submitting Patches':

=C2=A0=C2=A0=C2=A0=C2=A0 Sometimes, packa= ges include copies of the source code of their
=C2=A0=C2=A0=C2=A0=C2=A0 dependencies as a convenience for users.= =C2=A0 However, as a
=C2=A0=C2=A0=C2=A0=C2=A0 distribution, we want to make sure that = such packages end up using
=C2=A0=C2=A0=C2=A0=C2=A0 the copy we already have in the distribu= tion, if there is one.
=C2=A0=C2=A0=C2=A0=C2=A0 This improves resource usage (the depend= ency is built and stored
=C2=A0=C2=A0=C2=A0=C2=A0 only once), and allows the distribution = to make transverse changes
=C2=A0=C2=A0=C2=A0=C2=A0 such as applying security updates for a = given software package in a
=C2=A0=C2=A0=C2=A0=C2=A0 single place and have them affect the wh= ole system=E2=80=94something that
=C2=A0=C2=A0=C2=A0=C2=A0 bundled copies prevent.
Another benefit: reviewing for absence of malware is less work when there's only a single copy to review, though I suppose that in this case the module is so small the reviewing benefit is minimal.

Whether we simply replace (guix base64) by (gcrypt base64) depends on how old (gcrypt base64) is compared to the earliest 'supported' Guix for pull/time-travel, but even if it is not present in the old gcrypt, we can work-around that (we have a 'fake-gcrypt-hash' in build-aux/build-self.scm, so we can easily have a (define gcrypt-base64 [some copy])).=C2=A0= Or simply update the local guile-gcrypt in buid-aux/build-self.scm.

= guile-gcrypt base64 is pretty new with the patch above (but no release after that), I have no idea if Guix has added anything else.

base64 is available in at least 0.3.0, which is packaged in Debian bullseye (which is considered "stable"), so not too new, though we might need to change build-aux/build-self.scm if 0.1.0 doesn't have base64.=C2=A0 Guix appears to have the pre-quoted-patch version, without changes of its own except for a different module name.


One more time, forgive me, but what is build-aux/build-self.scm?
=
It's an implementation detail of Guix, it's a file (from the new version, not the old) that is loaded by "guix pull" in the old Guix to compile the new version of Guix.

OTOH a similar replacement can be done for (ice-9 base64), but transitioning to (ice-9 base64) would take much longer, at least until the various distributions are updated to a Guile that has (ice-9 base64), whereas (gcrypt base64) could be switched to immediately.

= Maybe this could be handled by each project independently.

They wouldn't have to if the base64 module is put in (guile gcrypt).


And the last forgiveness... (guile gcrypt)?

Oops, that should have been guile-gcrypt -- it's a Guile package -- "guix show guile-gcrypt" / <https://notabug.org/cwebber/guile-gcrypt>.

Greetings,
Maxime.

--------------eOuVFyWGfd66L3x4TbZ0L0UZ-- --------------gmR2Iv7eL075pWJJ07pqpwuB 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----- --------------gmR2Iv7eL075pWJJ07pqpwuB-- --------------fy0MS5rCab1V3MFC2Ekpt0C5-- --------------X3nczsW0sOSUjjfL4yrb0FIX Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYv1ARAUDAAAAAAAKCRBJ4+4iGRcl7pSr AQCcfzHPHYqtDJ1yuacj91uMPZqQoUgyYVbCPozvRkI0twEA/BQbhj0WkGbT8FYILT+IcY/DZFOV 3M7gOcA7n5ORXAg= =Ob02 -----END PGP SIGNATURE----- --------------X3nczsW0sOSUjjfL4yrb0FIX--