Re: How to port a PHP application that uses Composer?

From: Chris <portmaster_at_bsdforge.com>
Date: Tue, 17 May 2022 15:07:45 UTC
On 2022-05-16 21:19, Mel Pilgrim wrote:
> On 2022-05-16 20:14, Peter Beckman wrote:
>> PHP is an interpreted language, Unless there are compiled portions, there
>> is no porting necessary.
> 
> There are many reasons to port a PHP application.  Bringing in extensions 
> and
> tracking those dependencies, for example.  I've also seen a bunch of 
> applications
> that need patches to shell commands because they assume Linuxisms that don't 
> work
> on FreeBSD.
> 
>> How does the "application" run? Is it just a directory that is configured
>> as a root directory for a webserver?
> 
> Web and command-line
> 
>> Consider that it is something the installer needs to do, or build the
>> package as a deterministic set of packages already installed.
> 
> Yes, that's exactly the point I'm stuck on.  The fetch-extract-fetch and
> toe-stepping problems mentioned in my original email came from me trying to 
> solve
> this either way:
> 
> "If I ran [composer] as part of the pkg building process, there's a 
> fetch-extract
> race as it needs network access, but also a file extracted from the 
> distfile.
> 
> If I left it to user config, the autoloader script creation will change a 
> file
> managed by pkg."
You may have already solved this. But IMHO you would do well to have a look 
at
the way Python programs use (the) pip (store) to install their needed/desired
bits and pieces. Most things that use of Composer use a YAML format file to
describe it's needs. Can't you use that to drive your port?

HTH

l8r,
Chris