meta-openembedded: subtree update:2449e5f07a..8fbcfb9f02

Adrian Zaharia (1):
      ntp: fix ntpdate to wait for subprocesses

Akifumi Chikazawa (1):
      openvpn: add CVE-2020-7224 and CVE-2020-27569 to allowlist

Andrea Adami (3):
      initramfs-kexecboot-image: support cases where machines override IMAGE_FSTYPES
      initramfs-debug-image: support cases where machines override IMAGE_FSTYPES
      rapidjson: remove stale LIB_INSTALL_DIR

Andreas Müller (50):
      poppler: upgrade 21.05.0 -> 21.06.0
      dbus-broker: upgrade 28 -> 29
      libmbim: upgrade 1.24.6 -> 1.24.8
      icewm: upgrade 2.3.3 -> 2.3.4
      poppler: upgrade 21.06.0 -> 21.06.1
      gnome-disk-utility: upgrade 3.36.3 -> 40.1
      gnome-font-viewer: upgrade 3.34.0 -> 40.0
      pipewire: upgrade 0.3.24 -> 0.3.29
      libqmi: upgrade 1.28.4 -> 1.28.6
      ttf-noto-emoji: upgrade 20190815 -> 20200916
      remmina: upgrade 1.4.17 -> 1.4.18
      metacity: upgrade 3.36.1 -> 3.40.0
      gnome-flashback: upgrade 3.36.3 -> 3.40.0
      gthumb: initial add 3.10.3
      atkmm: upgrade 2.28.0 -> 2.28.2
      atkmm: build with meson
      dconf: upgrade 0.38.0 -> 0.40.0
      evolution-data-server: upgrade 3.40.1 -> 3.40.2
      file-roller: upgrade 3.38.1 -> 3.40.0
      glibmm: upgrade 2.62.0 -> 2.66.1 / build with meson / cleanup recipe
      gmime: upgrade 3.2.6 -> 3.2.7
      gnome-autoar; upgrade 0.3.2 -> 0.3.3
      gnome-keyring: upgrade 3.36.0 -> 40.0
      gnome-online-accounts: upgrade 3.36.0 -> 3.40.0
      gnome-terminal: upgrade 3.36.2 -> 3.40.2
      gspell: upgrade 1.8.4 -> 1.9.1
      gtkmm3: upgrade 3.24.3 -> 3.24.5
      gtksourceview4: upgrade 4.6.1 -> 4.8.1
      gupnp: upgrade 1.2.6 -> 1.2.7
      gvfs: upgrade 1.44.1 -> 1.48.1
      libgdata: upgrade 0.17.13 -> 0.18.1
      libmediaart 0.7.0: remove
      libmediaart-2.0: upgrade 1.9.4 -> 1.9.5 / merge inc file / build with meson
      libsigc++-2.0: upgrade 2.10.6 -> 2.10.7
      nautilus: upgrade 40.1 -> 40.2
      pangomm: upgrade 2.42.1 -> 2.46.1 / build with meson
      yelp-xsl: upgrade 3.36.0 -> 4.02
      yelp-tools: upgrade 3.32.2 -> 40.0
      yelp: upgrade 3.36.0 -> 40.2
      modemmanager: upgrade 1.16.4 -> 1.16.6
      xfce4-settings: 4.16.1 upgrade 4.16.2
      blueman: upgrade 2.1.4 -> 2.2.1
      pipewire: upgrade 0.3.30 -> 0-3-31
      cmark: upgrade 0.29.0 -> 0.30.0
      networkmanager: upgrade 1.30.4 -> 1.32.2
      ristretto: upgrade 0.10.0 -> 0.11.0
      libgusb: upgrade 0.3.6 -> 0.3.7
      poppler: upgrade 21.06.1 -> 21.07.0
      gegl: Disable pango on native build to fix gimp build segfaults
      gimp: remove --disable-vector-icons

Bartosz Golaszewski (13):
      libgpiod: coding style fixes
      libgpiod: list all packages in a single assignment
      libgpiod: fix RRECOMMENDS for python bindings
      libgpiod: correctly split output files into packages
      libgpiod: add RDEPENDS for tests
      libgpiod: redirect stdout from the ptest executable to a file
      libgpiod: ptest: run all test-suites if possible
      libgpiod: ptest: warn if the gpio-mockup kernel module is not selected
      libgpiod: ptest: add kernel-modules to RRECOMMENDS
      libgpiod: ptest: only rrecommend a single module that we need
      libgpiod: add the python test-suite to the ptest package
      libgpiod: update my email address
      python3-joblib: new package

Ben Horgan (1):
      cpputest: Add initial recipe. Version 4.0.

Carlos Rafael Giani (2):
      pipewire: Add filter-chain files to modules-filter-chain package
      pipewire: Upgrade to 0.3.30

Changqing Li (1):
      mousepad: fix warning during postinst

Chen Qi (1):
      minifi-cpp: set CLEANBROKEN to 1

Daiane Angolini (1):
      wireguard-module: Stop overriding modules_install in the recipe

Daniel Klauer (1):
      spidev-test: Update common-licenses reference

David Sterling (1):
      can-isotp: Upgrade to latest on master

Ed Tanous (1):
      Use the built-in options for removing pack tools

Geoff Parker (1):
      cifs-utils: set ROOTSBINDIR to /usr/sbin if DISTRO_FEATURES has usrmerge

Gianfranco (2):
      vboxguestdrivers: add a fix for build failure with kernel 5.13
      dlt-daemon: update from 2.18.6 to 2.18.7

Hongxu Jia (1):
      debootstrap: fix runtime failure on nativesdk

Joshua Watt (1):
      gnome: gnome-shell: Move gsettings to their own package

Kai Kang (4):
      python3-m2crypto: fix word size for qemuppc64 little endian
      python3-m2crypto: avoid host contamination for swig
      bats: fix qa issue when multilib eanbled
      mariadb: fix failures to start install_db.service

Khem Raj (57):
      glog: Upgrade to 0.5.0
      mbedtls: Upgrade to 2.26.0
      mbedtls: Add packageconfig for warning-as-errors
      memcached: upgrade to 1.6.9
      indent: Remove dead code using count_parens function
      glm: Fix additional clang warnings
      tbb: Fix warnings with clang
      libwebsockets: Update to latest on v4.2-stable
      packagegroup-meta-oe: Add libparse-yapp-perl
      netplan: Fix a warning with clang
      python3-yappi: Fix patching errors
      packagegroup-meta-oe: Add zsync-curl
      klibc: Add clang's -rtlib to known options
      libpfm4: Upgrade to 4.11.0
      ltrace: Remove unused static function
      flashrom: Fix build with clang
      mongodb: Enable wiredtiger only on aarch64/x86_64 hosts
      mariadb: Fix build with clang/musl
      c-ares: Upgrade to 1.17.1 release
      nodejs: Update to 14.17.1
      rocksdb: Upgrade to 6.20.3
      rocksdb: Implement toku_time_now function for rv32/rv64
      rocksdb: Fix build with ppc64/musl
      rocksdb: Implement timer for mips
      rocksdb: Implement timer for armv6+
      rocksdb: Fix build with gcc on rv32 and mips
      libzip: Upgrade to 1.8.0
      czmq: Inherit pkgconfig
      czmq: Add libmicrohttpd feature via packageconfig
      czmq: Use Cmake knobs to enable/disable designed packageconfigs
      czmq: Add nss packageconfig
      meta-python: Add python3-fastjsonschema and its dependencies
      packagegroup-meta-python: Add newly added recipes
      python3-process-tests: Add recipe
      python3-aspectlib: Add ptests
      python3-execnet: Add ptests
      python3-py-cpuinfo: Add ptests
      libc-bench: Do not override ldflags in makefile
      mpich: Add libgcc to ldflags on x86/glibc
      mpd: Update to 0.22.9
      imlib2: Use propert git SHA in SRCREV
      suitesparse: Update to 5.10.1
      packagegroup-meta-oe: Add libyang
      sysdig: Disable JIT on ppc64
      portaudio-v19: Use GNUInstallDirs to make it portable
      keepalived: Upgrade to 2.2.2
      suitesparse: Fix LIC_FILES_CHKSUM
      xscreensaver: Update to 6.01
      ltrace: Fix mips build with kernels 5.13+
      python3-pyusb: Add missing runtime dependency on libusb1
      can-isotp: Ignore in world builds
      postfix: Upgrade to 3.6.1
      packagegroup-meta-oe: Add new package cpputest
      apitrace: Update to latest trunk
      fatresize: Disable building documentation files
      layers: Fix git send-email instructions in README
      autofs: Upgrade to 5.1.7

Leon Anavi (61):
      python3-oauthlib: Upgrade 3.1.0 -> 3.1.1
      python3-django: Upgrade 3.2.3 -> 3.2.4
      python3-sqlalchemy: Upgrade 1.4.15 -> 1.4.17
      python3-aiohue: Upgrade 2.5.0 -> 2.5.1
      python3-typeguard: Upgrade 2.12.0 -> 2.12.1
      python3-cbor2: Upgrade 5.3.0 -> 5.4.0
      python3-ipython: Upgrade 7.24.0 -> 7.24.1
      python3-pkgconfig: Upgrade 1.5.2 -> 1.5.4
      python3-humanize: Upgrade 3.6.0 -> 3.7.1
      python3-fasteners: Upgrade 0.16 -> 0.16.1
      python3-pythonping: Upgrade 1.0.16 -> 1.1.0
      python3-bitarray: Upgrade 2.1.0 -> 2.1.2
      python3-coloredlogs: Upgrade 15.0 -> 15.0.1
      python3-pysonos: Upgrade 0.0.50 -> 0.0.51
      python3-dill: Upgrade 0.3.3 -> 0.3.4
      python3-humanfriendly: Upgrade 9.1 -> 9.2
      python3-zeroconf: Add recipe
      python3-pychromecast: Upgrade 9.1.2 -> 9.2.0
      python3-ifaddr: Fix RDEPENDS
      python3-bitarray: Upgrade 2.1.2 -> 2.1.3
      python3-astroid: Upgrade 2.5.7 -> 2.5.8
      python3-license-expression: Upgrade 1.2 -> 21.6.14
      python3-humanize: Upgrade 3.7.1 -> 3.9.0
      python3-ruamel-yaml: Upgrade 0.17.7 -> 0.17.9
      python3-cmd2: Upgrade 1.5.0 -> 2.1.1
      python3-fasteners: Upgrade 0.16.1 -> 0.16.3
      python3-elementpath: Upgrade 2.2.2 -> 2.2.3
      python3-prompt-toolkit: Upgrade 3.0.18 -> 3.0.19
      python3-mypy: Upgrade 0.812 -> 0.902
      python3-send2trash: Upgrade 1.5.0 -> 1.7.1
      python3-pandas: Upgrade 1.2.4 -> 1.2.5
      python3-mypy: Upgrade 0.902 -> 0.910
      python3-astroid: Upgrade 2.5.8 -> 2.6.0
      python3-tqdm: Upgrade 4.61.0 -> 4.61.1
      python3-ruamel-yaml: Upgrade 0.17.9 -> 0.17.10
      python3-httplib2: Fix runtime dependencies
      python3-google-api-core: Add recipe
      python3-google-auth: Add recipe
      python3-googleapis-common-protos: Add recipe
      python3-google-api-python-client: Upgrade 2.6.0 -> 2.10.0
      python3-ipython: Upgrade 7.24.1 -> 7.25.0
      python3-croniter: Upgrade 1.0.13 -> 1.0.15
      python3-priority: Upgrade 1.3.0 -> 2.0.0
      python3-astroid: Upgrade 2.6.0 -> 2.6.2
      python3-watchdog: Upgrade 2.1.2 -> 2.1.3
      python3-humanize: Upgrade 3.9.0 -> 3.10.0
      python3-pillow: Upgrade 8.2.0 -> 8.3.1
      python3-bitarray: Upgrade 2.1.3 -> 2.2.1
      python3-cmd2: Upgrade 2.1.1 -> 2.1.2
      python3-pandas: Upgrade 1.2.5 -> 1.3.0
      python3-texttable: Upgrade 1.6.3 -> 1.6.4
      python3-dateutil: Upgrade 2.8.1 -> 2.8.2
      python3-requests: Upgrade 2.25.1 -> 2.26.0
      python3-websocket-client: Upgrade 1.0.1 -> 1.1.0
      python3-pysonos: Upgrade 0.0.51 -> 0.0.53
      python3-bitarray: Upgrade 2.2.1 -> 2.2.2
      python3-pyusb: Upgrade 1.2.0 -> 1.2.1
      python3-zeroconf: Upgrade 0.31.0 -> 0.33.1
      python3-yamlloader: Upgrade 1.0.0 -> 1.1.0
      python3-astroid: Upgrade 2.6.2 -> 2.6.5
      python3-pkgconfig: Upgrade 1.5.4 -> 1.5.5

Luan Rafael Carneiro (1):
      libwebsockets: Update 4.2.0 -> 4.2.1

Luca Boccassi (2):
      dbus-broker: remove deprecated linux-4-17 option
      dbus-broker: enforce required versions of libselinux and libaudit

Marek Vasut (1):
      nss: Fix build on Centos 7

Martin Jansa (1):
      rygel: require gobject-introspection-data in DISTRO_FEATURES

Masaki Ambai (1):
      nss: add CVE-2006-5201 to allowlist

Oleksandr Kravchuk (1):
      iwd: update to 1.15

Olivier Georget (1):
      libpfm4 4.10.1 : enable arm64 host platform

Ovidiu Panait (1):
      libeigen: update LICENSE information

Pascal Bach (1):
      python3-thrift: support native recipe

Persian Prince (1):
      samba: Don't guess dirs for perllocal.pod removing

Peter Bergin (4):
      linuxptp: use install from makefile and install more apps
      linuxptp: add homepage
      linuxptp: ship example configurations in separate package
      hiredis: add cmake config file for pkgconfig

Peter Kjellerstedt (3):
      net-snmp: A little clean up
      net-snmp: Support building for native
      cryptsetup: Only recommend kernel modules when building for target

Philip Balister (1):
      fftw: Update recipe to 3.3.9.

Pierre-Jean Texier (5):
      libtinyxml2: upgrade 8.1.0 -> 9.0.0
      sshfs-fuse: upgrade 3.7.1 -> 3.7.2
      monit: upgrade 5.27.2 -> 5.28.0
      spitools: upgrade 0.8.7 -> 1.0.0
      linuxptp: fix upstream version check

Ross Burton (1):
      zsync-curl: add recipe

Sam Van Den Berge (1):
      libiio: fix installing libiio when python3 bindings are enabled

Sekine Shigeki (2):
      add CVE-2011-2411 to allowlist
      ntp: add CVE-2016-9312 to allowlist

Signed-off-by: Bartosz Golaszewski (1):
      Revert "libgpiod: ptest: warn if the gpio-mockup kernel module is not selected"

Tim Orling (8):
      libcgi-perl: upgrade 4.51 -> 4.53
      libcrypt-openssl-guess-perl: upgrade 0.12 -> 0.13
      libextutils-cppguess-perl: upgrade 0.21 -> 0.23
      libio-socket-ssl-perl: upgrade 2.068 -> 2.071
      libmoo-perl: upgrade 2.004000 -> 2.005004
      libnet-dns-perl: upgrade 1.26 -> 1.31
      libtest-warnings-perl: upgrade 0.028 -> 0.030
      logcheck: upgrade 1.3.20 -> 1.3.23

Tony Tascioglu (2):
      libyang: create recipe for libyang
      redis: upgrade to 6.2.4

Trevor Gamblin (9):
      libnftnl: upgrade 1.1.9 -> 1.2.0
      nftables: upgrade 0.9.8 -> 0.9.9
      python3-yarl: backport fix for test_url_query test
      python3-yappi: fix ptests
      python3-django: upgrade 2.2.23 -> 2.2.24
      python3-django: upgrade 3.2.4 -> 3.2.5
      python3-geomet: add recipe
      python3-cassandra-driver: add geomet to RDEPENDS, remove DISTUTILS options
      python3-geomet: Add missing RDEPENDS; add to packagegroup-meta-python

Yi Zhao (14):
      libldb: upgrade 1.5.8 -> 2.3.0
      samba: upgrade 4.10.18 -> 4.14.4
      samba: update smb.conf
      libparse-yapp-perl: add recipe
      dhcp-relay: update bundled bind to 9.11.32
      dhcp-relay: disable backtrace in bundled bind
      dhcp-relay: update 4.4.2 -> 4.4.2-P1
      packagegroup-meta-networking: add dhcp-relay
      samba: disable check fcntl RW_HINTS when configure
      samba: upgrade 4.14.4 -> 4.14.5
      minifi-cpp: set correct python processor directory in configure file
      samba: fix shebang for pidl
      samba: add missing runtime dependency for pidl
      audit: upgrade 3.0.1 -> 3.0.2

Zoltán Böszörményi (2):
      mariadb: Use qemu to run cross-compiled binaries
      mariadb: Upgrade to 10.5.11

hayashi.satoshi@fujitsu.com (1):
      dracut: add CVE-2010-4176 to allowlist

ito-yuichi@fujitsu.com (2):
      cyrus-sasl: add CVE-2020-8032 to allowlist
      dovecot: add CVE-2016-4983 to allowlist

massimo toscanelli (1):
      sysbench: fix memory test

wangmy (8):
      samba: Solve the dependency problem when installing Samba
      fatresize: upgrade 1.0.2 -> 1.1.0
      xfsprogs: upgrade 5.10.0 -> 5.12.0
      ctags: upgrade 5.9.20210627.0 -> 5.9.20210711.0
      icewm: upgrade 2.3.4 -> 2.6.0
      yelp: upgrade 40.2 -> 40.3
      live555: upgrade 20210406 -> 20210710
      modemmanager: upgrade 1.16.6 -> 1.16.8

zangrc (49):
      python3-idna: upgrade 3.1 -> 3.2
      netplan: upgrade 0.101 -> 0.102
      wireshark: upgrade 3.4.5 -> 3.4.6
      tracker: upgrade 3.0.4 -> 3.1.1
      tracker-miners: upgrade 3.0.5 -> 3.1.1
      rasdaemon: upgrade 0.6.6 -> 0.6.7
      speedtest-cli: upgrade 2.1.2 -> 2.1.3
      abseil-cpp: upgrade 20210324 -> 20210324.2
      cryptsetup: upgrade 2.3.5 -> 2.3.6
      ctags: upgrade 5.9.20210502.0 -> 5.9.20210606.0
      opencl-clhpp: upgrade 2.0.13 -> 2.0.14
      protobuf: upgrade 3.17.0 -> 3.17.3
      toybox: upgrade 0.8.4 -> 0.8.5
      fuse3: upgrade 3.10.3 -> 3.10.4
      evince: upgrade 40.1 -> 40.2
      mosquitto: upgrade 2.0.10 -> 2.0.11
      ctags: upgrade 5.9.20210606.0 -> 20210613.0
      fsverity-utils: upgrade 1.3 -> 1.4
      googletest: upgrade 1.10.0 -> 1.11.0
      mg: upgrade 20210314 -> 20210609
      nano: upgrade 5.7 -> 5.8
      openvpn: upgrade 2.5.2 -> 2.5.3
      snort: upgrade 2.9.17.1 -> 2.9.18
      function2: upgrade 4.1.0 -> 4.2.0
      python3-configargparse: upgrade 1.4.1 -> 1.5
      python3-grpcio-tools: upgrade 1.37.0 -> 1.38.1
      python3-h5py: upgrade 3.2.1 -> 3.3.0
      python3-isort: upgrade 5.8.0 -> 5.9.1
      can-utils: upgrade 2020.12.0 -> 2021.06.0
      ctags: upgrade 5.9.20210620.0 -> 5.9.20210627.0
      python3-gast: upgrade 0.4.0 -> 0.5.0
      python3-grpcio: upgrade 1.38.0 -> 1.38.1
      python3-haversine: upgrade 2.3.0 -> 2.3.1
      python3-m2crypto: upgrade 0.37.1 -> 0.38.0
      python3-pyrsistent: upgrade 0.17.3 -> 0.18.0
      babl: upgrade 0.1.86 -> 0.1.88
      python3-pyusb: upgrade 1.1.1 -> 1.2.0
      python3-google-api-python-client: upgrade 2.10.0 -> 2.12.0
      firewalld: upgrade 0.9.3 -> 0.9.4
      strongswan: upgrade 5.9.2 -> 5.9.3
      opencl-clhpp: upgrade 2.0.14 -> 2.0.15
      python3-cffi: upgrade 1.14.5 -> 1.14.6
      python3-configargparse: upgrade 1.5 -> 1.5.1
      python3-cryptography-vectors: upgrade 3.4.6 -> 3.4.7
      python3-flask-migrate: upgrade 3.0.0 -> 3.0.1
      python3-flask-socketio: upgrade 5.0.3 -> 5.1.0
      python3-isort: upgrade 5.9.1 -> 5.9.2
      python3-networkx: upgrade 2.5.1 -> 2.6.1
      python3-gnupg: upgrade 0.4.6 -> 0.4.7

zhengruoqin (30):
      opensaf: upgrade 5.21.03 -> 5.21.06
      fio: upgrade 3.26 -> 3.27
      gensio: upgrade 2.2.5 -> 2.2.7
      memtester: upgrade 4.5.0 -> 4.5.1
      graphene: upgrade 1.10.2 -> 1.10.6
      iozone3: upgrade 490 -> 492
      net-snmp: upgrade 5.9 -> 5.9.1
      rsnapshot: upgrade 1.4.3 -> 1.4.4
      rsyslog: upgrade 8.2104.0 -> 8.2106.0
      python3-absl: upgrade 0.12.0 -> 0.13.0
      ctags: upgrade 5.9.20210613.0 -> 5.9.20210620.0
      fwts: upgrade 21.03.00 -> 21.06.00
      grpc: upgrade 1.38.0 -> 1.38.1
      libconfig: upgrade 1.7.2 -> 1.7.3
      satyr: upgrade 0.37 -> 0.38
      libnet-telnet-perl: upgrade 3.04 -> 3.05
      python3-scrypt: upgrade 0.8.17 -> 0.8.18
      python3-urllib3: upgrade 1.26.5 -> 1.26.6
      python3-sqlalchemy: upgrade 1.4.17 -> 1.4.20
      python3-qrcode: upgrade 6.1 -> 7.1
      python3-regex: upgrade 2021.4.4 -> 2021.7.6
      python3-sentry-sdk: upgrade 1.1.0 -> 1.2.0
      python3-tqdm: upgrade 4.61.1 -> 4.61.2
      python3-xlsxwriter: upgrade 1.4.3 -> 1.4.4
      ostree: upgrade 2021.2 -> 2021.3
      span-lite: upgrade 0.9.2 -> 0.10.0
      python3-pymisp: upgrade 2.4.143 -> 2.4.144
      python3-protobuf: upgrade 3.17.0 -> 3.17.3
      python3-pulsectl: upgrade 21.5.17 -> 21.5.18
      python3-pytun: upgrade 2.3.0 -> 2.4.1

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ie45184e6f308aa2fc98ee6edf4a3ca1c4afbb5b4
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.17.1.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.17.1.bb
new file mode 100644
index 0000000..5ac4f9d
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_14.17.1.bb
@@ -0,0 +1,199 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a1016f9b7979cfe6fc3466a9bba60b1e"
+
+DEPENDS = "openssl"
+DEPENDS_append_class-target = " qemu-native"
+
+inherit pkgconfig python3native qemu
+
+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://mips-less-memory.patch \
+           "
+SRC_URI_append_class-target = " \
+           file://0002-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] = "ddf1d2d56ddf35ecd98c5ea5ddcd690b245899f289559b4330c921255f5a247f"
+
+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)}"
+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)
+}
+
+# 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', True),
+                                    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"
+
+# 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 --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}"
+    install -Dm 0755 ${B}/v8-qemu-wrapper.sh ${B}/out/Release/v8-qemu-wrapper.sh
+    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"