I noticed the following line in the ebuild: use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none ) However, the default in official binaries since Node 13.0.0 is --with-intl=full-icu and this option is not available in Gentoo. https://nodejs.org/api/intl.html There are four choices: - Embed the entire ICU (full-icu) X Disable all internationalization features (none) X Build with a pre-installed ICU (system-icu) - Embed a limited set of ICU data (small-icu) Only X are supported in Gentoo, which causes me problems because the system icu doesn't seem to have all the support I need. I believe the ebuild could improve to something like this: +icu +system-icu => --with-intl=system-icu +icu -system-icu => --with-intl=full-icu -icu +system-icu => Not possible, should be locked with a system-icu? icu -icu -system-icu => --with-intl=none If we want to add support for small-icu, it could look like this: +small-icu -full-icu -system-icu => --with-intl=small-icu -small-icu +full-icu -system-icu => --with-intl=full-icu -small-icu -full-icu +system-icu => --with-intl=system-icu -small-icu -full-icu -system-icu => --with-intl=none Other options should be forbidden. What do you think? See also #724486 which may be fixed at the same time. Reproducible: Always
(In reply to Julien Papasian from comment #0) > There are four choices: [...] > X Build with a pre-installed ICU (system-icu) This is what Gentoo does generally: not use bundled packages but use system packages. Convenience is not a valid reason to deviate from Gentoo's standards.
Looks simple enough for 14 and we have already got several packages in the tree with IUSE=system-icu, will add it in 14.15.0. I have got no plans to support this in 12 though, as it would be much more complicated - at least 12.19.0 doesn't actually bundle ICU, if you use --with-intl=full-icu it tries to download it.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1398b77a96625ee50dd430fb4d265b7f793322be commit 1398b77a96625ee50dd430fb4d265b7f793322be Author: Marek Szuba <marecki@gentoo.org> AuthorDate: 2020-11-09 13:52:36 +0000 Commit: Marek Szuba <marecki@gentoo.org> CommitDate: 2020-11-09 15:05:39 +0000 net-libs/nodejs: bump to 14.15.0 Includes subslotting, support for building against bundled ICU, a fix for PPC64 crashes and python3_9 support. Closes: https://bugs.gentoo.org/724978 Closes: https://bugs.gentoo.org/728110 Closes: https://bugs.gentoo.org/747100 Closes: https://bugs.gentoo.org/749852 Closes: https://github.com/gentoo/gentoo/pull/17809 Signed-off-by: Marek Szuba <marecki@gentoo.org> net-libs/nodejs/Manifest | 2 +- .../files/nodejs-14.15.0-fix_ppc64_crashes.patch | 33 +++++++++++ net-libs/nodejs/metadata.xml | 1 + ...nodejs-14.14.0.ebuild => nodejs-14.15.0.ebuild} | 64 ++++++++++------------ 4 files changed, 65 insertions(+), 35 deletions(-)
In exactly all other packages in the tree, system-icu USE flag is enabed by default (IUSE="+system-icu"). Please also enable it by default in net-libs/nodejs.