* [meta-oe][PATCH 0/2] nodejs cleanup and add
@ 2015-12-01 17:15 Trevor Woerner
2015-12-01 17:15 ` [meta-oe][PATCH 1/2] nodejs: cleanup Trevor Woerner
2015-12-01 17:15 ` [meta-oe][PATCH 2/2] nodejs: add recipe for latest stable Trevor Woerner
0 siblings, 2 replies; 5+ messages in thread
From: Trevor Woerner @ 2015-12-01 17:15 UTC (permalink / raw)
To: openembedded-devel
The current stable version of nodejs is 4.2.2.
Currently there are two nodejs recipes from which to choose: nodejs, and
nodejs4. A user would naturally assume nodejs4 refers to version 4.2.2, but
they would be wrong. Nodejs4 refers to version 0.4.12.
Cleanup the current nodejs naming and include a new recipe for the latest
stable version.
Trevor Woerner (2):
nodejs: cleanup
nodejs: add recipe for latest stable
.../enable-armv5e-build.patch | 0
.../{nodejs => nodejs-0.12.7}/no-registry.patch | 0
.../libev-cross-cc_0.4.12.patch | 0
meta-oe/recipes-devtools/nodejs/nodejs.inc | 80 ++++++++++++++++++++++
meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb | 74 +-------------------
.../nodejs/{nodejs4_0.4.12.bb => nodejs_0.4.12.bb} | 2 +-
meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb | 9 +++
7 files changed, 92 insertions(+), 73 deletions(-)
rename meta-oe/recipes-devtools/nodejs/{nodejs => nodejs-0.12.7}/enable-armv5e-build.patch (100%)
rename meta-oe/recipes-devtools/nodejs/{nodejs => nodejs-0.12.7}/no-registry.patch (100%)
rename meta-oe/recipes-devtools/nodejs/{nodejs4 => nodejs-0.4.12}/libev-cross-cc_0.4.12.patch (100%)
create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs.inc
rename meta-oe/recipes-devtools/nodejs/{nodejs4_0.4.12.bb => nodejs_0.4.12.bb} (87%)
create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb
--
2.6.0.rc3
^ permalink raw reply [flat|nested] 5+ messages in thread* [meta-oe][PATCH 1/2] nodejs: cleanup 2015-12-01 17:15 [meta-oe][PATCH 0/2] nodejs cleanup and add Trevor Woerner @ 2015-12-01 17:15 ` Trevor Woerner 2015-12-01 17:22 ` Martin Jansa 2015-12-01 17:15 ` [meta-oe][PATCH 2/2] nodejs: add recipe for latest stable Trevor Woerner 1 sibling, 1 reply; 5+ messages in thread From: Trevor Woerner @ 2015-12-01 17:15 UTC (permalink / raw) To: openembedded-devel Currently the latest stable version of node.js is 4.2.2. Also, currently, there are two nodejs recipes: one for nodejs and one for nodejs4. A user would naturally assume nodejs4 would be for the latest stable, but they would be wrong. Nodejs4 refers to version 0.4.12. Cleanup the node recipes such that there are two nodejs recipes from which to choose. A user can select between them using the regular PREFERRED_VERSION_nodejs notation. Signed-off-by: Trevor Woerner <twoerner@gmail.com> --- .../enable-armv5e-build.patch | 0 .../{nodejs => nodejs-0.12.7}/no-registry.patch | 0 .../libev-cross-cc_0.4.12.patch | 0 meta-oe/recipes-devtools/nodejs/nodejs.inc | 80 ++++++++++++++++++++++ meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb | 74 +------------------- .../nodejs/{nodejs4_0.4.12.bb => nodejs_0.4.12.bb} | 2 +- 6 files changed, 83 insertions(+), 73 deletions(-) rename meta-oe/recipes-devtools/nodejs/{nodejs => nodejs-0.12.7}/enable-armv5e-build.patch (100%) rename meta-oe/recipes-devtools/nodejs/{nodejs => nodejs-0.12.7}/no-registry.patch (100%) rename meta-oe/recipes-devtools/nodejs/{nodejs4 => nodejs-0.4.12}/libev-cross-cc_0.4.12.patch (100%) create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs.inc rename meta-oe/recipes-devtools/nodejs/{nodejs4_0.4.12.bb => nodejs_0.4.12.bb} (87%) diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch b/meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/enable-armv5e-build.patch similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/enable-armv5e-build.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch b/meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/no-registry.patch similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/no-registry.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch b/meta-oe/recipes-devtools/nodejs/nodejs-0.4.12/libev-cross-cc_0.4.12.patch similarity index 100% rename from meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch rename to meta-oe/recipes-devtools/nodejs/nodejs-0.4.12/libev-cross-cc_0.4.12.patch diff --git a/meta-oe/recipes-devtools/nodejs/nodejs.inc b/meta-oe/recipes-devtools/nodejs/nodejs.inc new file mode 100644 index 0000000..41eb5ee --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs.inc @@ -0,0 +1,80 @@ +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" +HOMEPAGE = "http://nodejs.org" +LICENSE = "MIT & BSD & Artistic-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" + +DEPENDS = "openssl" + +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ + file://enable-armv5e-build.patch \ + file://no-registry.patch \ +" +SRC_URI[md5sum] = "5523ec4347d7fe6b0f6dda1d1c7799d5" +SRC_URI[sha256sum] = "b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d" + +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('p(pc|owerpc)(|64)', a): return 'ppc' + elif re.match('i.86$', a): return 'ia32' + elif re.match('x86_64$', a): return 'x64' + elif re.match('arm64$', a): return 'arm' + return a + +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}" +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " +ARCHFLAGS ?= "" + +# 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 + ./configure --prefix=${prefix} --without-snapshot --shared-openssl \ + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', True), d)}" \ + --dest-os=linux \ + ${ARCHFLAGS} +} + +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 +} + +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" +RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils" + +PACKAGES =+ "${PN}-systemtap" +FILES_${PN}-systemtap = "${datadir}/systemtap" + + +BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb index 41eb5ee..f9d3f04 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb @@ -1,9 +1,6 @@ -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" -HOMEPAGE = "http://nodejs.org" -LICENSE = "MIT & BSD & Artistic-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" +require nodejs.inc -DEPENDS = "openssl" +LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ file://enable-armv5e-build.patch \ @@ -11,70 +8,3 @@ SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ " SRC_URI[md5sum] = "5523ec4347d7fe6b0f6dda1d1c7799d5" SRC_URI[sha256sum] = "b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d" - -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('p(pc|owerpc)(|64)', a): return 'ppc' - elif re.match('i.86$', a): return 'ia32' - elif re.match('x86_64$', a): return 'x64' - elif re.match('arm64$', a): return 'arm' - return a - -ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}" -GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " -ARCHFLAGS ?= "" - -# 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 - ./configure --prefix=${prefix} --without-snapshot --shared-openssl \ - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', True), d)}" \ - --dest-os=linux \ - ${ARCHFLAGS} -} - -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 -} - -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" -RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess python-textutils" - -PACKAGES =+ "${PN}-systemtap" -FILES_${PN}-systemtap = "${datadir}/systemtap" - - -BBCLASSEXTEND = "native" diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb b/meta-oe/recipes-devtools/nodejs/nodejs_0.4.12.bb similarity index 87% rename from meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb rename to meta-oe/recipes-devtools/nodejs/nodejs_0.4.12.bb index c73cefc..0525143 100644 --- a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.4.12.bb @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d6237f3a840aef5b7880fb4e49eecfe5" DEPENDS = "openssl" -PNBLACKLIST[nodejs4] ?= "Used only by currently blacklisted cloud9 and fails to build for qemuarm with thumb: error: #error For thumb inter-working we require an architecture which supports blx" +PNBLACKLIST[nodejs_0.4.12] ?= "Used only by currently blacklisted cloud9 and fails to build for qemuarm with thumb: error: #error For thumb inter-working we require an architecture which supports blx" SRC_URI = " \ http://nodejs.org/dist/node-v${PV}.tar.gz \ -- 2.6.0.rc3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [meta-oe][PATCH 1/2] nodejs: cleanup 2015-12-01 17:15 ` [meta-oe][PATCH 1/2] nodejs: cleanup Trevor Woerner @ 2015-12-01 17:22 ` Martin Jansa 2015-12-01 17:43 ` Trevor Woerner 0 siblings, 1 reply; 5+ messages in thread From: Martin Jansa @ 2015-12-01 17:22 UTC (permalink / raw) To: Trevor Woerner; +Cc: openembedded-devel > A user would naturally assume nodejs4 would be for the latest stable, but they would be wrong. Nodejs4 refers to version 0.4.12. It was using different recipe name intentionally, because both versions were meant to be built and installed in parallel, because some other recipes (like cloud9 mentioned in PNBLACKLIST) were (maybe still are) only with the older version 0.4.*. As it was already PNBLACKLISTed I wouldn't mind removing it completely and replacing 0.12.7 with new version (without introducing the .inc) file. One-version-to-rule-them-all is even more useful here as different nodejs versions aren't compatible with other recipes, so you cannot just change PREFERRED_VERSION and hope to build world. Regards, On Tue, Dec 1, 2015 at 6:15 PM, Trevor Woerner <twoerner@gmail.com> wrote: > Currently the latest stable version of node.js is 4.2.2. Also, currently, > there are two nodejs recipes: one for nodejs and one for nodejs4. A user > would > naturally assume nodejs4 would be for the latest stable, but they would be > wrong. Nodejs4 refers to version 0.4.12. > > Cleanup the node recipes such that there are two nodejs recipes from which > to > choose. A user can select between them using the regular > PREFERRED_VERSION_nodejs notation. > > Signed-off-by: Trevor Woerner <twoerner@gmail.com> > --- > .../enable-armv5e-build.patch | 0 > .../{nodejs => nodejs-0.12.7}/no-registry.patch | 0 > .../libev-cross-cc_0.4.12.patch | 0 > meta-oe/recipes-devtools/nodejs/nodejs.inc | 80 > ++++++++++++++++++++++ > meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb | 74 > +------------------- > .../nodejs/{nodejs4_0.4.12.bb => nodejs_0.4.12.bb} | 2 +- > 6 files changed, 83 insertions(+), 73 deletions(-) > rename meta-oe/recipes-devtools/nodejs/{nodejs => > nodejs-0.12.7}/enable-armv5e-build.patch (100%) > rename meta-oe/recipes-devtools/nodejs/{nodejs => > nodejs-0.12.7}/no-registry.patch (100%) > rename meta-oe/recipes-devtools/nodejs/{nodejs4 => > nodejs-0.4.12}/libev-cross-cc_0.4.12.patch (100%) > create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs.inc > rename meta-oe/recipes-devtools/nodejs/{nodejs4_0.4.12.bb => > nodejs_0.4.12.bb} (87%) > > diff --git > a/meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch > b/meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/enable-armv5e-build.patch > similarity index 100% > rename from > meta-oe/recipes-devtools/nodejs/nodejs/enable-armv5e-build.patch > rename to > meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/enable-armv5e-build.patch > diff --git a/meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch > b/meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/no-registry.patch > similarity index 100% > rename from meta-oe/recipes-devtools/nodejs/nodejs/no-registry.patch > rename to meta-oe/recipes-devtools/nodejs/nodejs-0.12.7/no-registry.patch > diff --git > a/meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch > b/meta-oe/recipes-devtools/nodejs/nodejs-0.4.12/libev-cross-cc_0.4.12.patch > similarity index 100% > rename from > meta-oe/recipes-devtools/nodejs/nodejs4/libev-cross-cc_0.4.12.patch > rename to > meta-oe/recipes-devtools/nodejs/nodejs-0.4.12/libev-cross-cc_0.4.12.patch > diff --git a/meta-oe/recipes-devtools/nodejs/nodejs.inc > b/meta-oe/recipes-devtools/nodejs/nodejs.inc > new file mode 100644 > index 0000000..41eb5ee > --- /dev/null > +++ b/meta-oe/recipes-devtools/nodejs/nodejs.inc > @@ -0,0 +1,80 @@ > +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" > +HOMEPAGE = "http://nodejs.org" > +LICENSE = "MIT & BSD & Artistic-2.0" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" > + > +DEPENDS = "openssl" > + > +SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ > + file://enable-armv5e-build.patch \ > + file://no-registry.patch \ > +" > +SRC_URI[md5sum] = "5523ec4347d7fe6b0f6dda1d1c7799d5" > +SRC_URI[sha256sum] = > "b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d" > + > +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('p(pc|owerpc)(|64)', a): return 'ppc' > + elif re.match('i.86$', a): return 'ia32' > + elif re.match('x86_64$', a): return 'x64' > + elif re.match('arm64$', a): return 'arm' > + return a > + > +ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', > 'callconvention-hard', '--with-arm-float-abi=hard', > '--with-arm-float-abi=softfp', d)}" > +GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " > +ARCHFLAGS ?= "" > + > +# 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 > + ./configure --prefix=${prefix} --without-snapshot --shared-openssl \ > + --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', > True), d)}" \ > + --dest-os=linux \ > + ${ARCHFLAGS} > +} > + > +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 > +} > + > +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" > +RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess > python-textutils" > + > +PACKAGES =+ "${PN}-systemtap" > +FILES_${PN}-systemtap = "${datadir}/systemtap" > + > + > +BBCLASSEXTEND = "native" > diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb > b/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb > index 41eb5ee..f9d3f04 100644 > --- a/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb > +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.12.7.bb > @@ -1,9 +1,6 @@ > -DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript" > -HOMEPAGE = "http://nodejs.org" > -LICENSE = "MIT & BSD & Artistic-2.0" > -LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" > +require nodejs.inc > > -DEPENDS = "openssl" > +LIC_FILES_CHKSUM = "file://LICENSE;md5=14115ff11211df04b031ec7d40b6d31b" > > SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ > file://enable-armv5e-build.patch \ > @@ -11,70 +8,3 @@ SRC_URI = " > http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ > " > SRC_URI[md5sum] = "5523ec4347d7fe6b0f6dda1d1c7799d5" > SRC_URI[sha256sum] = > "b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d" > - > -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('p(pc|owerpc)(|64)', a): return 'ppc' > - elif re.match('i.86$', a): return 'ia32' > - elif re.match('x86_64$', a): return 'x64' > - elif re.match('arm64$', a): return 'arm' > - return a > - > -ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', > 'callconvention-hard', '--with-arm-float-abi=hard', > '--with-arm-float-abi=softfp', d)}" > -GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' " > -ARCHFLAGS ?= "" > - > -# 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 > - ./configure --prefix=${prefix} --without-snapshot --shared-openssl \ > - --dest-cpu="${@map_nodejs_arch(d.getVar('TARGET_ARCH', > True), d)}" \ > - --dest-os=linux \ > - ${ARCHFLAGS} > -} > - > -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 > -} > - > -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" > -RDEPENDS_${PN}-npm = "bash python-shell python-datetime python-subprocess > python-textutils" > - > -PACKAGES =+ "${PN}-systemtap" > -FILES_${PN}-systemtap = "${datadir}/systemtap" > - > - > -BBCLASSEXTEND = "native" > diff --git a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb > b/meta-oe/recipes-devtools/nodejs/nodejs_0.4.12.bb > similarity index 87% > rename from meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb > rename to meta-oe/recipes-devtools/nodejs/nodejs_0.4.12.bb > index c73cefc..0525143 100644 > --- a/meta-oe/recipes-devtools/nodejs/nodejs4_0.4.12.bb > +++ b/meta-oe/recipes-devtools/nodejs/nodejs_0.4.12.bb > @@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = > "file://LICENSE;md5=d6237f3a840aef5b7880fb4e49eecfe5" > > DEPENDS = "openssl" > > -PNBLACKLIST[nodejs4] ?= "Used only by currently blacklisted cloud9 and > fails to build for qemuarm with thumb: error: #error For thumb > inter-working we require an architecture which supports blx" > +PNBLACKLIST[nodejs_0.4.12] ?= "Used only by currently blacklisted cloud9 > and fails to build for qemuarm with thumb: error: #error For thumb > inter-working we require an architecture which supports blx" > > SRC_URI = " \ > http://nodejs.org/dist/node-v${PV}.tar.gz \ > -- > 2.6.0.rc3 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [meta-oe][PATCH 1/2] nodejs: cleanup 2015-12-01 17:22 ` Martin Jansa @ 2015-12-01 17:43 ` Trevor Woerner 0 siblings, 0 replies; 5+ messages in thread From: Trevor Woerner @ 2015-12-01 17:43 UTC (permalink / raw) To: Martin Jansa; +Cc: openembedded-devel On 12/01/15 12:22, Martin Jansa wrote: > As it was already PNBLACKLISTed I wouldn't mind removing it completely and > replacing 0.12.7 with new version (without introducing the .inc) file. Thanks for providing the background info, I was wondering why it was implemented this way. I'll submit a v2 where everything is replaced with 4.2.2. Thanks ^ permalink raw reply [flat|nested] 5+ messages in thread
* [meta-oe][PATCH 2/2] nodejs: add recipe for latest stable 2015-12-01 17:15 [meta-oe][PATCH 0/2] nodejs cleanup and add Trevor Woerner 2015-12-01 17:15 ` [meta-oe][PATCH 1/2] nodejs: cleanup Trevor Woerner @ 2015-12-01 17:15 ` Trevor Woerner 1 sibling, 0 replies; 5+ messages in thread From: Trevor Woerner @ 2015-12-01 17:15 UTC (permalink / raw) To: openembedded-devel The latest stable version of nodejs is 4.2.2; add a recipe to make it available. Signed-off-by: Trevor Woerner <twoerner@gmail.com> --- meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb diff --git a/meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb b/meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb new file mode 100644 index 0000000..7572625 --- /dev/null +++ b/meta-oe/recipes-devtools/nodejs/nodejs_4.2.2.bb @@ -0,0 +1,9 @@ +require nodejs.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=ee90ba97d933fc8d56e97812b7dd62e9" + +SRC_URI = " \ + http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \ + " +SRC_URI[md5sum] = "7c46c158e4c9a44cfbd039951c13dfe6" +SRC_URI[sha256sum] = "00e709353435b436b5bbf5e62272ebb15fe801065422c4c2afe2b93456210cb1" -- 2.6.0.rc3 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-12-01 17:44 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-12-01 17:15 [meta-oe][PATCH 0/2] nodejs cleanup and add Trevor Woerner 2015-12-01 17:15 ` [meta-oe][PATCH 1/2] nodejs: cleanup Trevor Woerner 2015-12-01 17:22 ` Martin Jansa 2015-12-01 17:43 ` Trevor Woerner 2015-12-01 17:15 ` [meta-oe][PATCH 2/2] nodejs: add recipe for latest stable Trevor Woerner
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.