Patchwork nodejs: updated recipe to v0.2.6

login
register
mail settings
Submitter AJ ONeal
Date Jan. 25, 2011, 7:24 p.m.
Message ID <1295983479-15511-1-git-send-email-coolaj86@gmail.com>
Download mbox | patch
Permalink /patch/373/
State Changes Requested
Headers show

Comments

AJ ONeal - Jan. 25, 2011, 7:24 p.m.
* libev-cross-cc.patch - turns off execution so that cross-compile succeeds
* node-cross-cc.patch - enables cross-compiling of v8 for x86, x86_64, arm, and mips
---
 recipes/nodejs/files/libev-cross-cc.patch |   17 +++++---------
 recipes/nodejs/files/node-cross-cc.patch  |   19 ++++++++++------
 recipes/nodejs/nodejs_0.2.6.bb            |   34 +++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+), 18 deletions(-)
 create mode 100644 recipes/nodejs/nodejs_0.2.6.bb
Koen Kooi - Jan. 25, 2011, 7:38 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 25-01-11 20:24, AJ ONeal wrote:
> * libev-cross-cc.patch - turns off execution so that cross-compile succeeds
> * node-cross-cc.patch - enables cross-compiling of v8 for x86, x86_64, arm, and mips
> ---
>  recipes/nodejs/files/libev-cross-cc.patch |   17 +++++---------
>  recipes/nodejs/files/node-cross-cc.patch  |   19 ++++++++++------
>  recipes/nodejs/nodejs_0.2.6.bb            |   34 +++++++++++++++++++++++++++++

You're changing the patches, but don't remove the old version, do they
still work?

> +PR = "r4"

New recipes start at r0

>
> +do_compile () {
> +  make

oe_runmake
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFNPyaqMkyGM64RGpERAnOkAJ95KjEsJ7wv3Pp7TSbKoCeUGU4lCACeN/c7
cvS+zggRWmNGmrYA+bDBt7g=
=vFFV
-----END PGP SIGNATURE-----
AJ ONeal - Jan. 28, 2011, 2 a.m.
>
> >  recipes/nodejs/files/libev-cross-cc.patch |   17 +++++---------
> >  recipes/nodejs/files/node-cross-cc.patch  |   19 ++++++++++------
> >  recipes/nodejs/nodejs_0.2.6.bb            |   34
> +++++++++++++++++++++++++++++
>
> You're changing the patches, but don't remove the old version, do they
> still work?


I copied the new patches over the old patches.
Should I have done `git rm this.patch; edit this.patch; git add this.patch`
instead?


>

> +PR = "r4"
>
> New recipes start at r0
>

But it wasn't until the 4th time that I bumped the PR to re-bitbake and test
it that I got it right. :D

Would you like me to resubmit the patch without the +PR = "r4"?

Patch

diff --git a/recipes/nodejs/files/libev-cross-cc.patch b/recipes/nodejs/files/libev-cross-cc.patch
index 4dd34f4..13ce4d8 100644
--- a/recipes/nodejs/files/libev-cross-cc.patch
+++ b/recipes/nodejs/files/libev-cross-cc.patch
@@ -1,18 +1,13 @@ 
-diff --git node-v0.2.1/deps/libev/wscript.orig node-v0.2.1/deps/libev/wscript
-index 19e7bb2..f0a3d3b 100644
---- node-v0.2.1/deps/libev/wscript.orig
-+++ node-v0.2.1/deps/libev/wscript
-@@ -52,7 +52,12 @@ def configure(conf):
+diff --git node-v0.2.6/deps/libev/wscript.orig node-v0.2.6/deps/libev/wscript
+index 19e7bb2..5ec9143 100644
+--- node-v0.2.6/deps/libev/wscript.orig
++++ node-v0.2.6/deps/libev/wscript
+@@ -52,7 +52,7 @@ 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,
++  conf.check_cc(fragment=code, define_name="HAVE_CLOCK_SYSCALL", execute=False,
                  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
index 0d15afc..1087ce2 100644
--- a/recipes/nodejs/files/node-cross-cc.patch
+++ b/recipes/nodejs/files/node-cross-cc.patch
@@ -1,14 +1,19 @@ 
-diff --git node-v0.2.1/wscript.orig node-v0.2.1/wscript
-index 9c4243c..3cf6689 100644
---- node-v0.2.1/wscript.orig
-+++ node-v0.2.1/wscript
-@@ -326,6 +326,9 @@ def v8_cmd(bld, variant):
+diff --git node-v0.2.6/wscript.orig node-v0.2.6/wscript
+index a6bade2..566bf5e 100644
+--- node-v0.2.6/wscript.orig
++++ node-v0.2.6/wscript
+@@ -338,6 +338,14 @@ def v8_cmd(bld, variant):
    arch = ""
    if bld.env['DEST_CPU'] == 'x86_64':
      arch = "arch=x64"
-+  # XXX Better support cross-compilation
++  elif bld.env['DEST_CPU'] == 'x86':
++    arch = "arch=x86"
++  elif bld.env['DEST_CPU'] == 'arm':
++    arch = "arch=arm"
++  elif bld.env['DEST_CPU'] == 'mips':
++    arch = "arch=mips"
 +  else:
-+    arch = "arch=" + bld.env['DEST_CPU']
++    raise Exception(bld.env['DEST_CPU'], "is not one of these supported architectures: x86, x86_64, arm, mips")
  
    if variant == "default":
      mode = "release"
diff --git a/recipes/nodejs/nodejs_0.2.6.bb b/recipes/nodejs/nodejs_0.2.6.bb
new file mode 100644
index 0000000..e2d8b19
--- /dev/null
+++ b/recipes/nodejs/nodejs_0.2.6.bb
@@ -0,0 +1,34 @@ 
+DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"
+HOMEPAGE = "http://nodejs.org"
+LICENSE = "MIT"
+
+PR = "r4"
+
+DEPENDS = "openssl"
+
+SRC_URI = " \
+  http://nodejs.org/dist/node-v${PV}.tar.gz \
+  file://libev-cross-cc.patch \
+  file://node-cross-cc.patch \
+"
+SRC_URI[md5sum] = "b1c50ceb43bee1b221be210b7bc7a216"
+SRC_URI[sha256sum] = "e97fe9c81ff4b569ae9a0d46e64a0572a1f171293573a5b5290bcc3996a19701"
+
+S = "${WORKDIR}/node-v${PV}"
+
+# v8 errors out if you have set CCACHE
+CCACHE = ""
+
+do_configure () {
+  ./configure --prefix=${prefix} --without-snapshot
+}
+
+do_compile () {
+  make
+}
+
+do_install () {
+  DESTDIR=${D} oe_runmake install
+}
+
+BBCLASSEXTEND = "native"