diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2021-03-06 00:23:11 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2021-03-15 14:02:06 +0300 |
commit | 97771a30474a164ca08efd09209692a1fb8a4574 (patch) | |
tree | e350c1e654a41e7a090a1c6fe64f01d69bd28ac3 /meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb | |
parent | 8b1392834def7d17263b45bd1aab35759235fb3e (diff) | |
download | openbmc-97771a30474a164ca08efd09209692a1fb8a4574.tar.xz |
meta-openembedded: subtree update:7206f7f5bc..98175fd0cc
Adam Miartus (4):
libcereal: update to newer version
libcereal: pick up additional licenses of cereal components
libcereal: add dev package that can be included into toolchain sdk
cereal: Remove
Alejandro Hernandez Samaniego (2):
freerdp: Upgrade 2.2.0 -> 2.3.0
remmina: Upgrade 1.4.10 -> 1.4.11
Anatol Belski (2):
abseil-cpp: Relax build requirements
grpc: Upgrade 1.24.3 -> 1.35.0
Andrei Gherzan (1):
nss: Fix warnings generated by getcwd
Bartosz Golaszewski (1):
pydbus-manager: new package
Carlos Rafael Giani (2):
pipewire: Move to meta-multimedia
pipewire: Rework 0.3 recipe and upgrade to 0.3.22
Christian B. Sørensen (1):
libgpiod: packageqa problem => static python lib to ${PN}-staticdev
Clément Péron (2):
grpc: Add PackageConfig to build only required plugins
grpc: remove gflags dependency
Diego Santa Cruz (1):
php: split out phpdbg into a separate package
Enrico Jörns (1):
python3-aiohttp: add missing RDEPENDS on python3-typing-extensions
Gianfranco (1):
mosquitto: Upgrade 2.0.7 -> 2.0.8
Hongxu Jia (1):
lvm2/libdevmapper: 2.03.06 -> 2.03.11
Kai Kang (2):
xfsprogs: 5.9.0 -> 5.10.0
libinih: install header files without prefix dir inih
Khem Raj (39):
yelp-xsl: Mark native libxml2 in rdeps
liburing: Do not build examples on risc/musl
aom: Disable neon on arm when not present in TUNE_FEATURES
python3-grpcio: Upgrade to 1.35.0
python3-grpcio-tools: Upgrade to 1.35.0
recipes: Update common-licenses references to match new names
openldap: Refresh patches to remove fuzz
abseil-cpp: Remove libexecinfo band-aid for musl
nss: Add powerpc64 little endian support
luajit: Upgrade to latest on v2.1 release
influxdb: Generate checksums for term module
libauthen-sasl-perl,libhtml-tree-perl: allow PERL_USE_UNSAFE_INC
dvb-apps: Allow insecure inc paths
glog: Upgrade to 0.4.0
mpd: Upgrade to 0.22 series
mbedtls: Fix gcc11 stringop-overflow warning
v4l-utils: Package systemd fragment for systemd-udevd.service.d
mpich: Upgrade to 3.4.1
srt: Backport fix for missing <limits> header
gerbera: Update to 1.7.0
nautilus: Drop use of volatile
vlc: Fix build with gcc 11
squid: Include <limits> for using std::numeric_limits
minifi-cpp: include limits header for numeric_limits definition
opencv: Upgrade to 4.5.1
mozjs: Drop using JS_VOLATILE_ARM
opengl-es-cts: Disable -Wuninitialized for external/amber
grpc: Upgrade to 1.36.1
mongodb: Include <optional> c++ header
libyui,libyui-ncurses: Upgrade to 4.0.0
libyui-ncurses: Disable Werror
libyui: Adopt to new cmake option to disable Werror
libyui-ncurses: Pass -DNCURSES_WIDECHAR in CXXFLAGS
gimp: Add missing dependencies
gimp: Disable svg icons on arm
libcamera: Update to latest
abseil-cpp: Ask for C++14 std explicitly
opencv: Add packageconfig for building tests
opencv: Remove duplicate patch
Leon Anavi (30):
python3-h5py: Upgrade 2.10.0 -> 3.1.0
python3-transitions: Upgrade 0.8.6 -> 0.8.7
python3-tabulate: Upgrade 0.8.7 -> 0.8.9
python3-pyperclip: Upgrade 1.8.1 -> 1.8.2
python3-elementpath: Upgrade 2.1.3 -> 2.1.4
python3-mpmath: Upgrade 1.1.0 -> 1.2.1
python3-prompt-toolkit: Upgrade 3.0.14 -> 3.0.16
python3-pkgconfig: Upgrade 1.5.1 -> 1.5.2
python3-mypy: Upgrade 0.800 -> 0.812
python3-typeguard: Upgrade 2.11.0 -> 2.11.1
python3-httplib2: Upgrade 0.18.1 -> 0.19.0
python3-autobahn: Upgrade 20.12.3 -> 21.2.1
python3-iso8601: Upgrade 0.1.13 -> 0.1.14
python3-alembic: Upgrade 1.5.4 -> 1.5.5
python3-txaio: Upgrade 20.12.1 -> 21.2.1
python3-watchdog: Upgrade 2.0.0 -> 2.0.2
python3-rsa: Upgrade 4.7 -> 4.7.1
python3-pandas: Upgrade 1.2.1 -> 1.2.2
python3-cffi: Upgrade 1.14.4 -> 1.14.5
python3-pymisp: Upgrade 2.4.137.3 -> 2.4.138
python3-pytest-runner: Upgrade 5.2 -> 5.3.0
python3-markdown: Upgrade 3.3.3 -> 3.3.4
python3-pulsectl: Upgrade 20.5.1 -> 21.2.0
python3-cvxopt: Upgrade 1.2.5 -> 1.2.6
python3-rsa: Upgrade 4.7.1 -> 4.7.2
python3-pyzmq: Upgrade 22.0.2 -> 22.0.3
python3-tqdm: Upgrade 4.57.0 -> 4.58.0
python3-autobahn: Upgrade 21.2.1 -> 21.2.2
python3-aiohttp: Upgrade 3.7.3 -> 3.7.4
python3-semantic-version: Add recipe
Matteo Croce (1):
recipes-kernel: add libbpf
Michael Vetter (1):
jasper: upgrade 2.0.24 -> 2.0.25
Mingli Yu (3):
crash: add support for lockless ringbuffer
gtkmm3: use relative path
mcelog: Upgrade to 175
Oleksandr Kravchuk (21):
rfkill: update to 1.0
python3-idna: update to 3.1
python3-pika: update to 1.2.0
python3-protobuf: update to 3.14.0
python3-pychromecast: update to 8.1.0
python3-pykickstart: update to 3.32
python3-watchdog: update to 2.0.0
wolfssl: updae to 4.7.0
ncmpc: update to 0.45
rocksdb: update to 6.15.5
stm32flash: update to 0.6
python3-astroid: update to 2.5
python3-configargparse: update to 1.3
python3-cryptography-vectors: update to 3.4.6
python3-periphery: update to 2.3.0
python3-sentry-sdk: update to 0.20.3
python3-soupsieve: update to 2.2
python3-supervisor: update to 4.2.1
python3-tqdm: update 4.57.0
python3-typeguard: update to 2.11.0
python3-xmlschema: update to 1.5.1
Oleksiy Obitotskyy (2):
wireshark-src: improve reproducibility
smartmontools: Improve reproducibility
Patrick Williams (2):
boost-url: update to latest
catch2: upgrade to 2.13.4
Peter Kjellerstedt (1):
librcereal: A couple of improvements
Randy MacLeod (2):
libssh2: remove the recipe since it moved to oe-core
libgit2: remove the recipe since it moved to oe-core
Ross Burton (1):
python3-intelhex: add recipe for the intelhex package
Sean Nyekjaer (3):
nodejs: 12.20.1 -> 12.20.2
zstd: split bin into separate package
can-utils: split into more packages
Ulrich ?lmann (1):
v4l-utils: update to 1.20.0
Wang Mingyu (7):
stunnel: upgrade 5.57 -> 5.58
iwd: upgrade 1.11 -> 1.12
protobuf: upgrade 3.14.0 -> 3.15.2
redis-plus-plus: upgrade 1.2.1 -> 1.2.2
tesseract-lang: upgrade 4.0.0 -> 4.1.0
gphoto2: upgrade 2.5.26 -> 2.5.27
libgphoto2: upgrade 2.5.26 -> 2.5.27
Yanfei Xu (1):
lmbench: Install cache command and fix typos in manual page
Yi Fan Yu (4):
rsyslog: upgrade 8.2006.0->8.2012.0
tcpdump: update 4.9.3 -> 4.99.0
rsyslog: Add imhttp to packageconfig
rsyslog: Update 8.2012.0 -> 8.2102.0
Yi Zhao (1):
vsftpd: allow newfstatat and pselect6 syscalls in the seccomp sandbox
akuster (1):
softhsm: update to 2.6.1 and align
zangrc (11):
fuse3: upgrade 3.10.1 -> 3.10.2
enca: upgrade 1.9 -> 1.19
gensio: upgrade 2.2.3 -> 2.2.4
lcms: upgrade 2.11 -> 2.12
libburn: upgrade 1.5.2 -> 1.5.4
opensaf: upgrade 5.20.11 -> 5.21.03
openvpn: upgrade 2.5.0 -> 2.5.1
strongswan: upgrade 5.9.1 -> 5.9.2
wireguard-tools: upgrade 1.0.20200827 -> 1.0.20210223
hwdata: upgrade 0.343 -> 0.345
mailcap: upgrade 2.1.49 -> 2.1.52
zhengruoqin (7):
libjcat: upgrade 0.1.4 -> 0.1.6
postgresql: upgrade 13.1 -> 13.2
ser2net: upgrade 4.3.0 -> 4.3.3
Fix do_package error when enable multilib.
nano: upgrade 5.5 -> 5.6
qpdf: upgrade 10.0.4 -> 10.2.0
sigrok-cli: upgrade 0.7.1 -> 0.7.2
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ibbbafaa846b1dcc3c03ac585e7d5075826e4ee37
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb')
-rw-r--r-- | meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb new file mode 100644 index 0000000000..6acc36b4fb --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.20.2.bb @@ -0,0 +1,161 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD & Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c66ff8861d9f96076a7cb61e3d75f54" + +DEPENDS = "openssl" +DEPENDS_append_class-target = " nodejs-native" + +inherit pkgconfig python3native + +COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*" +COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*" +COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*" + +COMPATIBLE_HOST_riscv64 = "null" +COMPATIBLE_HOST_riscv32 = "null" + +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz \ + file://0001-Disable-running-gyp-files-for-bundled-deps.patch \ + file://0003-Install-both-binaries-and-use-libdir.patch \ + file://0004-v8-don-t-override-ARM-CFLAGS.patch \ + file://big-endian.patch \ + file://mips-warnings.patch \ + file://0001-Remove-use-of-register-r7-because-llvm-now-issues-an.patch \ + " +SRC_URI_append_class-target = " \ + file://0002-Using-native-binaries.patch \ + " +SRC_URI[sha256sum] = "961ad600f0706c396390ebc7767fb01d5e3792a5022dc2e7774796756eec6d3c" + +S = "${WORKDIR}/node-v${PV}" + +# v8 errors out if you have set CCACHE +CCACHE = "" + +def map_nodejs_arch(a, d): + import re + + if re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('aarch64$', a): return 'arm64' + elif re.match('(powerpc64|ppc64le)$', a): return 'ppc64' + elif re.match('powerpc$', a): return 'ppc' + return a + +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \ + ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \ + bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \ + '--with-arm-fpu=vfp', d), d), d)}" +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " +ARCHFLAGS ?= "" + +PACKAGECONFIG ??= "ares brotli icu 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" +PACKAGECONFIG[shared] = "--shared" +PACKAGECONFIG[zlib] = "--shared-zlib,,zlib" + +# We don't want to cross-compile during target compile, +# and we need to use the right flags during host compile, +# too. +EXTRA_OEMAKE = "\ + CC.host='${CC}' \ + CFLAGS.host='${CPPFLAGS} ${CFLAGS}' \ + CXX.host='${CXX}' \ + CXXFLAGS.host='${CPPFLAGS} ${CXXFLAGS}' \ + LDFLAGS.host='${LDFLAGS}' \ + AR.host='${AR}' \ + \ + builddir_name=./ \ +" + +python do_unpack() { + import shutil + + bb.build.exec_func('base_do_unpack', d) + + 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'): + shutil.rmtree(d.getVar('S') + '/deps/nghttp2', True) + if 'zlib' in d.getVar('PACKAGECONFIG'): + shutil.rmtree(d.getVar('S') + '/deps/zlib', True) +} + +# Node is way too cool to use proper autotools, so we install two wrappers to forcefully inject proper arch cflags to workaround gypi +do_configure () { + export LD="${CXX}" + GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES + # $TARGET_ARCH settings don't match --dest-cpu settings + python3 configure.py --prefix=${prefix} --cross-compiling --without-snapshot --shared-openssl \ + --without-dtrace \ + --without-etw \ + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \ + --dest-os=linux \ + --libdir=${D}${libdir} \ + ${ARCHFLAGS} \ + ${PACKAGECONFIG_CONFARGS} +} + +do_compile () { + export LD="${CXX}" + oe_runmake BUILDTYPE=Release +} + +do_install () { + oe_runmake install DESTDIR=${D} + + # wasn't updated since 2009 and is the only thing requiring python2 in runtime + # ERROR: nodejs-12.14.1-r0 do_package_qa: QA Issue: /usr/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples contained in package nodejs-npm requires /usr/bin/python, but no providers found in RDEPENDS_nodejs-npm? [file-rdeps] + rm -f ${D}${exec_prefix}/lib/node_modules/npm/node_modules/node-gyp/gyp/samples/samples +} + +do_install_append_class-native() { + # use node from PATH instead of absolute path to sysroot + # node-v0.10.25/tools/install.py is using: + # shebang = os.path.join(node_prefix, 'bin/node') + # update_shebang(link_path, shebang) + # and node_prefix can be very long path to bindir in native sysroot and + # when it exceeds 128 character shebang limit it's stripped to incorrect path + # and npm fails to execute like in this case with 133 characters show in log.do_install: + # updating shebang of /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/work/x86_64-linux/nodejs-native/0.10.15-r0/image/home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/npm to /home/jenkins/workspace/build-webos-nightly/device/qemux86/label/open-webos-builder/BUILD-qemux86/sysroots/x86_64-linux/usr/bin/node + # /usr/bin/npm is symlink to /usr/lib/node_modules/npm/bin/npm-cli.js + # use sed on npm-cli.js because otherwise symlink is replaced with normal file and + # npm-cli.js continues to use old shebang + sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js + + # Install the native binaries to provide it within sysroot for the target compilation + install -d ${D}${bindir} + install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque + install -m 0755 ${S}/out/Release/bytecode_builtins_list_generator ${D}${bindir}/bytecode_builtins_list_generator + if ${@bb.utils.contains('PACKAGECONFIG','icu','true','false',d)}; then + install -m 0755 ${S}/out/Release/gen-regexp-special-case ${D}${bindir}/gen-regexp-special-case + fi + install -m 0755 ${S}/out/Release/mkcodecache ${D}${bindir}/mkcodecache + install -m 0755 ${S}/out/Release/node_mksnapshot ${D}${bindir}/node_mksnapshot +} + +do_install_append_class-target() { + sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${exec_prefix}/lib/node_modules/npm/bin/npm-cli.js +} + +PACKAGES =+ "${PN}-npm" +FILES_${PN}-npm = "${exec_prefix}/lib/node_modules ${bindir}/npm ${bindir}/npx" +RDEPENDS_${PN}-npm = "bash python3-core python3-shell python3-datetime \ + python3-misc python3-multiprocessing" + +PACKAGES =+ "${PN}-systemtap" +FILES_${PN}-systemtap = "${datadir}/systemtap" + +BBCLASSEXTEND = "native" |