summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2023-05-19 18:14:02 +0300
committerAndrew Geissler <geissonator@yahoo.com>2023-05-19 21:39:02 +0300
commit3eeda90d141cf2db6541a740e22e20be04504bb5 (patch)
tree09891347148b8e07eeedd6ce6a6a4566f4385d35 /meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
parentdc9d614711d1f205166fa42a0af05054fe06b26d (diff)
downloadopenbmc-3eeda90d141cf2db6541a740e22e20be04504bb5.tar.xz
subtree updates
meta-openembedded: f3cdc9d7ee..0474e0b870: Alexander Amelkin (1): ipmitool: Update links Bhargav Das (1): python3-libevdev: Add recipe for python libevdev module. Changqing Li (1): redis: upgrade 6.2.11 -> 6.2.12 Chen Qi (1): frr: add CVE_PRODUCT Diego Dassie (2): paho-mqtt-c: Disable building tests paho-mqtt-c: Improve performance Fabio Estevam (1): lvgl: lvgl-demo-fb: Inherit features_check Johannes Kauffmann (2): open62541: allow overriding encryption providers open62541: disable warnings as errors Jun Nie (3): libcbor: Add initial support python3-pefile: Add initial support python3-uswid: Add initial support Khem Raj (27): gitpkgv: Fix python deprecation warning python3-pyzstd: Disable LTO on clang+arm libftdi: Remove sysroot paths from .cmake files libencode-perl: Remove buildpaths from generated .exh files libcdio: Drop need for LIBCDIO_SOURCE_PATH enca: Remove buildpaths from target scripts libirecovery: Add missing build dependency on readline usbmuxd: Remove recipe for 1.1.1 usbmuxd: Updgrade to latest on master branch packagegroup-meta-oe: Add kpatch for glibc + x86_64 only packagegroup-meta-oe: Remove minicoredumper-ptest for musl libimobiledevice: Delete recipe for 1.3.0 libimobiledevice: Update to latest tip libimobiledevice: Fix build with clang idevicerestore: Update to latest on master branch libpaper: Add recipe psutils: Add recipe nodejs: Upgrade to 18.16.0 python3-pylint: Fix missing deps for ptests etcd: Inherit missing features_check fftw: Remove hardcoded sysroot into binaries lmdb: Pass CFLAGS to Makefile squid: Remove buildpaths from generated binaries libiio: Do not generate lineinfo in lex/yacc generated files php: Remove buildpaths from scripts and generated headers uw-imap: Pass CFLAGS from environment libmad: Add a patch to pass cflags to build Marcel Ziswiler (1): libusbgx: fix device hot-plug use case Marek Vasut (7): lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0 lvgl: Activate custom tick implementation lvgl: Add configurable color depth, default to 32bpp lvgl: Support both fbdev and wayland backends lvgl: Update lvgl-demo-fb to 8.3.0 lvgl: Upgrade dialog-lvgl to next/main version lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES Markus Volk (12): xdg-desktop-portal-wlr: update 0.6.0 -> 0.7.0 python3-pillow: add libxcb to RDEPENDS for x11 adw-gtk3: update 4.5 -> 4.6 paprefs: add recipe imaagemagick: update 7.1.1-5 -> 7.1.1-8 fuse3: update 3.12.0 -> 3.14.1 gnome-software: update 44.0 -> 44.1 gjs: update 1.75.1 -> 1.76.0 evince: update 44.0 -> 44.1 gdm: update 44.0 -> 44.1 xdg-desktop-portal-gnome: update 44.0 -> 44.1 libcamera: update 0.0.4 -> 0.0.5 Martin Jansa (18): glfw: respect DISTRO_FEATURES when enabling x11 in default PACKAGECONFIG and return it to REQUIRED_DISTRO_FEATURES libreport: add dependency on libarchive libxmlb: add missing dependency on glib-2.0 and xz geoclue: fix build without gobject-introspection-data appstream: fix build without gobject-introspection-data ostree: fix build without gobject-introspection-data rdfind: fix build with -Werror=return-type spice-gtk: respect gobject-introspection-data cpulimit: fix do_install with multilib libnfs: fix installed-vs-shipped issues with multilib btrfsmaintenance: install to ${datadir}/${BPN} libtomcrypt: pass LIBPATH to fix installed-vs-shipped with multilib nanopb: fix installed-vs-shipped with multilib nv-codec-headers: fix installed-vs-shipped with multilib zfs: fix installation paths for multilib poppler: add dependency on glib-2.0-native paprefs: add x11 to REQUIRED_DISTRO_FEATURES etcd: don't hardcode /usr/lib in do_install Matija Tudan (1): serial: add recipe for version 1.2.1 Ming Liu (4): libusbgx: uprev to the latest commit libusbgx: fix some systemd service conditions libusbgx: drop hard-coded /usr/bin,/etc libusbgx: check scripts in /etc/usbgx.d Mingli Yu (1): minicoredumper: correct the sysvinit service file attribute Petr Gotthard (4): strongswan: add PACKAGECONFIG for the NetworkManager module openfortivpn: add new recipe networkmanager-fortisslvpn: add new recipe networkmanager-openconnect: add new recipe Ross Burton (6): v4l-utils: do out-of-tree builds python3-ninja: simplify recipe libisofs: add new recipe libburn: move to meta-filesystems libisoburn: add new recipe xorriso: remove obsolete recipe Trevor Gamblin (9): python3-pytest-mock: Add recipe python3-tomlkit: Add recipe ptest-packagelists-meta-python: Add new tests python3-platformdirs: Add recipe python3-pylint: upgrade 2.14.5 -> 2.17.3 python3-pylint: add ptest ptest-packagelists-meta-python: Add new tests python3-pylint: upgrade 2.17.3 -> 2.17.4 python3-pylint: omit failing pickle test Vasileios Anagnostopoulos (1): asio: update to 1.28.0 Wang Mingyu (74): abseil-cpp: upgrade 20230125.2 -> 20230125.3 appstream: upgrade 0.16.1 -> 0.16.2 babl: upgrade 0.1.104 -> 0.1.106 audit: upgrade 3.1 -> 3.1.1 boost-sml: upgrade 1.1.6 -> 1.1.8 ctags: upgrade 6.0.20230416.0 -> 6.0.20230430.0 eog: upgrade 44.0 -> 44.1 gspell: upgrade 1.12.0 -> 1.12.1 etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3 googlebenchmark: upgrade 1.7.1 -> 1.8.0 hwdata: upgrade 0.369 -> 0.370 libbpf: upgrade 1.1.0 -> 1.2.0 iozone3: upgrade 492 -> 506 libadwaita: upgrade 1.3.1 -> 1.3.2 libcgi-perl: upgrade 4.56 -> 4.57 libjs-jquery-cookie: upgrade 3.0.1 -> 3.0.5 libmodule-build-tiny-perl: upgrade 0.043 -> 0.045 log4cpp: upgrade 1.1.3 -> 1.1.4 nautilus: upgrade 44.0 -> 44.1 makedumpfile: upgrade 1.7.2 -> 1.7.3 mg: upgrade 20230406 -> 20230501 python3-yarl: upgrade 1.8.2 -> 1.9.2 python3-alembic: upgrade 1.10.3 -> 1.10.4 python3-cassandra-driver: upgrade 3.26.0 -> 3.27.0 python3-can: upgrade 4.1.0 -> 4.2.0 python3-astroid: upgrade 2.15.3 -> 2.15.4 python3-argcomplete: upgrade 3.0.5 -> 3.0.8 python3-coverage: upgrade 7.2.3 -> 7.2.5 python3-imageio: upgrade 2.27.0 -> 2.28.1 python3-gast: upgrade 0.5.3 -> 0.5.4 python3-langtable: upgrade 0.0.61 -> 0.0.62 python3-flask-socketio: upgrade 5.3.3 -> 5.3.4 python3-elementpath: upgrade 4.1.1 -> 4.1.2 python3-nocasedict: upgrade 2.0.0 -> 2.0.1 python3-protobuf: upgrade 4.22.3 -> 4.22.4 python3-pint: upgrade 0.20.1 -> 0.21 python3-pulsectl: upgrade 22.3.2 -> 23.5.0 python3-pika: upgrade 1.3.1 -> 1.3.2 python3-pymisp: upgrade 2.4.170.1 -> 2.4.170.2 python3-pyudev: upgrade 0.24.0 -> 0.24.1 python3-regex: upgrade 2023.3.23 -> 2023.5.5 python3-rich: upgrade 13.3.4 -> 13.3.5 python3-smpplib: upgrade 2.2.2 -> 2.2.3 python3-sentry-sdk: upgrade 1.20.0 -> 1.22.1 python3-sqlalchemy: upgrade 2.0.9 -> 2.0.12 python3-termcolor: upgrade 2.2.0 -> 2.3.0 python3-twitter: upgrade 4.13.0 -> 4.14.0 python3-web3: upgrade 6.2.0 -> 6.3.0 tracker: upgrade 3.5.0 -> 3.5.1 python3-zeroconf: upgrade 0.56.0 -> 0.62.0 python3-xstatic: upgrade 1.0.2 -> 1.0.3 python3-requests-toolbelt: upgrade 0.10.1 -> 1.0.0 libimobiledevice-glue: SRCREV bump d2ff796..114098d libplist: upgrade 2.2.0 -> 2.3.0 ctags: upgrade 6.0.20230430.0 -> 6.0.20230507.0 libnet-dns-perl: upgrade 1.37 -> 1.38 libdivecomputer: upgrade 0.7.0 -> 0.8.0 python3-platformdirs: upgrade 3.5.0 -> 3.5.1 python3-sympy: upgrade 1.11.1 -> 1.12 python3-google-auth: upgrade 2.17.3 -> 2.18.0 php: upgrade 8.2.5 -> 8.2.6 postgresql: upgrade 15.2 -> 15.3 python3-protobuf: upgrade 4.22.4 -> 4.23.0 python3-pulsectl: upgrade 23.5.0 -> 23.5.1 python3-pymisp: upgrade 2.4.170.2 -> 2.4.171 python3-pyjwt: upgrade 2.6.0 -> 2.7.0 python3-redis: upgrade 4.5.4 -> 4.5.5 python3-pytest-xdist: upgrade 3.2.1 -> 3.3.0 python3-sentry-sdk: upgrade 1.22.1 -> 1.22.2 python3-typeguard: upgrade 3.0.2 -> 4.0.0 python3-sqlalchemy: upgrade 2.0.12 -> 2.0.13 python3-websockets: upgrade 11.0.2 -> 11.0.3 xterm: upgrade 379 -> 380 wavpack: upgrade 4.60.1 -> 5.1.0 Xiangyu Chen (1): pahole: fix native package build error ojayanth (2): etcd: systemd unit support to start existing etcd node etcd: add systemd unit support for clustering poky: 76cec94fad..35e5d29a7d: Alexander Kanavin (1): gcr: consider all versions, not only x.even.y Andrew Jeffery (1): Revert "ipk: Decode byte data to string in manifest handling" Anuj Mittal (2): gstreamer1.0: upgrade 1.22.0 -> 1.22.2 vte: upgrade 0.72.0 -> 0.72.1 Chen Qi (1): sqlite3: update CVE_PRODUCT Frederic Martinsons (1): ptest-cargo.bbclass: add the possibility to define test arguments Khem Raj (3): musl: Update to 1.2.4 release cpio: Run ptests under ptest user python3-requests: Upgrade to 2.30.0 Luca Ceresoli (2): ref-manual: classes: kernel: remove incorrect sentence opening ref-manual: classes: kernel: document automatic defconfig usage Martin Jansa (1): populate_sdk_base.bbclass: respect MLPREFIX for ptest-pkgs's ptest-runner Michael Opdenacker (2): migration-guides: start of 4.3 migration and release notes ref-manual: document FIT_ADDRESS_CELLS Paul Gortmaker (1): yocto-bsp: drop MIPS Edgerouter support Qiu Tingting (1): e2fsprogs: fix ptest bug for second running Richard Purdie (5): migration/release-notes-4.3: Add extra notes qemu: Update ppc instruction fix to match revised upstream version glib-networking: Add test retry to avoid failures glib-networking: Correct glib error handling in test patch qemu: Further updates to the ppc patch after upstream discussion Ross Burton (6): gdb: fix crashes when debugging threads with Arm Pointer Authentication enabled Revert "ffmpeg: move ffmpeg config into packageconfig" ffmpeg: add v4l2 PACKAGECONFIG python3: use libedit instead of readline python3: clean up PACKAGECONFIG python3: use system expat Tim Orling (2): python3-urllib3: upgrade 1.26.15 -> 2.0.2 python3-attrs: upgrade 22.2.0 -> 23.1.0 Trevor Gamblin (3): python3-trove-classifiers: Add recipe python3-hatchling: upgrade 1.13.0 -> 1.14.1 python3-calver: Add recipe Zang Ruochen (1): elfutils: upgrade 0.188 -> 0.189 nikhil (1): tiff: Remove unused patch from tiff Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb')
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb185
1 files changed, 185 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
new file mode 100644
index 0000000000..06631f27db
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb
@@ -0,0 +1,185 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & ISC & BSD-2-Clause & BSD-3-Clause & Artistic-2.0 & Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=0be148d0e7298c5c94f7501affafbce5"
+
+CVE_PRODUCT = "nodejs node.js"
+
+DEPENDS = "openssl file-replacement-native"
+DEPENDS:append:class-target = " qemu-native"
+DEPENDS:append:class-native = " c-ares-native"
+
+inherit pkgconfig python3native qemu ptest
+
+COMPATIBLE_MACHINE:armv4 = "(!.*armv4).*"
+COMPATIBLE_MACHINE:armv5 = "(!.*armv5).*"
+COMPATIBLE_MACHINE:mips64 = "(!.*mips64).*"
+
+COMPATIBLE_HOST:riscv64 = "null"
+COMPATIBLE_HOST:riscv32 = "null"
+COMPATIBLE_HOST:powerpc = "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://0004-v8-don-t-override-ARM-CFLAGS.patch \
+ file://big-endian.patch \
+ file://mips-less-memory.patch \
+ file://system-c-ares.patch \
+ file://0001-liftoff-Correct-function-signatures.patch \
+ file://0001-mips-Use-32bit-cast-for-operand-on-mips32.patch \
+ file://run-ptest \
+ "
+
+SRC_URI:append:class-target = " \
+ file://0001-Using-native-binaries.patch \
+ "
+SRC_URI:append:toolchain-clang:x86 = " \
+ file://libatomic.patch \
+ "
+SRC_URI:append:toolchain-clang:powerpc64le = " \
+ file://0001-ppc64-Do-not-use-mminimal-toc-with-clang.patch \
+ "
+SRC_URI[sha256sum] = "33d81a233e235a509adda4a4f2209008d04591979de6b3f0f67c1c906093f118"
+
+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|powerpc64le|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)}"
+ARCHFLAGS:append:mips = " --v8-lite-mode"
+ARCHFLAGS:append:mipsel = " --v8-lite-mode"
+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=./ \
+"
+
+EXTRANATIVEPATH += "file-native"
+
+python prune_sources() {
+ import shutil
+
+ shutil.rmtree(d.getVar('S') + '/deps/openssl')
+ if 'ares' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/cares')
+ if 'brotli' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/brotli')
+ if 'libuv' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/uv')
+ if 'nghttp2' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/nghttp2')
+ if 'zlib' in d.getVar('PACKAGECONFIG'):
+ shutil.rmtree(d.getVar('S') + '/deps/zlib')
+}
+do_unpack[postfuncs] += "prune_sources"
+
+# V8's JIT infrastructure requires binaries such as mksnapshot and
+# mkpeephole to be run in the host during the build. However, these
+# binaries must have the same bit-width as the target (e.g. a x86_64
+# host targeting ARMv6 needs to produce a 32-bit binary). Instead of
+# depending on a third Yocto toolchain, we just build those binaries
+# for the target and run them on the host with QEMU.
+python do_create_v8_qemu_wrapper () {
+ """Creates a small wrapper that invokes QEMU to run some target V8 binaries
+ on the host."""
+ qemu_libdirs = [d.expand('${STAGING_DIR_HOST}${libdir}'),
+ d.expand('${STAGING_DIR_HOST}${base_libdir}')]
+ qemu_cmd = qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'),
+ qemu_libdirs)
+ wrapper_path = d.expand('${B}/v8-qemu-wrapper.sh')
+ with open(wrapper_path, 'w') as wrapper_file:
+ wrapper_file.write("""#!/bin/sh
+
+# This file has been generated automatically.
+# It invokes QEMU to run binaries built for the target in the host during the
+# build process.
+
+%s "$@"
+""" % qemu_cmd)
+ os.chmod(wrapper_path, 0o755)
+}
+
+do_create_v8_qemu_wrapper[dirs] = "${B}"
+addtask create_v8_qemu_wrapper after do_configure before do_compile
+
+LDFLAGS:append:x86 = " -latomic"
+
+CROSS_FLAGS = "--cross-compiling"
+CROSS_FLAGS:class-native = "--no-cross-compiling"
+
+# 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 () {
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ python3 configure.py --verbose --prefix=${prefix} \
+ --shared-openssl \
+ --without-dtrace \
+ --without-etw \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ --libdir=${baselib} \
+ ${CROSS_FLAGS} \
+ ${ARCHFLAGS} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+ install -D ${RECIPE_SYSROOT_NATIVE}/etc/ssl/openssl.cnf ${B}/deps/openssl/nodejs-openssl.cnf
+ install -D ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+do_install_ptest () {
+ cp -r ${B}/out/Release/cctest ${D}${PTEST_PATH}/
+ cp -r ${B}/test ${D}${PTEST_PATH}
+ chown -R root:root ${D}${PTEST_PATH}
+}
+
+PACKAGES =+ "${PN}-npm"
+FILES:${PN}-npm = "${nonarch_libdir}/node_modules ${bindir}/npm ${bindir}/npx ${bindir}/corepack"
+RDEPENDS:${PN}-npm = "bash python3-core python3-shell python3-datetime \
+ python3-misc python3-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES:${PN}-systemtap = "${datadir}/systemtap"
+
+BBCLASSEXTEND = "native"