How to make www/npm pick www/node4 and www/node6 instead of www/node?

Adam Weinberger adamw at adamw.org
Sat Sep 16 15:25:14 UTC 2017


> On 16 Sep, 2017, at 7:40, Sunpoet Po-Chuan Hsieh <sunpoet at FreeBSD.org> wrote:
> 
> On Sun, Sep 10, 2017 at 4:25 AM, Marcin Cieslak <saper at saper.info> wrote:
> 
>> Hello,
>> 
>> in the past (before r414303[1])
>> [1] https://svnweb.freebsd.org/ports/head/www/npm/Makefile?view=
>> log&pathrev=414303
>> 
>> npm had a couple of OPTIONS to select which node engine should be used.
>> 
>> Now this is all gone and replaced with
>> 
>> RUN_DEPENDS=    node>=0.8.0:www/node
>> 
>> 
>> I am trying to build node-sass binaries for FreeBSD (I used to publish
>> them in the past)
>> and that requires running poudriere against multiple engines.
>> 
>> The following attempt to cheat does not help:
>> 
>>         poudriere bulk -j node4_10_3_i386 -p exp www/node4
>> textproc/node-sass
>> 
>> (textproc/node-sass is my custom port https://github.com/saper/ports
>> -exp/tree/master/textproc/node-sass)
>> 
>> since poudriere starts to build www/node4 and www/node in parallel.
>> 
>> 
>> Would that help if the npm dependency were changed to
>> 
>> RUN_DEPENDS=    node:www/node
>> 
>> so that only existing executable is needed? How could I tell poudriere to
>> pick node4 first?
>> 
>> I used to maintain a private copy of the npm port with lots of OPTIONS and
>> this is a PITA.
>> 
>> 
>> 
>> I have separate poudriere jails for all architectures I have decided to
>> support:
>> 
>> $ poudriere jail -ln | grep ^node
>> node4_10_3_amd64
>> node4_10_3_i386
>> node6_10_3_amd64
>> node6_10_3_i386
>> node8_10_3_amd64
>> node8_10_3_i386
>> 
>> In the past those had OPTIONS set to pick a proper engine as a www/npm
>> dependency.
>> 
>> 
>> How to do it cleanly now?
>> 
>> Marcin
> 
> 
> Hello,
> 
> I could add options for older node versions.
> You could use these options to select different node versions for your
> poudriere builds.
> 
> On the other hand, I'm planning a change for npm port.
> It includes:
> - Add slave ports of npm (e.g. npm-node4, npm-node6) for older node
> versions.
> - Remove www/npm{2,3,4}.
> 
> With this change, npm packages of different node version could be built by
> FreeBSD cluster.
> 
> I'm looking forward to bhughes@'s comment.
> 
> Regards,
> sunpoet

I'd hold off on that for now, sunpoet. Either USES=node or subpackages (both in progress) will be viable alternatives soon. I'd wait and see if one of those does what you want first.

# Adam


-- 
Adam Weinberger
adamw at adamw.org
https://www.adamw.org



More information about the freebsd-ports mailing list