Trevor Woerner ab21935a7e nodejs: update from 4.2.3 to 4.2.4
Additionally, the LICENSE file changed as follows:

   - npm is a package manager program located at deps/npm.
     npm's license follows:
     """
  -    Copyright (c) Isaac Z. Schlueter
  -    All rights reserved.
  -
  -    npm is released under the Artistic 2.0 License.
  -    The text of the License follows:
  +    The npm application
  +    Copyright (c) npm, Inc. and Contributors
  +    Licensed on the terms of The Artistic License 2.0
  +
  +    Node package dependencies of the npm application
  +    Copyright (c) their respective copyright owners
  +    Licensed on their respective license terms
  +
  +    The npm public registry at https://registry.npmjs.com
  +    and the npm website at https://www.npmjs.com
  +    Operated by npm, Inc.
  +    Use governed by terms published on https://www.npmjs.com
  +
  +    "Node.js"
  +    Trademark Joyent, Inc., https://joyent.com
  +    Neither npm nor npm, Inc. are affiliated with Joyent, Inc.
  +
  +    The Node.js application
  +    Project of Node Foundation, https://nodejs.org
  +
  +    The npm Logo
  +    Copyright (c) Mathias Pettersson and Brian Hammond
  +
  +    "Gubblebum Blocky" typeface
  +    Copyright (c) Tjarda Koster, https://jelloween.deviantart.com
  +    Used with permission

  ...

  -    "Node.js" and "node" trademark Joyent, Inc. npm is not officially
  -    part of the Node.js project, and is neither owned by nor
  -    officially affiliated with Joyent, Inc.
  -
  -    Packages published in the npm registry (other than the Software and
  -    its included dependencies) are not part of npm itself, are the sole
  -    property of their respective maintainers, and are not covered by
  -    this license.
  +    The following additional terms shall apply to use of the npm software, the npm
  +    website, the npm repository and any other services or products offered by npm,
  +    Inc.:
  +
  +    "Node.js" trademark Joyent, Inc.  npm is not officially part of the Node.js
  +    project, and is neither owned by nor affiliated with Joyent, Inc.
  +
  +    "npm" and "The npm Registry" are owned by npm, Inc. All rights reserved.
  +
  +    Modules published on the npm registry are not officially endorsed by npm, Inc.
  +    or the Node.js project.
  +
  +    Data published to the npm registry is not part of npm itself, and is the sole
  +    property of the publisher. While every effort is made to ensure accountability,
  +    there is absolutely no guarantee, warrantee, or assertion expressed or implied
  +    as to the quality, fitness for a specific purpose, or lack of malice in any
  +    given npm package.  Packages downloaded through the npm registry are
  +    independently licensed and are not covered by this license.
  +
  +    Additional policies relating to, and restrictions on use of, npm products and
  +    services are available on the npm website.  All such policies and restrictions,
  +    as updated from time to time, are hereby incorporated into this license
  +    agreement.  By using npm, you acknowledge your agreement to all such policies
  +    and restrictions.
  +
  +    If you have a complaint about a package in the public npm registry, and cannot
  +    resolve it with the package owner, please email support@npmjs.com and explain
  +    the situation.  See the [npm Dispute Resolution
  +    policy](https://github.com/npm/policies/blob/master/disputes.md) for more
  +    details.

  -    "npm Logo" created by Mathias Pettersson and Brian Hammond,
  -    used with permission.
  +    Any data published to The npm Registry (including user account information) may
  +    be removed or modified at the sole discretion of the npm server administrators.
  +
  +    "npm Logo" contributed by Mathias Pettersson and Brian Hammond,
  +    use is subject to https://www.npmjs.com/policies/trademark

       "Gubblebum Blocky" font
  -    Copyright (c) by Tjarda Koster, http://jelloween.deviantart.com
  +    Copyright (c) by Tjarda Koster, https://jelloween.deviantart.com
       included for use in the npm website and documentation,
       used with permission.

  -    This program uses several Node.js modules contained in the node_modules/
  +    This program uses several Node modules contained in the node_modules/
       subdirectory, according to the terms of their respective licenses.
     """

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-01-27 12:36:31 +01:00

85 lines
3.4 KiB
BlitzBasic

DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
HOMEPAGE = "http://nodejs.org"
LICENSE = "MIT & BSD & Artistic-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=963ca39eebcb15ac618bc3006504ae3f"
DEPENDS = "openssl"
COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"
SRC_URI = "http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz \
file://no-registry.patch \
"
SRC_URI[md5sum] = "86e4d0d8b626f6e60ca7bef02f2543d2"
SRC_URI[sha256sum] = "4ee244ffede7328d9fa24c3024787e71225b7abaac49fe2b30e68b27460c10ec"
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$', 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)}"
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"