All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH] [v2] added recipe for nodejs
Date: Thu, 26 Aug 2010 21:04:32 -0700	[thread overview]
Message-ID: <20100827040432.GA8857@gmail.com> (raw)
In-Reply-To: <1282607876.3775.33.camel@mattotaupa>

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 <coolaj86@gmail.com> 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 \
> > > +  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
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




  reply	other threads:[~2010-08-27  4:05 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-22  3:28 [PATCH] [v2] added recipe for nodejs AJ ONeal
2010-08-23 23:22 ` AJ ONeal
2010-08-23 23:57   ` Paul Menzel
2010-08-27  4:04     ` Khem Raj [this message]
2010-08-27  5:54       ` AJ ONeal
2010-08-27 17:40         ` AJ ONeal
2010-08-24  1:18 ` Jason Kridner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100827040432.GA8857@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.