Upstream is making some changes so that my patches probably won't be necessary.
I'm going to wait a week or two and I'll resubmit once node-v0.2.1 comes out which will most likely include the changes. AJ ONeal On Thu, Aug 26, 2010 at 11:54 PM, AJ ONeal <[email protected]> wrote: > I'll resubmit this weekend and put that patch tutorial on the wiki too. > > AJ ONeal > > > > On Thu, Aug 26, 2010 at 10:04 PM, Khem Raj <[email protected]> wrote: > >> On (24/08/10 01:57), Paul Menzel wrote: >> > Dear AJ, >> > >> > >> > sorry I overlooked that message. I will reply to your other message >> > tomorrow. >> > >> > >> > Am Montag, den 23.08.2010, 17:22 -0600 schrieb AJ ONeal: >> > > bump >> > > >> > > AJ ONeal >> > > >> > > On Sat, Aug 21, 2010 at 9:28 PM, AJ ONeal <[email protected]> wrote: >> > > >> > > > --- >> > >> > After this line a short summary of the changes compared to previous >> > iterations would be great. Git will ignore this when applying the patch >> > but it eases the work of the reviewers. >> > >> > > > 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', >> > >> > Did you sent these patches upstream? Maybe document that in the patch >> > headers. There is also a page in the Wiki regarding this. >> > >> > > > 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<http://nodejs.org/dist/node-v$%7BPV%7D.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 \ >> > >> > Is that commented line needed? >> > >> > > > +SRC_URI[md5sum] = "99a6dacc44b3f9c6ec376ccb446dd0b8" >> > > > +SRC_URI[sha256sum] = >> > > > "3d3eff9287c9917af4044f3cef99ae5b17946710a71e83039de4fcb4b0a26631" >> > > > +S = "${WORKDIR}/node-v${PV}" >> > > > +do_configure () { >> > > > + ./configure --prefix=${D} --without-snapshot >> > > > +} >> > >> > Can you use `EXTRA_OECONF` (Do `git grep EXTRA_OECONF` in the repository >> > to get examples.) >> >> its ok. Since its override the do_configure >> >> > >> > I think you might need `inherit autotools`, but I am not sure. >> >> >> no this package does not use autotools it not needed. >> >> > >> > > > +do_compile () { >> > > > + make >> > > > +} >> > >> > Is that needed? What about Frans’ suggestion? >> >> should use oe_runmake instea of bare make to exploit parallelism. >> >> > >> > > > +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" >> > >> > Why is that needed? >> > >> > I am a beginner, so I hope my comments are correct. If so please submit >> > a v3 and do not forget your Signed-off-by line. >> >> right. >> > >> > >> > Thanks, >> > >> > Paul >> >> >> >> > _______________________________________________ >> > Openembedded-devel mailing list >> > [email protected] >> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel >> >> >> _______________________________________________ >> Openembedded-devel mailing list >> [email protected] >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel >> > > _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
