meta-openembedded: subtree update:76b83194b3..ae39f2e711

Adrian Bunk (3):
      libpeas: gobject-introspection is mandatory and cannot be configured
      gnome-settings-daemon: smartcard support is optional, and needs nss
      gnome-settings-daemon: Remove duplicate outdated SRC_URI hashes

Alex Kiernan (1):
      ostree: upgrade 2020.4 -> 2020.5

Andreas Müller (29):
      xfce4-whiskermenu-plugin: upgrade 2.4.5 -> 2.4.6
      xfwm4: upgrade 4.14.2 -> 4.14.3
      xfce4-timer-plugin: upgrade 1.7.0 -> 1.7.1
      gnome-desktop3: upgrade 3.36.3.1 -> 3.36.4
      evolution-data-server: upgrade 3.36.3 -> 3.36.4
      gnome-control-center: upgrade 3.36.3 -> 3.36.4
      gtksourceview4: upgrade 4.6.0 -> 4.6.1
      libnma: upgrade 1.8.28 -> 1.8.30
      libgweather: upgrade 3.36.0 -> 3.36.1
      evince: upgrade 3.36.5 -> 3.36.7
      exiv2: upgrade 0.27.1 -> 0.27.3
      poppler: upgrade 0.89.0 -> 0.90.1
      live555: merge recipe with inc
      live555: upgrade 20190828 -> 20200721
      tumbler: upgrade 0.2.8 -> 0.2.9
      xfwm4: upgrade 4.14.3 -> 4.14.4
      geoclue: upgrade 2.5.3 -> 2.5.6
      gnome-help.bbclass: remove double FILES_${PN}-help entry
      gnome-calendar: initial add 3.36.2
      imagemagick: upgrade 7.0.9_13 -> 7.0.10_25
      libpeas: disable tests when introspection is not enabled/available
      udisks2: upgrade 2.8.4+ -> 2.9.1
      xfwm4: upgrade 4.14.4 -> 4.14.5
      gnome-desktop3: upgrade 3.36.4 -> 3.36.5
      file-roller: upgrade 3.36.2 -> 3.36.3
      evolution-data-server: upgrade 3.36.4 -> 3.36.5
      gnome-disk-utility: re-add 3.36.3
      gdm: upgrade 3.36.2 -> 3.36.3
      poppler: upgrade 0.90.1 -> 20.08.0

Andrey Konovalov (1):
      libcamera: fix packaging and installation

Aníbal Limón (1):
      meta-oe: opengl-es-cts install deqp test runners

Armin Kuster (2):
      jsoncpp: add PE do to dunfell reverts
      libpeas: this depends on gtk3+ add FEATURE CHECK

Arthur She (1):
      xmlrpc-c: Upgrade 1.51.03 -> 1.54.02

Changqing Li (1):
      mozjs: fix multilib conflict

Colin McAllister (6):
      python3-paramiko: Added recipe
      python3-lorem: Added recipe
      python3-textparser: Added recipe
      python3-jdatetime: Added recipe
      python3-pynacl: Added recipe
      autossh: Created recipe

Daniel Dragomir (1):
      rasdaemon: update to 0.6.6 and fix SRC_URI broken link

Gianfranco (4):
      dlt-daemon: update to 2.18.5
      dlt-daemon: add new dlt-filetransfer PACKAGECONFIG option
      dlt-daemon: fix build failure when dlt-dbus is enabled, due to missing service file.
      dlt-daemon: enable some configurations by default in PACKAGECONFIG

Gianfranco Costamagna (2):
      vboxguestdrivers: upgrade 6.1.6 -> 6.1.12
      dlt-daemon: fix build with upstream-proposed patch for MUSL libc

Hongxu Jia (1):
      vboxguestdrivers: fix failed to compile with kernel 5.8.0

Jack Mitchell (1):
      python3-pybind11: install both python wheel and cmake build

Jacob Kroon (1):
      abseil-cpp: Use SkipRecipe exception

James Feist (1):
      boost-url: Add recipe

Jens Rehsack (1):
      bearssl: add new recipe

Johan Jeppsson (1):
      nngpp: Add recipe

Jyothi-k (1):
      fmt: 7.0.1 -> 7.0.3

Kai Kang (2):
      xfce4-eyes-plugin: 4.5.0 -> 4.5.1
      rdist: fix parallel build

Khem Raj (82):
      flashrom: Fix build failure with glibc 2.32
      spdlog: Upgrade to 1.7.0
      gerbera: Upgrade to 1.6.0
      libqmi:  Delete --enable-more-warnings configure option
      gnome-settings-daemon: Drop using autotools specific option
      gnome-settings-daemon: Add introspection to UNKNOWN_CONFIGURE_WHITELIST
      iwd: Module load dir should be relative to root_dir
      libcamera: Fix License names to match SPDX convention
      satyr: Upgrade to 0.30
      gpm: Upgrade to latest master
      gensio: Upgrade to 2.1.4
      freeglut: Use -fcommon always
      xfsprogs: Upgrade to 5.7.0
      freerdp: Upgrade to 2.2.0
      htop: Fix build with -fno-common
      dialog: Turn X11 support into a packageconfig option
      x11vnc: Update to latest on master
      vblade: Upgrade to version 24
      netperf: Fix build with -fno-common
      netplan: Update to latest to fix build with -fno-common
      ncftp: Fix build with -fno-common
      iscsi-initiator-utils: Upgrade to _2.1.2
      tftp-hpa: Fix build with -fno-common
      fwknop: Fix build with gcc10
      dibbler: Update to latest
      quagga: Use -fcommon to compile
      drbd: Upgrade to 9.0.24-1
      drbd-utils: Uphgrade to 9.13.1
      snort: Upgrade to 2.9.16.1
      daq: Upgrade to 2.0.7
      openlldp: Update to latest master
      iftop: Fix build with -fno-common
      xfce4-sensors-plugin: Fix build with -fno-common
      xfce4-cpufreq-plugin: Fix build with -fno-common
      imsettings: Upgrade to 1.8.2
      lcdproc: Fix compilation with GCC >= 10.x
      openal-soft: Update to 1.20.1
      mimic: Upgrade to 1.3.0.1
      minidlna: Fix build with -fno-common
      tvheadend: Update to latest tip
      monkey: Upgrade to 1.6.9
      klibc: Compile with -fcommon
      kexecboot: Use -fcommon to compile
      python3-matplotlib: Use lld for linking when using clang
      python3-pandas: Add workaround to fix build with clang
      memtester: Fix build with -fno-common
      read-edid: Fix build with gcc-10+
      owfs: Fix build with -fno-common
      sharutils: Fix build with -fno-common
      lprng: Fix build with -fno-common
      fluentbit: Use -fcommon to compile
      fbida: Upgrade to 2.14
      ipmitool: Fix build with -fno-common
      smstools3: Fix build with -fno-common
      sblim-sfcb: Fix build with -fno-common
      cdrkit: Fix build with -fno-common
      openocd: Fix build with gcc10/-fno-common
      liblbxutil: Fix build with gcc10/-fno-common
      mg: Upgrade to 20200723 tag
      libforms: Fix build with -fno-common
      wifi-test-suite: Update to latest tip
      xf86-video-ati: Fix link failure with gcc 10
      ifplugd: Fix build with gcc10/-fno-common
      tcsh: Fix build with -fno-common
      makedumpfile: Fix build with -fno-common
      nodejs: Upgrade to 12.18.3
      opencl-headers: Upgrade to v2020.06.16
      ocl-icd: Upgrade to latest
      opencl-icd-loader: Update beyond 2020.06.16
      fwts: Upgrade to 20.07.00
      pegtl: Disable type-limits warning
      opensaf: Fix build with -fno-common
      crash: Fix arm64 build with -fno-common
      minifi-cpp: Fix build with lto/clang
      libyui-ncurses: Disable werror with clang
      sedutils: Fix build with clang11
      directfb: Disable dtor-typedef warning with clang11
      gerbera: Disable PIE on rv64
      opengl-es-cts: Use SECURITY_NOPIE_CFLAGS
      opencv: Upgrade to 4.4.0
      minifi-cpp: Fix linking with libxml2
      sdbus-c++: Fix ptest packaging

Leon Anavi (80):
      python3-pytest-metadata: Upgrade 1.9.0 -> 1.10.0
      python3-cmd2: Upgrade 1.1.0 -> 1.2.1
      python3-aenum: Upgrade 2.2.3 -> 2.2.4
      python3-bitarray: Upgrade 1.4.1 -> 1.4.2
      python3-colorlog: Upgrade 4.1.0 -> 4.2.1
      python3-matplotlib: Upgrade 3.2.2 -> 3.3.0
      python3-urllib3: Upgrade 1.25.9 -> 1.25.10
      python3-pywbem: Upgrade 0.17.3 -> 0.17.4
      python3-lxml: Upgrade 4.5.1 -> 4.5.2
      python3-gmqtt: Upgarde 0.6.5 -> 0.6.7
      python3-pyroute2: Upgrade 0.5.12 -> 0.5.13
      python3-pymongo: Upgrade 3.10.1 -> 3.11.0
      python3-pid: Upgrade 3.0.3 -> 3.0.4
      python3-pychromecast: Upgrade 7.1.2 -> 7.2.0
      python3-dynamic-dispatch: Upgrade 1.0.2 -> 1.0.3
      python3-cbor2: Upgrade 5.1.1 -> 5.1.2
      python3-xlsxwriter: Consolidate in a single file
      python3-xlsxwriter: Upgrade 1.2.9 -> 1.3.0
      python3-cffi: Upgrade 1.14.0 -> 1.14.1
      python3-pandas: Upgrade 1.0.5 -> 1.1.0
      python3-luma-core: Upgrade 1.14.0 -> 1.14.1
      python3-tqdm: Upgrade 4.47.0 -> 4.48.0
      python3-asn1crypto: Upgrade 1.3.0 -> 1.4.0
      python3-pyalsaaudio: Consolidate in a single file
      python3-pyalsaaudio: Upgrade 0.8.4 -> 0.9.0
      python3-autobahn: Upgrade 20.6.2 -> 20.7.1
      python3-isort: Upgrade 5.1.4 -> 5.2.2
      python3-ujson: Upgrade 3.0.0 -> 3.1.0
      python3-yarl: Upgrade 1.4.2 -> 1.5.1
      python3-openpyxl: Upgrade 3.0.3 -> 3.0.4
      python3-cryptography: Upgrade 2.8 -> 3.0
      python3-dnspython: Upgrade 1.16.0 -> 2.0.0
      python3-regex: Upgrade 2020.6.8 -> 2020.7.14
      python3-lazy-object-proxy: Upgrade 1.5.0 -> 1.5.1
      python3-xxhash: Upgrade 1.4.4 -> 2.0.0
      xxhash: Upgrade 0.7.4 -> 0.8.0
      python3-parso: Upgrade 0.7.1 -> 0.8.0
      python3-argexec: Upgrade 1.0.2 -> 1.0.3
      python3-xlsxwriter: Upgrade 1.3.0 -> 1.3.2
      python3-cantools: Upgrade 35.1.0 -> 35.3.0
      python3-wtforms: Upgrade 2.3.1 -> 2.3.3
      python3-prompt-toolkit: Upgrade 3.0.5 -> 3.0.6
      python3-cmd2: Upgrade 1.2.1 -> 1.3.1
      python3-luma-core: Upgrade 1.14.1 -> 1.15.0
      python3-hyperlink: Upgrade 19.0.0 -> 20.0.1
      python3-bitarray: Upgrade 1.4.2 -> 1.5.1
      python3-isort: Upgrade 5.2.2 -> 5.3.2
      python3-gast: Upgrade 0.3.3 -> 0.4.0
      python3-tqdm: Upgrade 4.48.0 -> 4.48.2
      python3-sympy: Upgrade 1.6.1 -> 1.6.2
      python3-parse: Upgrade 1.15.0 -> 1.16.0
      python3-flask-login: Consolidate in a single file
      python3-flask-login: Upgrade 0.4.1 -> 0.5.0
      python3-graphviz: Upgrade 0.14 -> 0.14.1
      python3-huey: Upgrade 2.2.0 -> 2.3.0
      python3-rsa: Upgrade 3.4.2 -> 4.6
      python3-cmd2: Upgrade 1.3.1 -> 1.3.2
      python3-u-msgpack-python: Upgrade 2.6.0 -> 2.7.0
      python3-pytest-timeout: Upgrade 1.4.1 -> 1.4.2
      python3-javaobj-py3: Upgrade 0.4.0.1 -> 0.4.1
      python3-sentry-sdk: Upgrade 0.16.0 -> 0.16.3
      python3-coverage: Upgrade 5.2 -> 5.2.1
      python3-redis: Upgrade 2.10.6 -> 3.5.3
      mosquitto: Upgrade 1.6.10 -> 1.6.11
      python3-matplotlib: Upgrade 3.3.0 -> 3.3.1
      python3-humanize: Upgrade 2.5.0 -> 2.6.0
      python3-bcrypt: Upgrade 3.1.7 -> 3.2.0
      python3-isort: Upgrade 5.3.2 -> 5.4.2
      python3-cffi: Upgrade 1.14.1 -> 1.14.2
      python3-wheel: Upgrade 0.34.2 -> 0.35.1
      python3-cmd2: Upgrade 1.3.2 -> 1.3.3
      python3-google-api-python-client: Upgrade 1.9.3 -> 1.10.0
      python3-bitarray: Upgrade 1.5.1 -> 1.5.2
      python3-xlsxwriter: Upgrade 1.3.2 -> 1.3.3
      python3-sqlalchemy: Upgrade 1.3.18 -> 1.3.19
      python3-sentry-sdk: Upgrade 0.16.3 -> 0.16.5
      python3-python-vlc: Upgrade 3.0.10114 -> 3.0.11115
      python3-pytest-asyncio: Upgrade 0.12.0 -> 0.14.0
      python3-djangorestframework: Consolidate in a single file
      python3-djangorestframework: Upgrade 3.9.0 -> 3.11.1

Martin Jansa (2):
      khronos-cts: add opengl to REQUIRED_DISTRO_FEATURES
      lcov: fix lcov-native build

Mingli Yu (4):
      mariadb: upgrade to 10.5.4
      mariadb: not use the bundled libpcre2
      freeradius: fix the occasional verification failure
      fio: upgrade to 3.21

Oleksandr Kravchuk (49):
      iwd: update to 1.8
      nvme-cli: update to 1.12
      dialog: update to 1.3-20200327
      libqmi: update to 1.26.0
      libmbim: update to 1.24.2
      libwebsockets: update to 4.0.20
      libkcapi: update to 1.2.0
      libbytesize: update to 2.3
      libvdpau: update to 1.4
      libcec: update to 6.0.2
      dctl: update v69
      pmdk: update to 1.9
      libzip: update to 1.7.3
      tmux: update to 3.1b
      libjcat: update to 0.1.3
      leptonica: update to 1.79.0
      libvncserver: update to 0.9.13
      libopusenc: add recipe 0.2.1
      broadcom-bt-firmware: update to 12.0.1.1105_p2
      lsscsi: update to 0.31
      opusfile: update to 0.12
      libmpdclient: update to 2.19
      crossguid: update to 0.2.2
      libmediaart: update to 2.0_1.9.4
      kronosnet: update to 1.18
      keepalived: update to 2.1.5
      valijson: update to 0.3
      ostree: update to 2020.4
      terminus-font: update to 4.48
      libteam: update to 1.31
      libimobiledevice: update to 1.3.0
      libusbmuxd: update to 2.0.2
      libplist: update to 2.2.0
      usbmuxd: update to 1.1.1
      ifuse: update to 1.1.4
      libyui: update to 3.10.0
      libyui-ncurses: update to 2.55.0
      mpc: update to 0.33
      ncmpc: update to 0.38
      dhcpcd: update to 9.1.4
      firewalld: update to 0.8.3
      openconnect: update to 8.10
      relayd: bump to latest revision
      fping: update to 4.4
      nano: update to 5.0
      broadcom-bt-firmware: add PE back
      libpeas: update to 1.26.0
      ifenslave: update to 2.11
      libupnp: update to 1.14.0

Shlomi Vaknin (11):
      monit: Set monit files in temporary locations
      python3-ipython: add recipe
      python3-traitlets: add recipe
      python3-ipython-genutils: add recipe
      python3-jedi: add recipe
      python3-pickleshare: add recipe
      python3-backcall: add recipe
      python3-parso: add recipe
      prompt-toolkit: fix recipe
      json-schema-validator: Add recipe
      python3-pybind11-json: Add recipe

Slater, Joseph (4):
      lvm2: allow for reproducible binary builds
      python3-cryptography: fix two tests
      mozjs: specify TMPDIR
      aoetool: make builds reproducible

Vijay Khemka (1):
      Adding recipe for exprtk

William A. Kennington III (3):
      fmt: 6.2.0 -> 7.0.1
      cli11: 1.9.0 -> 1.9.1
      function2: 4.0.0 -> 4.1.0

Yi Zhao (2):
      libldb: upgrade 1.5.7 -> 1.5.8
      samba: upgrade 4.10.15 -> 4.10.17

Yue Tao (1):
      lua: Security Advisory - lua - CVE-2020-15888

Zang Ruochen (25):
      fping: upgrade 4.2 -> 4.3
      capnproto: upgrade 0.7.0 -> 0.8.0
      c-ares: upgrade 1.16.0 -> 1.16.1
      iozone3: upgrade 489 -> 490
      ser2net: upgrade 4.1.8 -> 4.2.0
      apache-websocket: upgrade 0.1.1 -> 0.1.2
      hiawatha: upgrade 10.10 -> 10.11
      nostromo: upgrade 1.9.7 -> 1.9.9
      purple-skypeweb: upgrade 1.5 -> 1.6
      dnsmasq: upgrade 2.81 -> 2.82
      linuxptp: upgrade 2.0 -> 3.0
      nlohmann-json: upgrade 3.7.3 -> 3.9.0
      paho-mqtt-c: upgrade 1.3.2 -> 1.3.4
      zlog: upgrade 1.2.14 -> 1.2.15
      jasper: upgrade 2.0.16 -> 2.0.19
      dash: upgrade 0.5.11 -> 0.5.11.1
      libbytesize: upgrade 2.3 -> 2.4
      jsonrpc: Fix build with libmicrohttpd 0.9.71
      libmicrohttpd: upgrade 0.9.70 -> 0.9.71
      rdma-core: upgrade 28.0 -> 30.0
      ipc-run: upgrade 20180523.0 -> 20200505.0
      uhubctl: upgrade 2.1.0 -> 2.2.0
      gsoap: upgrade 2.8.103 -> 2.8.105
      libcgi-perl: upgrade 4.48 -> 4.50
      redis: upgrade 6.0.5 -> 6.0.6

wonjong.lee (1):
      minifi: Add recipe for c++ version

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I003021e0f4c267f79eedf704c43fbb6fdcdaf8b8
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
new file mode 100644
index 0000000..8a9f32b
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_12.18.3.bb
@@ -0,0 +1,160 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=30e27bd6830002d9415e4a5da7901f03"
+
+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 \
+           "
+SRC_URI_append_class-target = " \
+           file://0002-Using-native-binaries.patch \
+           "
+SRC_URI[sha256sum] = "71158026579487422fd13cc2553b34cddb76519098aa6030faab52f88c6e0d0e"
+
+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"