On 2023-01-13 11:25, Dan Langille wrote:
On Fri, Jan 13, 2023, at 10:12 AM, [email protected] wrote:
Selon Dan Langille <[email protected]> le ven. 13 janv. 11:20:25 2023 :

Hello,

I'm looking at porting https://github.com/vstelmakh/url-highlight
for use by FreshPorts.

My current solution:

% sudo pkg install php81-composer
% fetch -o url-highlight-v3.0.1.tar.gz
https://github.com/vstelmakh/url-highlight/archive/refs/tags/v3.0.1.tar.gz
% tar -xzf url-highlight-v3.0.1.tar.gz
% composer require vstelmakh/url-highlight

At this point, everything I need is in the newly-created vendor directory.

If I copy that vendor directory to /usr/local/www/freshports/, I can
use it like this:

<?php

require_once($_SERVER['DOCUMENT_ROOT'] .  '/../vendor/autoload.php');
use VStelmakh\UrlHighlight\Encoder\HtmlSpecialcharsEncoder;
use VStelmakh\UrlHighlight\UrlHighlight;

... etc


What is the proper way to port code like this?

It would be very interesting to have a Mk/Uses/composer.mk, like we
have Mk/Uses/pear.mk.

Adding [email protected] to the list: do you think it is possible?

I don't know enough about how Mk/Uses/pear.mk to say for sure, but what little I've skimmed over makes it look like port using PEAR is for a single PEAR extension, which isn't the same as a PHP application using Composer. And I think a port using Composer would need some way to do its downloading since that couldn't be done outside of the fetch stage if I recall right?

Thanks,
Naram "CyberBotX" Qashat


FYI, what I do with net-mgmt/librenms[1] is manually build the vendor directory and upload it as a separate DISTFILE. It works, but it is a manual process[2].

1 - https://cgit.freebsd.org/ports/tree/net-mgmt/librenms/Makefile#n6
2 - https://gist.github.com/dlangille/e91b77ca4a32dfcbcdd7515ffb263e74
--
  Dan Langille
  [email protected]

Reply via email to