GNU bug report logs -
#42338
[PATCH] Add composer build system (PHP)
Previous Next
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):
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.