[oe] [PATCH] [v2] added recipe for nodejs
AJ ONeal
coolaj86 at gmail.com
Mon Aug 23 23:22:56 UTC 2010
bump
AJ ONeal
On Sat, Aug 21, 2010 at 9:28 PM, AJ ONeal <coolaj86 at gmail.com> wrote:
> ---
> recipes/nodejs/files/libev-cross-cc.patch | 18 ++++++++++++
> recipes/nodejs/files/node-cross-cc.patch | 14 ++++++++++
> .../node-dont-include-hosts-usr-include.patch | 22 +++++++++++++++
> recipes/nodejs/nodejs_0.2.0.bb | 28
> ++++++++++++++++++++
> 4 files changed, 82 insertions(+), 0 deletions(-)
> create mode 100644 recipes/nodejs/files/libev-cross-cc.patch
> create mode 100644 recipes/nodejs/files/node-cross-cc.patch
> create mode 100644
> recipes/nodejs/files/node-dont-include-hosts-usr-include.patch
> create mode 100644 recipes/nodejs/nodejs_0.2.0.bb
>
> diff --git a/recipes/nodejs/files/libev-cross-cc.patch
> b/recipes/nodejs/files/libev-cross-cc.patch
> new file mode 100644
> index 0000000..446015b
> --- /dev/null
> +++ b/recipes/nodejs/files/libev-cross-cc.patch
> @@ -0,0 +1,18 @@
> +diff --git node-v0.2.0/deps/libev/wscript.orig
> node-v0.2.0/deps/libev/wscript
> +index 19e7bb2..f0a3d3b 100644
> +--- node-v0.2.0/deps/libev/wscript.orig
> ++++ node-v0.2.0/deps/libev/wscript
> +@@ -52,7 +52,12 @@ def configure(conf):
> + return 0;
> + }
> + """
> +- conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL",
> execute=True,
> ++ # TODO determine this dynamically
> ++ CROSS = True
> ++ execute = True
> ++ if CROSS:
> ++ execute = False
> ++ conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL",
> execute=execute,
> + msg="Checking for SYS_clock_gettime")
> +
> + have_librt = conf.check(lib='rt', uselib_store='RT')
> diff --git a/recipes/nodejs/files/node-cross-cc.patch
> b/recipes/nodejs/files/node-cross-cc.patch
> new file mode 100644
> index 0000000..48a6226
> --- /dev/null
> +++ b/recipes/nodejs/files/node-cross-cc.patch
> @@ -0,0 +1,14 @@
> +diff --git node-v0.2.0/wscript.orig node-v0.2.0/wscript
> +index df9ef53..a55d464 100644
> +--- node-v0.2.0/wscript.orig
> ++++ node-v0.2.0/wscript
> +@@ -326,6 +326,9 @@ def v8_cmd(bld, variant):
> + arch = ""
> + if bld.env['DEST_CPU'] == 'x86_64':
> + arch = "arch=x64"
> ++ # XXX Better support cross-compilation
> ++ else:
> ++ arch = "arch=" + bld.env['DEST_CPU']
> +
> + if variant == "default":
> + mode = "release"
> diff --git a/recipes/nodejs/files/node-dont-include-hosts-usr-include.patch
> b/recipes/nodejs/files/node-dont-include-hosts-usr-include.patch
> new file mode 100644
> index 0000000..edbf7c4
> --- /dev/null
> +++ b/recipes/nodejs/files/node-dont-include-hosts-usr-include.patch
> @@ -0,0 +1,22 @@
> +diff --git node-v0.2.0/wscript.orig node-v0.2.0/wscript
> +index 3c5ebc5..905bd58 100644
> +--- node-v0.2.0/wscript.orig
> ++++ node-v0.2.0/wscript
> +@@ -162,11 +162,12 @@ def configure(conf):
> + if Options.options.efence:
> + conf.check(lib='efence', libpath=['/usr/lib', '/usr/local/lib'],
> uselib_store='EFENCE')
> +
> +- if not conf.check(lib="execinfo", includes=['/usr/include',
> '/usr/local/include'], libpath=['/usr/lib', '/usr/local/lib'],
> uselib_store="EXECINFO"):
> +- # Note on Darwin/OS X: This will fail, but will still be used as the
> +- # execinfo stuff are part of the standard library.
> +- if sys.platform.startswith("freebsd"):
> +- conf.fatal("Install the libexecinfo port from
> /usr/ports/devel/libexecinfo.")
> ++ # OpenEmbedded doesn't like us checking here
> ++ #if not conf.check(lib="execinfo", includes=['/usr/include',
> '/usr/local/include'], libpath=['/usr/lib', '/usr/local/lib'],
> uselib_store="EXECINFO"):
> ++ # # Note on Darwin/OS X: This will fail, but will still be used as the
> ++ # # execinfo stuff are part of the standard library.
> ++ # if sys.platform.startswith("freebsd"):
> ++ # conf.fatal("Install the libexecinfo port from
> /usr/ports/devel/libexecinfo.")
> +
> + if not Options.options.without_ssl:
> + if conf.check_cfg(package='openssl',
> diff --git a/recipes/nodejs/nodejs_0.2.0.bb b/recipes/nodejs/
> nodejs_0.2.0.bb
> new file mode 100644
> index 0000000..83bfa2e
> --- /dev/null
> +++ b/recipes/nodejs/nodejs_0.2.0.bb
> @@ -0,0 +1,28 @@
> +DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
> +HOMEPAGE = "http://nodejs.org"
> +LICENSE = "MIT"
> +DEPENDS = "openssl"
> +SRC_URI = " \
> + http://nodejs.org/dist/node-v${PV}.tar.gz \
> + file://node-cross-cc.patch \
> + file://libev-cross-cc.patch \
> + file://node-dont-include-hosts-usr-include.patch \
> +"
> +#file://libev-arm-cross.patch \
> +SRC_URI[md5sum] = "99a6dacc44b3f9c6ec376ccb446dd0b8"
> +SRC_URI[sha256sum] =
> "3d3eff9287c9917af4044f3cef99ae5b17946710a71e83039de4fcb4b0a26631"
> +S = "${WORKDIR}/node-v${PV}"
> +do_configure () {
> + ./configure --prefix=${D} --without-snapshot
> +}
> +do_compile () {
> + make
> +}
> +do_install () {
> + #oe_runmake install # doesn't install to correct location
> +
> + # This works
> + install -d ${D}${bindir}/
> + install -m 0755 ${S}/node ${D}${bindir}/
> +}
> +FILES_${PN} = "${bindir}/node"
> --
> 1.6.0.4
>
>
More information about the Openembedded-devel
mailing list