-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
node: add support for statically linking icu4c #44147
Conversation
|
||
deprecated_option "enable-debug" => "with-debug" | ||
deprecated_option "with-icu4c" => "with-full-icu" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if we should keep this or not:
- argument for keeping this: no side effect for someone who has previously build node
--with-icu4c
and is relying on non English locales (through he could add other locales at runtime to asmall-icu
build as mentioned above) - argument against keeping this: someone who needs only the English local and has previously build node
--with-icu4c
would have an unnecessary big node installation and would have to build it from source instead of downloading a smaller bottle
I think it would be good to backport this to the iojs (and maybe node 0.12) formula too, once this is merged. What's the current plan for the iojs formula since it's now in maintenance? Should it stay in the main repo or should it be moved to homebrew-versions to the other older node releases currently in LTS/maintance. Also npm 3.x is now stable. What is the plan for this? Upgrading to is asap or stay with the npm 2.x release line for the Node.js 4.x releases and upgrade to npm 3.x with the Node.js 5.0 release to match upstream? I'm personally +0 for waiting for the Node.js 5.0 release for consistency with upstream releases, although I'm currently using npm 3 already. |
It was my understanding that the goal was to stay consistent with the latest node installers, so that would mean waiting till the installer ships npm3 before the formula here has it. People who know what they are doing are free to As for back porting this to iojs, I can put together some proposal PRs that would share the staging code between the two formula so that there is less duplication. Not sure how to handle the depreciate option. Otherwise, LGTM! |
The approve of this PR is to handle Porting this to the |
About to go catch some 💤, but short and sweet answers:
|
Merged in ab0a4ef. Thank you for your contribution to Homebrew @chrmoritz! |
Late to the party, but FYI you can pass |
From reading your configure script the only thing Regarding the ICU version: I think the plan is to stay aligned with the upstream ICU version (bump the ICU resource to 56.1 with the node 4.2 upgrade). |
You didn't miss any features. All sounds good.
|
This PR changes the Node.js formula's behavior from optionally dynamically linking against a brewed
icu4c
to statically linking to aresource
stagedicu4c
by default to avoid issues with different c++ standard libraries, see #36681. Aresource
is needed, because otherwise the configure script would downloadicu4c
itself (after passing an additional configure argument), which is against the formula guidelines.For previous discussion see #44110 and #43973 (comment) (and the following comments).
By default Node.js will now be build with 'small-icu' support, which matches the current distributed Node.js binaries. This means the full
Intl
API is supported, but only the English locale is bundled to reduce file size (see also nodes Intl/icu docs). For getting support other locales you can either build--with-full-icu
or load additional locales at runtime as described here.A test for testing
Intl
support was added too.