GNU bug report logs - #42338
[PATCH] Add composer build system (PHP)

Previous Next

Package: guix-patches;

Reported by: Julien Lepiller <julien <at> lepiller.eu>

Date: Sun, 12 Jul 2020 22:22:02 UTC

Severity: normal

Tags: patch

Done: Steve George <steve <at> futurile.net>

Bug is archived. No further changes may be made.

Full log


Message #278 received at 42338 <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Julien Lepiller <julien <at> lepiller.eu>, 42338 <at> debbugs.gnu.org
Subject: Re: [bug#42338] [PATCH v5 0/9] Composer build-system
Date: Tue, 19 Dec 2023 08:43:50 +0100
On 2023-12-18 23:33, Ludovic Courtès wrote:

> Hi,
>
> Nicolas Graves <ngraves <at> ngraves.fr> skribis:
>
>> This is the result of my further rework of the composer import and
>> build-system. The `guix: import: composer` commits can be squashed
>> easily.
>>
>> This is now tested on 94 php packages with all testing enabled except
>> for 3 packages. I will submit these packages as a whole in the
>> alphabetical order (the bootstrap order is not worth it IMO) in a new
>> guix issue.
>>
>> Before accepting it, I also would like to propose a change of
>> names. If me make an analogy with python:
>> tool: pip <-> composer
>> package hub: pypi <-> packagist
>> build-system: python/pyproject <-> php

>>
>> Since we only take about 90 lines of real composer code, I would
>> rather call the build-system php-build-system. 
>> Same thing: instead of `guix import composer` we should rather call
>> `guix import packagist`.

Do you have an opinion on this? I guess now that's in the code, we can
keep it as is, but that's sad we didn't get to discuss on this. 

>>
>> If that's OK, I'll change it with the next (and hopefully last!)
>> version of this build system.
>>
>> Nicolas Graves (9):
>>   guix: import: Add composer importer.
>>   gnu: Add composer-classloader.
>>   guix: Add composer-build-system.
>>   guix: import: composer: Use memoization.
>>   guix: import: composer: Fix json->require.
>>   guix: import: composer: More robust string->license.
>>   guix: import: composer: Modern inputs formatting.
>>   guix: import: composer: Full rewrite composer-fetch.
>>   gnu: composer-build-system: Full check phase rewrite.
>
> In the interest of moving forward, I pushed this:
>
>   6454788a5c build-system/composer: Do not import host-side Guile-JSON modules.
>   9dab758791 build-system: Add ‘composer-build-system’.
>   e8fd78d54e gnu: Add composer-classloader.
>   b7e3945283 guix: import: Add composer importer.
>
> I squashed the importer commits.
>
> However, I also add to make way too many fixes to my taste: adding
> missing #:use-module, fixing unbound variables (guessing…), fixing
> typos, untangling and build system commit that was fixing things in the
> importer, fixing ‘tests/composer.scm’ which wouldn’t pass, fixing a case
> where the importer would return a single value instead of two (breaking
> recursive imports), and probably others that I forgot.  Not great.
>
> Could you please take a closer look and see whether anything is amiss at
> this point?

Not great indeed, seemed to work fine on my end, will take a look. I
hope I didn't send a different patch series than intended. 

>
> Next, which PHP packages do we add?  Julien initially submitted 30ish of
> them, should we take those?  Or are you planning to submit a separate
> set?

I have a set of 94-97 packages, I've sent them in an email to you and
Julien (an email from ngraves <at> ngraves.fr on november 2nd), these should
work with this set of commits. Will cut that in commits and submit them
quickly. 

>
> It would also be nice if the updater would fill in the ‘inputs’ fields
> of <upstream-source>: that would allow ‘guix refresh -u’ to
> automatically update inputs.

I will first focus on fixes and packages.

>
> Thanks in advance!
>
> Ludo’.

-- 
Best regards,
Nicolas Graves




This bug report was last modified 271 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.