From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id EHR/AbTDGl/TcgAA0tVLHw (envelope-from ) for ; Fri, 24 Jul 2020 11:19:16 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id uPv5OLPDGl95HwAAbx9fmQ (envelope-from ) for ; Fri, 24 Jul 2020 11:19:15 +0000 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 4186A94053E for ; Fri, 24 Jul 2020 11:19:15 +0000 (UTC) Received: from localhost ([::1]:42454 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jyvjM-0004b3-NC for larch@yhetil.org; Fri, 24 Jul 2020 07:19:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33408) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jyvjC-0004ai-KF for guix-patches@gnu.org; Fri, 24 Jul 2020 07:19:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:35432) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jyvjC-0007Wg-BP for guix-patches@gnu.org; Fri, 24 Jul 2020 07:19:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jyvjC-0000J7-5O for guix-patches@gnu.org; Fri, 24 Jul 2020 07:19:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#42404] [PATCH 3/5] gnu: Add rnp. Resent-From: Justus Winter Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 24 Jul 2020 11:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42404 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 42404@debbugs.gnu.org Received: via spool by 42404-submit@debbugs.gnu.org id=B42404.15955895311161 (code B ref 42404); Fri, 24 Jul 2020 11:19:02 +0000 Received: (at 42404) by debbugs.gnu.org; 24 Jul 2020 11:18:51 +0000 Received: from localhost ([127.0.0.1]:46978 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyvj0-0000Ie-QR for submit@debbugs.gnu.org; Fri, 24 Jul 2020 07:18:51 -0400 Received: from avior.uberspace.de ([185.26.156.32]:60618 ident=af3aOBoW3Fq) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jyviy-0000IU-9A for 42404@debbugs.gnu.org; Fri, 24 Jul 2020 07:18:49 -0400 Received: (qmail 4580 invoked from network); 24 Jul 2020 11:18:46 -0000 Received: from localhost (HELO europa) (127.0.0.1) by avior.uberspace.de with SMTP; 24 Jul 2020 11:18:46 -0000 Received: from localhost ([127.0.0.1]) by europa with esmtp (Exim 4.92) (envelope-from ) id 1jyviu-0006Jo-MZ; Fri, 24 Jul 2020 13:18:44 +0200 From: Justus Winter In-Reply-To: <87h7txb42m.fsf@gnu.org> References: <20200723120322.8385-1-justus@sequoia-pgp.org> <20200723120322.8385-3-justus@sequoia-pgp.org> <87h7txb42m.fsf@gnu.org> Date: Fri, 24 Jul 2020 13:18:44 +0200 Message-ID: <87365hw48b.fsf@europa.jade-hamburg.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: -3.11 X-TUID: omb2g7haSyrB --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Ludo=E2=80=99 :) Some context: RNP is the OpenPGP implementation that Thunderbird 78 will use. Furthermore, we (Sequoia) created an OpenPGP interoperability test suite (https://tests.sequoia-pgp.org/) to test various implementations, and we'd like to use Guix to build the implementations for consistent, reproducible results. Ludovic Court=C3=A8s writes: > Hi Justus, > > Justus Winter skribis: > >> * gnu/packages/openpgp.scm (rnp): New variable. >> * gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch: New file. >> * gnu/packages/patches/rnp-fix-cp.patch: New file. >> * gnu/packages/patches/rnp-fix-gnupg-list-packets.patch: New file. >> * gnu/packages/patches/rnp-fix-test-setup.patch: New file. >> * gnu/packages/patches/rnp-fix-test.patch: New file. >> * gnu/packages/patches/rnp-fix-true-false.patch: New file. >> * gnu/packages/patches/rnp-unbundle-googletest.patch: New file. >> * gnu/packages/patches/rnp-update-expiration-16ecb289.patch: New file. > > Could you add the patches to gnu/local.mk? Sure! > >> + (home-page "https://www.rnpgp.com/") >> + (license (list license:bsd-2 license:asl2.0 license:bsd-3)))) > > Could you add a comment (a couple of lines) stating whether it=E2=80=99s = triple > licensing or rather that several parts come under different licenses? I will. > The patch overall LGTM but I=E2=80=99m concerned by the relatively large = number > of patches and the fact that their upstream status is unknown. Seems to > me that many of them ought to be upstream no? If they are upstream, can > we instead either wait for a release that includes them, or take a > snapshot that includes them? I agree. I upstreamed my changes, and they got merged today: https://github.com/rnpgp/rnp/pull/1213 Those not included in the merge were meanwhile fixed upstream. I don't know whether they will make a release soon. I assumed that Guix would prefer to package the released version, but we could go for a snapshot as well. Your call. >> diff --git a/gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch b/gnu= /packages/patches/rnp-disable-ruby-rnp-tests.patch >> new file mode 100644 >> index 0000000000..5c8c06524d >> --- /dev/null >> +++ b/gnu/packages/patches/rnp-disable-ruby-rnp-tests.patch >> @@ -0,0 +1,25 @@ >> +From 9f3c07601393e219cc5979f93fda57bf2d07dee7 Mon Sep 17 00:00:00 2001 >> +From: Justus Winter >> +Date: Tue, 21 Jul 2020 16:10:21 +0200 >> +Subject: [PATCH 6/6] Disable ruby-rnp tests. > > What=E2=80=99s the rationale? Would #:tests? #f have the same effect? AIUI #:tests? #f would disable all tests. This patch prevents cmake from cloning the ruby-rnp repository to run its tests. There is no cmake switch to disable it, therefore I patched it out. I should try to propose a better solution to the upstream project, but I'm not familiar with cmake. >> diff --git a/gnu/packages/patches/rnp-fix-cp.patch b/gnu/packages/patche= s/rnp-fix-cp.patch >> new file mode 100644 >> index 0000000000..039912d953 >> --- /dev/null >> +++ b/gnu/packages/patches/rnp-fix-cp.patch >> @@ -0,0 +1,27 @@ >> +From c163e1b12511e9e7df752a01767a2a8ba56c4196 Mon Sep 17 00:00:00 2001 >> +From: Justus Winter >> +Date: Tue, 21 Jul 2020 15:52:37 +0200 >> +Subject: [PATCH 1/6] Make copying more robust. >> + >> +Let the shell locate 'cp'. This is more robust in environments such >> +as Guix or Nix that do not provide /bin/cp. >> +--- >> + src/tests/support.cpp | 2 +- >> + 1 file changed, 1 insertion(+), 1 deletion(-) >> + >> +diff --git a/src/tests/support.cpp b/src/tests/support.cpp >> +index 3d6a6dc9..d260e166 100644 >> +--- a/src/tests/support.cpp >> ++++ b/src/tests/support.cpp >> +@@ -283,7 +283,7 @@ copy_recursively(const char *src, const char *dst) >> + // TODO: maybe use fts or something less hacky >> + char buf[2048]; >> + #ifndef _WIN32 >> +- snprintf(buf, sizeof(buf), "/bin/cp -a '%s' '%s'", src, dst); >> ++ snprintf(buf, sizeof(buf), "cp -a '%s' '%s'", src, dst); > > I=E2=80=99d rather add a build phase that replaces /bin/cp with (which "c= p") or > similar. That way, the package would be self-contained (no need to > manually add Coreutils on $PATH). Ok, I'll try :) >> +++ b/gnu/packages/patches/rnp-fix-true-false.patch >> @@ -0,0 +1,253 @@ >> +From 028a2f50fbf47d989bbf79be589945bec55b4825 Mon Sep 17 00:00:00 2001 >> +From: Justus Winter >> +Date: Tue, 21 Jul 2020 15:57:57 +0200 >> +Subject: [PATCH 3/6] Use 'true' and 'false' instead of 'TRUE' and 'FALS= E'. >> + >> +The latter are not guaranteed to be defined. > > This should probably be upstream, but if we have to have it, how about > making this change with =E2=80=98substitute*=E2=80=99 instead? Fixed upstream. >> +++ b/gnu/packages/patches/rnp-update-expiration-16ecb289.patch >> @@ -0,0 +1,208 @@ >> +commit 16ecb28974b18e51f9060c86c7229f3b7e1cbb88 >> +Author: Nickolay Olshevsky >> +Date: Fri Apr 10 16:29:52 2020 +0300 >> + >> + Update expiration date of test keys. > > This is bound to expire again. :-) > > How about using faketime instead, as is done for the =E2=80=98nss=E2=80= =99 package? That is much better indeed. I had hoped that the upstream change would just make the keys don't expire, but they still expire in 2030... Thanks for the review :) Justus --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEJWpOVeSnLZetJGjniNx+MzhfeR0FAl8aw5QACgkQiNx+Mzhf eR3TdQf/a+5RL3GG5dQbX8Vav0q2e8RkxiW1E9DZ9oFguZvp0z49LfWQU4LM83j6 eHCXchhIYtyTW2oj2qX0jGs1JAaI2VvS+0rYWMWbHqjSTkyZKuvwIIPluzMs9hl3 W1PlTMopGYkuJterBBlr3P+YrgJBp7SlZ7g0dY3Z4jarINkBDte7cYwpK8mXKNYS k7w41yIC8nqrOZ+0SfacdXI1vymZ4xyimRL/ZLT0a6l/sjwLYVu4Tjj6ecIZyV5s m1vBWSz+BKi19pptgaFUUC6u4Jme+AgFNeAUu/qTs8K24/PEoVm2jbUhSqFgfY/9 XK2iH0hUXL4SimqpYNU7g8XgLv/RYw== =O0wN -----END PGP SIGNATURE----- --=-=-=--