From 3eeda90d141cf2db6541a740e22e20be04504bb5 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 19 May 2023 10:14:02 -0500 Subject: 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 Change-Id: I5304cb7a7ca3c09a110f52fa5b2844f5f00f4851 --- .../recipes-devtools/nodejs/nodejs_18.16.0.bb | 185 +++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb (limited to 'meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_18.16.0.bb') 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" -- cgit v1.2.3