Skip to content

Commit

Permalink
2015-09-08, Version 4.0.0 (Stable) Release
Browse files Browse the repository at this point in the history
This list of changes is relative to the last io.js v3.x branch
release, v3.3.0. Please see the list of notable changes in the v3.x,
v2.x and v1.x releases for a more complete list of changes from
0.12.x. Note, that some changes in the v3.x series as well as major
breaking changes in this release constitute changes required for full
convergence of the Node.js and io.js projects.

* child_process: ChildProcess.prototype.send() and process.send()
  operate asynchronously across all platforms so an optional callback
  parameter has been introduced that will be invoked once the message
  has been sent, i.e. .send(message[, sendHandle][, callback])
  (Ben Noordhuis)
* node: Rename "io.js" code to "Node.js" (cjihrig)
* node-gyp: This release bundles an updated version of node-gyp that
  works with all versions of Node.js and io.js including nightly and
  release candidate builds. From io.js v3 and Node.js v4 onward, it
  will only download a headers tarball when building addons rather
  than the entire source. (Rod Vagg)
* npm: Upgrade to version 2.14.2 from 2.13.3, includes a security
  update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more
  details, (Kat Marchán)
* timers: Improved timer performance from porting the 0.12
  implementation, plus minor fixes (Jeremiah Senkpiel),
  (Julien Gilli)
* util: The util.is*() functions have been deprecated, beginning with
  deprecation warnings in the documentation for this release, users
  are encouraged to seek more robust alternatives in the npm registry,
  (Sakthipriyan Vairamani)
* v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh)
  - Implement new TypedArray prototype methods: copyWithin(), every(),
    fill(), filter(), find(), findIndex(), forEach(), indexOf(),
    join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(),
    slice(), some(), sort(). See
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
    for further information.
  - Implement new TypedArray.from() and TypedArray.of() functions. See
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
    for further information.
  - Implement arrow functions. See
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions
    for further information.
  - Full ChangeLog available at
    https://github.com/v8/v8-git-mirror/blob/4.5.103/ChangeLog
  • Loading branch information
imyller committed Sep 10, 2015
1 parent 5b69c1e commit c85673e
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 0 deletions.
72 changes: 72 additions & 0 deletions recipes/nodejs/nodejs4.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
DESCRIPTION = "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine"
HOMEPAGE = "http://nodejs.org"

INC_PR = "r0"
PR = "${INC_PR}.0"

PROVIDES = "node"
RPROVIDES_${PN} = "node"
RCONFLICTS_${PN} = "iojs"

SRC_URI = "https://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz;name=src"

S = "${WORKDIR}/node-v${PV}"

# v8 errors out if you have set CCACHE
CCACHE = ""

def map_dest_cpu(target_arch, d):
import re
if re.match('p(pc|owerpc)(|64)', target_arch): return 'ppc'
elif re.match('i.86$', target_arch): return 'ia32'
elif re.match('x86_64$', target_arch): return 'x64'
elif re.match('arm64$', target_arch): return 'arm'
return target_arch

ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)}"
ARCHFLAGS ?= ""

GYP_DEFINES_append_mipsel = " mips_arch_variant='r1' "

do_configure () {
export LD="${CXX}"
alias g++="${CXX}"
GYP_DEFINES="${GYP_DEFINES}" export GYP_DEFINES
./configure --prefix="${prefix}" \
--dest-cpu="${@map_dest_cpu(d.getVar('TARGET_ARCH', True), d)}" \
--dest-os=linux ${ARCHFLAGS}
unalias g++
}

do_compile () {
export LD="${CXX}"
alias g++="${CXX}"
make BUILDTYPE=Release
unalias g++
}

do_install () {
oe_runmake DESTDIR=${D} install
}

do_install_append_class-native() {
# make sure we use node from PATH instead of absolute path to sysroot
sed "1s^.*^#\!/usr/bin/env node^g" -i ${D}${libdir}/node_modules/npm/bin/npm-cli.js
}

do_install_append_class-target() {
# make sure we use node from PATH instead of absolute path to sysroot
sed "1s^.*^#\!${bindir}/env node^g" -i ${D}${libdir}/node_modules/npm/bin/npm-cli.js
}

PACKAGES =+ "${PN}-npm"
FILES_${PN}-npm = "${libdir}/node_modules ${bindir}/npm"
RDEPENDS_${PN}-npm = "bash python-compiler python-shell python-datetime python-subprocess python-multiprocessing python-crypt python-textutils python-netclient python-misc"

PACKAGES =+ "${PN}-dtrace"
FILES_${PN}-dtrace = "${libdir}/dtrace"

PACKAGES =+ "${PN}-systemtap"
FILES_${PN}-systemtap = "${datadir}/systemtap"

BBCLASSEXTEND = "native"
10 changes: 10 additions & 0 deletions recipes/nodejs/nodejs_4.0.0.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
require nodejs4.inc

INC_PR = "r1"

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=b51c7609f2f30be5f02b26b0f1e56e55"

SRC_URI[src.md5sum] = "2c1a6100084893c21e895e100b276af7"
SRC_URI[src.sha256sum] = "e110e5a066f3a6fe565ede7dd66f3727384b9b5c5fbf46f8db723d726e2f5900"

0 comments on commit c85673e

Please sign in to comment.