summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-09-09 21:56:00 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-09-09 21:57:26 +0300
commitc1d34338068e7d99e34db98597b2d8b3b58e6c2a (patch)
tree9d67e75edf68185cb9bd927a46accb4da1076174 /meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb
parent8b5c4203192fdd08369251934d67889367169f44 (diff)
downloadopenbmc-c1d34338068e7d99e34db98597b2d8b3b58e6c2a.tar.xz
meta-openembedded: subtree update:6a5d6bc9ad..3061ead8cf
Adrian Bunk (2): gpsd: gpscat no longer uses python-curses in 3.19 dejagnu: Remove, moved to oe-core Alex Kiernan (1): zstd: Upgrade 1.4.2 -> 1.4.3 Alistair Francis (2): python3-twine: Initial commit of 1.13.0 python3-pytest-asyncio: Initial commit of 0.10.0 Andreas Müller (4): fluidsynth: upgrade 2.0.5 -> 2.0.6 imsettings: upgrade 1.7.3 -> 1.8.1 and rework recipe xfce4-settings: upgrade 4.14.0 -> 4.14.1 xfce4-screenshooter: upgrade 1.9.5 -> 1.9.6 Andrej Valek (1): nodejs: 10.16.2 -> 10.16.3 Changqing Li (7): yail: update UPSTREAM_CHECK_GITTAGREGEX iscsi-initiator-utils: 2.0.876 -> 2.0.877 postgresql: 11.4 -> 11.5 satyr: upgrade 0.27 -> 0.28 freeradius: upgrade 3.0.17 -> 3.0.19 drbd-utils: switch to add patch from change source in do_configure xfsdump: support usrmerge Gianfranco Costamagna (2): grpc: don't use unexisting gettid function on glibc 2.29, it has been implemented only in 2.30 grpc: Change gettid patch with the upstream merged version Hongxu Jia (1): lvm2: fix blkdeactivate failed with command not found Kai Kang (4): lmbench: update script lmbench-run mariadb: fix file conflictions when multilib enabled php: sync with apache2's change apache2: fix multilib file conflicts Khem Raj (11): iperf2: Fix build with latest libc++ iscsi-initiator-utils: Inherit pkgconfig and override PKG_CONFIG klibc: Fix build with 5.2+ kernel headers samba: Fix configure tests to work with clang ltrace: Fix build on mips python-jinja2: Make asyncio specific to python3 module alone python3-cmd2: Add to blacklist nodejs: Mark incompatible with risc-v drbd,netkit-rusers: Blacklist packages vboxguestdrivers,can-isotp,bpftool: Add to Blacklist strongswan: Fix do_patch fuzz Li Zhou (1): tipcutils: ptts: Set recv buffer size to max to receive as many packets as possible Martin Jansa (1): python3-pyatspi: restrict with GTK2DISTROFEATURES Oleksandr Kravchuk (1): nano: update to 4.4 Qi.Chen@windriver.com (2): python-hyperlink: rdepend on python-idna python-jinja2: rdepend on asyncio module Robert Yang (1): netcf: Fix do_configure failed when multilib Scott Ellis (1): wireguard: Upgrade 20190702 to 20190905 Yuan Chao (10): strongswan: upgrade 5.8.0 -> 5.8.1 php: upgrade 7.3.8 -> 7.3.9 libtalloc: upgrade 2.2.0 -> 2.3.0 numactl: upgrade 2.0.12 -> 2.0.13 uhubctl: upgrade 2.0.0 -> 2.1.0 python-pytest: upgrade 5.1.1 -> 5.1.2 python-stevedore: upgrade 1.30.1 -> 1.31.0 python-dbus: upgrade 1.2.8 -> 1.2.10 python-pbr: upgrade 5.4.2 -> 5.4.3 python-pyasn1: upgrade 0.4.6 -> 0.4.7 Zang Ruochen (3): python-paste: upgrade 3.1.1 -> 3.2.0 libnet-dns-perl: upgrade 1.20 -> 1.21 hwdata: upgrade 0.326 -> 0.327 Zheng Ruoqin (1): python-cmd2: Add python3 version aehs29@gmail.com (1): remmina: Add recipe for the remmina remote desktop client Change-Id: I11f4319f53655ab389fcb7a0ce4f22b71f9a8da2 Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb')
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb113
1 files changed, 113 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb
new file mode 100644
index 000000000..a978eebe4
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-devtools/nodejs/nodejs_10.16.3.bb
@@ -0,0 +1,113 @@
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT & BSD & Artistic-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=be980eb7ccafe287cb438076a65e888c"
+
+DEPENDS = "openssl"
+DEPENDS_append_class-target = " nodejs-native"
+
+inherit pkgconfig
+
+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-Crypto-reduce-memory-usage-of-SignFinal.patch \
+ file://0004-Make-compatibility-with-gcc-4.8.patch \
+ file://0005-Link-atomic-library.patch \
+ file://0006-Use-target-ldflags.patch \
+ "
+SRC_URI_append_class-target = " \
+ file://0002-Using-native-torque.patch \
+ "
+
+SRC_URI[md5sum] = "b41275a018e670947c1950b12f050a2f"
+SRC_URI[sha256sum] = "7bf1123d7415964775b8f81fe6ec6dd5c3c08abb42bb71dfe4409dbeeba26bbd"
+
+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 ??= "zlib icu"
+PACKAGECONFIG[zlib] = "--shared-zlib,,zlib"
+PACKAGECONFIG[icu] = "--with-intl=system-icu,--without-intl,icu"
+
+# 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 () {
+ rm -rf ${S}/deps/openssl
+ export LD="${CXX}"
+ GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
+ # $TARGET_ARCH settings don't match --dest-cpu settings
+ ./configure --prefix=${prefix} --without-snapshot --shared-openssl \
+ --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH'), d)}" \
+ --dest-os=linux \
+ ${ARCHFLAGS} \
+ ${PACKAGECONFIG_CONFARGS}
+}
+
+do_compile () {
+ export LD="${CXX}"
+ oe_runmake BUILDTYPE=Release
+}
+
+do_install () {
+ oe_runmake install DESTDIR=${D}
+}
+
+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 torque to provide it within sysroot for the target compilation
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/out/Release/torque ${D}${bindir}/torque
+}
+
+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 python-core python-shell python-datetime python-subprocess python-textutils \
+ python-compiler python-misc python-multiprocessing"
+
+PACKAGES =+ "${PN}-systemtap"
+FILES_${PN}-systemtap = "${datadir}/systemtap"
+
+
+BBCLASSEXTEND = "native"