nodejs: allow use of system brotli (and make default)

Use system brotli via PACKAGECONFIG by default. So far,
nodejs had been built using its embedded copy of brotli,
which we generally try to avoid, for the known reasons
(independent updates, cve & license checks, etc).

The nodejs patches to enable this have been submitted.
brotli is in meta-oe, so enabling this by default should
not be a problem.

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
André Draszik
2020-03-03 17:28:51 +00:00
committed by Khem Raj
parent 754b54699b
commit b3b81507b7
3 changed files with 113 additions and 1 deletions
@@ -20,6 +20,8 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \
file://0003-Install-both-binaries-and-use-libdir.patch \
file://0004-v8-don-t-override-ARM-CFLAGS.patch \
file://big-endian.patch \
file://0001-build-allow-passing-multiple-libs-to-pkg_config.patch \
file://0002-build-allow-use-of-system-installed-brotli.patch \
"
SRC_URI_append_class-target = " \
file://0002-Using-native-binaries.patch \
@@ -51,8 +53,9 @@ ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '-
GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "
ARCHFLAGS ?= ""
PACKAGECONFIG ??= "ares icu libuv zlib"
PACKAGECONFIG ??= "ares brotli icu libuv zlib"
PACKAGECONFIG[ares] = "--shared-cares,,c-ares"
PACKAGECONFIG[brotli] = "--shared-brotli,,brotli"
PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
PACKAGECONFIG[libuv] = "--shared-libuv,,libuv"
PACKAGECONFIG[nghttp2] = "--shared-nghttp2,,nghttp2"
@@ -81,6 +84,8 @@ python do_unpack() {
shutil.rmtree(d.getVar('S') + '/deps/openssl', True)
if 'ares' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/cares', True)
if 'brotli' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/brotli', True)
if 'libuv' in d.getVar('PACKAGECONFIG'):
shutil.rmtree(d.getVar('S') + '/deps/uv', True)
if 'nghttp2' in d.getVar('PACKAGECONFIG'):