[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#42338] [PATCH v5 0/9] Composer build-system
From: |
Nicolas Graves |
Subject: |
[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@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@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