Received: (at 42338) by debbugs.gnu.org; 23 Aug 2021 15:03:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Aug 23 11:03:56 2021 Received: from localhost ([127.0.0.1]:42338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1mIBUR-0000GL-Id for submit <at> debbugs.gnu.org; Mon, 23 Aug 2021 11:03:56 -0400 Received: from mout-p-103.mailbox.org ([80.241.56.161]:49676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <db@HIDDEN>) id 1mI6Xg-0006Wi-AT for 42338 <at> debbugs.gnu.org; Mon, 23 Aug 2021 05:46:56 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [80.241.60.240]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4GtS7Y74y6zQkDy for <42338 <at> debbugs.gnu.org>; Mon, 23 Aug 2021 11:46:49 +0200 (CEST) X-Virus-Scanned: amavisd-new at heinlein-support.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=minikn.xyz; s=MBO0001; t=1629712008; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=0oxWSM4egfLljKHHT1kF03r6plwJjvskoDCLGxG1YqU=; b=IYt8QMNVy0jIqpDyDFoCTmEWNO9BjFr735UW7fhAGM17741hoXKzp0TJOMbugdtM+GtWHo ztQ77QgPSf25138MEP0IAjtLGEzQZaLVW5C3kManzU9u3kPKywPYKqIC/6qo4Fc3PQnXy5 sUAycClpabduDgb9M30qtrLCLxLQK9h7iZ2TqKICGIIN2FRyS/7Qfl859vSWgGd+6Id6fB F5JsD0qwuA4FLYX2yC7tGlkJhUE4qAobnTKjtK/5iIBueoDXl06J5A2WnsGskod32QSRhK G/l+cTKuyuucZ9jd0VoKZUG1ykGQSoHh9As2iEqnbcv5c8kHHV05DYogJT0+wg== Received: from smtp1.mailbox.org ([80.241.60.240]) by spamfilter02.heinlein-hosting.de (spamfilter02.heinlein-hosting.de [80.241.56.116]) (amavisd-new, port 10030) with ESMTP id 9N0DlrEV621y for <42338 <at> debbugs.gnu.org>; Mon, 23 Aug 2021 11:46:46 +0200 (CEST) From: <db@HIDDEN> To: <42338 <at> debbugs.gnu.org> Subject: Date: Mon, 23 Aug 2021 11:46:49 +0200 Message-ID: <000a01d79803$cbd95220$638bf660$@minikn.xyz> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_000B_01D79814.8F622220" Thread-Index: AdeYA8trxgTP5XssSWOrgikG2z4hmA== Content-Language: de X-Rspamd-Queue-Id: CCF9318B4 X-Rspamd-UID: cfc76e X-Spam-Score: 4.3 (++++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello. Is this feature still being worked on? I'd love to make use of it! Cheers, Demis. Content analysis details: (4.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_NONE SPF: sender does not publish an SPF Record 2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: minikn.xyz (xyz)] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 HTML_MESSAGE BODY: HTML included in message -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [80.241.56.161 listed in wl.mailspike.net] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [80.241.56.161 listed in list.dnswl.org] 2.0 BLANK_SUBJECT Subject is present but empty 0.5 FROM_SUSPICIOUS_NTLD_FP From abused NTLD 0.5 FROM_SUSPICIOUS_NTLD From abused NTLD X-Debbugs-Envelope-To: 42338 X-Mailman-Approved-At: Mon, 23 Aug 2021 11:03:54 -0400 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 2.8 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello. Is this feature still being worked on? I'd love to make use of it! Cheers, Demis. Content analysis details: (2.8 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_NONE SPF: sender does not publish an SPF Record 2.0 PDS_OTHER_BAD_TLD Untrustworthy TLDs [URI: minikn.xyz (xyz)] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 HTML_MESSAGE BODY: HTML included in message -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [80.241.56.161 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [80.241.56.161 listed in wl.mailspike.net] 2.0 BLANK_SUBJECT Subject is present but empty 0.5 FROM_SUSPICIOUS_NTLD From abused NTLD -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager This is a multipart message in MIME format. ------=_NextPart_000_000B_01D79814.8F622220 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hello. Is this feature still being worked on? I'd love to make use of it! Cheers, Demis. ------=_NextPart_000_000B_01D79814.8F622220 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" = xmlns:o=3D"urn:schemas-microsoft-com:office:office" = xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" = xmlns=3D"http://www.w3.org/TR/REC-html40"><head><META = HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 15 = (filtered medium)"><style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; font-size:11.0pt; font-family:"Calibri",sans-serif; mso-fareast-language:EN-US;} span.E-MailFormatvorlage17 {mso-style-type:personal-compose; font-family:"Calibri",sans-serif; color:windowtext;} .MsoChpDefault {mso-style-type:export-only; font-family:"Calibri",sans-serif; mso-fareast-language:EN-US;} @page WordSection1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 2.0cm 70.85pt;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--></head><body lang=3DDE = link=3D"#0563C1" vlink=3D"#954F72" style=3D'word-wrap:break-word'><div = class=3DWordSection1><p class=3DMsoNormal><span lang=3DEN-US>Hello. Is = this feature still being worked on? I’d love to make use of = it!<br><br>Cheers,<br><br>Demis.<o:p></o:p></span></p></div></body></html= > ------=_NextPart_000_000B_01D79814.8F622220--
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 21 Dec 2020 14:52:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 21 09:52:10 2020 Received: from localhost ([127.0.0.1]:46642 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1krMXh-0002bh-Ud for submit <at> debbugs.gnu.org; Mon, 21 Dec 2020 09:52:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:50918) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1krMXg-0002bD-Gk for 42338 <at> debbugs.gnu.org; Mon, 21 Dec 2020 09:52:08 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38681) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1krMXa-0001mr-68; Mon, 21 Dec 2020 09:52:02 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=36950 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1krMXZ-000783-2B; Mon, 21 Dec 2020 09:52:01 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> <87eemz1nib.fsf@HIDDEN> <20200919012420.301201e8@HIDDEN> <87eemq16y3.fsf@HIDDEN> <20200929164920.0684be42@HIDDEN> <87blhn39dz.fsf@HIDDEN> <20201219004318.2c94830d@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 1 =?utf-8?Q?Niv=C3=B4se?= an 229 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 21 Dec 2020 15:51:59 +0100 In-Reply-To: <20201219004318.2c94830d@HIDDEN> (Julien Lepiller's message of "Sat, 19 Dec 2020 00:43:18 +0100") Message-ID: <877dpb6wkw.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi, Julien Lepiller <julien@HIDDEN> skribis: > I tried that (replacing 'guile-json with 'guile-json-4), but it doesn't > work: when building the package, guix first builds a modules-compiled > that fails because it can't find (json). It seems to be related to the > compilation of (guix build composer-build-system) which uses the (json) > module: when removing the import, it's modules-compiled works (with a > lot of warnings), but obviously guix can't build the php package. Ah OK. Well, maybe you can sidestep the issue and use a custom JSON module instead. Sorry for the broken piece of advice! Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 18 Dec 2020 23:43:30 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 18 18:43:30 2020 Received: from localhost ([127.0.0.1]:40502 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kqPPG-0004eD-8k for submit <at> debbugs.gnu.org; Fri, 18 Dec 2020 18:43:30 -0500 Received: from lepiller.eu ([89.234.186.109]:57722) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1kqPPD-0004e3-Td for 42338 <at> debbugs.gnu.org; Fri, 18 Dec 2020 18:43:28 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id b0d3dc51; Fri, 18 Dec 2020 23:43:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=gtadFR5dm4Ky Oz25cU5hrjEkb1yBJ99ji6FE1fsStnc=; b=Q+USl78HUv1oUSu5WZC/HVAKAQaS 65jal/pbYFv13vvga09FpYxMy42xf//vGqCWuw3ZAZBX3buLTKKuguf2sPKkKmWS 9wYt6YnVvq26khfAOt8XxWJzLf8uQcVQfcR/h/JaxnrQZPaydz3T24vmytfA+Yz+ S4FtKC1A9vHB/KZdw+10vnN7KMATD/Hq94ny/WHDCzXhA4K6QrCdfX1wK4sQQEEP Dsqj+TSQUjMD51kbbjzwcAxRfikCGDQwERPfSMHZR/oEX5ESvd6mPgsOhrLqcj9f 6mFSAPzoX3BtOvo/4EuFazk2lU4A6JKPatCHzP/etWZj+6vjDrJss2plmQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id cfacdb7c (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Fri, 18 Dec 2020 23:43:24 +0000 (UTC) Date: Sat, 19 Dec 2020 00:43:18 +0100 From: Julien Lepiller <julien@HIDDEN> To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= <ludo@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. Message-ID: <20201219004318.2c94830d@HIDDEN> In-Reply-To: <87blhn39dz.fsf@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> <87eemz1nib.fsf@HIDDEN> <20200919012420.301201e8@HIDDEN> <87eemq16y3.fsf@HIDDEN> <20200929164920.0684be42@HIDDEN> <87blhn39dz.fsf@HIDDEN> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Le Wed, 30 Sep 2020 11:24:08 +0200, Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : >=20 > To bring in Guile-JSON, you need to do something similar to what > =E2=80=98gexp->file=E2=80=99 does with =E2=80=98load-path-expression=E2= =80=99, along these lines > (untested): >=20 > (define guile-json-drv > (package-derivation store > (module-ref (resolve-interface '(gnu packages > guile)) 'guile-json) > system)) >=20 > (define builder > `(begin > (add-to-load-path (string-append ,(derivation->output-path > guile-json-drv) "/share/guile/site/" > (effective-version))) > (use-modules ,@modules) > =E2=80=A6)) >=20 > ;; =E2=80=A6 >=20 > (build-expression->derivation store name builder > ;; =E2=80=A6 > #:inputs (append inputs > `(("guile-json" > ,guile-json-drv)))) >=20 > I guess clunkiness is the reason why we didn=E2=80=99t do it last time=E2= =80=A6 >=20 > HTH! >=20 > Ludo=E2=80=99. Hi Ludo, sorry for the delay! I tried that (replacing 'guile-json with 'guile-json-4), but it doesn't work: when building the package, guix first builds a modules-compiled that fails because it can't find (json). It seems to be related to the compilation of (guix build composer-build-system) which uses the (json) module: when removing the import, it's modules-compiled works (with a lot of warnings), but obviously guix can't build the php package.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 30 Sep 2020 09:24:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Sep 30 05:24:18 2020 Received: from localhost ([127.0.0.1]:58204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kNYLR-0006E1-SA for submit <at> debbugs.gnu.org; Wed, 30 Sep 2020 05:24:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:54308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kNYLP-0006Dn-Jx for 42338 <at> debbugs.gnu.org; Wed, 30 Sep 2020 05:24:16 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58657) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kNYLK-0002HX-6I; Wed, 30 Sep 2020 05:24:10 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=58752 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kNYLJ-0003Zj-Np; Wed, 30 Sep 2020 05:24:09 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> <87eemz1nib.fsf@HIDDEN> <20200919012420.301201e8@HIDDEN> <87eemq16y3.fsf@HIDDEN> <20200929164920.0684be42@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 9 =?utf-8?Q?Vend=C3=A9miaire?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 30 Sep 2020 11:24:08 +0200 In-Reply-To: <20200929164920.0684be42@HIDDEN> (Julien Lepiller's message of "Tue, 29 Sep 2020 16:49:20 +0200") Message-ID: <87blhn39dz.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi, Julien Lepiller <julien@HIDDEN> skribis: > Here's a new version, hopefully this addresses all your remarks. I'm > still not sure how (json) is pulled in to the build side though... How > does guix know it needs to use guile-json-3 instead of guile-json-1 for > instance? Ah, see below. > How does it work with inferiors? I think inferiors have nothing to do with it. > From 432f57aeeb3b2e48591288e6491d66ab299661f0 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller <julien@HIDDEN> > Date: Tue, 29 Oct 2019 20:58:51 +0100 > Subject: [PATCH 03/34] guix: Add composer-build-system. > > * guix/build-system/composer.scm: New file. > * guix/build/composer-build-system.scm: New file. > * gnu/packages/aux-files/findclass.php: New file. > * Makefile.am: Add them. > * doc/guix.texi (Build Systems): Document it. [...] > +(define %composer-build-system-modules > + ;; Build-side modules imported by default. > + `((guix build composer-build-system) > + (guix build union) > + (json) > + (json builder) > + (json parser) > + (json record) Here, as the comment says, you=E2=80=99re importing (json =E2=80=A6) from t= he host side to the build side. That=E2=80=99s why it works. The problem is that it=E2=80=99s just picking whatever (json =E2=80=A6) mod= ules are on your load path on the host side: if you have Guile-JSON 3.x, it=E2=80=99ll = use that, if you have 4.x, that=E2=80=99ll be 4.x, and if you have nothing, it= =E2=80=99ll fail to build. So the fix is to remove those modules from this list. You should only ever import Guix modules. Now you need to bring Guile-JSON into the environment. When using gexp, we do that with =E2=80=98with-extensions=E2=80=99, but here it=E2=80=99s a = bit clunky=E2=80=A6 > + (modules '((guix build composer-build-system) > + (guix build utils) > + (json)))) I think you don=E2=80=99t need (json) here. (This is the list of modules in scope.) > + (define builder > + `(begin > + (use-modules ,@modules) > + (composer-build #:source ,(match (assoc-ref inputs "source") > + (((? derivation? source)) > + (derivation->output-path source)) > + ((source) > + source) > + (source > + source)) > + #:system ,system > + #:outputs %outputs > + #:inputs %build-inputs > + #:search-paths ',(map search-path-specification->= sexp > + search-paths) > + #:phases ,phases > + #:out-of-source? ,out-of-source? > + #:composer-file ,composer-file > + #:tests? ,tests? > + #:test-target ,test-target > + #:install-target ,install-target > + #:validate-runpath? ,validate-runpath? > + #:patch-shebangs? ,patch-shebangs? > + #:strip-binaries? ,strip-binaries? > + #:strip-flags ,strip-flags > + #:strip-directories ,strip-directories))) To bring in Guile-JSON, you need to do something similar to what =E2=80=98gexp->file=E2=80=99 does with =E2=80=98load-path-expression=E2=80= =99, along these lines (untested): (define guile-json-drv (package-derivation store (module-ref (resolve-interface '(gnu packages guile= )) 'guile-json) system)) (define builder `(begin (add-to-load-path (string-append ,(derivation->output-path guile-jso= n-drv) "/share/guile/site/" (effective-version))) (use-modules ,@modules) =E2=80=A6)) ;; =E2=80=A6 (build-expression->derivation store name builder ;; =E2=80=A6 #:inputs (append inputs `(("guile-json" ,guile-js= on-drv)))) I guess clunkiness is the reason why we didn=E2=80=99t do it last time=E2= =80=A6 HTH! Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 29 Sep 2020 14:49:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 29 10:49:51 2020 Received: from localhost ([127.0.0.1]:56881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kNGwq-00088X-DV for submit <at> debbugs.gnu.org; Tue, 29 Sep 2020 10:49:51 -0400 Received: from lepiller.eu ([89.234.186.109]:50914) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1kNGwl-00088H-3K for 42338 <at> debbugs.gnu.org; Tue, 29 Sep 2020 10:49:43 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 404a0e97; Tue, 29 Sep 2020 14:49:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type; s=dkim; bh=wcgz7dM5pytS2F368frIn8dmtK8Z2cfDrcDtOl QnJBI=; b=bIlnXpDp3q4J1FY0ixsQvM2pYKwjwwBslVDCljyrfn0hRifhqwEFkF 4aTtgdv5l3CGOMEEjPof77PH5uVZPszZ3fF/J5WhNeFE59WAjJgruRMJAZBqfVga /mZaWtuBkOjCko4z3LjDktiK0DNk0aL94TR56OPLGPddhLp4ljvserPBKlLTaF4H 6SfxAO7pZrjwDaKB58cC2jkuDBwSGpUuI+q4nMxZndgSkAE/PnP7L8BwWIxoO6io hdKMXL8KAFgDfGGAEmt2Hoz6VVOvqKfabGMlmcX5WyGr1AGvG1+M/Pax68hpTYlW 2HZ8se017GEM7zThNwG9zBhfxN2N+IhA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 3bf0a08d (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Tue, 29 Sep 2020 14:49:36 +0000 (UTC) Date: Tue, 29 Sep 2020 16:49:20 +0200 From: Julien Lepiller <julien@HIDDEN> To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= <ludo@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. Message-ID: <20200929164920.0684be42@HIDDEN> In-Reply-To: <87eemq16y3.fsf@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> <87eemz1nib.fsf@HIDDEN> <20200919012420.301201e8@HIDDEN> <87eemq16y3.fsf@HIDDEN> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/wX.Yq./3HOZ_fNNuuCidCBh" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --MP_/wX.Yq./3HOZ_fNNuuCidCBh Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Fri, 25 Sep 2020 12:33:56 +0200, Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : > Hi, >=20 > As for Guile-JSON: perhaps you can post a draft that we can play with > to see if there=E2=80=99s anything wrong, but off the top of my head I do= n=E2=80=99t > see why it wouldn=E2=80=99t work. >=20 > Thanks, > Ludo=E2=80=99. Here's a new version, hopefully this addresses all your remarks. I'm still not sure how (json) is pulled in to the build side though... How does guix know it needs to use guile-json-3 instead of guile-json-1 for instance? How does it work with inferiors? --MP_/wX.Yq./3HOZ_fNNuuCidCBh Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0003-guix-Add-composer-build-system.patch =46rom 432f57aeeb3b2e48591288e6491d66ab299661f0 Mon Sep 17 00:00:00 2001 From: Julien Lepiller <julien@HIDDEN> Date: Tue, 29 Oct 2019 20:58:51 +0100 Subject: [PATCH 03/34] guix: Add composer-build-system. * guix/build-system/composer.scm: New file. * guix/build/composer-build-system.scm: New file. * gnu/packages/aux-files/findclass.php: New file. * Makefile.am: Add them. * doc/guix.texi (Build Systems): Document it. --- Makefile.am | 5 +- doc/guix.texi | 14 ++ gnu/packages/aux-files/findclass.php | 125 ++++++++++++++ guix/build-system/composer.scm | 173 +++++++++++++++++++ guix/build/composer-build-system.scm | 241 +++++++++++++++++++++++++++ 5 files changed, 557 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/aux-files/findclass.php create mode 100644 guix/build-system/composer.scm create mode 100644 guix/build/composer-build-system.scm diff --git a/Makefile.am b/Makefile.am index 6ce1430ea6..5af964b0e9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,6 +115,7 @@ MODULES =3D \ guix/build-system/cargo.scm \ guix/build-system/clojure.scm \ guix/build-system/cmake.scm \ + guix/build-system/composer.scm \ guix/build-system/dub.scm \ guix/build-system/dune.scm \ guix/build-system/emacs.scm \ @@ -163,6 +164,7 @@ MODULES =3D \ guix/build/cargo-build-system.scm \ guix/build/cargo-utils.scm \ guix/build/cmake-build-system.scm \ + guix/build/composer-build-system.scm \ guix/build/dub-build-system.scm \ guix/build/dune-build-system.scm \ guix/build/emacs-build-system.scm \ @@ -354,7 +356,8 @@ AUX_FILES =3D \ gnu/packages/aux-files/linux-libre/4.4-i686.conf \ gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \ gnu/packages/aux-files/pack-audit.c \ - gnu/packages/aux-files/run-in-namespace.c + gnu/packages/aux-files/run-in-namespace.c \ + gnu/packages/aux-files/findclass.php =20 # Templates, examples. EXAMPLES =3D \ diff --git a/doc/guix.texi b/doc/guix.texi index 626915fd39..6870163c23 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6941,6 +6941,20 @@ debugging information''), which roughly means that c= ode is compiled with @code{-O2 -g}, as is the case for Autoconf-based packages by default. @end defvr =20 +@defvr {Scheme Variable} composer-build-system +This variable is exported by @code{(guix build-system composer)}. It +implements the build procedure for packages using +@url{https://getcomposer.org/, Composer}, the PHP package manager. + +It automatically adds the @code{php} package to the set of inputs. Which +package is used can be specified with the @code{#:php} parameter. + +The @code{#:test-target} parameter is used to control which script is run +for the tests. By default, the @code{test} script is run if it exists. If +the script does not exist, the build system will run @code{phpunit} from t= he +source directory, assuming there is a @file{phpunit.xml} file. +@end defvr + @defvr {Scheme Variable} dune-build-system This variable is exported by @code{(guix build-system dune)}. It supports builds of packages using @uref{https://dune.build/, Dune}, a build diff --git a/gnu/packages/aux-files/findclass.php b/gnu/packages/aux-files/= findclass.php new file mode 100644 index 0000000000..d0b250c8e1 --- /dev/null +++ b/gnu/packages/aux-files/findclass.php @@ -0,0 +1,125 @@ +<?php +/** + * The content of this file is copied from composer's src/Composer/Autoloa= d/ClassMapGenerator.php + * the findClasses method was extracted, to prevent using any dependency. + * + * Composer (and thus this file) is distributed under the expat license, a= nd + * ClassMapGenerator.php also contains this notice: + * + * This file is part of Composer. + * + * (c) Nils Adermann <naderman@HIDDEN> + * Jordi Boggiano <j.boggiano@HIDDEN> + * + * For the full copyright and license information, please view the LICEN= SE + * file that was distributed with this source code. + * + * This file is copied from the Symfony package. + * + * (c) Fabien Potencier <fabien@HIDDEN> + *=20 + * To the extent to wich it makes sense, as the author of the extract: + * Copyright =C2=A9 2020 Julien Lepiller <julien@HIDDEN> + */ + +/** + * Extract the classes in the given file + * + * @param string $path The file to check + * @throws \RuntimeException + * @return array The found classes + */ +function findClasses($path) +{ + $extraTypes =3D PHP_VERSION_ID < 50400 ? '' : '|trait'; + if (defined('HHVM_VERSION') && version_compare(HHVM_VERSION, '3.3', '>= =3D')) { + $extraTypes .=3D '|enum'; + } + // Use @ here instead of Silencer to actively suppress 'unhelpful' out= put + // @link https://github.com/composer/composer/pull/4886 + $contents =3D @php_strip_whitespace($path); + if (!$contents) { + if (!file_exists($path)) { + $message =3D 'File at "%s" does not exist, check your classmap= definitions'; + } elseif (!is_readable($path)) { + $message =3D 'File at "%s" is not readable, check its permissi= ons'; + } elseif ('' =3D=3D=3D trim(file_get_contents($path))) { + // The input file was really empty and thus contains no classes + return array(); + } else { + $message =3D 'File at "%s" could not be parsed as PHP, it may = be binary or corrupted'; + } + $error =3D error_get_last(); + if (isset($error['message'])) { + $message .=3D PHP_EOL . 'The following message may be helpful:= ' . PHP_EOL . $error['message']; + } + throw new \RuntimeException(sprintf($message, $path)); + } + // return early if there is no chance of matching anything in this file + if (!preg_match('{\b(?:class|interface'.$extraTypes.')\s}i', $contents= )) { + return array(); + } + // strip heredocs/nowdocs + $contents =3D preg_replace('{<<<[ \t]*([\'"]?)(\w+)\\1(?:\r\n|\n|\r)(?= :.*?)(?:\r\n|\n|\r)(?:\s*)\\2(?=3D\s+|[;,.)])}s', 'null', $contents); + // strip strings + $contents =3D preg_replace('{"[^"\\\\]*+(\\\\.[^"\\\\]*+)*+"|\'[^\'\\\= \]*+(\\\\.[^\'\\\\]*+)*+\'}s', 'null', $contents); + // strip leading non-php code if needed + if (substr($contents, 0, 2) !=3D=3D '<?') { + $contents =3D preg_replace('{^.+?<\?}s', '<?', $contents, 1, $repl= acements); + if ($replacements =3D=3D=3D 0) { + return array(); + } + } + // strip non-php blocks in the file + $contents =3D preg_replace('{\?>(?:[^<]++|<(?!\?))*+<\?}s', '?><?', $c= ontents); + // strip trailing non-php code if needed + $pos =3D strrpos($contents, '?>'); + if (false !=3D=3D $pos && false =3D=3D=3D strpos(substr($contents, $po= s), '<?')) { + $contents =3D substr($contents, 0, $pos); + } + // strip comments if short open tags are in the file + if (preg_match('{(<\?)(?!(php|hh))}i', $contents)) { + $contents =3D preg_replace('{//.* | /\*(?:[^*]++|\*(?!/))*\*/}x', = '', $contents); + } + preg_match_all('{ + (?: + \b(?<![\$:>])(?P<type>class|interface'.$extraTypes.') \s++ (?= P<name>[a-zA-Z_\x7f-\xff:][a-zA-Z0-9_\x7f-\xff:\-]*+) + | \b(?<![\$:>])(?P<ns>namespace) (?P<nsname>\s++[a-zA-Z_\x7f-\x= ff][a-zA-Z0-9_\x7f-\xff]*+(?:\s*+\\\\\s*+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-= \xff]*+)*+)? \s*+ [\{;] + ) + }ix', $contents, $matches); + $classes =3D array(); + $namespace =3D ''; + for ($i =3D 0, $len =3D count($matches['type']); $i < $len; $i++) { + if (!empty($matches['ns'][$i])) { + $namespace =3D str_replace(array(' ', "\t", "\r", "\n"), '', $= matches['nsname'][$i]) . '\\'; + } else { + $name =3D $matches['name'][$i]; + // skip anon classes extending/implementing + if ($name =3D=3D=3D 'extends' || $name =3D=3D=3D 'implements')= { + continue; + } + if ($name[0] =3D=3D=3D ':') { + // This is an XHP class, https://github.com/facebook/xhp + $name =3D 'xhp'.substr(str_replace(array('-', ':'), array(= '_', '__'), $name), 1); + } elseif ($matches['type'][$i] =3D=3D=3D 'enum') { + // In Hack, something like: + // enum Foo: int { HERP =3D '123'; } + // The regex above captures the colon, which isn't part of + // the class name. + $name =3D rtrim($name, ':'); + } + $classes[] =3D ltrim($namespace . $name, '\\'); + } + } + return $classes; +} + +$options =3D getopt('i:f:', []); +$file =3D $options["f"]; +$input =3D $options["i"]; + +$classes =3D findClasses($file); +foreach($classes as $class) { + echo '$classmap[\''.$class.'\'] =3D \''.$input.'/'.$file.'\';'; + echo "\n"; +} diff --git a/guix/build-system/composer.scm b/guix/build-system/composer.scm new file mode 100644 index 0000000000..0299f11906 --- /dev/null +++ b/guix/build-system/composer.scm @@ -0,0 +1,173 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. +(define-module (guix build-system composer) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (%composer-build-system-modules + lower + composer-build + composer-build-system)) + +;; Commentary: +;; +;; Standard build procedure for PHP packages using Composer. This is imple= mented +;; as an extension of `gnu-build-system'. +;; +;; Code: + +(define (default-php) + "Return the default PHP package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages php)))) + (module-ref module 'php))) + +(define (default-findclass) + "Return the default findclass script." + (search-auxiliary-file "findclass.php")) + +(define (default-composer-classloader) + "Return the default composer-classloader package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages php-xyz)))) + (module-ref module 'composer-classloader))) + +(define %composer-build-system-modules + ;; Build-side modules imported by default. + `((guix build composer-build-system) + (guix build union) + (json) + (json builder) + (json parser) + (json record) + ,@%gnu-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (php (default-php)) + (composer-classloader (default-composer-classloader)) + (findclass (default-findclass)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:source #:target #:php #:composer-classloader #:findclass #:inputs = #:native-inputs)) + + (and (not target) ;XXX: no cross-compilati= on + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (build-inputs `(("php" ,php) + ("findclass.php" ,findclass) + ("composer-classloader" ,composer-classloader) + ,@native-inputs)) + (outputs outputs) + (build composer-build) + (arguments (strip-keyword-arguments private-keywords arguments)))= )) + +(define* (composer-build store name inputs + #:key (guile #f) + (outputs '("out")) (configure-flags ''()) + (search-paths '()) + (out-of-source? #t) + (composer-file "composer.json") + (tests? #t) + (test-target "test") + (install-target "install") + (validate-runpath? #t) + (patch-shebangs? #t) + (strip-binaries? #t) + (strip-flags ''("--strip-debug")) + (strip-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (phases '(@ (guix build composer-build-system) + %standard-phases)) + (system (%current-system)) + (imported-modules %composer-build-system-modules) + (modules '((guix build composer-build-system) + (guix build utils) + (json)))) + "Build SOURCE using PHP, and with INPUTS. This assumes that SOURCE provi= des +a 'composer.json' file as its build system." + (define builder + `(begin + (use-modules ,@modules) + (composer-build #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:outputs %outputs + #:inputs %build-inputs + #:search-paths ',(map search-path-specification->se= xp + search-paths) + #:phases ,phases + #:out-of-source? ,out-of-source? + #:composer-file ,composer-file + #:tests? ,tests? + #:test-target ,test-target + #:install-target ,install-target + #:validate-runpath? ,validate-runpath? + #:patch-shebangs? ,patch-shebangs? + #:strip-binaries? ,strip-binaries? + #:strip-flags ,strip-flags + #:strip-directories ,strip-directories))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs inputs + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define composer-build-system + (build-system + (name 'composer) + (description "The standard Composer build system") + (lower lower))) + +;;; composer.scm ends here diff --git a/guix/build/composer-build-system.scm b/guix/build/composer-bui= ld-system.scm new file mode 100644 index 0000000000..1af5e59b81 --- /dev/null +++ b/guix/build/composer-build-system.scm @@ -0,0 +1,241 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build composer-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (ice-9 match) + #:use-module (json) + #:use-module (srfi srfi-26) + #:export (%standard-phases + composer-build)) + +;; Commentary: +;; +;; Builder-side code of the standard composer build procedure. +;; +;; Code: + +(define (json->require dict) + (if dict + (let loop ((result '()) (require dict)) + (match require + (() result) + ((((? (cut string-contains <> "/") name) . _) + require ...) + (loop (cons name result) require)) + ((_ require ...) (loop result require)))) + '())) + +(define-json-mapping <composer-autoload> make-composer-autoload composer-a= utoload? + json->composer-autoload + (psr-4 composer-autoload-psr-4 "psr-4" + (match-lambda + (#f '()) + (psr-4 psr-4))) + (classmap composer-autoload-classmap "classmap" + (match-lambda + (#f '()) + (#(lst ...) lst)))) + +(define-json-mapping <composer-package> make-composer-package composer-pac= kage? + json->composer-package + (name composer-package-name) + (autoload composer-package-autoload "autoload" json->composer-autolo= ad) + (autoload-dev composer-package-autoload-dev "autoload-dev" json->compose= r-autoload) + (require composer-package-require "require" json->require) + (dev-require composer-package-dev-require "require-dev" json->require) + (scripts composer-package-scripts "scripts" + (match-lambda + (#f '()) + ((scripts ...) scripts))) + (binaries composer-package-binaries "bin" + (match-lambda + (#f '()) + (#(lst ...) lst)))) + +(define* (read-package-data #:key (filename "composer.json")) + (call-with-input-file filename + (lambda (port) + (json->composer-package (json->scm port))))) + +(define* (check #:key composer-file inputs outputs tests? test-target #:al= low-other-keys) + "Install the given package." + (when tests? + (mkdir-p "vendor") + (create-autoload (string-append (getcwd) "/vendor") composer-file + (append inputs outputs) #:dev-dependencies? #t) + (let* ((package-data (read-package-data #:filename composer-file)) + (scripts (composer-package-scripts package-data)) + (test-script (assoc-ref scripts test-target)) + (dependencies (composer-package-require package-data)) + (dependencies-dev (composer-package-dev-require package-data)) + (name (composer-package-name package-data))) + (for-each + (match-lambda + ((_ . input) + (let ((bin (find-php-bin input))) + (when bin + (copy-recursively bin "vendor/bin"))))) + inputs) + (match test-script + ((? string? command) + (unless (zero? (system command)) + (throw 'failed-command command))) + (('@ (? string? command) ...) + (for-each + (lambda (c) + (unless (zero? (system c)) + (throw 'failed-command c))) + command)) + (#f (invoke "vendor/bin/phpunit"))))) + #t) + +(define (find-php-bin input) + (let* ((web-dir (string-append input "/share/web")) + (vendors (if (file-exists? web-dir) + (find-files web-dir "^vendor$" #:directories? #t) + #f))) + (match vendors + ((vendor) + (let ((bin (string-append vendor "/bin"))) + (and (file-exists? bin) bin))) + (_ #f)))) + +(define (find-php-dep inputs dependency) + (let loop ((inputs inputs)) + (match inputs + (() (throw 'unsatisfied-dependency "Unsatisfied dependency: required= " + dependency)) + (((_ . input) inputs ...) + (let ((autoload (string-append input "/share/web/" dependency + "/vendor/autoload_conf.php"))) + (if (file-exists? autoload) + autoload + (loop inputs))))))) + +(define* (create-autoload vendor composer-file inputs #:key dev-dependenci= es?) + "creates an autoload.php file that sets up the class locations for this = package, +so it can be autoloaded by PHP when the package classes are required." + (with-output-to-file (string-append vendor "/autoload.php") + (lambda _ + (display (string-append + "<?php +// autoload.php @generated by Guix +$map =3D $psr4map =3D $classmap =3D array(); +require_once '" vendor "/autoload_conf.php' +require_once '" (assoc-ref inputs "composer-classloader") "/share/web/comp= oser/ClassLoader.php' +$loader =3D new \\Composer\\Autoload\\ClassLoader(); +foreach ($map as $namespace =3D> $path) { + $loader->set($namespace, $path); +} +foreach ($psr4map as $namespace =3D> $path) { + $loader->setPsr4($namespace, $path); +} +$loader->addClassMap($classmap); +$loader->register(); +")))) + ;; Now, create autoload_conf.php that contains the actual data, as a set + ;; of arrays + (let* ((package-data (read-package-data #:filename composer-file)) + (autoload (composer-package-autoload package-data)) + (autoload-dev (composer-package-autoload-dev package-data)) + (dependencies (composer-package-require package-data)) + (dependencies-dev (composer-package-dev-require package-data))) + (with-output-to-file (string-append vendor "/autoload_conf.php") + (lambda _ + (format #t "<?php~%") + (format #t "// autoload_conf.php @generated by Guix~%") + (force-output) + (for-each + (lambda (psr4) + (match psr4 + ((key . value) + (format #t "$psr4map['~a'] =3D '~a/../~a';~%" + (string-join (string-split key #\\) "\\\\") + vendor value)))) + (append + (composer-autoload-psr-4 autoload) + (if dev-dependencies? + (composer-autoload-psr-4 autoload-dev) + '()))) + (for-each + (lambda (classmap) + (for-each + (lambda (file) + (invoke "php" (assoc-ref inputs "findclass.php") + "-i" (string-append vendor "/..") "-f" file)) + (find-files classmap ".(php|hh|inc)$"))) + (append + (composer-autoload-classmap autoload) + (if dev-dependencies? + (composer-autoload-classmap autoload-dev) + '()))) + (for-each + (lambda (dep) + (format #t "require_once '~a';~%" (find-php-dep inputs dep))) + (append + dependencies + (if dev-dependencies? + dependencies-dev + '()))))))) + +(define* (install #:key inputs outputs composer-file #:allow-other-keys) + "Install the given package." + (let* ((out (assoc-ref outputs "out")) + (package-data (read-package-data #:filename composer-file)) + (name (composer-package-name package-data)) + (php-dir (string-append out "/share/web/" name)) + (bin-dir (string-append php-dir "/vendor/bin")) + (bin (string-append out "/bin")) + (binaries (composer-package-binaries package-data))) + (mkdir-p php-dir) + (copy-recursively "." php-dir) + (mkdir-p (string-append php-dir "/vendor")) + (when binaries + (mkdir-p bin-dir) + (mkdir-p bin) + (for-each + (lambda (file) + (let ((installed-file (string-append bin-dir "/" (basename fil= e))) + (bin-file (string-append bin "/" (basename file))) + (original-file (string-append php-dir "/" file))) + (symlink original-file installed-file) + (symlink original-file bin-file))) + binaries)) + (create-autoload (string-append php-dir "/vendor") + composer-file inputs)) + #t) + +(define %standard-phases + ;; Everything is as with the GNU Build System except for the `configure' + ;; , `build', `check' and `install' phases. + (modify-phases gnu:%standard-phases + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install install) + (add-after 'install 'check check))) + +(define* (composer-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + +;;; composer-build-system.scm ends here --=20 2.28.0 --MP_/wX.Yq./3HOZ_fNNuuCidCBh--
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 25 Sep 2020 10:34:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 06:34:13 2020 Received: from localhost ([127.0.0.1]:42784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kLl3N-0006SN-2a for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 06:34:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kLl3L-0006SA-K9 for 42338 <at> debbugs.gnu.org; Fri, 25 Sep 2020 06:34:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:56389) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kLl3G-00012x-3v; Fri, 25 Sep 2020 06:34:06 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60868 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kLl37-0000S9-Tj; Fri, 25 Sep 2020 06:34:04 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> <87eemz1nib.fsf@HIDDEN> <20200919012420.301201e8@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 4 =?utf-8?Q?Vend=C3=A9miaire?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 25 Sep 2020 12:33:56 +0200 In-Reply-To: <20200919012420.301201e8@HIDDEN> (Julien Lepiller's message of "Sat, 19 Sep 2020 01:24:20 +0200") Message-ID: <87eemq16y3.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi, Julien Lepiller <julien@HIDDEN> skribis: > Le Fri, 18 Sep 2020 10:45:48 +0200, > Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : > >> Hi, >>=20 >> Julien Lepiller <julien@HIDDEN> skribis: >>=20 >> > + (let* ((package-data (read-package-data #:filename >> > composer-file)) >> > + (scripts (match (assoc-ref package-data "scripts") >> > + (('@ script ...) script) >> > + (#f '()))) >> > + (test-script >> > + (assoc-ref scripts test-target)) >> > + (dependencies (filter (lambda (dep) (string-contains >> > dep "/")) >> > + (map car >> > + (match (assoc-ref >> > package-data "require") >> > + (('@ dependency ...) >> > dependency) >> > + (#f '()))))) >> > + (dependencies-dev >> > + (filter (lambda (dep) (string-contains dep "/")) >> > + (map car >> > + (match (assoc-ref package-data >> > "require-dev") >> > + (('@ dependency ...) dependency) >> > + (#f '()))))) >> > + (name (assoc-ref package-data "name")))=20=20 >>=20 >> This is also a case for =E2=80=98define-json-mapping=E2=80=99. I suppos= e we could use >> Guile-JSON instead of (guix build json), no? >>=20 >> I think this code and similar occurrences would be less intimidating >> if we used =E2=80=98define-json-mapping=E2=80=99; it would make the data= structures >> clearer, unlike here where one has to keep in mind what the list/tree >> looks like so they can map car/cdr around. > > I think we already tried that with the node build system, but we had to > revert, because we were importing guile-json from the host side. I > don't remember the details though, so if you think it's OK now, I'll > gladly make the code look nicer :) Yes please. :-) I think code full of alists/dictionaries would be hard to read and to maintain since mistakes could end up being silently ignored or lead to a wrong-type-#f error far down the road. Also please remember to avoid car/cdr: https://guix.gnu.org/manual/en/html_node/Data-Types-and-Pattern-Matching.= html As for Guile-JSON: perhaps you can post a draft that we can play with to see if there=E2=80=99s anything wrong, but off the top of my head I don=E2= =80=99t see why it wouldn=E2=80=99t work. >> > + (match test-script >> > + ((? string? command) >> > + (unless (equal? (system command) 0) >> > + (throw 'failed-command command))) >> > + (('@ (? string? command) ...) >> > + (for-each >> > + (lambda (c) >> > + (unless (equal? (system c) 0) >> > + (throw 'failed-command c))) >> > + command))=20=20 >>=20 >> Use (zero? x) instead of (equal? 0 x). >>=20 >> Also, why not use =E2=80=98invoke=E2=80=99? I this because these comman= ds are really >> shell commands and expect things like glob patterns and tilde >> expansion? If these are not shell commands, I recommend =E2=80=98invoke= =E2=80=99, >> which will report failures more nicely. > > Here I have a single string that contains shell commands, so I don't > think I can use invoke. =E2=80=98system=E2=80=99 passes the string to =E2=80=9Csh -c=E2=80=9D, whic= h means the string is subject to shelly things: glob expansion, semicolon interpretation, string quotation, etc. If those strings are meant to be shell-interpreted, then passing them to =E2=80=98system=E2=80=99 is the right thing. Otherwise, it should be avoid= ed IMO. Thanks, Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 25 Sep 2020 10:27:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 25 06:27:16 2020 Received: from localhost ([127.0.0.1]:42776 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kLkwe-000495-0s for submit <at> debbugs.gnu.org; Fri, 25 Sep 2020 06:27:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38218) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kLkwd-00048u-0t for 42338 <at> debbugs.gnu.org; Fri, 25 Sep 2020 06:27:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55944) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kLkwW-0000HE-KO; Fri, 25 Sep 2020 06:27:08 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60850 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kLkwR-0007bR-4B; Fri, 25 Sep 2020 06:27:05 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 01/34] guix: import: Add composer importer. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <87mu21heay.fsf@HIDDEN> <20200918004333.127aa5da@HIDDEN> <87sgbf1o5w.fsf@HIDDEN> <20200919012055.1b2e686f@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 4 =?utf-8?Q?Vend=C3=A9miaire?= an 229 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 25 Sep 2020 12:27:01 +0200 In-Reply-To: <20200919012055.1b2e686f@HIDDEN> (Julien Lepiller's message of "Sat, 19 Sep 2020 01:20:55 +0200") Message-ID: <87lfgy179m.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Julien, Julien Lepiller <julien@HIDDEN> skribis: > From 70b9cb2bb389f3e5f9dcc75a44d7d60c28f997bc Mon Sep 17 00:00:00 2001 > From: Julien Lepiller <julien@HIDDEN> > Date: Tue, 29 Oct 2019 08:07:38 +0100 > Subject: [PATCH 01/34] guix: import: Add composer importer. > > * guix/import/composer.scm: New file. > * guix/scripts/import/composer.scm: New file. > * guix/tests/composer.scm: New file. > * Makefile.am: Add them. > * guix/scripts/import.scm: Add composer importer. > * doc/guix.texi (Invoking guix import): Mention it. [...] > +@cindex PHP > +Import metadat from the @uref{https://getcomposer.org/, Composer} package ^ Typo. > +(define* (composer-fetch name #:optional version) > + "Return an alist representation of the Composer metadata for the packa= ge NAME, > +or #f on failure." > + (let ((package (json-fetch > + (string-append (%composer-base-url) "/p/" name ".json= ")))) > + (if package > + (let* ((packages (assoc-ref package "packages")) > + (package (or (assoc-ref packages name) package)) > + (versions (filter > + (lambda (version) > + (and (not (string-contains version "dev")) > + (not (string-contains version "beta"))= )) > + (map car package))) > + (version (or (if (null? version) #f version) > + (latest-version versions)))) > + (assoc-ref package version)) > + #f))) I think this should directly return a <composer-package> since the all the callers pass the alist through =E2=80=98json->composer-package=E2=80=99= . The idea is that alists should be converted to records as soon as they enter the process. Also it=E2=80=99s weird that =E2=80=98package=E2=80=99 above has a =E2=80= =9Cpackages=E2=80=9D (plural) entry. Perhaps we=E2=80=99re missing another JSON mapping? [...] > +++ b/guix/scripts/import/composer.scm > @@ -0,0 +1,107 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright =C2=A9 2015 David Thompson <davet@HIDDEN> > +;;; Copyright =C2=A9 2018 Oleg Pykhalov <go.wigust@HIDDEN> You can preserve these two lines if you think it=E2=80=99s relevant, but I= =E2=80=99d suggest adding one for yourself. OK to push with changes along these lines. Thanks for taking the time to convert to =E2=80=98define-json-mapping=E2=80= =99 and all! Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 18 Sep 2020 23:24:33 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 18 19:24:33 2020 Received: from localhost ([127.0.0.1]:45343 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kJPk0-0001zf-VJ for submit <at> debbugs.gnu.org; Fri, 18 Sep 2020 19:24:33 -0400 Received: from lepiller.eu ([89.234.186.109]:45370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1kJPjz-0001zX-9b for 42338 <at> debbugs.gnu.org; Fri, 18 Sep 2020 19:24:31 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 3ca00baf; Fri, 18 Sep 2020 23:24:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=2vm6zjelqGCW EGpKnTmnH/4eFtLtrchGKJuLJZAxaqA=; b=ZHtswwonl9gcevuPz3TzA/8iHeVo bkjLiJUXjpIaTohjGVNL0+V8VGzvI+NWQzIwLir15lIxBOszFoXUSW74CwfkzVUA FeuB5aFaljEotlyEPinvRa8xtl1ht522xh4RtV/Otvqxb9k7ksSJsyqx9F2ogVo5 mBvxEjAg+3vpRuJaMJ7F+wcWMx8lY0jqijpQHYHBwH5WVzBQjRzw2/NIm13hK90/ tAt/RLJCF1C00IT/ckWDehxWihl5tP1Qnoxj9DciSfV8OggHVhUZWBQgsGhVFzn7 bRC4AOuyAYiqZVgrBC+LsnnYXLnKWhTrxBWlD3VwySJbA/OnVTuayYuCIw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id cd75d289 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Fri, 18 Sep 2020 23:24:29 +0000 (UTC) Date: Sat, 19 Sep 2020 01:24:20 +0200 From: Julien Lepiller <julien@HIDDEN> To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= <ludo@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. Message-ID: <20200919012420.301201e8@HIDDEN> In-Reply-To: <87eemz1nib.fsf@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> <87eemz1nib.fsf@HIDDEN> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Le Fri, 18 Sep 2020 10:45:48 +0200, Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : > Hi, >=20 > Julien Lepiller <julien@HIDDEN> skribis: >=20 > > + (let* ((package-data (read-package-data #:filename > > composer-file)) > > + (scripts (match (assoc-ref package-data "scripts") > > + (('@ script ...) script) > > + (#f '()))) > > + (test-script > > + (assoc-ref scripts test-target)) > > + (dependencies (filter (lambda (dep) (string-contains > > dep "/")) > > + (map car > > + (match (assoc-ref > > package-data "require") > > + (('@ dependency ...) > > dependency) > > + (#f '()))))) > > + (dependencies-dev > > + (filter (lambda (dep) (string-contains dep "/")) > > + (map car > > + (match (assoc-ref package-data > > "require-dev") > > + (('@ dependency ...) dependency) > > + (#f '()))))) > > + (name (assoc-ref package-data "name"))) =20 >=20 > This is also a case for =E2=80=98define-json-mapping=E2=80=99. I suppose= we could use > Guile-JSON instead of (guix build json), no? >=20 > I think this code and similar occurrences would be less intimidating > if we used =E2=80=98define-json-mapping=E2=80=99; it would make the data = structures > clearer, unlike here where one has to keep in mind what the list/tree > looks like so they can map car/cdr around. I think we already tried that with the node build system, but we had to revert, because we were importing guile-json from the host side. I don't remember the details though, so if you think it's OK now, I'll gladly make the code look nicer :) >=20 > > + (for-each > > + (lambda (input) =20 >=20 > Like for =E2=80=98map=E2=80=99, please indent on the same line: >=20 > (for-each (lambda (input) >=20 > > + (match test-script > > + ((? string? command) > > + (unless (equal? (system command) 0) > > + (throw 'failed-command command))) > > + (('@ (? string? command) ...) > > + (for-each > > + (lambda (c) > > + (unless (equal? (system c) 0) > > + (throw 'failed-command c))) > > + command)) =20 >=20 > Use (zero? x) instead of (equal? 0 x). >=20 > Also, why not use =E2=80=98invoke=E2=80=99? I this because these command= s are really > shell commands and expect things like glob patterns and tilde > expansion? If these are not shell commands, I recommend =E2=80=98invoke= =E2=80=99, > which will report failures more nicely. Here I have a single string that contains shell commands, so I don't think I can use invoke.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 18 Sep 2020 23:21:16 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 18 19:21:16 2020 Received: from localhost ([127.0.0.1]:45335 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kJPgl-0001uY-FJ for submit <at> debbugs.gnu.org; Fri, 18 Sep 2020 19:21:16 -0400 Received: from lepiller.eu ([89.234.186.109]:45360) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1kJPgh-0001uM-LZ for 42338 <at> debbugs.gnu.org; Fri, 18 Sep 2020 19:21:10 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 1599ee07; Fri, 18 Sep 2020 23:21:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type; s=dkim; bh=d9OJKWHtNuimwvGYuacxUtDtYOKA0IAbcKDbJe a7BWg=; b=VFiFaxPagrAZ3xp6/X4Xkl4FnrW8G76tlBxoMqPQG9g+YTkxi99/eC g6p1+dJb6SH/8wWSv8dq/NgBu9ayGoMOj1V8OtNa9emt55CYu/rhLBbj2xFy2QAE wPmmCYCKHdSWU/iv/lJeezVdgjzoH+5d7Fth+/uDPLs9oPz+g0Afq0SGksjq5WrN qs/AUj0AGuy9fqJmZNvtbnm1x3ReSR0oXGpolrvTonV4cYd4pisR0+/JaXf33g51 eh6RmsTKyBRycPWtDgEziybyk5ZI1LxTkOrgHIaEQgQtPIO383DGZdpTB6MtTElE MlubApr1EaH/ssPN05hQeM5KjKjFATvw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id ab9ff704 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Fri, 18 Sep 2020 23:21:04 +0000 (UTC) Date: Sat, 19 Sep 2020 01:20:55 +0200 From: Julien Lepiller <julien@HIDDEN> To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= <ludo@HIDDEN> Subject: Re: [bug#42338] [PATCH 01/34] guix: import: Add composer importer. Message-ID: <20200919012055.1b2e686f@HIDDEN> In-Reply-To: <87sgbf1o5w.fsf@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <87mu21heay.fsf@HIDDEN> <20200918004333.127aa5da@HIDDEN> <87sgbf1o5w.fsf@HIDDEN> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/0LhbN0ey7AXzR3WziH.SLMv" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --MP_/0LhbN0ey7AXzR3WziH.SLMv Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Fri, 18 Sep 2020 10:31:39 +0200, Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : > Hi! >=20 > Julien Lepiller <julien@HIDDEN> skribis: >=20 > > From 6d521ca9f066f82488abefd5d3630e38305c0fd1 Mon Sep 17 00:00:00 > > 2001 From: Julien Lepiller <julien@HIDDEN> > > Date: Tue, 29 Oct 2019 08:07:38 +0100 > > Subject: [PATCH 01/34] guix: import: Add composer importer. > > > > * guix/import/composer.scm: New file. > > * guix/scripts/import/composer.scm: New file. > > * guix/tests/composer.scm: New file. > > * Makefile.am: Add them. > > * guix/scripts/import.scm: Add composer importer. > > * doc/guix.texi (Invoking guix import): Mention it. =20 >=20 > [...] >=20 > > +@item composer > > +@cindex COMPOSER =20 >=20 > s/COMPOSER/Composer/ ? >=20 > > +Import metadat from the @uref{https://getcomposer.org/, Composer} > > package =20 > ^ > metadata >=20 > > +archive used by the PHP community. =20 >=20 > Could you add an example command line like we have for some of the > other importers? (It=E2=80=99s also useful for us as a test against the > actual servers=E2=80=A6) >=20 > > + (let ((package (json-fetch > > + (string-append (%composer-base-url) "/p/" name > > ".json")))) > > + (if package > > + (let* ((packages (assoc-ref package "packages")) > > + (package (assoc-ref packages name)) > > + (versions (filter > > + (lambda (version) > > + (and (not (string-contains version > > "dev")) > > + (not (string-contains version > > "beta")))) > > + (map car package))) =20 >=20 > Like I wrote before, I recommend =E2=80=98define-json-mapping=E2=80=99. = If you prefer > you can make that change later on once you=E2=80=99ve pushed this first > version, but I really think it=E2=80=99ll help maintainability. >=20 > This should also help avoid (map car =E2=80=A6), which is frowned upon in > Guix. :-) >=20 > > + (versions (map > > + (lambda (version) =20 >=20 > Rather indent as: (map (lambda (version) >=20 > Otherwise LGTM! =20 >=20 > Ludo=E2=80=99. Thanks, here's a new version --MP_/0LhbN0ey7AXzR3WziH.SLMv Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-guix-import-Add-composer-importer.patch =46rom 70b9cb2bb389f3e5f9dcc75a44d7d60c28f997bc Mon Sep 17 00:00:00 2001 From: Julien Lepiller <julien@HIDDEN> Date: Tue, 29 Oct 2019 08:07:38 +0100 Subject: [PATCH 01/34] guix: import: Add composer importer. * guix/import/composer.scm: New file. * guix/scripts/import/composer.scm: New file. * guix/tests/composer.scm: New file. * Makefile.am: Add them. * guix/scripts/import.scm: Add composer importer. * doc/guix.texi (Invoking guix import): Mention it. --- Makefile.am | 3 + doc/guix.texi | 11 ++ guix/import/composer.scm | 270 +++++++++++++++++++++++++++++++ guix/scripts/import.scm | 2 +- guix/scripts/import/composer.scm | 107 ++++++++++++ tests/composer.scm | 92 +++++++++++ 6 files changed, 484 insertions(+), 1 deletion(-) create mode 100644 guix/import/composer.scm create mode 100644 guix/scripts/import/composer.scm create mode 100644 tests/composer.scm diff --git a/Makefile.am b/Makefile.am index 8e91e1e558..6ce1430ea6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -223,6 +223,7 @@ MODULES =3D \ guix/search-paths.scm \ guix/packages.scm \ guix/import/cabal.scm \ + guix/import/composer.scm \ guix/import/cpan.scm \ guix/import/cran.scm \ guix/import/crate.scm \ @@ -269,6 +270,7 @@ MODULES =3D \ guix/scripts/system/reconfigure.scm \ guix/scripts/lint.scm \ guix/scripts/challenge.scm \ + guix/scripts/import/composer.scm \ guix/scripts/import/crate.scm \ guix/scripts/import/cran.scm \ guix/scripts/import/elpa.scm \ @@ -402,6 +404,7 @@ SCM_TESTS =3D \ tests/challenge.scm \ tests/channels.scm \ tests/combinators.scm \ + tests/composer.scm \ tests/containers.scm \ tests/cpan.scm \ tests/cpio.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 88128a4b3a..5d29567153 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10164,6 +10164,17 @@ in Guix. @cindex OCaml Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package repository used by the OCaml community. + +@item composer +@cindex Composer +@cindex PHP +Import metadat from the @uref{https://getcomposer.org/, Composer} package +archive used by the PHP community, as in this example: + +@example +guix import composer phpunit/phpunit +@end example + @end table =20 The structure of the @command{guix import} code is modular. It would be diff --git a/guix/import/composer.scm b/guix/import/composer.scm new file mode 100644 index 0000000000..9b284d0dd2 --- /dev/null +++ b/guix/import/composer.scm @@ -0,0 +1,270 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix import composer) + #:use-module (ice-9 match) + #:use-module (json) + #:use-module (gcrypt hash) + #:use-module (guix base32) + #:use-module (guix build git) + #:use-module (guix build utils) + #:use-module (guix build-system) + #:use-module (guix import json) + #:use-module (guix import utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix serialization) + #:use-module (guix upstream) + #:use-module (guix utils) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:export (composer->guix-package + %composer-updater + composer-recursive-import + + %composer-base-url)) + +(define %composer-base-url + (make-parameter "https://repo.packagist.org")) + +;; XXX adapted from (guix scripts hash) +(define (file-hash file select? recursive?) + ;; Compute the hash of FILE. + (if recursive? + (let-values (((port get-hash) (open-sha256-port))) + (write-file file port #:select? select?) + (force-output port) + (get-hash)) + (call-with-input-file file port-sha256))) + +;; XXX taken from (guix scripts hash) +(define (vcs-file? file stat) + (case (stat:type stat) + ((directory) + (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS"))) + ((regular) + ;; Git sub-modules have a '.git' file that is a regular text file. + (string=3D? (basename file) ".git")) + (else + #f))) + +(define (fix-version version) + "Return a fixed version from a version string. For instance, v10.1 -> 1= 0.1" + (cond + ((string-prefix? "version" version) + (if (char-set-contains? char-set:digit (string-ref version 7)) + (substring version 7) + (substring version 8))) + ((string-prefix? "v" version) + (substring version 1)) + (else version))) + +(define (latest-version versions) + (fold (lambda (a b) (if (version>? (fix-version a) (fix-version b)) a b)) + (car versions) versions)) + +(define (json->require dict) + (if dict + (let loop ((result '()) (require dict)) + (match require + (() result) + ((((? (cut string-contains <> "/") name) . _) + require ...) + (loop (cons name result) require)) + ((_ require ...) (loop result require)))) + '())) + +(define-json-mapping <composer-source> make-composer-source composer-sourc= e? + json->composer-source + (type composer-source-type) + (url composer-source-url) + (reference composer-source-reference)) + +(define-json-mapping <composer-package> make-composer-package composer-pac= kage? + json->composer-package + (description composer-package-description) + (homepage composer-package-homepage) + (source composer-package-source "source" json->composer-source) + (name composer-package-name "name" php-package-name) + (version composer-package-version "version" fix-version) + (require composer-package-require "require" json->require) + (dev-require composer-package-dev-require "require-dev" json->require) + (license composer-package-license "license" + (lambda (vector) + (map string->license (vector->list vector))))) + +(define* (composer-fetch name #:optional version) + "Return an alist representation of the Composer metadata for the package= NAME, +or #f on failure." + (let ((package (json-fetch + (string-append (%composer-base-url) "/p/" name ".json")= ))) + (if package + (let* ((packages (assoc-ref package "packages")) + (package (or (assoc-ref packages name) package)) + (versions (filter + (lambda (version) + (and (not (string-contains version "dev")) + (not (string-contains version "beta")))) + (map car package))) + (version (or (if (null? version) #f version) + (latest-version versions)))) + (assoc-ref package version)) + #f))) + +(define (php-package-name name) + "Given the NAME of a package on Packagist, return a Guix-compliant name = for +the package." + (let ((name (string-join (string-split name #\/) "-"))) + (if (string-prefix? "php-" name) + (snake-case name) + (string-append "php-" (snake-case name))))) + +(define (make-php-sexp composer-package) + "Return the `package' s-expression for a PHP package for the given +COMPOSER-PACKAGE." + (let* ((source (composer-package-source composer-package)) + (dependencies (map php-package-name + (composer-package-require composer-package))) + (dev-dependencies (map php-package-name + (composer-package-dev-require composer-pac= kage))) + (git? (equal? (composer-source-type source) "git"))) + ((if git? call-with-temporary-directory call-with-temporary-output-fil= e) + (lambda* (temp #:optional port) + (and (if git? + (begin + (mkdir-p temp) + (git-fetch (composer-source-url source) + (composer-source-reference source) + temp)) + (url-fetch (composer-source-url source) temp)) + `(package + (name ,(composer-package-name composer-package)) + (version ,(composer-package-version composer-package)) + (source (origin + ,@(if git? + `((method git-fetch) + (uri (git-reference + (url ,(composer-source-url source)) + (commit ,(composer-source-referenc= e source)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + ,(bytevector->nix-base32-string + (file-hash temp (negate vcs-file?) = #t))))) + `((method url-fetch) + (uri ,(composer-source-url source)) + (sha256 (base32 ,(guix-hash-url temp)))))= )) + (build-system composer-build-system) + ,@(if (null? dependencies) + '() + `((inputs + (,'quasiquote + ,(map (lambda (name) + `(,name + (,'unquote + ,(string->symbol name)))) + dependencies))))) + ,@(if (null? dev-dependencies) + '() + `((native-inputs + (,'quasiquote + ,(map (lambda (name) + `(,name + (,'unquote + ,(string->symbol name)))) + dev-dependencies))))) + (synopsis "") + (description ,(composer-package-description composer-packag= e)) + (home-page ,(composer-package-homepage composer-package)) + (license ,(match (composer-package-license composer-package) + (() #f) + ((license) license) + (_ license))))))))) + +(define* (composer->guix-package package-name #:optional version) + "Fetch the metadata for PACKAGE-NAME from packagist.org, and return the +`package' s-expression corresponding to that package, or #f on failure." + (let ((package (composer-fetch package-name version))) + (and package + (let* ((package (json->composer-package package)) + (dependencies-names (composer-package-require package)) + (dev-dependencies-names (composer-package-dev-require pack= age))) + (values (make-php-sexp package) + (append dependencies-names dev-dependencies-names)))))) + +(define (guix-name->composer-name name) + "Given a guix package name, return the name of the package in Packagist." + (if (string-prefix? "php-" name) + (let ((components (string-split (substring name 4) #\-))) + (match components + ((namespace name ...) + (string-append namespace "/" (string-join name "-"))))) + name)) + +(define (guix-package->composer-name package) + "Given a Composer PACKAGE built from Packagist, return the name of the +package in Packagist." + (let ((upstream-name (assoc-ref + (package-properties package) + 'upstream-name)) + (name (package-name package))) + (if upstream-name + upstream-name + (guix-name->composer-name name)))) + +(define (string->license str) + "Convert the string STR into a license object." + (match str + ("GNU LGPL" 'license:lgpl2.0) + ("GPL" 'license:gpl3) + ((or "BSD" "BSD License" "BSD-3-Clause") 'license:bsd-3) + ((or "MIT" "MIT license" "Expat license") 'license:expat) + ("Public domain" 'license:public-domain) + ((or "Apache License, Version 2.0" "Apache 2.0") 'license:asl2.0) + (_ #f))) + +(define (php-package? package) + "Return true if PACKAGE is a PHP package from Packagist." + (and + (eq? (build-system-name (package-build-system package)) 'composer) + (string-prefix? "php-" (package-name package)))) + +(define (latest-release package) + "Return an <upstream-source> for the latest release of PACKAGE." + (let* ((php-name (guix-package->composer-name package)) + (metadata (composer-fetch php-name)) + (package (json->composer-package metadata)) + (version (composer-package-version package)) + (url (composer-source-url (composer-package-source package)))) + (upstream-source + (package (package-name package)) + (version version) + (urls (list url))))) + +(define %composer-updater + (upstream-updater + (name 'composer) + (description "Updater for Composer packages") + (pred php-package?) + (latest latest-release))) + +(define* (composer-recursive-import package-name #:optional version) + (recursive-import package-name '() + #:repo->guix-package composer->guix-package + #:guix-name php-package-name)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 0a3863f965..23da295e48 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -77,7 +77,7 @@ rather than \\n." ;;; =20 (define importers '("gnu" "nix" "pypi" "cpan" "hackage" "stackage" "elpa" = "gem" - "cran" "crate" "texlive" "json" "opam")) + "cran" "crate" "texlive" "json" "opam" "composer")) =20 (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/composer.scm b/guix/scripts/import/compose= r.scm new file mode 100644 index 0000000000..412bae6318 --- /dev/null +++ b/guix/scripts/import/composer.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2015 David Thompson <davet@HIDDEN> +;;; Copyright =C2=A9 2018 Oleg Pykhalov <go.wigust@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix scripts import composer) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import composer) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:use-module (srfi srfi-41) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:export (guix-import-composer)) + +=0C +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import composer PACKAGE-NAME +Import and convert the Composer package for PACKAGE-NAME.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (display (G_ " + -r, --recursive generate package expressions for all Composer pac= kages\ + that are not yet in Guix")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import composer"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + %standard-import-options)) + +=0C +;;; +;;; Entry point. +;;; + +(define (guix-import-composer . args) + (define (parse-options) + ;; Return the alist of option values. + (args-fold* args %options + (lambda (opt name arg result) + (leave (G_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (alist-cons 'argument arg result)) + %default-options)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((package-name) + (if (assoc-ref opts 'recursive) + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (composer-recursive-import package-name)) + (let ((sexp (composer->guix-package package-name))) + (unless sexp + (leave (G_ "failed to download meta-data for package '~a'~%= ") + package-name)) + sexp))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) diff --git a/tests/composer.scm b/tests/composer.scm new file mode 100644 index 0000000000..cefaf9f434 --- /dev/null +++ b/tests/composer.scm @@ -0,0 +1,92 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2020 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (test-composer) + #:use-module (guix import composer) + #:use-module (guix base32) + #:use-module (gcrypt hash) + #:use-module (guix tests http) + #:use-module (guix grafts) + #:use-module (srfi srfi-64) + #:use-module (web client) + #:use-module (ice-9 match)) + +;; Globally disable grafts because they can trigger early builds. +(%graft? #f) + +(define test-json + "{ + \"packages\": { + \"foo/bar\": { + \"0.1\": { + \"name\": \"foo/bar\", + \"description\": \"description\", + \"keywords\": [\"testing\"], + \"homepage\": \"http://example.com\", + \"version\": \"0.1\", + \"license\": [\"BSD-3-Clause\"], + \"source\": { + \"type\": \"url\", + \"url\": \"http://example.com/Bar-0.1.tar.gz\" + }, + \"require\": {}, + \"require-dev\": {\"phpunit/phpunit\": \"1.0.0\"} + } + } + } +}") + +(define test-source + "foobar") + +;; Avoid collisions with other tests. +(%http-server-port 10450) + +(test-begin "composer") + +(test-assert "composer->guix-package" + ;; Replace network resources with sample data. + (with-http-server `((200 ,test-json) + (200 ,test-source)) + (parameterize ((%composer-base-url (%local-url)) + (current-http-proxy (%local-url))) + (match (composer->guix-package "foo/bar") + (('package + ('name "php-foo-bar") + ('version "0.1") + ('source ('origin + ('method 'url-fetch) + ('uri "http://example.com/Bar-0.1.tar.gz") + ('sha256 + ('base32 + (? string? hash))))) + ('build-system 'composer-build-system) + ('native-inputs + ('quasiquote + (("php-phpunit-phpunit" ('unquote 'php-phpunit-phpunit))))) + ('synopsis "") + ('description "description") + ('home-page "http://example.com") + ('license 'license:bsd-3)) + (string=3D? (bytevector->nix-base32-string + (call-with-input-string test-source port-sha256)) + hash)) + (x + (pk 'fail x #f)))))) + +(test-end "composer") --=20 2.28.0 --MP_/0LhbN0ey7AXzR3WziH.SLMv--
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 18 Sep 2020 08:46:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 18 04:46:15 2020 Received: from localhost ([127.0.0.1]:40833 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kJC22-0001hN-PR for submit <at> debbugs.gnu.org; Fri, 18 Sep 2020 04:46:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:59352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kJC20-0001hA-LP for 42338 <at> debbugs.gnu.org; Fri, 18 Sep 2020 04:46:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58880) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kJC1o-0008RW-WE; Fri, 18 Sep 2020 04:46:01 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42002 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kJC1e-0000ae-8W; Fri, 18 Sep 2020 04:45:51 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> <20200918004403.0d755d60@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Jour du Travail de =?utf-8?Q?l'Ann=C3=A9e?= 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 18 Sep 2020 10:45:48 +0200 In-Reply-To: <20200918004403.0d755d60@HIDDEN> (Julien Lepiller's message of "Fri, 18 Sep 2020 00:44:03 +0200") Message-ID: <87eemz1nib.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi, Julien Lepiller <julien@HIDDEN> skribis: > From bb5d102b6ea5e6b5c06bbf90a58927c6180e23bc Mon Sep 17 00:00:00 2001 > From: Julien Lepiller <julien@HIDDEN> > Date: Tue, 29 Oct 2019 20:58:51 +0100 > Subject: [PATCH 03/34] guix: Add composer-build-system. > > * guix/build-system/composer.scm: New file. > * guix/build/composer-build-system.scm: New file. > * gnu/packages/aux-files/findclass.php: New file. > * Makefile.am: Add them. > * doc/guix.texi (Build Systems): Document it. [...] > --- /dev/null > +++ b/gnu/packages/aux-files/findclass.php I can=E2=80=99t believe we=E2=80=99ll have PHP in our code base. :-) > +;;; You should have received a copy of the GNU General Public License > +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. > +(define-module (guix build-system composer) Missing newline. > + (let* ((package-data (read-package-data #:filename composer-file)) > + (scripts (match (assoc-ref package-data "scripts") > + (('@ script ...) script) > + (#f '()))) > + (test-script > + (assoc-ref scripts test-target)) > + (dependencies (filter (lambda (dep) (string-contains dep "/")) > + (map car > + (match (assoc-ref package-data "re= quire") > + (('@ dependency ...) dependency) > + (#f '()))))) > + (dependencies-dev > + (filter (lambda (dep) (string-contains dep "/")) > + (map car > + (match (assoc-ref package-data "require-dev") > + (('@ dependency ...) dependency) > + (#f '()))))) > + (name (assoc-ref package-data "name"))) This is also a case for =E2=80=98define-json-mapping=E2=80=99. I suppose w= e could use Guile-JSON instead of (guix build json), no? I think this code and similar occurrences would be less intimidating if we used =E2=80=98define-json-mapping=E2=80=99; it would make the data struc= tures clearer, unlike here where one has to keep in mind what the list/tree looks like so they can map car/cdr around. > + (for-each > + (lambda (input) Like for =E2=80=98map=E2=80=99, please indent on the same line: (for-each (lambda (input) > + (match test-script > + ((? string? command) > + (unless (equal? (system command) 0) > + (throw 'failed-command command))) > + (('@ (? string? command) ...) > + (for-each > + (lambda (c) > + (unless (equal? (system c) 0) > + (throw 'failed-command c))) > + command)) Use (zero? x) instead of (equal? 0 x). Also, why not use =E2=80=98invoke=E2=80=99? I this because these commands = are really shell commands and expect things like glob patterns and tilde expansion? If these are not shell commands, I recommend =E2=80=98invoke=E2=80=99, whic= h will report failures more nicely. > +(define (find-php-dep inputs dependency) > + (let loop ((inputs (map cdr inputs))) > + (if (null? inputs) > + (throw 'unsatisfied-dependency "Unsatisfied dependency: required= " dependency) > + (let ((autoload (string-append (car inputs) "/share/web/" depend= ency "/vendor/autoload_conf.php"))) > + (if (file-exists? autoload) > + autoload > + (loop (cdr inputs))))))) Please use =E2=80=98match=E2=80=99 instead of car/cdr. > +(define* (create-autoload vendor composer-file inputs #:key dev-dependen= cies?) > + (with-output-to-file (string-append vendor "/autoload.php") > + (lambda _ > + (display "<?php > +// autoload.php @generated by Guix > +$map =3D $psr4map =3D $classmap =3D array(); > +") > + (format #t "require_once '~a/autoload_conf.php'~%" vendor) > + (format #t "require_once '~a/share/web/composer/ClassLoader.php'~%" > + (assoc-ref inputs "composer-classloader")) > + (display "$loader =3D new \\Composer\\Autoload\\ClassLoader(); > +foreach ($map as $namespace =3D> $path) { > + $loader->set($namespace, $path); > +} > +foreach ($psr4map as $namespace =3D> $path) { > + $loader->setPsr4($namespace, $path); > +} > +$loader->addClassMap($classmap); > +$loader->register(); > +"))) Please add a docstring explaining what=E2=80=99s happening here. Also, per= haps use =E2=80=98string-append=E2=80=99 instead of =E2=80=98format=E2=80=99 so = we don=E2=80=99t end up generating things like: require_once '#f/autoload_conf.php' :-) In short, I think we must pay attention to the style to facilitate maintainability. Could you send an updated patch? Thanks! Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 18 Sep 2020 08:31:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Sep 18 04:31:50 2020 Received: from localhost ([127.0.0.1]:40775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kJBo6-0000fV-5d for submit <at> debbugs.gnu.org; Fri, 18 Sep 2020 04:31:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55328) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kJBo3-0000Z2-Mh for 42338 <at> debbugs.gnu.org; Fri, 18 Sep 2020 04:31:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58699) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kJBnx-0006Az-CC; Fri, 18 Sep 2020 04:31:41 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=41992 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kJBnw-00060I-OT; Fri, 18 Sep 2020 04:31:41 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 01/34] guix: import: Add composer importer. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <87mu21heay.fsf@HIDDEN> <20200918004333.127aa5da@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Jour du Travail de =?utf-8?Q?l'Ann=C3=A9e?= 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 18 Sep 2020 10:31:39 +0200 In-Reply-To: <20200918004333.127aa5da@HIDDEN> (Julien Lepiller's message of "Fri, 18 Sep 2020 00:43:33 +0200") Message-ID: <87sgbf1o5w.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi! Julien Lepiller <julien@HIDDEN> skribis: > From 6d521ca9f066f82488abefd5d3630e38305c0fd1 Mon Sep 17 00:00:00 2001 > From: Julien Lepiller <julien@HIDDEN> > Date: Tue, 29 Oct 2019 08:07:38 +0100 > Subject: [PATCH 01/34] guix: import: Add composer importer. > > * guix/import/composer.scm: New file. > * guix/scripts/import/composer.scm: New file. > * guix/tests/composer.scm: New file. > * Makefile.am: Add them. > * guix/scripts/import.scm: Add composer importer. > * doc/guix.texi (Invoking guix import): Mention it. [...] > +@item composer > +@cindex COMPOSER s/COMPOSER/Composer/ ? > +Import metadat from the @uref{https://getcomposer.org/, Composer} package ^ metadata > +archive used by the PHP community. Could you add an example command line like we have for some of the other importers? (It=E2=80=99s also useful for us as a test against the actual s= ervers=E2=80=A6) > + (let ((package (json-fetch > + (string-append (%composer-base-url) "/p/" name ".json= ")))) > + (if package > + (let* ((packages (assoc-ref package "packages")) > + (package (assoc-ref packages name)) > + (versions (filter > + (lambda (version) > + (and (not (string-contains version "dev")) > + (not (string-contains version "beta"))= )) > + (map car package))) Like I wrote before, I recommend =E2=80=98define-json-mapping=E2=80=99. If= you prefer you can make that change later on once you=E2=80=99ve pushed this first ver= sion, but I really think it=E2=80=99ll help maintainability. This should also help avoid (map car =E2=80=A6), which is frowned upon in G= uix. :-) > + (versions (map > + (lambda (version) Rather indent as: (map (lambda (version) Otherwise LGTM!=20=20 Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 17 Sep 2020 22:44:24 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 17 18:44:24 2020 Received: from localhost ([127.0.0.1]:39976 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kJ2dV-0002pj-3Y for submit <at> debbugs.gnu.org; Thu, 17 Sep 2020 18:44:24 -0400 Received: from lepiller.eu ([89.234.186.109]:60166) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1kJ2dR-0002pZ-Lr for 42338 <at> debbugs.gnu.org; Thu, 17 Sep 2020 18:44:15 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 8e4696b9; Thu, 17 Sep 2020 22:44:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type; s=dkim; bh=WiTscoOT/QVLK9no5oR9UOTk4hAom/ba6v+351 hBkzc=; b=DoSWN4Y08gdy7jh7OvZ4prf1oISWCdxC/fWDCroDnD14bDsVDiLOJ/ yvHsUcS5F+RE5L73MuEowsht/uJmpAcXHmqhM4epOuShLt1r7pqNyKPYqpDWCl+I Uc1VlnUpILLf99SU2Qf3eQJ3VjBqY6LhUExJ5ov+FsYpKQPsBybY98OjSNasEYbE QNk0Zm+igRJQLXN+vPV10vELFHZwSiw6tgcnJMl7T7lRgGPFzPn+6wSsClO5usjQ Ie34577OIHfZEV1qEko5Y3dhVUdEqUP6pTSAZMVDOzJmOO6AZhDK9yqMId7RMyOy 46A9pH7QmbKCRwEUXBf0TitwLya+3Jag== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id e796f823 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Thu, 17 Sep 2020 22:44:12 +0000 (UTC) Date: Fri, 18 Sep 2020 00:44:03 +0200 From: Julien Lepiller <julien@HIDDEN> To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= <ludo@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. Message-ID: <20200918004403.0d755d60@HIDDEN> In-Reply-To: <87imcphe6a.fsf@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> <87imcphe6a.fsf@HIDDEN> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/g/9OkOXYbSbP0ceAuztCluC" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --MP_/g/9OkOXYbSbP0ceAuztCluC Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Mon, 07 Sep 2020 16:09:01 +0200, Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : > Julien Lepiller <julien@HIDDEN> skribis: >=20 > > * guix/build-system/composer.scm: New file. > > * guix/build/composer-build-system.scm: New file. > > * guix/build-system/findclass.php: New file. > > * Makefile.am: Add them. > > * doc/guix.texi (Build Systems): Document it. =20 >=20 > [...] >=20 > > +++ b/guix/build-system/findclass.php > > @@ -0,0 +1,102 @@ > > +<?php > > +/** > > + * Extract the classes in the given file > > + * > > + * @param string $path The file to check > > + * @throws \RuntimeException > > + * @return array The found classes > > + */ =20 >=20 > This should rather be under gnu/packages/aux-files IMO. Also, could > you add a copyright header and possibly info as to where it > originates? >=20 > > +(define* (create-autoload vendor composer-file inputs #:key > > dev-dependencies?) > > + (with-output-to-file (string-append vendor "/autoload.php") > > + (lambda _ > > + (format #t "<?php~%") > > + (format #t "// autoload.php @generated by Guix~%") > > + (format #t "$map =3D $psr4map =3D $classmap =3D array();~%") > > + (format #t "require_once '~a/autoload_conf.php';~%" vendor) > > + (format #t "require_once > > '~a/share/web/composer/ClassLoader.php';~%" > > + (assoc-ref inputs "composer-classloader")) > > + (format #t "$loader =3D new > > \\Composer\\Autoload\\ClassLoader();~%") > > + (format #t "foreach ($map as $namespace =3D> $path) {~%") > > + (format #t " $loader->set($namespace, $path);~%") > > + (format #t "}~%") > > + (format #t "foreach ($psr4map as $namespace =3D> $path) {~%") > > + (format #t " $loader->setPsr4($namespace, $path);~%") > > + (format #t "}~%") > > + (format #t "$loader->addClassMap($classmap);~%") > > + (format #t "$loader->register();~%"))) =20 >=20 > I think it=E2=80=99d be clearer as a single string: >=20 > (display "\ > <?php > // autoload.php =E2=80=A6") >=20 > Ludo=E2=80=99. Thanks, here's a new version --MP_/g/9OkOXYbSbP0ceAuztCluC Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0003-guix-Add-composer-build-system.patch =46rom bb5d102b6ea5e6b5c06bbf90a58927c6180e23bc Mon Sep 17 00:00:00 2001 From: Julien Lepiller <julien@HIDDEN> Date: Tue, 29 Oct 2019 20:58:51 +0100 Subject: [PATCH 03/34] guix: Add composer-build-system. * guix/build-system/composer.scm: New file. * guix/build/composer-build-system.scm: New file. * gnu/packages/aux-files/findclass.php: New file. * Makefile.am: Add them. * doc/guix.texi (Build Systems): Document it. --- Makefile.am | 5 +- doc/guix.texi | 14 ++ gnu/packages/aux-files/findclass.php | 125 +++++++++++++++ guix/build-system/composer.scm | 170 ++++++++++++++++++++ guix/build/composer-build-system.scm | 226 +++++++++++++++++++++++++++ 5 files changed, 539 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/aux-files/findclass.php create mode 100644 guix/build-system/composer.scm create mode 100644 guix/build/composer-build-system.scm diff --git a/Makefile.am b/Makefile.am index 6ce1430ea6..5af964b0e9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -115,6 +115,7 @@ MODULES =3D \ guix/build-system/cargo.scm \ guix/build-system/clojure.scm \ guix/build-system/cmake.scm \ + guix/build-system/composer.scm \ guix/build-system/dub.scm \ guix/build-system/dune.scm \ guix/build-system/emacs.scm \ @@ -163,6 +164,7 @@ MODULES =3D \ guix/build/cargo-build-system.scm \ guix/build/cargo-utils.scm \ guix/build/cmake-build-system.scm \ + guix/build/composer-build-system.scm \ guix/build/dub-build-system.scm \ guix/build/dune-build-system.scm \ guix/build/emacs-build-system.scm \ @@ -354,7 +356,8 @@ AUX_FILES =3D \ gnu/packages/aux-files/linux-libre/4.4-i686.conf \ gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \ gnu/packages/aux-files/pack-audit.c \ - gnu/packages/aux-files/run-in-namespace.c + gnu/packages/aux-files/run-in-namespace.c \ + gnu/packages/aux-files/findclass.php =20 # Templates, examples. EXAMPLES =3D \ diff --git a/doc/guix.texi b/doc/guix.texi index ca4eb347c7..6ee4d7e5f0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6941,6 +6941,20 @@ debugging information''), which roughly means that c= ode is compiled with @code{-O2 -g}, as is the case for Autoconf-based packages by default. @end defvr =20 +@defvr {Scheme Variable} composer-build-system +This variable is exported by @code{(guix build-system composer)}. It +implements the build procedure for packages using +@url{https://getcomposer.org/, Composer}, the PHP package manager. + +It automatically adds the @code{php} package to the set of inputs. Which +package is used can be specified with the @code{#:php} parameter. + +The @code{#:test-target} parameter is used to control which script is run +for the tests. By default, the @code{test} script is run if it exists. If +the script does not exist, the build system will run @code{phpunit} from t= he +source directory, assuming there is a @file{phpunit.xml} file. +@end defvr + @defvr {Scheme Variable} dune-build-system This variable is exported by @code{(guix build-system dune)}. It supports builds of packages using @uref{https://dune.build/, Dune}, a build diff --git a/gnu/packages/aux-files/findclass.php b/gnu/packages/aux-files/= findclass.php new file mode 100644 index 0000000000..d0b250c8e1 --- /dev/null +++ b/gnu/packages/aux-files/findclass.php @@ -0,0 +1,125 @@ +<?php +/** + * The content of this file is copied from composer's src/Composer/Autoloa= d/ClassMapGenerator.php + * the findClasses method was extracted, to prevent using any dependency. + * + * Composer (and thus this file) is distributed under the expat license, a= nd + * ClassMapGenerator.php also contains this notice: + * + * This file is part of Composer. + * + * (c) Nils Adermann <naderman@HIDDEN> + * Jordi Boggiano <j.boggiano@HIDDEN> + * + * For the full copyright and license information, please view the LICEN= SE + * file that was distributed with this source code. + * + * This file is copied from the Symfony package. + * + * (c) Fabien Potencier <fabien@HIDDEN> + *=20 + * To the extent to wich it makes sense, as the author of the extract: + * Copyright =C2=A9 2020 Julien Lepiller <julien@HIDDEN> + */ + +/** + * Extract the classes in the given file + * + * @param string $path The file to check + * @throws \RuntimeException + * @return array The found classes + */ +function findClasses($path) +{ + $extraTypes =3D PHP_VERSION_ID < 50400 ? '' : '|trait'; + if (defined('HHVM_VERSION') && version_compare(HHVM_VERSION, '3.3', '>= =3D')) { + $extraTypes .=3D '|enum'; + } + // Use @ here instead of Silencer to actively suppress 'unhelpful' out= put + // @link https://github.com/composer/composer/pull/4886 + $contents =3D @php_strip_whitespace($path); + if (!$contents) { + if (!file_exists($path)) { + $message =3D 'File at "%s" does not exist, check your classmap= definitions'; + } elseif (!is_readable($path)) { + $message =3D 'File at "%s" is not readable, check its permissi= ons'; + } elseif ('' =3D=3D=3D trim(file_get_contents($path))) { + // The input file was really empty and thus contains no classes + return array(); + } else { + $message =3D 'File at "%s" could not be parsed as PHP, it may = be binary or corrupted'; + } + $error =3D error_get_last(); + if (isset($error['message'])) { + $message .=3D PHP_EOL . 'The following message may be helpful:= ' . PHP_EOL . $error['message']; + } + throw new \RuntimeException(sprintf($message, $path)); + } + // return early if there is no chance of matching anything in this file + if (!preg_match('{\b(?:class|interface'.$extraTypes.')\s}i', $contents= )) { + return array(); + } + // strip heredocs/nowdocs + $contents =3D preg_replace('{<<<[ \t]*([\'"]?)(\w+)\\1(?:\r\n|\n|\r)(?= :.*?)(?:\r\n|\n|\r)(?:\s*)\\2(?=3D\s+|[;,.)])}s', 'null', $contents); + // strip strings + $contents =3D preg_replace('{"[^"\\\\]*+(\\\\.[^"\\\\]*+)*+"|\'[^\'\\\= \]*+(\\\\.[^\'\\\\]*+)*+\'}s', 'null', $contents); + // strip leading non-php code if needed + if (substr($contents, 0, 2) !=3D=3D '<?') { + $contents =3D preg_replace('{^.+?<\?}s', '<?', $contents, 1, $repl= acements); + if ($replacements =3D=3D=3D 0) { + return array(); + } + } + // strip non-php blocks in the file + $contents =3D preg_replace('{\?>(?:[^<]++|<(?!\?))*+<\?}s', '?><?', $c= ontents); + // strip trailing non-php code if needed + $pos =3D strrpos($contents, '?>'); + if (false !=3D=3D $pos && false =3D=3D=3D strpos(substr($contents, $po= s), '<?')) { + $contents =3D substr($contents, 0, $pos); + } + // strip comments if short open tags are in the file + if (preg_match('{(<\?)(?!(php|hh))}i', $contents)) { + $contents =3D preg_replace('{//.* | /\*(?:[^*]++|\*(?!/))*\*/}x', = '', $contents); + } + preg_match_all('{ + (?: + \b(?<![\$:>])(?P<type>class|interface'.$extraTypes.') \s++ (?= P<name>[a-zA-Z_\x7f-\xff:][a-zA-Z0-9_\x7f-\xff:\-]*+) + | \b(?<![\$:>])(?P<ns>namespace) (?P<nsname>\s++[a-zA-Z_\x7f-\x= ff][a-zA-Z0-9_\x7f-\xff]*+(?:\s*+\\\\\s*+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-= \xff]*+)*+)? \s*+ [\{;] + ) + }ix', $contents, $matches); + $classes =3D array(); + $namespace =3D ''; + for ($i =3D 0, $len =3D count($matches['type']); $i < $len; $i++) { + if (!empty($matches['ns'][$i])) { + $namespace =3D str_replace(array(' ', "\t", "\r", "\n"), '', $= matches['nsname'][$i]) . '\\'; + } else { + $name =3D $matches['name'][$i]; + // skip anon classes extending/implementing + if ($name =3D=3D=3D 'extends' || $name =3D=3D=3D 'implements')= { + continue; + } + if ($name[0] =3D=3D=3D ':') { + // This is an XHP class, https://github.com/facebook/xhp + $name =3D 'xhp'.substr(str_replace(array('-', ':'), array(= '_', '__'), $name), 1); + } elseif ($matches['type'][$i] =3D=3D=3D 'enum') { + // In Hack, something like: + // enum Foo: int { HERP =3D '123'; } + // The regex above captures the colon, which isn't part of + // the class name. + $name =3D rtrim($name, ':'); + } + $classes[] =3D ltrim($namespace . $name, '\\'); + } + } + return $classes; +} + +$options =3D getopt('i:f:', []); +$file =3D $options["f"]; +$input =3D $options["i"]; + +$classes =3D findClasses($file); +foreach($classes as $class) { + echo '$classmap[\''.$class.'\'] =3D \''.$input.'/'.$file.'\';'; + echo "\n"; +} diff --git a/guix/build-system/composer.scm b/guix/build-system/composer.scm new file mode 100644 index 0000000000..ebc472c717 --- /dev/null +++ b/guix/build-system/composer.scm @@ -0,0 +1,170 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. +(define-module (guix build-system composer) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (gnu packages) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (%composer-build-system-modules + lower + composer-build + composer-build-system)) + +;; Commentary: +;; +;; Standard build procedure for PHP packages using Composer. This is imple= mented +;; as an extension of `gnu-build-system'. +;; +;; Code: + +(define (default-php) + "Return the default PHP package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages php)))) + (module-ref module 'php))) + +(define (default-findclass) + "Return the default findclass script." + (search-auxiliary-file "findclass.php")) + +(define (default-composer-classloader) + "Return the default composer-classloader package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages php-xyz)))) + (module-ref module 'composer-classloader))) + +(define %composer-build-system-modules + ;; Build-side modules imported by default. + `((guix build composer-build-system) + (guix build json) + (guix build union) + ,@%gnu-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (php (default-php)) + (composer-classloader (default-composer-classloader)) + (findclass (default-findclass)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:source #:target #:php #:composer-classloader #:findclass #:inputs = #:native-inputs)) + + (and (not target) ;XXX: no cross-compilati= on + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (build-inputs `(("php" ,php) + ("findclass.php" ,findclass) + ("composer-classloader" ,composer-classloader) + ,@native-inputs)) + (outputs outputs) + (build composer-build) + (arguments (strip-keyword-arguments private-keywords arguments)))= )) + +(define* (composer-build store name inputs + #:key (guile #f) + (outputs '("out")) (configure-flags ''()) + (search-paths '()) + (out-of-source? #t) + (composer-file "composer.json") + (tests? #t) + (test-target "test") + (install-target "install") + (validate-runpath? #t) + (patch-shebangs? #t) + (strip-binaries? #t) + (strip-flags ''("--strip-debug")) + (strip-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (phases '(@ (guix build composer-build-system) + %standard-phases)) + (system (%current-system)) + (imported-modules %composer-build-system-modules) + (modules '((guix build composer-build-system) + (guix build json) + (guix build utils)))) + "Build SOURCE using PHP, and with INPUTS. This assumes that SOURCE provi= des +a 'composer.json' file as its build system." + (define builder + `(begin + (use-modules ,@modules) + (composer-build #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:outputs %outputs + #:inputs %build-inputs + #:search-paths ',(map search-path-specification->se= xp + search-paths) + #:phases ,phases + #:out-of-source? ,out-of-source? + #:composer-file ,composer-file + #:tests? ,tests? + #:test-target ,test-target + #:install-target ,install-target + #:validate-runpath? ,validate-runpath? + #:patch-shebangs? ,patch-shebangs? + #:strip-binaries? ,strip-binaries? + #:strip-flags ,strip-flags + #:strip-directories ,strip-directories))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs inputs + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define composer-build-system + (build-system + (name 'composer) + (description "The standard Composer build system") + (lower lower))) + +;;; composer.scm ends here diff --git a/guix/build/composer-build-system.scm b/guix/build/composer-bui= ld-system.scm new file mode 100644 index 0000000000..f73684f8d5 --- /dev/null +++ b/guix/build/composer-build-system.scm @@ -0,0 +1,226 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build composer-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build json) + #:use-module (guix build utils) + #:use-module (ice-9 match) + #:export (%standard-phases + composer-build)) + +;; Commentary: +;; +;; Builder-side code of the standard composer build procedure. +;; +;; Code: + +(define* (read-package-data #:key (filename "composer.json")) + (call-with-input-file filename + (lambda (port) + (read-json port)))) + +(define* (check #:key composer-file inputs outputs tests? test-target #:al= low-other-keys) + "Install the given package." + (when tests? + (mkdir-p "vendor") + (create-autoload (string-append (getcwd) "/vendor") composer-file + (append inputs outputs) #:dev-dependencies? #t) + (let* ((package-data (read-package-data #:filename composer-file)) + (scripts (match (assoc-ref package-data "scripts") + (('@ script ...) script) + (#f '()))) + (test-script + (assoc-ref scripts test-target)) + (dependencies (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "requ= ire") + (('@ dependency ...) dependency) + (#f '()))))) + (dependencies-dev + (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "require-dev") + (('@ dependency ...) dependency) + (#f '()))))) + (name (assoc-ref package-data "name"))) + (for-each + (lambda (input) + (let ((bin (find-php-bin (cdr input)))) + (when bin + (copy-recursively bin "vendor/bin")))) + inputs) + (match test-script + ((? string? command) + (unless (equal? (system command) 0) + (throw 'failed-command command))) + (('@ (? string? command) ...) + (for-each + (lambda (c) + (unless (equal? (system c) 0) + (throw 'failed-command c))) + command)) + (#f (invoke "vendor/bin/phpunit"))))) + #t) + +(define (find-php-bin input) + (let* ((web-dir (string-append input "/share/web")) + (vendors (if (file-exists? web-dir) + (find-files web-dir "^vendor$" #:directories? #t) + #f))) + (match vendors + ((vendor) + (let ((bin (string-append vendor "/bin"))) + (and (file-exists? bin) bin))) + (_ #f)))) + +(define (find-php-dep inputs dependency) + (let loop ((inputs (map cdr inputs))) + (if (null? inputs) + (throw 'unsatisfied-dependency "Unsatisfied dependency: required "= dependency) + (let ((autoload (string-append (car inputs) "/share/web/" dependen= cy "/vendor/autoload_conf.php"))) + (if (file-exists? autoload) + autoload + (loop (cdr inputs))))))) + +(define* (create-autoload vendor composer-file inputs #:key dev-dependenci= es?) + (with-output-to-file (string-append vendor "/autoload.php") + (lambda _ + (display "<?php +// autoload.php @generated by Guix +$map =3D $psr4map =3D $classmap =3D array(); +") + (format #t "require_once '~a/autoload_conf.php'~%" vendor) + (format #t "require_once '~a/share/web/composer/ClassLoader.php'~%" + (assoc-ref inputs "composer-classloader")) + (display "$loader =3D new \\Composer\\Autoload\\ClassLoader(); +foreach ($map as $namespace =3D> $path) { + $loader->set($namespace, $path); +} +foreach ($psr4map as $namespace =3D> $path) { + $loader->setPsr4($namespace, $path); +} +$loader->addClassMap($classmap); +$loader->register(); +"))) + (let* ((package-data (read-package-data #:filename composer-file)) + (autoload + (match (assoc-ref package-data "autoload") + (('@ autoload ...) autoload) + (#f '()))) + (autoload-dev + (match (assoc-ref package-data "autoload-dev") + (('@ autoload-dev ...) autoload-dev) + (#f '()))) + (dependencies (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "requir= e") + (('@ dependency ...) dependency) + (#f '()))))) + (dependencies-dev + (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "require-dev") + (('@ dependency ...) dependency) + (#f '())))))) + (with-output-to-file (string-append vendor "/autoload_conf.php") + (lambda _ + (format #t "<?php~%") + (format #t "// autoload_conf.php @generated by Guix~%") + (force-output) + (for-each + (lambda (psr4) + (match psr4 + ((key . value) + (format #t "$psr4map['~a'] =3D '~a/../~a';~%" + (string-join (string-split key #\\) "\\\\") + vendor value)))) + (append + (match (assoc-ref autoload "psr-4") + (('@ psr4 ...) psr4) + (#f '())) + (if dev-dependencies? + (match (assoc-ref autoload-dev "psr-4") + (('@ psr4 ...) psr4) + (#f '())) + '()))) + (for-each + (lambda (classmap) + (for-each + (lambda (file) + (invoke "php" (assoc-ref inputs "findclass.php") + "-i" (string-append vendor "/..") "-f" file)) + (find-files classmap ".(php|hh|inc)$"))) + (append + (or (assoc-ref autoload "classmap") '()) + (if dev-dependencies? + (or (assoc-ref autoload-dev "classmap") '()) + '()))) + (for-each + (lambda (dep) + (format #t "require_once '~a';~%" (find-php-dep inputs dep))) + (append + dependencies + (if dev-dependencies? + dependencies-dev + '()))))))) + +(define* (install #:key inputs outputs composer-file #:allow-other-keys) + "Install the given package." + (let* ((out (assoc-ref outputs "out")) + (package-data (read-package-data #:filename composer-file)) + (name (assoc-ref package-data "name")) + (php-dir (string-append out "/share/web/" name)) + (bin-dir (string-append php-dir "/vendor/bin")) + (bin (string-append out "/bin")) + (binaries (assoc-ref package-data "bin"))) + (mkdir-p php-dir) + (copy-recursively "." php-dir) + (mkdir-p (string-append php-dir "/vendor")) + (when binaries + (mkdir-p bin-dir) + (mkdir-p bin) + (for-each + (lambda (file) + (let ((installed-file (string-append bin-dir "/" (basename fil= e))) + (bin-file (string-append bin "/" (basename file))) + (original-file (string-append php-dir "/" file))) + (symlink original-file installed-file) + (symlink original-file bin-file))) + binaries)) + (create-autoload (string-append php-dir "/vendor") + composer-file inputs)) + #t) + +(define %standard-phases + ;; Everything is as with the GNU Build System except for the `configure' + ;; , `build', `check' and `install' phases. + (modify-phases gnu:%standard-phases + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install install) + (add-after 'install 'check check))) + +(define* (composer-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + +;;; composer-build-system.scm ends here --=20 2.28.0 --MP_/g/9OkOXYbSbP0ceAuztCluC--
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 17 Sep 2020 22:43:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Sep 17 18:43:54 2020 Received: from localhost ([127.0.0.1]:39972 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kJ2d3-0002oa-6B for submit <at> debbugs.gnu.org; Thu, 17 Sep 2020 18:43:54 -0400 Received: from lepiller.eu ([89.234.186.109]:60156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1kJ2d0-0002oQ-Sy for 42338 <at> debbugs.gnu.org; Thu, 17 Sep 2020 18:43:48 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 3fb8f51c; Thu, 17 Sep 2020 22:43:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type; s=dkim; bh=wNZQ0+XdWWGsaMA+RR2MlZ8/1Eyqs1IH5r7qqU g8Tjc=; b=ghNrXtkCyHBi+b7eAobLTKJtqOQ+VS7Ejz66Et+eg+P+G74HO/oVzV hGjbZhDtv29nwf6cPLiNv3J6RTCjC1bkJrcrgdho/xlp+dPzBdN+8ZagoXBm8Xx8 dxVMWbVAFDp6wInInmqtlQqtfD8Nwki1GcuXqzP9sBwE/mFppMkio56DCbwa5T2C wvk/k1DEY1occWDzqnvrGdrtyQEafTaemPc4uNIjswYmTN4MATypQaaJFRxJ+7Up /hCGmhnhZqjXVoBkcUsUHWbaxQkNqmkLKcuMwP+ulEBMUhgJLCDHwz1IGW//tbCj zJeTQULxwXotTj01CyPyGuuYR84WbdKQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 8e35d7f8 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Thu, 17 Sep 2020 22:43:44 +0000 (UTC) Date: Fri, 18 Sep 2020 00:43:33 +0200 From: Julien Lepiller <julien@HIDDEN> To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= <ludo@HIDDEN> Subject: Re: [bug#42338] [PATCH 01/34] guix: import: Add composer importer. Message-ID: <20200918004333.127aa5da@HIDDEN> In-Reply-To: <87mu21heay.fsf@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <87mu21heay.fsf@HIDDEN> X-Mailer: Claws Mail 3.17.6 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/Nb0qTNLZeDOi6GOcim.fLs2" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --MP_/Nb0qTNLZeDOi6GOcim.fLs2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Le Mon, 07 Sep 2020 16:06:13 +0200, Ludovic Court=C3=A8s <ludo@HIDDEN> a =C3=A9crit : > Hi Julien, >=20 > There=E2=80=99s a lot of interesting work in here! I=E2=80=99m not famil= iar with PHP; > I=E2=80=99ll just make a bird=E2=80=99s eye review. >=20 > Julien Lepiller <julien@HIDDEN> skribis: >=20 > > * guix/import/composer.scm: New file. > > * guix/scripts/import/composer.scm: New file. > > * Makefile.am: Add them. > > * guix/scripts/import.scm: Add composer importer. =20 >=20 > Please add tests and a mention in =E2=80=9CInvoking guix import=E2=80=9D = in the > manual. >=20 > For tests, a strategy that I think works well is that used in > tests/cpan.scm, where we spawn an HTTP server to mock the real one. >=20 > > +(define* (composer-fetch name #:optional version) > > + "Return an alist representation of the Composer metadata for the > > package NAME, +or #f on failure." > > + (let ((package (json-fetch > > + (string-append "https://repo.packagist.org/p/" > > name ".json")))) > > + (if package > > + (let* ((packages (assoc-ref package "packages")) > > + (package (assoc-ref packages name)) > > + (versions (filter > > + (lambda (version) > > + (and (not (string-contains version > > "dev")) > > + (not (string-contains version > > "beta")))) > > + (map car package))) > > + (versions (map > > + (lambda (version) > > + (cons (fix-version version) version)) > > + versions)) > > + (version (or (if (null? version) #f version) > > + (latest-version (map car versions))))) > > + (assoc-ref package (assoc-ref versions version))) > > + #f))) =20 >=20 > I recommend using =E2=80=98define-json-mapping=E2=80=99 instead of browsi= ng alists: > it=E2=80=99s less error-prone, hides the JSON details away, and leads to = more > readable code. The pypi, crates, cpan importers use it. >=20 > Thanks! >=20 > Ludo=E2=80=99. Thanks, here's a new version --MP_/Nb0qTNLZeDOi6GOcim.fLs2 Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-guix-import-Add-composer-importer.patch =46rom 6d521ca9f066f82488abefd5d3630e38305c0fd1 Mon Sep 17 00:00:00 2001 From: Julien Lepiller <julien@HIDDEN> Date: Tue, 29 Oct 2019 08:07:38 +0100 Subject: [PATCH 01/34] guix: import: Add composer importer. * guix/import/composer.scm: New file. * guix/scripts/import/composer.scm: New file. * guix/tests/composer.scm: New file. * Makefile.am: Add them. * guix/scripts/import.scm: Add composer importer. * doc/guix.texi (Invoking guix import): Mention it. --- Makefile.am | 3 + doc/guix.texi | 6 + guix/import/composer.scm | 257 +++++++++++++++++++++++++++++++ guix/scripts/import.scm | 2 +- guix/scripts/import/composer.scm | 107 +++++++++++++ tests/composer.scm | 92 +++++++++++ 6 files changed, 466 insertions(+), 1 deletion(-) create mode 100644 guix/import/composer.scm create mode 100644 guix/scripts/import/composer.scm create mode 100644 tests/composer.scm diff --git a/Makefile.am b/Makefile.am index 8e91e1e558..6ce1430ea6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -223,6 +223,7 @@ MODULES =3D \ guix/search-paths.scm \ guix/packages.scm \ guix/import/cabal.scm \ + guix/import/composer.scm \ guix/import/cpan.scm \ guix/import/cran.scm \ guix/import/crate.scm \ @@ -269,6 +270,7 @@ MODULES =3D \ guix/scripts/system/reconfigure.scm \ guix/scripts/lint.scm \ guix/scripts/challenge.scm \ + guix/scripts/import/composer.scm \ guix/scripts/import/crate.scm \ guix/scripts/import/cran.scm \ guix/scripts/import/elpa.scm \ @@ -402,6 +404,7 @@ SCM_TESTS =3D \ tests/challenge.scm \ tests/channels.scm \ tests/combinators.scm \ + tests/composer.scm \ tests/containers.scm \ tests/cpan.scm \ tests/cpio.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 88128a4b3a..ca4eb347c7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10164,6 +10164,12 @@ in Guix. @cindex OCaml Import metadata from the @uref{https://opam.ocaml.org/, OPAM} package repository used by the OCaml community. + +@item composer +@cindex COMPOSER +@cindex PHP +Import metadat from the @uref{https://getcomposer.org/, Composer} package +archive used by the PHP community. @end table =20 The structure of the @command{guix import} code is modular. It would be diff --git a/guix/import/composer.scm b/guix/import/composer.scm new file mode 100644 index 0000000000..db8075edb2 --- /dev/null +++ b/guix/import/composer.scm @@ -0,0 +1,257 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix import composer) + #:use-module (ice-9 match) + #:use-module (json) + #:use-module (gcrypt hash) + #:use-module (guix base32) + #:use-module (guix build git) + #:use-module (guix build utils) + #:use-module (guix build-system) + #:use-module (guix import json) + #:use-module (guix import utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix serialization) + #:use-module (guix upstream) + #:use-module (guix utils) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:export (composer->guix-package + %composer-updater + composer-recursive-import + + %composer-base-url)) + +(define %composer-base-url + (make-parameter "https://repo.packagist.org")) + +;; XXX adapted from (guix scripts hash) +(define (file-hash file select? recursive?) + ;; Compute the hash of FILE. + (if recursive? + (let-values (((port get-hash) (open-sha256-port))) + (write-file file port #:select? select?) + (force-output port) + (get-hash)) + (call-with-input-file file port-sha256))) + +;; XXX taken from (guix scripts hash) +(define (vcs-file? file stat) + (case (stat:type stat) + ((directory) + (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS"))) + ((regular) + ;; Git sub-modules have a '.git' file that is a regular text file. + (string=3D? (basename file) ".git")) + (else + #f))) + +(define (latest-version versions) + (fold (lambda (a b) (if (version>? a b) a b)) (car versions) versions)) + +(define (fix-version version) + "Return a fixed version from a version string. For instance, v10.1 -> 1= 0.1" + (cond + ((string-prefix? "version" version) + (if (char-set-contains? char-set:digit (string-ref version 7)) + (substring version 7) + (substring version 8))) + ((string-prefix? "v" version) + (substring version 1)) + (else version))) + +(define* (composer-fetch name #:optional version) + "Return an alist representation of the Composer metadata for the package= NAME, +or #f on failure." + (let ((package (json-fetch + (string-append (%composer-base-url) "/p/" name ".json")= ))) + (if package + (let* ((packages (assoc-ref package "packages")) + (package (assoc-ref packages name)) + (versions (filter + (lambda (version) + (and (not (string-contains version "dev")) + (not (string-contains version "beta")))) + (map car package))) + (versions (map + (lambda (version) + (cons (fix-version version) version)) + versions)) + (version (or (if (null? version) #f version) + (latest-version (map car versions))))) + (assoc-ref package (assoc-ref versions version))) + #f))) + +(define (php-package-name name) + "Given the NAME of a package on Packagist, return a Guix-compliant name = for +the package." + (let ((name (string-join (string-split name #\/) "-"))) + (if (string-prefix? "php-" name) + (snake-case name) + (string-append "php-" (snake-case name))))) + +(define (make-php-sexp name version home-page description dependencies + dev-dependencies licenses source) + "Return the `package' s-expression for a PHP package with the given NAME, +VERSION, HOME-PAGE, DESCRIPTION, DEPENDENCIES, LICENSES and SOURCE." + (let ((git? (equal? (assoc-ref source "type") "git"))) + ((if git? call-with-temporary-directory call-with-temporary-output-fil= e) + (lambda* (temp #:optional port) + (and (if git? + (begin + (mkdir-p temp) + (git-fetch (assoc-ref source "url") + (assoc-ref source "reference") + temp)) + (url-fetch (assoc-ref source "url") temp)) + `(package + (name ,(php-package-name name)) + (version ,version) + (source (origin + ,@(if git? + `((method git-fetch) + (uri (git-reference + (url ,(assoc-ref source "url")) + (commit ,(assoc-ref source "refere= nce")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + ,(bytevector->nix-base32-string + (file-hash temp (negate vcs-file?) = #t))))) + `((method url-fetch) + (uri ,(assoc-ref source "url")) + (sha256 (base32 ,(guix-hash-url temp)))))= )) + (build-system composer-build-system) + ,@(if (null? dependencies) + '() + `((inputs + (,'quasiquote + ,(map (lambda (name) + `(,name + (,'unquote + ,(string->symbol name)))) + dependencies))))) + ,@(if (null? dev-dependencies) + '() + `((native-inputs + (,'quasiquote + ,(map (lambda (name) + `(,name + (,'unquote + ,(string->symbol name)))) + dev-dependencies))))) + (synopsis "") + (description ,description) + (home-page ,home-page) + (license ,(match licenses + (() #f) + ((license) (license->symbol license)) + (_ `(list ,@(map license->symbol licenses))))))= ))))) + +(define* (composer->guix-package package-name #:optional version) + "Fetch the metadata for PACKAGE-NAME from packagist.org, and return the +`package' s-expression corresponding to that package, or #f on failure." + (let ((package (composer-fetch package-name version))) + (and package + (let* ((name (assoc-ref package "name")) + (version (fix-version (assoc-ref package "version"))) + (description (beautify-description + (assoc-ref package "description"))) + (home-page (assoc-ref package "homepage")) + (dependencies-names (filter + (lambda (dep) + (string-contains dep "/")) + (map car (assoc-ref package "require= ")))) + (dependencies (map php-package-name dependencies-names)) + (require-dev (assoc-ref package "require-dev")) + (dev-dependencies-names + (if require-dev + (filter + (lambda (dep) + (string-contains dep "/")) + (map car require-dev)) + '())) + (dev-dependencies (map php-package-name dev-dependencies-n= ames)) + (licenses (map string->license + (vector->list + (assoc-ref package "license"))))) + (values (make-php-sexp name version home-page description depen= dencies + dev-dependencies licenses (assoc-ref pac= kage "source")) + (append dependencies-names dev-dependencies-names)))))) + +(define (guix-name->composer-name name) + "Given a guix package name, return the name of the package in Packagist." + (if (string-prefix? "php-" name) + (let ((components (string-split (substring name 4) #\-))) + (match components + ((namespace name ...) + (string-append namespace "/" (string-join name "-"))))) + name)) + +(define (guix-package->composer-name package) + "Given a Composer PACKAGE built from Packagist, return the name of the +package in Packagist." + (let ((upstream-name (assoc-ref + (package-properties package) + 'upstream-name)) + (name (package-name package))) + (if upstream-name + upstream-name + (guix-name->composer-name name)))) + +(define (string->license str) + "Convert the string STR into a license object." + (match str + ("GNU LGPL" license:lgpl2.0) + ("GPL" license:gpl3) + ((or "BSD" "BSD License" "BSD-3-Clause") license:bsd-3) + ((or "MIT" "MIT license" "Expat license") license:expat) + ("Public domain" license:public-domain) + ((or "Apache License, Version 2.0" "Apache 2.0") license:asl2.0) + (_ #f))) + +(define (php-package? package) + "Return true if PACKAGE is a PHP package from Packagist." + (and + (eq? (build-system-name (package-build-system package)) 'composer) + (string-prefix? "php-" (package-name package)))) + +(define (latest-release package) + "Return an <upstream-source> for the latest release of PACKAGE." + (let* ((php-name (guix-package->composer-name package)) + (metadata (composer-fetch php-name)) + (version (fix-version (assoc-ref metadata "version"))) + (url (assoc-ref (assoc-ref metadata "source") "url"))) + (upstream-source + (package (package-name package)) + (version version) + (urls (list url))))) + +(define %composer-updater + (upstream-updater + (name 'composer) + (description "Updater for Composer packages") + (pred php-package?) + (latest latest-release))) + +(define* (composer-recursive-import package-name #:optional version) + (recursive-import package-name '() + #:repo->guix-package composer->guix-package + #:guix-name php-package-name)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 0a3863f965..23da295e48 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -77,7 +77,7 @@ rather than \\n." ;;; =20 (define importers '("gnu" "nix" "pypi" "cpan" "hackage" "stackage" "elpa" = "gem" - "cran" "crate" "texlive" "json" "opam")) + "cran" "crate" "texlive" "json" "opam" "composer")) =20 (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/composer.scm b/guix/scripts/import/compose= r.scm new file mode 100644 index 0000000000..412bae6318 --- /dev/null +++ b/guix/scripts/import/composer.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2015 David Thompson <davet@HIDDEN> +;;; Copyright =C2=A9 2018 Oleg Pykhalov <go.wigust@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix scripts import composer) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import composer) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:use-module (srfi srfi-41) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:export (guix-import-composer)) + +=0C +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import composer PACKAGE-NAME +Import and convert the Composer package for PACKAGE-NAME.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (display (G_ " + -r, --recursive generate package expressions for all Composer pac= kages\ + that are not yet in Guix")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import composer"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + %standard-import-options)) + +=0C +;;; +;;; Entry point. +;;; + +(define (guix-import-composer . args) + (define (parse-options) + ;; Return the alist of option values. + (args-fold* args %options + (lambda (opt name arg result) + (leave (G_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (alist-cons 'argument arg result)) + %default-options)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((package-name) + (if (assoc-ref opts 'recursive) + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (composer-recursive-import package-name)) + (let ((sexp (composer->guix-package package-name))) + (unless sexp + (leave (G_ "failed to download meta-data for package '~a'~%= ") + package-name)) + sexp))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) diff --git a/tests/composer.scm b/tests/composer.scm new file mode 100644 index 0000000000..cefaf9f434 --- /dev/null +++ b/tests/composer.scm @@ -0,0 +1,92 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2020 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (test-composer) + #:use-module (guix import composer) + #:use-module (guix base32) + #:use-module (gcrypt hash) + #:use-module (guix tests http) + #:use-module (guix grafts) + #:use-module (srfi srfi-64) + #:use-module (web client) + #:use-module (ice-9 match)) + +;; Globally disable grafts because they can trigger early builds. +(%graft? #f) + +(define test-json + "{ + \"packages\": { + \"foo/bar\": { + \"0.1\": { + \"name\": \"foo/bar\", + \"description\": \"description\", + \"keywords\": [\"testing\"], + \"homepage\": \"http://example.com\", + \"version\": \"0.1\", + \"license\": [\"BSD-3-Clause\"], + \"source\": { + \"type\": \"url\", + \"url\": \"http://example.com/Bar-0.1.tar.gz\" + }, + \"require\": {}, + \"require-dev\": {\"phpunit/phpunit\": \"1.0.0\"} + } + } + } +}") + +(define test-source + "foobar") + +;; Avoid collisions with other tests. +(%http-server-port 10450) + +(test-begin "composer") + +(test-assert "composer->guix-package" + ;; Replace network resources with sample data. + (with-http-server `((200 ,test-json) + (200 ,test-source)) + (parameterize ((%composer-base-url (%local-url)) + (current-http-proxy (%local-url))) + (match (composer->guix-package "foo/bar") + (('package + ('name "php-foo-bar") + ('version "0.1") + ('source ('origin + ('method 'url-fetch) + ('uri "http://example.com/Bar-0.1.tar.gz") + ('sha256 + ('base32 + (? string? hash))))) + ('build-system 'composer-build-system) + ('native-inputs + ('quasiquote + (("php-phpunit-phpunit" ('unquote 'php-phpunit-phpunit))))) + ('synopsis "") + ('description "description") + ('home-page "http://example.com") + ('license 'license:bsd-3)) + (string=3D? (bytevector->nix-base32-string + (call-with-input-string test-source port-sha256)) + hash)) + (x + (pk 'fail x #f)))))) + +(test-end "composer") --=20 2.28.0 --MP_/Nb0qTNLZeDOi6GOcim.fLs2--
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 7 Sep 2020 14:09:14 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 07 10:09:14 2020 Received: from localhost ([127.0.0.1]:50314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kFHpZ-0001LX-QH for submit <at> debbugs.gnu.org; Mon, 07 Sep 2020 10:09:14 -0400 Received: from eggs.gnu.org ([209.51.188.92]:32980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kFHpY-0001LM-Qf for 42338 <at> debbugs.gnu.org; Mon, 07 Sep 2020 10:09:13 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42551) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kFHpT-0004c0-El; Mon, 07 Sep 2020 10:09:07 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=44454 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kFHpS-0001LH-Dr; Mon, 07 Sep 2020 10:09:07 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 03/34] guix: Add composer-build-system. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> <20200712222538.18092-3-julien@HIDDEN> Date: Mon, 07 Sep 2020 16:09:01 +0200 In-Reply-To: <20200712222538.18092-3-julien@HIDDEN> (Julien Lepiller's message of "Mon, 13 Jul 2020 00:25:07 +0200") Message-ID: <87imcphe6a.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Julien Lepiller <julien@HIDDEN> skribis: > * guix/build-system/composer.scm: New file. > * guix/build/composer-build-system.scm: New file. > * guix/build-system/findclass.php: New file. > * Makefile.am: Add them. > * doc/guix.texi (Build Systems): Document it. [...] > +++ b/guix/build-system/findclass.php > @@ -0,0 +1,102 @@ > +<?php > +/** > + * Extract the classes in the given file > + * > + * @param string $path The file to check > + * @throws \RuntimeException > + * @return array The found classes > + */ This should rather be under gnu/packages/aux-files IMO. Also, could you add a copyright header and possibly info as to where it originates? > +(define* (create-autoload vendor composer-file inputs #:key dev-dependen= cies?) > + (with-output-to-file (string-append vendor "/autoload.php") > + (lambda _ > + (format #t "<?php~%") > + (format #t "// autoload.php @generated by Guix~%") > + (format #t "$map =3D $psr4map =3D $classmap =3D array();~%") > + (format #t "require_once '~a/autoload_conf.php';~%" vendor) > + (format #t "require_once '~a/share/web/composer/ClassLoader.php';~= %" > + (assoc-ref inputs "composer-classloader")) > + (format #t "$loader =3D new \\Composer\\Autoload\\ClassLoader();~%= ") > + (format #t "foreach ($map as $namespace =3D> $path) {~%") > + (format #t " $loader->set($namespace, $path);~%") > + (format #t "}~%") > + (format #t "foreach ($psr4map as $namespace =3D> $path) {~%") > + (format #t " $loader->setPsr4($namespace, $path);~%") > + (format #t "}~%") > + (format #t "$loader->addClassMap($classmap);~%") > + (format #t "$loader->register();~%"))) I think it=E2=80=99d be clearer as a single string: (display "\ <?php // autoload.php =E2=80=A6") Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 7 Sep 2020 14:06:29 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 07 10:06:29 2020 Received: from localhost ([127.0.0.1]:50310 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1kFHmv-0001Hh-AF for submit <at> debbugs.gnu.org; Mon, 07 Sep 2020 10:06:29 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1kFHmt-0001HW-VZ for 42338 <at> debbugs.gnu.org; Mon, 07 Sep 2020 10:06:28 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42538) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1kFHmn-0004Qc-IX; Mon, 07 Sep 2020 10:06:21 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=44452 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from <ludo@HIDDEN>) id 1kFHml-0001Cc-Ht; Mon, 07 Sep 2020 10:06:20 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Julien Lepiller <julien@HIDDEN> Subject: Re: [bug#42338] [PATCH 01/34] guix: import: Add composer importer. References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> Date: Mon, 07 Sep 2020 16:06:13 +0200 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> (Julien Lepiller's message of "Mon, 13 Jul 2020 00:25:05 +0200") Message-ID: <87mu21heay.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 42338 Cc: 42338 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Julien, There=E2=80=99s a lot of interesting work in here! I=E2=80=99m not familia= r with PHP; I=E2=80=99ll just make a bird=E2=80=99s eye review. Julien Lepiller <julien@HIDDEN> skribis: > * guix/import/composer.scm: New file. > * guix/scripts/import/composer.scm: New file. > * Makefile.am: Add them. > * guix/scripts/import.scm: Add composer importer. Please add tests and a mention in =E2=80=9CInvoking guix import=E2=80=9D in= the manual. For tests, a strategy that I think works well is that used in tests/cpan.scm, where we spawn an HTTP server to mock the real one. > +(define* (composer-fetch name #:optional version) > + "Return an alist representation of the Composer metadata for the packa= ge NAME, > +or #f on failure." > + (let ((package (json-fetch > + (string-append "https://repo.packagist.org/p/" name "= .json")))) > + (if package > + (let* ((packages (assoc-ref package "packages")) > + (package (assoc-ref packages name)) > + (versions (filter > + (lambda (version) > + (and (not (string-contains version "dev")) > + (not (string-contains version "beta"))= )) > + (map car package))) > + (versions (map > + (lambda (version) > + (cons (fix-version version) version)) > + versions)) > + (version (or (if (null? version) #f version) > + (latest-version (map car versions))))) > + (assoc-ref package (assoc-ref versions version))) > + #f))) I recommend using =E2=80=98define-json-mapping=E2=80=99 instead of browsing= alists: it=E2=80=99s less error-prone, hides the JSON details away, and leads to more readable code. The pypi, crates, cpan importers use it. Thanks! Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:54 2020 Received: from localhost ([127.0.0.1]:47088 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZe-0003yJ-2u for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:54 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ9-0003ad-ML for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:06 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 7f0639ec for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=s8ceYJ2fUGQUNnwEIyVAP3M5k cIbLCI4fmiN6V4oBkY=; b=DDuA4HTM8Ncr6MXCIvixesAm7OgRJwt6AUwclNwKE IO9UCFuIn4woQ7/HuPAo10ycCrn+shktc/WTnf/4fcETV/ae1vwZ5eOi0fGEZ6bJ oV8RKC/c0iPZrRaNfgiDQDF70JvjqmNf98JWN/yW0oDCZPXV/4yq/dRFR//iGI+h nsoWFZ7ycOkEyD6Z4ro35IeoAvWwFqFHfSaOWkxXrrb0mSaysBnpwu4nfGp+zypJ YFuAulYu7d4soWh/bRS3FAXJ6a8leREAT6+UIW8Wqz/dClCWE9hIUfkUqc2tYxFp Z8XNOG7tBWh+UNLpnylkXIbUzM64nKB5IJSlADnwUUNTw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 4170c07a (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:03 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 34/34] gnu: Add phpunit. Date: Mon, 13 Jul 2020 00:25:38 +0200 Message-Id: <20200712222538.18092-34-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-phpunit): New variable. --- gnu/packages/php-xyz.scm | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 0ae92c4600..eebf64c1a3 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -791,3 +791,48 @@ timeout.") represent the PHP code units.") (home-page "https://github.com/sebastianbergmann/code-unit") (license license:bsd-3))) + +(define-public php-phpunit-phpunit + (package + (name "phpunit") + (version "9.2.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/phpunit.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ck41faxkqr6painsqirklzsl08k8biadi2ksnpsmpjf3dp5p5gl")))) + (build-system composer-build-system) + (arguments + ;; Requires phpspec/prophecy-phpunit, which in turns requires phpunit. + `(#:tests? #f)) + (inputs + `(("php-sebastian-version" ,php-sebastian-version) + ("php-sebastian-type" ,php-sebastian-type) + ("php-sebastian-resource-operations" ,php-sebastian-resource-operations) + ("php-sebastian-object-enumerator" ,php-sebastian-object-enumerator) + ("php-sebastian-global-state" ,php-sebastian-global-state) + ("php-sebastian-exporter" ,php-sebastian-exporter) + ("php-sebastian-environment" ,php-sebastian-environment) + ("php-sebastian-diff" ,php-sebastian-diff) + ("php-sebastian-comparator" ,php-sebastian-comparator) + ("php-sebastian-code-unit" ,php-sebastian-code-unit) + ("php-phpunit-php-timer" ,php-phpunit-php-timer) + ("php-phpunit-php-text-template" ,php-phpunit-php-text-template) + ("php-phpunit-php-invoker" ,php-phpunit-php-invoker) + ("php-phpunit-php-file-iterator" ,php-phpunit-php-file-iterator) + ("php-phpunit-php-code-coverage" ,php-phpunit-php-code-coverage) + ("php-phpspec-prophecy" ,php-phpspec-prophecy) + ("php-phar-io-version" ,php-phar-io-version) + ("php-phar-io-manifest" ,php-phar-io-manifest) + ("php-myclabs-deep-copy" ,php-myclabs-deep-copy) + ("php-doctrine-instantiator" ,php-doctrine-instantiator))) + (properties `((upstream-name . "phpunit/phpunit"))) + (synopsis "PHP Unit Testing framework") + (description "PHPUnit is a testing framework for PHP. It is an instance of +the xUnit architecture for unit testing frameworks.") + (home-page "https://phpunit.de/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:54 2020 Received: from localhost ([127.0.0.1]:47086 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZd-0003yC-S7 for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:54 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ5-0003aw-2d for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:01 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id ab54cefd for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=ClE/cqGnerN7eJUHMLdcf/FMV extlp4n9142NxUmods=; b=cC4a/85X9TOW+uhhnBAFgKlN8fuyS3ojVyobPDVUY EV2llM81WLw882wofZH2nF0U70mkKPPlj+PoLhaKwzTYmtt58S1ZGn3MHporkEii nIJ5b2F8Nt0ZhED/GdnIekWk4qUCzmGbPlpeVwvkHC385obnvfOBLTboGPUQcI9j vbQKKipEBTj/pO+zIuPwGeGHAYENXK6JLcJf97j4XnoXYe/9COpZAi4C5kBre4lR lm6tkJyXFtFt/I2vmCZXeBjqE6+dPbvNH0j91Gv4Mok5Ptj1lzHAGLWbgUEYpQ6U Fng9hm6+wocW9XTy6lK+6MVzyu3HvGty9yl7cVTEuG4UA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 3a149bc4 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:59 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 27/34] gnu: Add php-sebastian-object-enumerator. Date: Mon, 13 Jul 2020 00:25:31 +0200 Message-Id: <20200712222538.18092-27-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-object-enumerator): New variable. --- gnu/packages/php-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 4872523b31..8cf5668030 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -618,3 +618,29 @@ of PHPUnit. It provides support for creating a snapshot of the global state of a PHP program.") (home-page "http://www.github.com/sebastianbergmann/global-state") (license license:bsd-3))) + +(define-public php-sebastian-object-enumerator + (package + (name "php-sebastian-object-enumerator") + (version "4.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/object-enumerator.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qx28r0ncbh0x9i0jplyg870paxxsy7g1ibgbdqq11176101aj6q")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-sebastian-recursion-context" ,php-sebastian-recursion-context) + ("php-sebastian-object-reflector" ,php-sebastian-object-reflector))) + (synopsis "Enumerate PHP objects") + (description "This package allows PHP programs to traverse array structures +and object graphs to enumerate all referenced objects.") + (home-page "https://github.com/sebastianbergmann/object-enumerator/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:53 2020 Received: from localhost ([127.0.0.1]:47084 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZd-0003y5-HV for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:53 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ6-0003aw-2z for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:02 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 610e85ee for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=eHL0kSmunxMjst4KfVmNZc71R toTR2VqQqzZ8m4PA1I=; b=Ix4dpOAaDv4tqa5m3vp1mMwFci5QuMiIifUz9XePG FBTr5+/ejKa3moPc9UzwI/G1q2LN3MgrpdI/e1kDysVgcAxMs+BGrWJJp7ZeIvqO G7Cm502Dlv0caThscLxsxVY9TmWw7ajsKrn6rcmqHUjBeFkEX8GOT639UFyqR4y4 0S6he/bXiZCeet79uGqT7090wYCC0dsGjX1OpB3KQ5uVedZofgIqqmFkgIw5cVVy Nddl3icc5lZ4fO4pF0zIwUJ8Zpyuu6E+DyFETW0H39JPXC4IhGhJiw/YGAmFaoiy 1dvdNJexXM/Nlz9bOUz2CYqfM9bFqaRTV0T2i119alVZw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 0b09d2d7 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:00 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 29/34] gnu: Add php-sebastian-type. Date: Mon, 13 Jul 2020 00:25:33 +0200 Message-Id: <20200712222538.18092-29-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-type): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index aee08c0878..9a50c431b7 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -667,3 +667,26 @@ and object graphs to enumerate all referenced objects.") operate on resources.") (home-page "https://www.github.com/sebastianbergmann/resource-operations") (license license:bsd-3))) + +(define-public php-sebastian-type + (package + (name "php-sebastian-type") + (version "2.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/type.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gvdb9188a4903q0dnhhdcm9qd67is5pns8jbccxr7hxv8w7d7h3")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "PHP type system representation") + (description "This package is a collection of value objects that represent +the types of the PHP type system.") + (home-page "https://github.com/sebastianbergmann/type") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:53 2020 Received: from localhost ([127.0.0.1]:47082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZd-0003xy-Az for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:53 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ8-0003ad-UC for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:05 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id bbcbc978 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=L9xJ4HcR0J7jmXsft45Sp1C3W dAo28fxpc3Xcm7ckqQ=; b=JES/3q2nGBE2kO340L58eaJL1FGC0htX7B+F1ZZED m0VnEm3WIbiuq2WepwT4kDZd2/u5stp/GVikFYAt/4gV508zyEc4ckokdfbtdsGu rLqilFIIvUUWMjrpgGhtESYUsQWD+moTOA1f1gUZ/FlzdVRk9FX6oSQfJiC3i1jT N3QTvVDps682AxnjzxCYLnHBunC3vfe10AjyoR1zZnfS/uZ9/9GWslapQRorGIyN L7wQVULZfGRZlsp0zbwJFUUK58Og9Q9OlvmT2kr9Vhi4o9zT3azSRQgRwLQN2REB fTKJ3kU76D7SlaOUCS7BeE0SlA8pNnngtfzJMANTp6gHA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 81d9ce70 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:02 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 33/34] gnu: Add php-sebastian-code-unit. Date: Mon, 13 Jul 2020 00:25:37 +0200 Message-Id: <20200712222538.18092-33-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-code-unit): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 484fb17790..0ae92c4600 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -768,3 +768,26 @@ of PHPUnit. It provides a utility class for timing.") timeout.") (home-page "https://github.com/sebastianbergmann/php-invoker/") (license license:bsd-3))) + +(define-public php-sebastian-code-unit + (package + (name "php-sebastian-code-unit") + (version "1.0.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/code-unit.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "058ykqcmzm900c513j2qvi189bgn0scxsrhbrik5xycrr620krxc")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "PHP collection of value objects for code units") + (description "This package contains a collection of value objects that +represent the PHP code units.") + (home-page "https://github.com/sebastianbergmann/code-unit") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:53 2020 Received: from localhost ([127.0.0.1]:47080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZd-0003xq-57 for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:53 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ7-0003ad-Bj for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:03 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 2037a007 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=lz+mBMYGaLKQZQs7bLjATFy9x nAb/57/jZRsFi1l/bY=; b=bamk86Mp9aLLGISvJhdzuXT444FDak/NMVmbMIhsx 9SWZKPjXf8vCK4/VJwafe4+kJSLdvXm3Ko+utiH2WVeXepGIRxdqL2OTbeyoglOm XAhVx14RCKA84baW5YljSVSTobzDOoA5Rv0kmWCUMItnaJ60bio7MlHQ46bKbSbp 4yENKbM6V8xZHd8EW8qIM4EKB3t8Tslp84gM7e+zBi2mHZz5UB5yt2YrJ7wQ92y5 hPk24JBFVq9fpwEyMh7R1wV+GuOOUsy1EiIcJrDc1aFhS8Lm4AO8jueXblFxDr5V w+Q6CyBDZm+xQsF3c+W04mYK6qccHQYp2h18kw50nrohQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id f80f817e (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:01 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 31/34] gnu: Add php-phpunit-php-timer. Date: Mon, 13 Jul 2020 00:25:35 +0200 Message-Id: <20200712222538.18092-31-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-php-timer): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 2d186c5190..1b6669abcc 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -722,3 +722,26 @@ the types of the PHP type system.") processing, and rendering functionality for PHP code coverage information.") (home-page "https://github.com/sebastianbergmann/php-code-coverage") (license license:bsd-3))) + +(define-public php-phpunit-php-timer + (package + (name "php-phpunit-php-timer") + (version "5.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/php-timer.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hyy5c8b22zki6836a7fhzr3s6dpvga33r2rzfrsbv1arh19ay60")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Utility class for timing") + (description "This package contains a stand-alone component originally part +of PHPUnit. It provides a utility class for timing.") + (home-page "https://github.com/sebastianbergmann/php-timer/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:53 2020 Received: from localhost ([127.0.0.1]:47078 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZc-0003xj-Tt for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:53 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ6-0003ad-Bo for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:03 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id d4daa355 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=dwXnSI5EhNLTIj0NKHyqqLx76 6HZilyFKKlX/S7M+aQ=; b=EK79fZhiveB/bGhIIlw51VlmwIaeZU6AIy8/EH2k4 vLjnOZarDxd2ZiFXiPPfMrE2R9TGRFFOpkGtXZ9J31G3LlOIpvoht7wch+SO6OWk UCHvhrk3ofowurN3f+qAT6Z9qQ9YFOoMTRz1Yb0JmvA/dhtw7h19QFqYZ0AIaazS t3LQZ0Ig1WwONkUquBZVrtmavTXQqjVyIqncp7OYJ11c8cDWlPXhAsKYwqYdyfKA nMgE1n9D9eGb/F6dEXPOt2pPqEYYt5vbDH0039ZWwIFHbqdf5JOkS7/j3ESCSNkj PQIHapZRxz+2yOxSwB/0fMa4lbJO1c58k2DyK/Kdhmb1w== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 63350582 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:01 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 30/34] gnu: Add php-phpunit-php-code-coverage. Date: Mon, 13 Jul 2020 00:25:34 +0200 Message-Id: <20200712222538.18092-30-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-php-code-coverage): New variable. --- gnu/packages/php-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 9a50c431b7..2d186c5190 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -690,3 +690,35 @@ operate on resources.") the types of the PHP type system.") (home-page "https://github.com/sebastianbergmann/type") (license license:bsd-3))) + +(define-public php-phpunit-php-code-coverage + (package + (name "php-phpunit-php-code-coverage") + (version "8.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/php-code-coverage.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qr7x9y8636bvv0fk8hl0kl9d2y8fy6qw65kpi4yb1yyqhfddkgh")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-theseer-tokenizer" ,php-theseer-tokenizer) + ("php-sebastian-version" ,php-sebastian-version) + ("php-sebastian-environment" ,php-sebastian-environment) + ("php-sebastian-code-unit-reverse-lookup" + ,php-sebastian-code-unit-reverse-lookup) + ("php-phpunit-php-text-template" ,php-phpunit-php-text-template) + ("php-phpunit-php-token-stream" ,php-phpunit-php-token-stream) + ("php-phpunit-php-file-iterator" ,php-phpunit-php-file-iterator))) + (synopsis "Code coverage information library") + (description "This package is a library that provides collection, +processing, and rendering functionality for PHP code coverage information.") + (home-page "https://github.com/sebastianbergmann/php-code-coverage") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:52 2020 Received: from localhost ([127.0.0.1]:47076 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZc-0003xc-KQ for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:52 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ8-0003ad-47 for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:04 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 3b5f4b2e for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=OWSnpMvuCC87j/8TEEDei2pmP AMWtrDXZVYs4SyuRKE=; b=ZISX1DtWNEn30rGBufJaZE/RX2vqdQrTIDG3lwZMl shScoAQZXiwEok/G55BoYibPpC6HEGZ5fsDMduztr+vuziTB2iqIZrmMw1GIts+O YpLvIvXa3Wztb5Uvxj1o9y0QVmoFPPomuVPE7+iDSIbqSXIp2/E0Z7lX9Lc9GgBv 39SEitWAju8+7sJBo/+i6MNOW3PqEn3Kf60DggV2y7T8+sYQwTbv3lHi6scmZC1f CKbl4qZe7UW+m/iOucdZFr5lIJ1lKKL1vyogwgwk2CCaXn+x8if+hYiHJFoiujmB hzTFzP6xT/2AcigMhXO1db86ngJ5aBcbOJs2zjcGVtnKg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id b658fdcc (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:02 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 32/34] gnu: Add php-phpunit-php-invoker. Date: Mon, 13 Jul 2020 00:25:36 +0200 Message-Id: <20200712222538.18092-32-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-php-invoker): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 1b6669abcc..484fb17790 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -745,3 +745,26 @@ processing, and rendering functionality for PHP code coverage information.") of PHPUnit. It provides a utility class for timing.") (home-page "https://github.com/sebastianbergmann/php-timer/") (license license:bsd-3))) + +(define-public php-phpunit-php-invoker + (package + (name "php-phpunit-php-invoker") + (version "3.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/php-invoker.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xs7m0wiminnhkd400glmixyhrx1ir710j6fds9i03dhicfcj7db")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "PHP library for invoking functions") + (description "This package contains a library to invoke callables with a +timeout.") + (home-page "https://github.com/sebastianbergmann/php-invoker/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:52 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:52 2020 Received: from localhost ([127.0.0.1]:47074 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZc-0003xV-E9 for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:52 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ4-0003ad-KJ for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:01 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 00c04cd6 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=VS9Eulv2aLaA/xOjdkIWxjJr8 +JtffK9yZak+HeY/5A=; b=Mw9c5daO4WRZZO17stkn4lhBU5RNtP03ZPFSjAsgD lk6qU2snpNIK/vem6foAFlwLm8dQIWdNkwAQp9QnXXqZ1V6ls79QEqA1UfQNP6q5 +m/8Tl5LHmKVlQJ8hyInBnrySNbXawBYoBufcWsrJD0LRz/OzcEZBU4QUCPH5vnQ AGKmGV23F0G9NP127FkN+DY5O0QjDWZHG703DyZalM84EOpYOW0uRPbjWoFXI3P0 QxLmZG3PyXrCdishfjxIZiZxH/gP/J5BdmxugzQZPA2n5Gu+0EaE5AZ05zTrT/Pt 5VPVmEH5Z9gLT46JMEg3wnDrsB+7o9D0BKLO2lpt7ZkXA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 77c34ee2 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:58 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 25/34] gnu: Add php-sebastian-object-reflector. Date: Mon, 13 Jul 2020 00:25:29 +0200 Message-Id: <20200712222538.18092-25-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-object-reflector): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 8c96d9aabc..899f6a3f69 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -568,3 +568,26 @@ for equality.") 5.3+ projects.") (home-page "https://github.com/phpspec/prophecy") (license license:expat))) + +(define-public php-sebastian-object-reflector + (package + (name "php-sebastian-object-reflector") + (version "2.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/object-reflector.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qkvp2s932h53f161l30qlnxicw4fklirmnds173wgmavms1b5yb")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "PHP reflexion library") + (description "This package allows reflection of object attributes, including +inherited and non-public ones.") + (home-page "https://github.com/sebastianbergmann/object-reflector/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:35:52 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:35:52 2020 Received: from localhost ([127.0.0.1]:47072 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukZc-0003xP-3J for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:35:52 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ5-0003ad-DB for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:02 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 58905ec1 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=tNrWM7CxSOP9v4S0ymA6FxK0l qIVBvVOc3Y8oK2nP4M=; b=ieZ3RHdpASmk4/aKsrcwXHT4OVUHgx+5ipnMDBH9/ ++J05/0BR2PGxBrGuDhK2sBtyQ2bY1T3+YQLTKu9WDMXHrEp/ZnSoAlz/6ML0XPK jTyLdbVOCRzGHzsXdhFRv57U9rL377wZfNmOQJl3niu+Nr64g8YDnpFoyiHOHRHA hX3gB+PHvtXsEWDOaiTLROuMWCPz++C67VIP7/1SUR5KtK7FRdx6IFIVJVcjKje1 GEhTYa/cYs+RaF57V6TiRZVrVvU32Aa1xbxNyZWwGQDKexYSRxWVbbdKvRxe/MCW WmnNsoNiW1Xu2Acnd+JWZQxviRCAqc3onHVBeO8Ehqsfw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 57a74380 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:26:00 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 28/34] gnu: Add php-sebastian-resource-operations. Date: Mon, 13 Jul 2020 00:25:32 +0200 Message-Id: <20200712222538.18092-28-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-resource-operations): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 8cf5668030..aee08c0878 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -644,3 +644,26 @@ of a PHP program.") and object graphs to enumerate all referenced objects.") (home-page "https://github.com/sebastianbergmann/object-enumerator/") (license license:bsd-3))) + +(define-public php-sebastian-resource-operations + (package + (name "php-sebastian-resource-operations") + (version "3.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/resource-operations.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09s2gsmx6fg8sx64yyz2dszy22dcsspazlhskv3d9mflpmrk0d9y")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "List built-in PHP functions") + (description "This package provides a list of PHP built-in functions that +operate on resources.") + (home-page "https://www.github.com/sebastianbergmann/resource-operations") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:13 2020 Received: from localhost ([127.0.0.1]:47055 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQH-0003hJ-3E for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:13 -0400 Received: from lepiller.eu ([89.234.186.109]:42904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ4-0003bs-Ty for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:01 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 7738412d for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=029Ek/R5BYmvPDQl2IF3KxsXB xji7EIFCw896eNwLzk=; b=Akl7BYFopLVOa+viQKPder0+F0suocGDJBncO6j97 YjbxxkImS0fte2xROpo8nTen37UbVAqOipD6Y1WZupLuH2DvB52zB41NKLMhRfEp D2LNzeX3Kf796/Ruwm9pxFusPIXWdVbu4TmxKxKjsfUSU2Ob6Qcf0TG9LQVUc+va YpqumZtp3qvSSGEbdBT6+lYm3zLvVLP3ADWHzHlvaZDbVjoX5PEfumfD8PcU0yav tx3xX54q5GgRrGRRC7v2c+iXD8C36sFpIyozOv7xvq2d44Nyk2pRncLFFiJLGhI7 /gIOX+zfHFQUEVWkfHa+ArNtqHbsoGmmXMFWzaxg2Rj9A== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 667d0b86 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:58 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 26/34] gnu: Add php-sebastian-global-state. Date: Mon, 13 Jul 2020 00:25:30 +0200 Message-Id: <20200712222538.18092-26-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-global-state): New variable. --- gnu/packages/php-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 899f6a3f69..4872523b31 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -591,3 +591,30 @@ for equality.") inherited and non-public ones.") (home-page "https://github.com/sebastianbergmann/object-reflector/") (license license:bsd-3))) + +(define-public php-sebastian-global-state + (package + (name "php-sebastian-global-state") + (version "4.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/global-state.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x6sfw353px5y7azipn2mb15w7w7zxbbpbv3dbhhkryrhad8w064")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-sebastian-recursion-context" ,php-sebastian-recursion-context) + ("php-sebastian-object-reflector" ,php-sebastian-object-reflector))) + (synopsis "Snapshotting of global state") + (description "This package contains a stand-alone component originally part +of PHPUnit. It provides support for creating a snapshot of the global state +of a PHP program.") + (home-page "http://www.github.com/sebastianbergmann/global-state") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:13 2020 Received: from localhost ([127.0.0.1]:47053 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQG-0003hC-Ro for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:13 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ4-0003aw-9Q for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:00 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id ae1fe683 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=RMH8u9Jh4tWYtY6BEA/FscYKB JvL+v/ph7M1WoFM+ts=; b=OWn7UPZ+P3kMj04L0je/jRl/q16BR349zyGOfDzkb R7Ej9OrZcHXk3QjGoiespdGa+bN9Sd5vsbfaVdyzC2HHNObYXs+pyJjXT9pX6EqA hFwUUg4/DemDid904FjEkD8MRdBHpF3U5RsCykkvSZWg6QFNynXTOwMqQwwD10GH AhQ9QY4kuvy05cfM7Z13FikQDqmfAfnKJ5Oe2rHMj14AsfvCnOeHmZtREhVejeN6 SVn8ccqSd2av0aoxzD+0YY7XRQq1W5xRJAhVcbms/wCBmFIMKuMEmjGgBR7j+grA 2kzFkkfsR1fDEwTprkfj+rwXaPOYlJnTcoDgINSmV1s4w== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 13bcaa83 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:57 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 24/34] gnu: Add php-phpspec-prophecy. Date: Mon, 13 Jul 2020 00:25:28 +0200 Message-Id: <20200712222538.18092-24-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpspec-prophecy): New variable. --- gnu/packages/php-xyz.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 9ee823bcda..8c96d9aabc 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -539,3 +539,32 @@ for equality.") (description "This package provides functionality to handle HHVM/PHP environments") (home-page "http://www.github.com/sebastianbergmann/environment") (license license:bsd-3))) + +(define-public php-phpspec-prophecy + (package + (name "php-phpspec-prophecy") + (version "1.11.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phpspec/prophecy.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pd6iz6pbfpaz5rqa36q01l569zgiqpjgqmzw3rra2qdh1jrwdy1")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-sebastian-recursion-context" ,php-sebastian-recursion-context) + ("php-doctrine-instantiator" ,php-doctrine-instantiator) + ("php-sebastian-comparator" ,php-sebastian-comparator) + ("php-phpdocumentor-reflection-docblock" + ,php-phpdocumentor-reflection-docblock))) + (synopsis "Mocking framework for PHP 5.3+") + (description "This package contains a mocking framework for testing PHP +5.3+ projects.") + (home-page "https://github.com/phpspec/prophecy") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:12 2020 Received: from localhost ([127.0.0.1]:47051 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQG-0003h5-JV for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:12 -0400 Received: from lepiller.eu ([89.234.186.109]:42904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ4-0003bs-2f for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:00 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 09995805 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=tPl65p3+upIny5KhV19aucdox TFk6hVKH0EQJlvkHMQ=; b=hKjxjy5ODJucs79MSOBTrahvaNMyYTeuVUkdpLyMn mHJtBkWtyGvn3jqSuGmj2ahs8ZGBfqpRuJ8CI5RP0px/UqKwgB64tjGUXi5CDPjO rvnbsS3xAeuv6LXUDzkxEtTGzFgsyiCuMOa3Q1BpFMC1EgettRrGtJPzSIctLC1S LxJEaDvgckE97z7BbTPWc+KqvdbbbltyXVODp+mxN083bRusb8kUFA4IpzSmjXzV X0hDmkgaIaOB0j8GPI6BdIpOWfq3WYsAPhTq6ZzlwSYAWGn946x72+QUhd7i9DMY 0+2x7O3MY1WkBM3JdkUGT+/VweB7EQk+yI2HqIYg8jk6g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 6b95a1ea (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:57 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 23/34] gnu: Add php-sebastian-environment. Date: Mon, 13 Jul 2020 00:25:27 +0200 Message-Id: <20200712222538.18092-23-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-environment): New variable. --- gnu/packages/php-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index aff2ed79a7..9ee823bcda 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -517,3 +517,25 @@ that filters files based on a list of suffixes.") for equality.") (home-page "https://github.com/sebastianbergmann/comparator") (license license:bsd-3))) + +(define-public php-sebastian-environment + (package + (name "php-sebastian-environment") + (version "5.1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/environment.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lhaiwk6dbwii9kmjaq3gjl2x5s1rikmxkvmy4mjvjcbi7imp38s")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Handle HHVM and PHP environments") + (description "This package provides functionality to handle HHVM/PHP environments") + (home-page "http://www.github.com/sebastianbergmann/environment") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:12 2020 Received: from localhost ([127.0.0.1]:47049 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQG-0003gy-BM for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:12 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ3-0003ad-Oc for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:00 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id b6176355 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=KO2Ilrm8dXS85dF4zW4WfG4m3 Hz0HjUkJm1V7cHbjDA=; b=h2gDj/KTfYx5xB6qafHELqh57r/g83lIGMA3TnQrI bpczYS8oiCfqbgxwfutZRLWsb+GaAwjzks3s2qRkD16tLtDEWbpeCEd3Hg49jMqo MEQLLAwtdndPJv3RcUpIBFTp7BdZ3QJarhYh/Ex4t5FIl3zBfzyVce9JBzo56OhM UDd2kUZkifUrhCOolMEkR16DMIANArCthfEFM+cIUnEaCANZ+cAwG7C/Y56gLr+a gJO3HiQnXpo8d/oR3+dVZoPGU3MtRMqmqikHvdsAXU0q8ro4eWYVKpv9FYtnk5/t j7n5rRXgsQygW53SooFYd0yMZNqaUzYgNwRSlaBa5AphQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id b001dbe6 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:56 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 22/34] gnu: Add php-sebastian-comparator. Date: Mon, 13 Jul 2020 00:25:26 +0200 Message-Id: <20200712222538.18092-22-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-comparator): New variable. --- gnu/packages/php-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index ccc613baaf..aff2ed79a7 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -491,3 +491,29 @@ that filters files based on a list of suffixes.") (description "This package contains a PHP implementation of a diff function.") (home-page "https://github.com/sebastianbergmann/diff") (license license:bsd-3))) + +(define-public php-sebastian-comparator + (package + (name "php-sebastian-comparator") + (version "4.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/comparator.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1scw7vm26layqh5mzvdhjiil520fj6ipixkjnmwm036xr925iww0")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-sebastian-exporter" ,php-sebastian-exporter) + ("php-sebastian-diff" ,php-sebastian-diff))) + (synopsis "PHP value comparison") + (description "This package provides the functionality to compare PHP values +for equality.") + (home-page "https://github.com/sebastianbergmann/comparator") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:12 2020 Received: from localhost ([127.0.0.1]:47047 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQG-0003gr-3J for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:12 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ3-0003aw-GZ for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:59 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 4db10f77 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=v/JWPGPMKieJ4H9c4euXY9JAo AXKmTjqnBwFXCRD370=; b=JH3AZxLOTt6DK1ZBFYtZxeChleGsDY0LrokpZXrG3 w50j/Srl1oS4fD3sFOnnklTE12yjBgCt7N/F7bfcezjmjjr3HtNWaZKRxdlldvEC 6SaOGqbU4K5vEA7NE24hkQBprCzhbMB+1WoEu05Bc0Kp9XYglQdPKRpudohxPVoU 4bufgkFW+aqnF7/fTHKpR8924OZAynNyHsk11AbkX58nScCgpLqLka1Nt1/FzeP4 V/3Ra5iZIEL5VMnMRm7lSUIMFXFiyvye0iCROFLO/8QH6zhgXZgGV2yAtUx7OqI3 lXBGAIzccQFYiP86IsDu//cyf5cDG2s//z5iYwUfa2ngQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id d49bf957 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:56 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 21/34] gnu: Add php-sebastian-diff. Date: Mon, 13 Jul 2020 00:25:25 +0200 Message-Id: <20200712222538.18092-21-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-diff): New variable. --- gnu/packages/php-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index b5abcaae36..ccc613baaf 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -469,3 +469,25 @@ that filters files based on a list of suffixes.") (description "This package contains a library for a simple templating engine.") (home-page "https://github.com/sebastianbergmann/php-text-template/") (license license:bsd-3))) + +(define-public php-sebastian-diff + (package + (name "php-sebastian-diff") + (version "4.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/diff.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fr5vrmz3d1wwpf59y16fin5lgi55sjd7dqfkx0zqmsqadbjrjxq")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Diff implementation") + (description "This package contains a PHP implementation of a diff function.") + (home-page "https://github.com/sebastianbergmann/diff") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:12 2020 Received: from localhost ([127.0.0.1]:47045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQF-0003gj-Qv for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:12 -0400 Received: from lepiller.eu ([89.234.186.109]:42904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ3-0003bs-1T for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:59 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id e764dc85 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=1ngwT8cVQz+D/F83QwNOvt1r7 eSvIwdzz/dG8IMLmDg=; b=iq3cVnsp92lrZwMMUaTMkOde5po+iekmUZlUIlXRz lfUnONCeMyKPtYl5ruiWq+sya922batXgP09Wk+3hW23M6UWUSVbaa7cLuPgAmbj v9NePvoPm0nwfVKEnRJuiTTxmJcsbLE8s2cy/fOvUus1/UyqD49b+f2oFu8BOSIW dina4rn5mWILmziuN6nvdqpXZD/yEunHKcH9b6rm3lSnZW9hrFEx4odeE+y5Vqle grtTTvuGKH7Jl05QTldPseIqEh8uR3KYeXTLO6jkL7GOb2ToPATz3lMFYkNLx0Lm 3W7xujRNQBYP7zkPYq2kFQw2H8yHAWV+9jbNXjQww5Dqg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id b733766a (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:55 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 20/34] gnu: Add php-phpunit-php-text-template. Date: Mon, 13 Jul 2020 00:25:24 +0200 Message-Id: <20200712222538.18092-20-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-php-text-template): New variable. --- gnu/packages/php-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 5d06bea0cb..b5abcaae36 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -447,3 +447,25 @@ number of Git-hosted PHP projects.") that filters files based on a list of suffixes.") (home-page "https://github.com/sebastianbergmann/php-file-iterator/") (license license:bsd-3))) + +(define-public php-phpunit-php-text-template + (package + (name "php-phpunit-php-text-template") + (version "2.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/php-text-template.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0x38kj1xlnysg9xgad560k361l93vh32mvkyfn7rss3p2r319jhx")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Simple template engine") + (description "This package contains a library for a simple templating engine.") + (home-page "https://github.com/sebastianbergmann/php-text-template/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:11 2020 Received: from localhost ([127.0.0.1]:47043 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQF-0003gc-IG for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:11 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ2-0003ad-SN for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:59 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 8e9eb377 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=5ortme/8PwEwzx5TzOlY8dWDM 1R6Ev5lZKNZUpzGsGk=; b=mk9KpL6GwHyRhvUXW2XRlWZFsw+8q4qIU3obGWGAj 6SD5ucECQ2cGDNl+3Al0cTXO6VPcVaQ9J0+4QGfi16giHnE50Hsg4XdAIKy2a/4U Grnqld05E9t9iFMm2HAif+cfkiPu385lNj6B/7LVWVxn3oGAd/FU+lCXImiUXwUX P4WyWktUS4v3ERiW2NB+ZniIdgmIWOTuO9Qsa6/68nmQlWxozhwiGSQs/7Aoc87b 3ACUpYLRvbSLrF1KzjUwSE7Y8vNj5etV2m/WXbyatWFk+ze0588UN9awaoRU73AU vteqmeDkK0FyEIbCbZkY6MqgE6pQiwiNYJieDC+vBFYSg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 865d82b8 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:55 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 19/34] gnu: Add php-phpunit-php-file-iterator. Date: Mon, 13 Jul 2020 00:25:23 +0200 Message-Id: <20200712222538.18092-19-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-php-file-iterator): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 906a88d49e..5d06bea0cb 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -424,3 +424,26 @@ extension.") number of Git-hosted PHP projects.") (home-page "https://github.com/sebastianbergmann/version") (license license:bsd-3))) + +(define-public php-phpunit-php-file-iterator + (package + (name "php-phpunit-php-file-iterator") + (version "3.0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/php-file-iterator.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pglbp8m4iv5w16gshlp49k4ngpsx28mhwip761kyvvd5w27ysr2")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Filter file by extension") + (description "This package contains a @code{FilterIterator} implementation +that filters files based on a list of suffixes.") + (home-page "https://github.com/sebastianbergmann/php-file-iterator/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:11 2020 Received: from localhost ([127.0.0.1]:47041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQF-0003gV-9d for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:11 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ2-0003aw-Jn for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:59 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id e018e868 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=tOa92GiXxdqHHACSMuP7r2lwH 8wTmdRENLgOS3HWhIc=; b=f4COZPRZD+Qkvomwt6RUuIdKLrSbBLNf2ISKtwLXF Z8bq9n6tU3F+RDtIb+JZ0w/Bstuv2x7Dk4n5Rk1D7DtoClgbsIg/+nQT1IXdBn46 Cv2R1517eSsvxFlv7plRrlApEmN7Z+Mb8aVDU4jORtMAQwYauU/ebC60cO2eutsv ClEAaYbgCvEOpQGmQ9v+V/EBc1wCH3kDTuIpazjNP1zx1X+jeUrIXj51mYmkyOUr vnnTLodpqC5wz6/+OuuAfGVhYGm8mkUZmjkyTMv3ItHGLFOOo6b7e0iBKWvFQakV tAtbX5a0O8QkccXjymkAsYO4FJkPg6WGcQpPQciXImDUg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id dc675e69 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:54 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 18/34] gnu: Add php-sebastian-version. Date: Mon, 13 Jul 2020 00:25:22 +0200 Message-Id: <20200712222538.18092-18-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-version): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 344c413d2c..906a88d49e 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -401,3 +401,26 @@ method a line of code belongs to.") extension.") (home-page "https://github.com/sebastianbergmann/php-token-stream/") (license license:bsd-3))) + +(define-public php-sebastian-version + (package + (name "php-sebastian-version") + (version "3.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/version.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kr2i6s7y4k18bz09cqj4pc4bqzph9n6ncgpqq4p4fg790h5i5ym")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "PHP versionning library") + (description "This package is a library that helps with managing the version +number of Git-hosted PHP projects.") + (home-page "https://github.com/sebastianbergmann/version") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:11 2020 Received: from localhost ([127.0.0.1]:47039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQF-0003gO-1d for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:11 -0400 Received: from lepiller.eu ([89.234.186.109]:42904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ2-0003bs-7u for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:58 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 5b66db5c for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=Wb5frlZXN2TP+d7ZBGnP/ti9t 0Skzmaitz/44sKue0I=; b=KU9A3lFOEQ6Gmpe+24vHxN4RPNC5bRs3MgRhF9w4r PZMT7CF4cqPHwkwJ8NtEnBnmnn+kh+j0mHJZev54X7E1jze76cwKbxV50rjR/LF+ Akls7Rog2h9IZ08NfpSf+fvjjKvoltj2SACgSpwmVBHvekxZCKJPvGj68yu0eLUh HZksEd6hxEeU15EjCtifDrYIDfujR4D0Ie86rKFTbc0vxPa5O+luj03tJ6Hgh7pt kx1LHh90MLE4v+iOOfwpqYz811UfdGvNHPwupkhMJTApO/8gFl1wBIeyNY6NvrDJ GiTuyuu25M7t1J9nGD9fWM/54TRLYlI3y2W4M9h+ZzvLw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 09be9181 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:54 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 17/34] gnu: Add php-phpunit-php-token-stream. Date: Mon, 13 Jul 2020 00:25:21 +0200 Message-Id: <20200712222538.18092-17-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpunit-php-token-stream): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 13584273f9..344c413d2c 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -378,3 +378,26 @@ PHP source code into XML and potentially other formats.") method a line of code belongs to.") (home-page "https://github.com/sebastianbergmann/code-unit-reverse-lookup/") (license license:bsd-3))) + +(define-public php-phpunit-php-token-stream + (package + (name "php-phpunit-php-token-stream") + (version "4.0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/php-token-stream.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0iv8ssvyjhgxa1qpp5s8i0j409w49s2kc9qwv1c27qgdhv7yhf7h")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Wrapper around PHP's tokenizer extension") + (description "This library provides a wrapper around PHP's tokenizer +extension.") + (home-page "https://github.com/sebastianbergmann/php-token-stream/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:11 2020 Received: from localhost ([127.0.0.1]:47037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQE-0003gG-PZ for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:11 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ2-0003ad-3h for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:58 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 058eb13c for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=WlCw+XsIXhjy3Yz/r3dm7ewNB Qr6vheTqK4bOHyhYYE=; b=e9+PPzQNZQl1ZoakJx4qKRrcto+udou9ldn3Hys2O nVuHRXTkdMRuHgoR/mt0gjdnMabm+WrgOumq1xbl8AyPRZy7y46t9mZoqCjfXPgr MJtTJDp2mRfTDNqIzLmssNeD2Yg4YWrQP6NlN5ARLrF+QDCL3VDGTKVzzG/7gG1S gqYXr/Gb5s/TnmBC0K40AInwLAszw6RBYGbQ3nv4u46yANnnYzDbHh081bDHR5Th PCmgJ+iwIFlDCy5VHBMltVmYxvxCxAPlXTYoje/KPkWTz9v8TspGmQGn0QO5E+/Y aOxQapXMdVRdXt1QoY0J4AgkapMQsrLKL4g5p8m+uDPvQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 020fd3cf (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:53 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 16/34] gnu: Add php-sebastian-code-unit-reverse-lookup. Date: Mon, 13 Jul 2020 00:25:20 +0200 Message-Id: <20200712222538.18092-16-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-code-unit-reverse-lookup): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index f54b875d92..13584273f9 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -355,3 +355,26 @@ in a DocBlock.") PHP source code into XML and potentially other formats.") (home-page "https://github.com/theseer/tokenizer") (license license:bsd-3))) + +(define-public php-sebastian-code-unit-reverse-lookup + (package + (name "php-sebastian-code-unit-reverse-lookup") + (version "2.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lppni3qcd6gx50jf16y3n71ldj12xjd06kl9ml78zd5p2s6z4qc")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Look up function name from location") + (description "This package provides a facility to look up which function or +method a line of code belongs to.") + (home-page "https://github.com/sebastianbergmann/code-unit-reverse-lookup/") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:10 2020 Received: from localhost ([127.0.0.1]:47035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQE-0003g9-Ho for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:10 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ1-0003aw-Vl for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:58 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 70125a8d for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=Yk+713NZzUPlkeHadCSGzMIqn 98ZpP8iRlnNRBG2gls=; b=iO7fgCqqS9gpEBI6BqdcEknjkWSZ/JlkdB9QraVJ9 sq1eIXeP2Y7+hfD+4tzZgQZOINbZvsF4mbh+ptlBEdCRXe4NVhrsYXNMNP4RjjYl BgeSFGObij9DXaaQZmdmaaPtTKJ+ra6CcCpnHDyFFzcUyJfsLpyT0veAYgX1iBSe P1KXcTltS6uwwTtwuNxqQURDR+HL6jneTJaZ/+xXrLqb7SiNo+2i6Z658gSVwHfR UpqfGufnJa2VQmSPSZ/VHW/YWBTZa134WM+c5/PoRFRmQ1bnSbteI1otV7K1Ea1v yly4RdCpkiYBLy9pEWVv1eDOZO+AtB96U5iec6aNuzkKw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 9fa0080d (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:53 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 15/34] gnu: Add php-theseer-tokenizer. Date: Mon, 13 Jul 2020 00:25:19 +0200 Message-Id: <20200712222538.18092-15-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-theseer-tokenizer): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index df9c490bbf..f54b875d92 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -332,3 +332,26 @@ annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.") (home-page "https://github.com/phpDocumentor/ReflectionDocBlock") (license license:expat))) + +(define-public php-theseer-tokenizer + (package + (name "php-theseer-tokenizer") + (version "1.1.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/theseer/tokenizer.git") + (commit "11336f6f84e16a720dae9d8e6ed5019efa85a0f9"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j436a3jpynnlqrvd7la7a7smj78aklkragwa9l8p91973xra18l")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Convert PHP to XML") + (description "This package provides a small library for converting tokenized +PHP source code into XML and potentially other formats.") + (home-page "https://github.com/theseer/tokenizer") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:10 2020 Received: from localhost ([127.0.0.1]:47033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQE-0003g2-7k for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:10 -0400 Received: from lepiller.eu ([89.234.186.109]:42904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ1-0003bs-I0 for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:57 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 563921ca for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=GTIyCO5taEhWcVbMdN6redc1p eOp/8eHl6Qni64kLIU=; b=Nyx/no5Lw+Nu1RebhSwWRvYM1RSDMUtURutnsbIkW YsGUh48WVTf0A+x3tOWI9MepbQ0SGwtCcQDMZ9n9OQkHOiS3chx/RiJm9dA4aCYa hbaAbegafhIOWLhGsZ/DRBjKgQwOrAv9YIbF/P/0eyc6RYJ0bmF3iA0urTHsJ+uD eQbg4yAMid67CGvaZsKrGFQPu77jjPiZHhgJkTHGk/URZ+9YXfxu+J7KVIITcy0i j0mAL2OuLzeRGAbRzMGxkou8jP8yPVVf+G1A3fueUrWgqKJ/XOc9L5rk5UQ//GJa tZ/zZk7vL5z1reWU1+oUolueuiq4/5MkRu8jHfEqQT9cA== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id d349199f (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:52 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 14/34] gnu: Add php-phpdocumentor-reflection-docblock. Date: Mon, 13 Jul 2020 00:25:18 +0200 Message-Id: <20200712222538.18092-14-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpdocumentor-reflection-docblock): New variable. --- gnu/packages/php-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 93d8649bee..df9c490bbf 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -304,3 +304,31 @@ to analyze the code structure.") types and structural element names.") (home-page "http://www.phpdoc.org") (license license:expat))) + +(define-public php-phpdocumentor-reflection-docblock + (package + (name "php-phpdocumentor-reflection-docblock") + (version "5.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phpDocumentor/ReflectionDocBlock.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bsqwcq5ix7f5p56kc92pl1nqpjdpfc92pjvwyshp1syrrspa3rr")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-webmozart-assert" ,php-webmozart-assert) + ("php-phpdocumentor-reflection-common" ,php-phpdocumentor-reflection-common) + ("php-phpdocumentor-type-resolver" ,php-phpdocumentor-type-resolver))) + (synopsis "Library for retrieving documentation in code fro the code") + (description "With this component, a library can provide support for +annotations via DocBlocks or otherwise retrieve information that is embedded +in a DocBlock.") + (home-page "https://github.com/phpDocumentor/ReflectionDocBlock") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:10 2020 Received: from localhost ([127.0.0.1]:47031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQD-0003fv-Ui for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:10 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ1-0003ad-3q for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:57 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id d24ed555 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=V4ZamGc/HDdD54Y2DnrMIoork eCwBMq2p7TPFt6E9tc=; b=dcRCI/Rvx5q8PAyXf6B/KjCgDnmVfYyExJfdseUax YuS84XUKGsV4lahd7aXg54/3QMi0KKd2TUduUqwp18HnjwFvsWIZzDgLhRXV1Efx +m9AG2gFLrPk4Lhd8v7CSUrIztccPPm/jh96WHLIHzeziGwdOQtgIDJEv/O5Uq/L bNLg+7JBscpzqakkTFCUU+YN5DzBOpMy3UbpBRc0/6l8WGzJMTvGArT0CNEBOgwq XWcNyT+JJBDOUDezwuA9MybjeJ14aD8sHFbD4EuQX6jxbWu+Q9t2HBJxIg7jpaik NNaaJggSDU9ydXtkFmpY92RubDrGelfigTe5n+FSoue/g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 8dae4503 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:51 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 12/34] gnu: Add php-phpdocumentor-reflection-common. Date: Mon, 13 Jul 2020 00:25:16 +0200 Message-Id: <20200712222538.18092-12-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpdocumentor-reflection-common): New variable. --- gnu/packages/php-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index ffc2eb7b11..9b604c46f0 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -255,3 +255,27 @@ who run php versions without the ctype extension.") and output of PHP methods.") (home-page "https://github.com/webmozart/assert") (license license:expat))) + +(define-public php-phpdocumentor-reflection-common + (package + (name "php-phpdocumentor-reflection-common") + (version "2.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phpDocumentor/ReflectionCommon.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q685cpwbfxqy42iz61xxv6zbcc1qskn07nkipflj6c5s935l8jy")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Common reflection classes used by phpdocumentor to reflect +the code structure") + (description "This package contains common classes used by phpdocumentor +to analyze the code structure.") + (home-page "http://www.phpdoc.org") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:09 2020 Received: from localhost ([127.0.0.1]:47029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQD-0003fs-LP for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:09 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ1-0003aw-9y for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:57 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 0b0f58bb for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=6ZA693+Ka/gFJ9eLmg5rKs1j0 3eWnHFaIFcrDliPTYQ=; b=M3aEIJvmDV45CKfQkr+zc9rzRiGootcKt6nve8Mas SCuGgREvOBpsELG9Rtw1xgHfASj5dbbsNttPzfvl2FoCvLhSZmCQtTw5n1Bv1wsd BbUjKkjb7djC0MTTM40FqKiA7wkQntyrk/o2/NZ/upJeEHk+WRoAp9mXuTTdlJMv fFARs4uL5TwAP3zzkdT4oKMg3GldWp7j8gcIwx3101vypZuQ15kLR5M4EVHHQIal xuAclfBicUOULV/VmhU+EFv5pJ5trTN79WC2ciXojGtUZk61pZidfK4Ma+zdrY51 o9grDWiVud6NdKydKdA7L95xHtmjy+eHGJzi4WZTqMyDg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 797c362f (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:52 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 13/34] gnu: Add php-phpdocumentor-type-resolver. Date: Mon, 13 Jul 2020 00:25:17 +0200 Message-Id: <20200712222538.18092-13-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phpdocumentor-type-resolver): New variable. --- gnu/packages/php-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 9b604c46f0..93d8649bee 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -279,3 +279,28 @@ the code structure") to analyze the code structure.") (home-page "http://www.phpdoc.org") (license license:expat))) + +(define-public php-phpdocumentor-type-resolver + (package + (name "php-phpdocumentor-type-resolver") + (version "1.3.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phpDocumentor/TypeResolver.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wshv49z4hxraygg2vhzn0s9ih2y9ymzpcnyjfk14vcfq5yx53l9")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-phpdocumentor-reflection-common" ,php-phpdocumentor-reflection-common))) + (synopsis "Resolver of class names, types and structural element names") + (description "This package provides a PSR-5 based resolver of class names, +types and structural element names.") + (home-page "http://www.phpdoc.org") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:04 2020 Received: from localhost ([127.0.0.1]:47015 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ8-0003eQ-8D for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:04 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ0-0003aw-GX for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:57 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 36620d57 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=uz1sNx9UFoysgOqUDb7m5ignU YMo77G0AjoPQNV1b1Y=; b=UDKShAZiYYNKTyhzPdBg/GeRsPB4uUQ5SOit5S9a1 qJp01ReiVzBd9aO7TyNmxwUKamjtwRV9z1r6qjMilS2HzXP0VuPu+gPW6ocX7Pmw 3OhI7BmrpKcx7ovZ5rTTXVaX9ca+LoJLrkeQWXhAFrPYKVQwsukAS6z9yZ2Wfswn 0qnzoSw0QwKElBtJe3WNiiREaynyEftUhvNrzhUbxyEbKPUC9ZgjVpa1pT24plOC uubMa3V0I1Ecqh1N+YI3ZTGeIl76n80hRJoKgmmBtHSuBUnWqeG1YYbd1ckuM8ce A2Yb5UJyimSWOLhKT4H51iFlEi7HU9xdNUEV6Vq3Td98g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 00fa5e19 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:51 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 11/34] gnu: Add php-webmozart-assert. Date: Mon, 13 Jul 2020 00:25:15 +0200 Message-Id: <20200712222538.18092-11-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-webmozart-assert): New variable. --- gnu/packages/php-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 51e51ac51b..ffc2eb7b11 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -230,3 +230,28 @@ information from a PHP Archive (PHAR)") who run php versions without the ctype extension.") (home-page "https://symfony.com") (license license:expat))) + +(define-public php-webmozart-assert + (package + (name "php-webmozart-assert") + (version "1.9.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/webmozart/assert.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q9bp4sp11r8ghdzr0qswdf1k5bf9b5s525im3kspar6y8019sh9")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-symfony-polyfill-ctype" ,php-symfony-polyfill-ctype))) + (synopsis "Assertions to validate method input/output with nice error messages.") + (description "This library contains efficient assertions to test the input +and output of PHP methods.") + (home-page "https://github.com/webmozart/assert") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:04 2020 Received: from localhost ([127.0.0.1]:47013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ7-0003eI-Tt for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:04 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukQ0-0003ad-7E for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:56 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id cb2e4179 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=hWHvPbRvzpUR705oPqHJ8cYsH wtQvN5dfthRUkZFT/s=; b=AsR2UZKC65N8Af64qBOlmZHgmsbkkOKTO05kWrKqe ZwoP82w6Aw1RuGAmmJy/sRHcaf+6AcNTN8y6Bbb9X66K6Z8GrITXN8fisdogBdOi jKMsN7ppGu1lht0KnbWL7fkFaifgV5H/ISW4OvXFxBYwaIVYI7oySjNEraZkbUHs fLABEeuolX+RaTo+QrDTNOsL4rv/O4/VS3+w5J3Rjy/HRblBGCgptzvrpx5BmR9V R2gFDLug3TLgCkA9GbQz0TJdwDt/qQsc2bK0MIZLmPivnOCc0w1OR+jtBBDvCmtQ XDr/Qzezzig93ySoY7fCTh2LKPeZ9bsNdOpt6lryJLe1g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 8878a5d9 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:50 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 10/34] gnu: Add php-symfony-polyfill-ctype. Date: Mon, 13 Jul 2020 00:25:14 +0200 Message-Id: <20200712222538.18092-10-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php.scm (php-symfony-polyfill-ctype): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index f0f4fe650a..51e51ac51b 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -207,3 +207,26 @@ and constraints.") information from a PHP Archive (PHAR)") (home-page "https://phar.io") (license license:bsd-3))) + +(define-public php-symfony-polyfill-ctype + (package + (name "php-symfony-polyfill-ctype") + (version "1.17.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/symfony/polyfill-ctype.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bh22vwq2idy7fi8ajm6aggjdvds64s98y9854b5gl9s84dk9pz8")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Ctype functions for older PHP versions") + (description "This component provides @code{ctype_*} functions to users +who run php versions without the ctype extension.") + (home-page "https://symfony.com") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:03 2020 Received: from localhost ([127.0.0.1]:47009 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ7-0003e5-Eo for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:03 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPz-0003aw-Lj for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:56 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id c8bb9bd5 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=FwDKhNXemO3Jc4fLZvhWwG2YE heKNEOf2e4xFq41DhU=; b=OE/bj5XBxIV/AsYSYqesTvEjV4x0/hQ0GfzlnlHn7 GYmTa3q+3CYnB/YEeAGZed9PbFDYyBNFVtTj7r45n8N8sOJxGBG/QVBACFDlz9vL ZrOB/l+LYkXhUkbkKpewhkr+oijhF8UfE/0NhVlNIoFkrAwCPK/5AOLZvQCo4Bv9 kXcohgM4NakR+XFSzylrAs769aGflhnhHJWi4WPbN0YX4MP1mxUSkmfR7zZyJCQe JdGTybDazpQH7m53UWFFuXpWXVvW/K6UhSOIhRqBOpmcXZJ7gtuxKUJVtcon6P+9 /0J+ROCwK9v0mHlcOf5umdSdagCSpIJ/ggtsa0CsW5huw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 975ccc30 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:49 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 09/34] gnu: Add php-phar-io-manifest. Date: Mon, 13 Jul 2020 00:25:13 +0200 Message-Id: <20200712222538.18092-9-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * qnu/packages/php-xyz.scm (php-phar-io-manifest): New variable. --- gnu/packages/php-xyz.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 0b64efe6ca..f0f4fe650a 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -180,3 +180,30 @@ designed to work even in the presence of cycles in the association graph.") and constraints.") (home-page "https://phar.io") (license license:bsd-3))) + +(define-public php-phar-io-manifest + (package + (name "php-phar-io-manifest") + (version "2.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phar-io/manifest.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r2s1qdkhn7782g1y6skxvp5w397vmwb496fymsnik2818w0q469")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-phar-io-version" ,php-phar-io-version))) + (properties + `((upstream-name . "phar-io/manifest"))) + (synopsis "PHP Archive information reader") + (description "This package contains a component for reading phar.io manifest +information from a PHP Archive (PHAR)") + (home-page "https://phar.io") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:03 2020 Received: from localhost ([127.0.0.1]:47007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ7-0003dw-3R for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:03 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPz-0003ad-Bz for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:55 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id a9112a6c for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=ew6dTcFWEUNz/DSp78Fm7H1GZ Mu5TpkIu9ZLBe8In/M=; b=XsS2al8M8mXBLD2HhJtHkUjBWmP/eFgupqoh/4Esc uw6khWz8MiMuNMIL1ZrEEui2kNUPzPObAscm6ijAU7yxPS4rsuY2XMjit++Zdbwf h4jiw/0okWmZkaiDuhIP+jMj3V35IaF6YDwMGLD1oPfz49PLboICIQjCFJpz98eF X4tJXb0dXwxChMUDYXKXxzR4mY6BmgDG6KMYHSri7nCQN5JhGbh1XvvjTC4DKs8h Q0OJqbtSoleKvkf26ZLLyYbo+tD2pdyNuC6GAfrnYaltO+eS/xLOYsGY4/ObQ21y UAMKWO/L3SbxO4uZNaA78mbgBe8USCfvVXGPJc395028g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 09a91e5a (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:49 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 08/34] gnu: Add php-phar-io-version. Date: Mon, 13 Jul 2020 00:25:12 +0200 Message-Id: <20200712222538.18092-8-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-phar-io-version): New variable. --- gnu/packages/php-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index a45726a484..0b64efe6ca 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -155,3 +155,28 @@ recursively create new copies of any object referenced by the object. It is designed to work even in the presence of cycles in the association graph.") (home-page "https://github.com/myclabs/DeepCopy.git") (license license:expat))) + +(define-public php-phar-io-version + (package + (name "php-phar-io-version") + (version "3.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phar-io/version.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r9470p0azw7l0x2wbn7kh0zhpswvjnm32vc8vml5v5nskmnqz4c")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (properties + `((upstream-name . "phar-io/version"))) + (synopsis "Library for handling version information and constraints") + (description "This package contains a library for handling version information +and constraints.") + (home-page "https://phar.io") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:03 2020 Received: from localhost ([127.0.0.1]:47004 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ6-0003di-M1 for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:03 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPy-0003aw-Py for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:55 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 9050a1be for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=ZS6Q5zoeuCxbQNh9YGOIG5BI+ pvpdyA9N3v+P0fdAMw=; b=RPevbg/0LOHFIQOvhEWbHEBvh3ZDwKcAVy6rbwOQF InqmInYIyyzMCEdOnQ7/dAOVAruBNxWMyVzWN7Cv7eghyk0OFRgMSfsqGtuOYMVM 9eHbKzfcy5pdh86KY2/T/E7OYD6TZrQbvCbw5GM35BwJKDtjWX3749XPqVJWeDF1 hh36sqZjJlK0NL5eVyxAJUjf82oV4AbQzJNWigC3OU5j2ych1I1UFVHSa75Q2Ija 1E2ufEfq9e/KnLBIwmA7j/5BUlB0B1JOs6UzwpkDaNDS6T59HhdWTjaVvyXDt3VD anE4JfxEdkKwM3FX+gUAAZU4xGw5PocOIgWTZRLvjfuIg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 3a3fd905 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:48 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 07/34] gnu: Add php-myclabs-deep-copy. Date: Mon, 13 Jul 2020 00:25:11 +0200 Message-Id: <20200712222538.18092-7-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-myclabs-deep-copy): New variable. --- gnu/packages/php-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index ae7d7ff6b2..a45726a484 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -130,3 +130,28 @@ PHP variables") variables for visualization") (home-page "http://www.github.com/sebastianbergmann/exporter") (license license:bsd-3))) + +(define-public php-myclabs-deep-copy + (package + (name "php-myclabs-deep-copy") + (version "1.10.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/myclabs/DeepCopy.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ms4qhx5cf19ggdicnd7qjrigwam206py6mj6nw8bz71mafq9nbi")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Create copies of PHP objects") + (description "This package contains a facility to create deep copies (clones) +of PHP objects. This package not only creates a new copy of an object, it +recursively create new copies of any object referenced by the object. It is +designed to work even in the presence of cycles in the association graph.") + (home-page "https://github.com/myclabs/DeepCopy.git") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:02 2020 Received: from localhost ([127.0.0.1]:47000 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ6-0003da-7R for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:02 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPy-0003ad-Ne for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:55 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 56b02dcd for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=+YHtspz68HbKgS386ApmA15tF VQnqCPAxrKZCeEtZC4=; b=i6IFmAW9VS67b7oxXJ5lL42FVs2wrPadUiINKvwg/ DFbQTcv7+OySB/XW+NkflJpStlJI7JxX9DU+sgJ18MDAvilo5FEZkT0no8LgZUmi 0jkvQdptiD0p8Kn7YAG/C8cQKmAImLqGO3yQVZoZ8tehR9T81U2LUgGm+Y/vi4xS yU0DzGgRCUTHnj32CWM9UL2m7koXM27JPaAbmG1Y6dNj5p4oj0O6eYb4nytMGnqb QBukphI7JliSeY45wHVfmhu8Gg6+BsnCngjDBN0KojY/dRmJtDlsgAmJxoI/jQRk b8eW2ixABpu8/ZnZSxR3txQVQWviaakePPCeD8RUb97vg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 9448a9f4 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:48 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 06/34] gnu: Add php-sebastian-exporter. Date: Mon, 13 Jul 2020 00:25:10 +0200 Message-Id: <20200712222538.18092-6-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-exporter): New variable. --- gnu/packages/php-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index b04b8e0859..ae7d7ff6b2 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -105,3 +105,28 @@ instantiate objects in PHP without invoking their constructors") PHP variables") (home-page "http://www.github.com/sebastianbergmann/recursion-context") (license license:bsd-3))) + +(define-public php-sebastian-exporter + (package + (name "php-sebastian-exporter") + (version "4.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/exporter.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03xj9gbi8ifnbj5n72gfpwyg65l71gg1r8yvzpbg6d3yxbqaa8f6")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (inputs + `(("php-sebastian-recursion-context" ,php-sebastian-recursion-context))) + (synopsis "Visualize PHP variables") + (description "This package provides the functionality to export PHP +variables for visualization") + (home-page "http://www.github.com/sebastianbergmann/exporter") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:02 2020 Received: from localhost ([127.0.0.1]:46998 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ5-0003dP-Lt for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:02 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPx-0003aw-VU for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:54 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id abdcce0b for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=Mv0wFoDUATXnkFJHHgEXEH0hg /u7FpWTZl8lac2uegI=; b=ThZKNKmz0JXQRzMeeUQ3Vliz60EHPAU8KgMzpNQfI EN9xXaSlrNugnRWcPS0xi4FZ09UcgoQHzqTqjtOBJEkNRx27JggaGV98b/6GIFcJ xU7706JK9KyiPmHBD5Q4Vl6kUz3YgL5dGO8q08A2zQ/Q2WAaTCepg392CgQIbne0 xJJYsscii6BYLUN30IJ6a8i5XIrEW4qS3TbzTGx5blpygg+U3Gl8JZrn16jsdhJC Q2nkmBUhEULQIp9XO34b+IdADLobjSIHhr+EEAger+OoSN2t1DFiSwQr3tKj9sOJ ozhgmJw69zbpWJGis9PfqnG3C4xhLVvEx8x9vRR98wptg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id c7026b00 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:47 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 05/34] gnu: Add php-sebastian-recursion-context. Date: Mon, 13 Jul 2020 00:25:09 +0200 Message-Id: <20200712222538.18092-5-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-sebastian-recursion-context): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index 28d8909dad..b04b8e0859 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -82,3 +82,26 @@ to build its own store-aware autoloading feature.") instantiate objects in PHP without invoking their constructors") (home-page "https://www.doctrine-project.org/projects/instantiator.html") (license license:expat))) + +(define-public php-sebastian-recursion-context + (package + (name "php-sebastian-recursion-context") + (version "4.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sebastianbergmann/recursion-context.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0glpydmvr95f9xbmh76vgid2nz7rf6lxwfz1j7ksvgmf4m1dniyz")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Process PHP variables recursively") + (description "This package provides functionality to recursively process +PHP variables") + (home-page "http://www.github.com/sebastianbergmann/recursion-context") + (license license:bsd-3))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:01 2020 Received: from localhost ([127.0.0.1]:46994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ5-0003d9-6P for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:01 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPx-0003ad-TQ for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:54 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 38c0c9b7 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; s=dkim; bh=1/rQdUXDKhldFCGF+1lyhoAzV QWS2UbYaLHdmhQU9cw=; b=OO/OeI6Sf9TPYBkrp9KFw2bM1LBT0nKDfg00fmt5U Efulw/2vyf1eK5bIbu9rr4AD4nm3NfvrzFVuGBn69rA2+C7fQP/SV5nee50P1Cwj s+D6BSFfRaL+Uc1gkWlJSfQ0l/IEmyjZP9dvdzKzsMnPhvOyiNmly3kMQlOs2FPm EwCWC4eJvoqDtJJZPIvu5t5vBcg0K6lle+/gcp5sM2HO8uJZN/+JKMWyHFCvT4e0 sjcQjsPPEBJ3+wr1TNO3eER5pKj2f7w7Xw1Py/NbxcKTnmMaeeHWg07IB7yv50ud WKQ6Wzx9zh9K0eRhq9dC/f1XjBcwCWwkRz39eARxJszBw== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id a35baf7d (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:47 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 04/34] gnu: Add php-doctrine-instantiator. Date: Mon, 13 Jul 2020 00:25:08 +0200 Message-Id: <20200712222538.18092-4-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm (php-doctrine-instantiator): New variable. --- gnu/packages/php-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm index dab660f84f..28d8909dad 100644 --- a/gnu/packages/php-xyz.scm +++ b/gnu/packages/php-xyz.scm @@ -59,3 +59,26 @@ build its autoloading feature. This package is used by the composer-build-system to build its own store-aware autoloading feature.") (license license:expat))) + +(define-public php-doctrine-instantiator + (package + (name "php-doctrine-instantiator") + (version "1.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/doctrine/instantiator.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17c72j29p77gdgh06b9qc0nivmav0k5yc22z4ryygj7dhr1h65nq")))) + (build-system composer-build-system) + (arguments + ;; We do not have phpunit yet + `(#:tests? #f)) + (synopsis "Utility for instantiating PHP objects") + (description "This package provides a small, lightweight utility to +instantiate objects in PHP without invoking their constructors") + (home-page "https://www.doctrine-project.org/projects/instantiator.html") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:26:01 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:26:01 2020 Received: from localhost ([127.0.0.1]:46983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukQ2-0003cM-RG for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:26:01 -0400 Received: from lepiller.eu ([89.234.186.109]:42902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPw-0003aw-HR for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:53 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 2891cdb7 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=l56iDKkIW/PU 57U9GbIxtL0WZwDZzlpkKmybhnKZj8Q=; b=W3bUYDZZ1+YrzkdPSts/lZ3x0fg7 sEwmK1tacEkGE44WLBdgFX95/VqE8/4V8dGEN8YJ+OympRrf1XAs10sVzcNbo6C0 MIrYDZCMtwsZ8DySSL3+21yD4as5gSjV6bbKXpe9IbBRYL30OzMlE8q+Ibg4UvEZ BiNqDUFWNHcUV3+XJyWhf1o3t9cuaaq/ScZNBl9YgWtL1eTfBdfpd3kF7nr7qJf4 SVpwiPkZQcx8aCVBDqyCX2HdDTu2YwoWuUEGRvm5rxolvilGcHER7tIrbBvXzkG9 hixYy3PBrTKcAWjZWLr9gTtn2x2SqZieeqitxnAkWmlcdJB9o51RoM+9gQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 93c9228c (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:46 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 03/34] guix: Add composer-build-system. Date: Mon, 13 Jul 2020 00:25:07 +0200 Message-Id: <20200712222538.18092-3-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * guix/build-system/composer.scm: New file. * guix/build/composer-build-system.scm: New file. * guix/build-system/findclass.php: New file. * Makefile.am: Add them. * doc/guix.texi (Build Systems): Document it. --- Makefile.am | 2 + doc/guix.texi | 14 ++ guix/build-system/composer.scm | 169 ++++++++++++++++++++ guix/build-system/findclass.php | 102 ++++++++++++ guix/build/composer-build-system.scm | 224 +++++++++++++++++++++++++++ 5 files changed, 511 insertions(+) create mode 100644 guix/build-system/composer.scm create mode 100644 guix/build-system/findclass.php create mode 100644 guix/build/composer-build-system.scm diff --git a/Makefile.am b/Makefile.am index 623ddf32b2..363af872fa 100644 --- a/Makefile.am +++ b/Makefile.am @@ -117,6 +117,7 @@ MODULES = \ guix/build-system/cargo.scm \ guix/build-system/clojure.scm \ guix/build-system/cmake.scm \ + guix/build-system/composer.scm \ guix/build-system/dub.scm \ guix/build-system/dune.scm \ guix/build-system/emacs.scm \ @@ -164,6 +165,7 @@ MODULES = \ guix/build/cargo-build-system.scm \ guix/build/cargo-utils.scm \ guix/build/cmake-build-system.scm \ + guix/build/composer-build-system.scm \ guix/build/dub-build-system.scm \ guix/build/dune-build-system.scm \ guix/build/emacs-build-system.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 17338ed764..0613f669a0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6687,6 +6687,20 @@ debugging information''), which roughly means that code is compiled with @code{-O2 -g}, as is the case for Autoconf-based packages by default. @end defvr +@defvr {Scheme Variable} composer-build-system +This variable is exported by @code{(guix build-system composer)}. It +implements the build procedure for packages using +@url{https://getcomposer.org/, Composer}, the PHP package manager. + +It automatically adds the @code{php} package to the set of inputs. Which +package is used can be specified with the @code{#:php} parameter. + +The @code{#:test-target} parameter is used to control which script is run +for the tests. By default, the @code{test} script is run if it exists. If +the script does not exist, the build system will run @code{phpunit} from the +source directory, assuming there is a @file{phpunit.xml} file. +@end defvr + @defvr {Scheme Variable} dune-build-system This variable is exported by @code{(guix build-system dune)}. It supports builds of packages using @uref{https://dune.build/, Dune}, a build diff --git a/guix/build-system/composer.scm b/guix/build-system/composer.scm new file mode 100644 index 0000000000..19455b1920 --- /dev/null +++ b/guix/build-system/composer.scm @@ -0,0 +1,169 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. +(define-module (guix build-system composer) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:export (%composer-build-system-modules + lower + composer-build + composer-build-system)) + +;; Commentary: +;; +;; Standard build procedure for PHP packages using Composer. This is implemented +;; as an extension of `gnu-build-system'. +;; +;; Code: + +(define (default-php) + "Return the default PHP package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages php)))) + (module-ref module 'php))) + +(define (default-findclass) + "Return the default findclass script." + (local-file (string-append (current-source-directory) "/findclass.php"))) + +(define (default-composer-classloader) + "Return the default composer-classloader package." + + ;; Do not use `@' to avoid introducing circular dependencies. + (let ((module (resolve-interface '(gnu packages php-xyz)))) + (module-ref module 'composer-classloader))) + +(define %composer-build-system-modules + ;; Build-side modules imported by default. + `((guix build composer-build-system) + (guix build json) + (guix build union) + ,@%gnu-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + (php (default-php)) + (composer-classloader (default-composer-classloader)) + (findclass (default-findclass)) + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + (define private-keywords + '(#:source #:target #:php #:composer-classloader #:findclass #:inputs #:native-inputs)) + + (and (not target) ;XXX: no cross-compilation + (bag + (name name) + (system system) + (host-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@inputs + + ;; Keep the standard inputs of 'gnu-build-system'. + ,@(standard-packages))) + (build-inputs `(("php" ,php) + ("findclass.php" ,findclass) + ("composer-classloader" ,composer-classloader) + ,@native-inputs)) + (outputs outputs) + (build composer-build) + (arguments (strip-keyword-arguments private-keywords arguments))))) + +(define* (composer-build store name inputs + #:key (guile #f) + (outputs '("out")) (configure-flags ''()) + (search-paths '()) + (out-of-source? #t) + (composer-file "composer.json") + (tests? #t) + (test-target "test") + (install-target "install") + (validate-runpath? #t) + (patch-shebangs? #t) + (strip-binaries? #t) + (strip-flags ''("--strip-debug")) + (strip-directories ''("lib" "lib64" "libexec" + "bin" "sbin")) + (phases '(@ (guix build composer-build-system) + %standard-phases)) + (system (%current-system)) + (imported-modules %composer-build-system-modules) + (modules '((guix build composer-build-system) + (guix build json) + (guix build utils)))) + "Build SOURCE using PHP, and with INPUTS. This assumes that SOURCE provides +a 'composer.json' file as its build system." + (define builder + `(begin + (use-modules ,@modules) + (composer-build #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:outputs %outputs + #:inputs %build-inputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:phases ,phases + #:out-of-source? ,out-of-source? + #:composer-file ,composer-file + #:tests? ,tests? + #:test-target ,test-target + #:install-target ,install-target + #:validate-runpath? ,validate-runpath? + #:patch-shebangs? ,patch-shebangs? + #:strip-binaries? ,strip-binaries? + #:strip-flags ,strip-flags + #:strip-directories ,strip-directories))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs inputs + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define composer-build-system + (build-system + (name 'composer) + (description "The standard Composer build system") + (lower lower))) + +;;; composer.scm ends here diff --git a/guix/build-system/findclass.php b/guix/build-system/findclass.php new file mode 100644 index 0000000000..a9704f809c --- /dev/null +++ b/guix/build-system/findclass.php @@ -0,0 +1,102 @@ +<?php +/** + * Extract the classes in the given file + * + * @param string $path The file to check + * @throws \RuntimeException + * @return array The found classes + */ +function findClasses($path) +{ + $extraTypes = PHP_VERSION_ID < 50400 ? '' : '|trait'; + if (defined('HHVM_VERSION') && version_compare(HHVM_VERSION, '3.3', '>=')) { + $extraTypes .= '|enum'; + } + // Use @ here instead of Silencer to actively suppress 'unhelpful' output + // @link https://github.com/composer/composer/pull/4886 + $contents = @php_strip_whitespace($path); + if (!$contents) { + if (!file_exists($path)) { + $message = 'File at "%s" does not exist, check your classmap definitions'; + } elseif (!is_readable($path)) { + $message = 'File at "%s" is not readable, check its permissions'; + } elseif ('' === trim(file_get_contents($path))) { + // The input file was really empty and thus contains no classes + return array(); + } else { + $message = 'File at "%s" could not be parsed as PHP, it may be binary or corrupted'; + } + $error = error_get_last(); + if (isset($error['message'])) { + $message .= PHP_EOL . 'The following message may be helpful:' . PHP_EOL . $error['message']; + } + throw new \RuntimeException(sprintf($message, $path)); + } + // return early if there is no chance of matching anything in this file + if (!preg_match('{\b(?:class|interface'.$extraTypes.')\s}i', $contents)) { + return array(); + } + // strip heredocs/nowdocs + $contents = preg_replace('{<<<[ \t]*([\'"]?)(\w+)\\1(?:\r\n|\n|\r)(?:.*?)(?:\r\n|\n|\r)(?:\s*)\\2(?=\s+|[;,.)])}s', 'null', $contents); + // strip strings + $contents = preg_replace('{"[^"\\\\]*+(\\\\.[^"\\\\]*+)*+"|\'[^\'\\\\]*+(\\\\.[^\'\\\\]*+)*+\'}s', 'null', $contents); + // strip leading non-php code if needed + if (substr($contents, 0, 2) !== '<?') { + $contents = preg_replace('{^.+?<\?}s', '<?', $contents, 1, $replacements); + if ($replacements === 0) { + return array(); + } + } + // strip non-php blocks in the file + $contents = preg_replace('{\?>(?:[^<]++|<(?!\?))*+<\?}s', '?><?', $contents); + // strip trailing non-php code if needed + $pos = strrpos($contents, '?>'); + if (false !== $pos && false === strpos(substr($contents, $pos), '<?')) { + $contents = substr($contents, 0, $pos); + } + // strip comments if short open tags are in the file + if (preg_match('{(<\?)(?!(php|hh))}i', $contents)) { + $contents = preg_replace('{//.* | /\*(?:[^*]++|\*(?!/))*\*/}x', '', $contents); + } + preg_match_all('{ + (?: + \b(?<![\$:>])(?P<type>class|interface'.$extraTypes.') \s++ (?P<name>[a-zA-Z_\x7f-\xff:][a-zA-Z0-9_\x7f-\xff:\-]*+) + | \b(?<![\$:>])(?P<ns>namespace) (?P<nsname>\s++[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+(?:\s*+\\\\\s*+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*+)*+)? \s*+ [\{;] + ) + }ix', $contents, $matches); + $classes = array(); + $namespace = ''; + for ($i = 0, $len = count($matches['type']); $i < $len; $i++) { + if (!empty($matches['ns'][$i])) { + $namespace = str_replace(array(' ', "\t", "\r", "\n"), '', $matches['nsname'][$i]) . '\\'; + } else { + $name = $matches['name'][$i]; + // skip anon classes extending/implementing + if ($name === 'extends' || $name === 'implements') { + continue; + } + if ($name[0] === ':') { + // This is an XHP class, https://github.com/facebook/xhp + $name = 'xhp'.substr(str_replace(array('-', ':'), array('_', '__'), $name), 1); + } elseif ($matches['type'][$i] === 'enum') { + // In Hack, something like: + // enum Foo: int { HERP = '123'; } + // The regex above captures the colon, which isn't part of + // the class name. + $name = rtrim($name, ':'); + } + $classes[] = ltrim($namespace . $name, '\\'); + } + } + return $classes; +} + +$options = getopt('i:f:', []); +$file = $options["f"]; +$input = $options["i"]; + +$classes = findClasses($file); +foreach($classes as $class) { + echo '$classmap[\''.$class.'\'] = \''.$input.'/'.$file.'\';'; + echo "\n"; +} diff --git a/guix/build/composer-build-system.scm b/guix/build/composer-build-system.scm new file mode 100644 index 0000000000..3578b91954 --- /dev/null +++ b/guix/build/composer-build-system.scm @@ -0,0 +1,224 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix build composer-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build json) + #:use-module (guix build utils) + #:use-module (ice-9 match) + #:export (%standard-phases + composer-build)) + +;; Commentary: +;; +;; Builder-side code of the standard composer build procedure. +;; +;; Code: + +(define* (read-package-data #:key (filename "composer.json")) + (call-with-input-file filename + (lambda (port) + (read-json port)))) + +(define* (check #:key composer-file inputs outputs tests? test-target #:allow-other-keys) + "Install the given package." + (when tests? + (mkdir-p "vendor") + (create-autoload (string-append (getcwd) "/vendor") composer-file + (append inputs outputs) #:dev-dependencies? #t) + (let* ((package-data (read-package-data #:filename composer-file)) + (scripts (match (assoc-ref package-data "scripts") + (('@ script ...) script) + (#f '()))) + (test-script + (assoc-ref scripts test-target)) + (dependencies (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "require") + (('@ dependency ...) dependency) + (#f '()))))) + (dependencies-dev + (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "require-dev") + (('@ dependency ...) dependency) + (#f '()))))) + (name (assoc-ref package-data "name"))) + (for-each + (lambda (input) + (let ((bin (find-php-bin (cdr input)))) + (when bin + (copy-recursively bin "vendor/bin")))) + inputs) + (match test-script + ((? string? command) + (unless (equal? (system command) 0) + (throw 'failed-command command))) + (('@ (? string? command) ...) + (for-each + (lambda (c) + (unless (equal? (system c) 0) + (throw 'failed-command c))) + command)) + (#f (invoke "vendor/bin/phpunit"))))) + #t) + +(define (find-php-bin input) + (let* ((web-dir (string-append input "/share/web")) + (vendors (if (file-exists? web-dir) + (find-files web-dir "^vendor$" #:directories? #t) + #f))) + (match vendors + ((vendor) + (let ((bin (string-append vendor "/bin"))) + (and (file-exists? bin) bin))) + (_ #f)))) + +(define (find-php-dep inputs dependency) + (let loop ((inputs (map cdr inputs))) + (if (null? inputs) + (throw 'unsatisfied-dependency "Unsatisfied dependency: required " dependency) + (let ((autoload (string-append (car inputs) "/share/web/" dependency "/vendor/autoload_conf.php"))) + (if (file-exists? autoload) + autoload + (loop (cdr inputs))))))) + +(define* (create-autoload vendor composer-file inputs #:key dev-dependencies?) + (with-output-to-file (string-append vendor "/autoload.php") + (lambda _ + (format #t "<?php~%") + (format #t "// autoload.php @generated by Guix~%") + (format #t "$map = $psr4map = $classmap = array();~%") + (format #t "require_once '~a/autoload_conf.php';~%" vendor) + (format #t "require_once '~a/share/web/composer/ClassLoader.php';~%" + (assoc-ref inputs "composer-classloader")) + (format #t "$loader = new \\Composer\\Autoload\\ClassLoader();~%") + (format #t "foreach ($map as $namespace => $path) {~%") + (format #t " $loader->set($namespace, $path);~%") + (format #t "}~%") + (format #t "foreach ($psr4map as $namespace => $path) {~%") + (format #t " $loader->setPsr4($namespace, $path);~%") + (format #t "}~%") + (format #t "$loader->addClassMap($classmap);~%") + (format #t "$loader->register();~%"))) + (let* ((package-data (read-package-data #:filename composer-file)) + (autoload + (match (assoc-ref package-data "autoload") + (('@ autoload ...) autoload) + (#f '()))) + (autoload-dev + (match (assoc-ref package-data "autoload-dev") + (('@ autoload-dev ...) autoload-dev) + (#f '()))) + (dependencies (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "require") + (('@ dependency ...) dependency) + (#f '()))))) + (dependencies-dev + (filter (lambda (dep) (string-contains dep "/")) + (map car + (match (assoc-ref package-data "require-dev") + (('@ dependency ...) dependency) + (#f '())))))) + (with-output-to-file (string-append vendor "/autoload_conf.php") + (lambda _ + (format #t "<?php~%") + (format #t "// autoload_conf.php @generated by Guix~%") + (force-output) + (for-each + (lambda (psr4) + (match psr4 + ((key . value) + (format #t "$psr4map['~a'] = '~a/../~a';~%" + (string-join (string-split key #\\) "\\\\") + vendor value)))) + (append + (match (assoc-ref autoload "psr-4") + (('@ psr4 ...) psr4) + (#f '())) + (if dev-dependencies? + (match (assoc-ref autoload-dev "psr-4") + (('@ psr4 ...) psr4) + (#f '())) + '()))) + (for-each + (lambda (classmap) + (for-each + (lambda (file) + (invoke "php" (assoc-ref inputs "findclass.php") + "-i" (string-append vendor "/..") "-f" file)) + (find-files classmap ".(php|hh|inc)$"))) + (append + (or (assoc-ref autoload "classmap") '()) + (if dev-dependencies? + (or (assoc-ref autoload-dev "classmap") '()) + '()))) + (for-each + (lambda (dep) + (format #t "require_once '~a';~%" (find-php-dep inputs dep))) + (append + dependencies + (if dev-dependencies? + dependencies-dev + '()))))))) + +(define* (install #:key inputs outputs composer-file #:allow-other-keys) + "Install the given package." + (let* ((out (assoc-ref outputs "out")) + (package-data (read-package-data #:filename composer-file)) + (name (assoc-ref package-data "name")) + (php-dir (string-append out "/share/web/" name)) + (bin-dir (string-append php-dir "/vendor/bin")) + (bin (string-append out "/bin")) + (binaries (assoc-ref package-data "bin"))) + (mkdir-p php-dir) + (copy-recursively "." php-dir) + (mkdir-p (string-append php-dir "/vendor")) + (when binaries + (mkdir-p bin-dir) + (mkdir-p bin) + (for-each + (lambda (file) + (let ((installed-file (string-append bin-dir "/" (basename file))) + (bin-file (string-append bin "/" (basename file))) + (original-file (string-append php-dir "/" file))) + (symlink original-file installed-file) + (symlink original-file bin-file))) + binaries)) + (create-autoload (string-append php-dir "/vendor") + composer-file inputs)) + #t) + +(define %standard-phases + ;; Everything is as with the GNU Build System except for the `configure' + ;; , `build', `check' and `install' phases. + (modify-phases gnu:%standard-phases + (delete 'bootstrap) + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install install) + (add-after 'install 'check check))) + +(define* (composer-build #:key inputs (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given package, applying all of PHASES in order." + (apply gnu:gnu-build #:inputs inputs #:phases phases args)) + +;;; composer-build-system.scm ends here -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:25:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:25:58 2020 Received: from localhost ([127.0.0.1]:46969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukPy-0003bK-Sb for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:58 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPt-0003ad-I1 for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:53 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 3b9a3814 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=9T1JFawuPbva F8Q+AxWLysKCCKNkrq+wsbxAWancyhs=; b=Z+GMDCPNcohjKERigAJk+hB8SRuE QQcSI8joJMlgqcqQKxzfz+ZeUtxjS7WS45yZ8sSFTRWrSoH3zSEWPgwZddbKI1Y5 pVkNaW3t/RrQ+LucJ8B6GCECFPlxjfaRFPu/wtHm6yq554J0V0lQK0P5bzOqc6kK RnLqolFbzMM+cKWcFivIwZ8u5sTiPYoN2TdZZAYliEdZ+LOc/sCNHYbDVPdi9q/I YOHmsaN4OX+6X/62b2XKtn4oLjOPn6MbyZM9qEavXcu5/cJzCg8ZIyelvmdg2+P3 1OfKD6Qce95iD4i6fMjCDAtCFS7w+vRG4WX0Y3eAPl4o6aRGpOQkg3qEVQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 0adddc50 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:46 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 02/34] gnu: Add composer-classloader. Date: Mon, 13 Jul 2020 00:25:06 +0200 Message-Id: <20200712222538.18092-2-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200712222538.18092-1-julien@HIDDEN> References: <20200713002055.1553f136@HIDDEN> <20200712222538.18092-1-julien@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/packages/php-xyz.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/php-xyz.scm | 61 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 gnu/packages/php-xyz.scm diff --git a/gnu/local.mk b/gnu/local.mk index 3046a840c9..90d1b1302b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -424,6 +424,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/photo.scm \ %D%/packages/phabricator.scm \ %D%/packages/php.scm \ + %D%/packages/php-xyz.scm \ %D%/packages/pkg-config.scm \ %D%/packages/plotutils.scm \ %D%/packages/poedit.scm \ diff --git a/gnu/packages/php-xyz.scm b/gnu/packages/php-xyz.scm new file mode 100644 index 0000000000..dab660f84f --- /dev/null +++ b/gnu/packages/php-xyz.scm @@ -0,0 +1,61 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages php-xyz) + #:use-module (gnu packages) + #:use-module (gnu packages php) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system composer) + #:use-module (guix build-system gnu) + #:use-module (guix utils) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public composer-classloader + (package + (name "composer-classloader") + (version "1.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/composer/composer.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0127zmmg3yx84ljngfs86q7kjhyypybkf4d1ihfrfnzgynzxfxdf")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (install (string-append out "/share/web/composer/ClassLoader.php"))) + (mkdir-p (dirname install)) + (copy-file "src/Composer/Autoload/ClassLoader.php" install))))))) + (home-page "https://getcomposer.org") + (synopsis "PHP class loader extracted from the composer package") + (description "This package contains the class loader class used by Composer to +build its autoloading feature. This package is used by the composer-build-system +to build its own store-aware autoloading feature.") + (license license:expat))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at 42338) by debbugs.gnu.org; 12 Jul 2020 22:25:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:25:51 2020 Received: from localhost ([127.0.0.1]:46964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukPv-0003ao-6h for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:51 -0400 Received: from lepiller.eu ([89.234.186.109]:42900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukPs-0003ad-35 for 42338 <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:25:49 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 09c2b194 for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=from:to :subject:date:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=dkim; bh=TT5nxDDzLybC MT2oCWBXFISW25wTpl9AKS1jwYe3GMs=; b=N8WuMVsNyPdX993VlBSER6SBRNnI ap/lf6UuxFjDgwqmeX5HRdC5u4ZdPXqVZMBvVZ6yCthn9fNggclUY8q7tTxD/x4M X8rikR99lVJgT8kxF0Lq+Ecgo5CCbXX+xfjGrv3K80cwqTNu4c7VHCGxkxPXwfaf mI2eJ7H0nJSp65RxkUlyIqykTbyOuhnlH+VE80MIPRn4B+mt6dY3L6PvUNv3RxXm f0qWVH324zsI0lpYyKt8NrA1U15UCkOXW4KYZ3Uuego5wCoZ5C5aIOkVXoWhL5A2 EkbfzlyrpTmQumEl1xk9vf3lyvObhAW2NsU6vY8k53rP7UNE0lifDFgB4g== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id 4b55fd0b (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <42338 <at> debbugs.gnu.org>; Sun, 12 Jul 2020 22:25:45 +0000 (UTC) From: Julien Lepiller <julien@HIDDEN> To: 42338 <at> debbugs.gnu.org Subject: [PATCH 01/34] guix: import: Add composer importer. Date: Mon, 13 Jul 2020 00:25:05 +0200 Message-Id: <20200712222538.18092-1-julien@HIDDEN> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200713002055.1553f136@HIDDEN> References: <20200713002055.1553f136@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 42338 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * guix/import/composer.scm: New file. * guix/scripts/import/composer.scm: New file. * Makefile.am: Add them. * guix/scripts/import.scm: Add composer importer. --- Makefile.am | 2 + guix/import/composer.scm | 252 +++++++++++++++++++++++++++++++ guix/scripts/import.scm | 2 +- guix/scripts/import/composer.scm | 107 +++++++++++++ 4 files changed, 362 insertions(+), 1 deletion(-) create mode 100644 guix/import/composer.scm create mode 100644 guix/scripts/import/composer.scm diff --git a/Makefile.am b/Makefile.am index 20d43cd130..623ddf32b2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -219,6 +219,7 @@ MODULES = \ guix/search-paths.scm \ guix/packages.scm \ guix/import/cabal.scm \ + guix/import/composer.scm \ guix/import/cpan.scm \ guix/import/cran.scm \ guix/import/crate.scm \ @@ -265,6 +266,7 @@ MODULES = \ guix/scripts/system/reconfigure.scm \ guix/scripts/lint.scm \ guix/scripts/challenge.scm \ + guix/scripts/import/composer.scm \ guix/scripts/import/crate.scm \ guix/scripts/import/cran.scm \ guix/scripts/import/elpa.scm \ diff --git a/guix/import/composer.scm b/guix/import/composer.scm new file mode 100644 index 0000000000..0e17eb0487 --- /dev/null +++ b/guix/import/composer.scm @@ -0,0 +1,252 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Julien Lepiller <julien@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix import composer) + #:use-module (ice-9 match) + #:use-module (json) + #:use-module (gcrypt hash) + #:use-module (guix base32) + #:use-module (guix build git) + #:use-module (guix build utils) + #:use-module (guix build-system) + #:use-module (guix import json) + #:use-module (guix import utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix serialization) + #:use-module (guix upstream) + #:use-module (guix utils) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:export (composer->guix-package + %composer-updater + composer-recursive-import)) + +;; XXX adapted from (guix scripts hash) +(define (file-hash file select? recursive?) + ;; Compute the hash of FILE. + (if recursive? + (let-values (((port get-hash) (open-sha256-port))) + (write-file file port #:select? select?) + (force-output port) + (get-hash)) + (call-with-input-file file port-sha256))) + +;; XXX taken from (guix scripts hash) +(define (vcs-file? file stat) + (case (stat:type stat) + ((directory) + (member (basename file) '(".bzr" ".git" ".hg" ".svn" "CVS"))) + ((regular) + ;; Git sub-modules have a '.git' file that is a regular text file. + (string=? (basename file) ".git")) + (else + #f))) + +(define (latest-version versions) + (fold (lambda (a b) (if (version>? a b) a b)) (car versions) versions)) + +(define (fix-version version) + "Return a fixed version from a version string. For instance, v10.1 -> 10.1" + (cond + ((string-prefix? "version" version) + (if (char-set-contains? char-set:digit (string-ref version 7)) + (substring version 7) + (substring version 8))) + ((string-prefix? "v" version) + (substring version 1)) + (else version))) + +(define* (composer-fetch name #:optional version) + "Return an alist representation of the Composer metadata for the package NAME, +or #f on failure." + (let ((package (json-fetch + (string-append "https://repo.packagist.org/p/" name ".json")))) + (if package + (let* ((packages (assoc-ref package "packages")) + (package (assoc-ref packages name)) + (versions (filter + (lambda (version) + (and (not (string-contains version "dev")) + (not (string-contains version "beta")))) + (map car package))) + (versions (map + (lambda (version) + (cons (fix-version version) version)) + versions)) + (version (or (if (null? version) #f version) + (latest-version (map car versions))))) + (assoc-ref package (assoc-ref versions version))) + #f))) + +(define (php-package-name name) + "Given the NAME of a package on Packagist, return a Guix-compliant name for +the package." + (let ((name (string-join (string-split name #\/) "-"))) + (if (string-prefix? "php-" name) + (snake-case name) + (string-append "php-" (snake-case name))))) + +(define (make-php-sexp name version home-page description dependencies + dev-dependencies licenses source) + "Return the `package' s-expression for a PHP package with the given NAME, +VERSION, HOME-PAGE, DESCRIPTION, DEPENDENCIES, LICENSES and SOURCE." + (let ((git? (equal? (assoc-ref source "type") "git"))) + ((if git? call-with-temporary-directory call-with-temporary-output-file) + (lambda* (temp #:optional port) + (and (if git? + (begin + (mkdir-p temp) + (git-fetch (assoc-ref source "url") + (assoc-ref source "reference") + temp)) + (url-fetch (assoc-ref source "url") temp)) + `(package + (name ,(php-package-name name)) + (version ,version) + (source (origin + ,@(if git? + `((method git-fetch) + (uri (git-reference + (url ,(assoc-ref source "url")) + (commit ,(assoc-ref source "reference")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + ,(bytevector->nix-base32-string + (file-hash temp (negate vcs-file?) #t))))) + `((method url-fetch) + (uri ,(assoc-ref source "url")) + (sha256 (base32 ,(guix-hash-url temp))))))) + (build-system composer-build-system) + ,@(if (null? dependencies) + '() + `((inputs + (,'quasiquote + ,(map (lambda (name) + `(,name + (,'unquote + ,(string->symbol name)))) + dependencies))))) + ,@(if (null? dev-dependencies) + '() + `((native-inputs + (,'quasiquote + ,(map (lambda (name) + `(,name + (,'unquote + ,(string->symbol name)))) + dev-dependencies))))) + (synopsis "") + (description ,description) + (home-page ,home-page) + (license ,(match licenses + (() #f) + ((license) (license->symbol license)) + (_ `(list ,@(map license->symbol licenses))))))))))) + +(define* (composer->guix-package package-name #:optional version) + "Fetch the metadata for PACKAGE-NAME from packagist.org, and return the +`package' s-expression corresponding to that package, or #f on failure." + (let ((package (composer-fetch package-name version))) + (and package + (let* ((name (assoc-ref package "name")) + (version (fix-version (assoc-ref package "version"))) + (description (beautify-description + (assoc-ref package "description"))) + (home-page (assoc-ref package "homepage")) + (dependencies-names (filter + (lambda (dep) + (string-contains dep "/")) + (map car (assoc-ref package "require")))) + (dependencies (map php-package-name dependencies-names)) + (require-dev (assoc-ref package "require-dev")) + (dev-dependencies-names + (if require-dev + (filter + (lambda (dep) + (string-contains dep "/")) + (map car require-dev)) + '())) + (dev-dependencies (map php-package-name dev-dependencies-names)) + (licenses (map string->license + (vector->list + (assoc-ref package "license"))))) + (values (make-php-sexp name version home-page description dependencies + dev-dependencies licenses (assoc-ref package "source")) + (append dependencies-names dev-dependencies-names)))))) + +(define (guix-name->composer-name name) + "Given a guix package name, return the name of the package in Packagist." + (if (string-prefix? "php-" name) + (let ((components (string-split (substring name 4) #\-))) + (match components + ((namespace name ...) + (string-append namespace "/" (string-join name "-"))))) + name)) + +(define (guix-package->composer-name package) + "Given a Composer PACKAGE built from Packagist, return the name of the +package in Packagist." + (let ((upstream-name (assoc-ref + (package-properties package) + 'upstream-name)) + (name (package-name package))) + (if upstream-name + upstream-name + (guix-name->composer-name name)))) + +(define (string->license str) + "Convert the string STR into a license object." + (match str + ("GNU LGPL" license:lgpl2.0) + ("GPL" license:gpl3) + ((or "BSD" "BSD License" "BSD-3-Clause") license:bsd-3) + ((or "MIT" "MIT license" "Expat license") license:expat) + ("Public domain" license:public-domain) + ((or "Apache License, Version 2.0" "Apache 2.0") license:asl2.0) + (_ #f))) + +(define (php-package? package) + "Return true if PACKAGE is a PHP package from Packagist." + (and + (eq? (build-system-name (package-build-system package)) 'composer) + (string-prefix? "php-" (package-name package)))) + +(define (latest-release package) + "Return an <upstream-source> for the latest release of PACKAGE." + (let* ((php-name (guix-package->composer-name package)) + (metadata (composer-fetch php-name)) + (version (fix-version (assoc-ref metadata "version"))) + (url (assoc-ref (assoc-ref metadata "source") "url"))) + (upstream-source + (package (package-name package)) + (version version) + (urls (list url))))) + +(define %composer-updater + (upstream-updater + (name 'composer) + (description "Updater for Composer packages") + (pred php-package?) + (latest latest-release))) + +(define* (composer-recursive-import package-name #:optional version) + (recursive-import package-name '() + #:repo->guix-package composer->guix-package + #:guix-name php-package-name)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index c6cc93fad8..4c91627283 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -76,7 +76,7 @@ rather than \\n." ;;; (define importers '("gnu" "nix" "pypi" "cpan" "hackage" "stackage" "elpa" "gem" - "cran" "crate" "texlive" "json" "opam")) + "cran" "crate" "texlive" "json" "opam" "composer")) (define (resolve-importer name) (let ((module (resolve-interface diff --git a/guix/scripts/import/composer.scm b/guix/scripts/import/composer.scm new file mode 100644 index 0000000000..412bae6318 --- /dev/null +++ b/guix/scripts/import/composer.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 David Thompson <davet@HIDDEN> +;;; Copyright © 2018 Oleg Pykhalov <go.wigust@HIDDEN> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (guix scripts import composer) + #:use-module (guix ui) + #:use-module (guix utils) + #:use-module (guix scripts) + #:use-module (guix import composer) + #:use-module (guix scripts import) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:use-module (srfi srfi-41) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:export (guix-import-composer)) + + +;;; +;;; Command-line options. +;;; + +(define %default-options + '()) + +(define (show-help) + (display (G_ "Usage: guix import composer PACKAGE-NAME +Import and convert the Composer package for PACKAGE-NAME.\n")) + (display (G_ " + -h, --help display this help and exit")) + (display (G_ " + -V, --version display version information and exit")) + (display (G_ " + -r, --recursive generate package expressions for all Composer packages\ + that are not yet in Guix")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specification of the command-line options. + (cons* (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix import composer"))) + (option '(#\r "recursive") #f #f + (lambda (opt name arg result) + (alist-cons 'recursive #t result))) + %standard-import-options)) + + +;;; +;;; Entry point. +;;; + +(define (guix-import-composer . args) + (define (parse-options) + ;; Return the alist of option values. + (args-fold* args %options + (lambda (opt name arg result) + (leave (G_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (alist-cons 'argument arg result)) + %default-options)) + + (let* ((opts (parse-options)) + (args (filter-map (match-lambda + (('argument . value) + value) + (_ #f)) + (reverse opts)))) + (match args + ((package-name) + (if (assoc-ref opts 'recursive) + (map (match-lambda + ((and ('package ('name name) . rest) pkg) + `(define-public ,(string->symbol name) + ,pkg)) + (_ #f)) + (composer-recursive-import package-name)) + (let ((sexp (composer->guix-package package-name))) + (unless sexp + (leave (G_ "failed to download meta-data for package '~a'~%") + package-name)) + sexp))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%")))))) -- 2.27.0
guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.Received: (at submit) by debbugs.gnu.org; 12 Jul 2020 22:21:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 12 18:21:15 2020 Received: from localhost ([127.0.0.1]:46958 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1jukLT-0003U3-JL for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:21:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:52128) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <julien@HIDDEN>) id 1jukLP-0003Tu-HP for submit <at> debbugs.gnu.org; Sun, 12 Jul 2020 18:21:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:54704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <julien@HIDDEN>) id 1jukLP-0004NS-1k for guix-patches@HIDDEN; Sun, 12 Jul 2020 18:21:11 -0400 Received: from lepiller.eu ([2a00:5884:8208::1]:59462) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <julien@HIDDEN>) id 1jukLM-0004s1-Io for guix-patches@HIDDEN; Sun, 12 Jul 2020 18:21:10 -0400 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id 111c09e8 for <guix-patches@HIDDEN>; Sun, 12 Jul 2020 22:21:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:subject:message-id:mime-version:content-type :content-transfer-encoding; s=dkim; bh=qxvHX9iPqqOh9m/l0C72CAnvw 1W+H/YLf520LuZKJoE=; b=WF02z1EsfnhCwWIU72eKO2gaRjU/BAMm3NKYr3juC d64U0EoAYHJkcov2xKZRT7f+UnKwHusXaDU6kWg6LpqOI8BHi/QCg4tfqIFbjBbZ qvSpqaTcaQgh/CEnQWZHI/JzYvl2oyCiJSfUP6NXV3K6mzfk6cDy3IJXo2j54rje WzXQIycMD+dYFDYd99MXJD1lGIxOobP86t3OnXlVczoVA0pg/6z/KepGwr9ZXclj 5jd5li8CCm2JDBE4FhPNnoK9U9fgVAzQeChm1Dh/JFYqgdDTlMZtr91+NtNeCkHr dZLSx09mwF2f0BumwmALMpQIDGqv71i/A/FJPBRdJswqg== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id a54c00ee (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for <guix-patches@HIDDEN>; Sun, 12 Jul 2020 22:21:03 +0000 (UTC) Date: Mon, 13 Jul 2020 00:20:55 +0200 From: Julien Lepiller <julien@HIDDEN> To: guix-patches@HIDDEN Subject: [PATCH] Add composer build system (PHP) Message-ID: <20200713002055.1553f136@HIDDEN> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Received-SPF: none client-ip=2a00:5884:8208::1; envelope-from=julien@HIDDEN; helo=lepiller.eu X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hi Guix! This patch series adds the composer-build-system, along with an importer and an updater (first 3 patches). The patch series also adds some php packages for phpunit and its dependencies. The patches are available in my composer branch at https://framagit.org/tyreunom/guix/-/tree/composer
Julien Lepiller <julien@HIDDEN>
:guix-patches@HIDDEN
.
Full text available.guix-patches@HIDDEN
:bug#42338
; Package guix-patches
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.