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
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 0000000..6acc36b
--- /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"