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

Sunpoet Po-Chuan Hsieh sunpoet at
Sat Sep 16 13:41:01 UTC 2017

On Sun, Sep 10, 2017 at 4:25 AM, Marcin Cieslak <saper at> wrote:

> Hello,
> in the past (before r414303[1])
> [1]
> 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
> -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


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
- 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.


More information about the freebsd-ports mailing list