From patchwork Sun Aug 12 08:52:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Liu X-Patchwork-Id: 176778 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 862E72C0097 for ; Sun, 12 Aug 2012 18:52:34 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id ED0298F8C0; Sun, 12 Aug 2012 08:52:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GA5WnMKY3xxI; Sun, 12 Aug 2012 08:52:24 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id B6D4C8F869; Sun, 12 Aug 2012 08:52:20 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id E88DC8F753 for ; Sun, 12 Aug 2012 08:51:45 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id D66AB8A2AA for ; Sun, 12 Aug 2012 08:51:45 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lVuQpZv4iJBu for ; Sun, 12 Aug 2012 08:51:44 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pb0-f46.google.com (mail-pb0-f46.google.com [209.85.160.46]) by whitealder.osuosl.org (Postfix) with ESMTPS id F13398D709 for ; Sun, 12 Aug 2012 08:51:43 +0000 (UTC) Received: by mail-pb0-f46.google.com with SMTP id rr13so5470295pbb.33 for ; Sun, 12 Aug 2012 01:51:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:x-mailer:in-reply-to:references; bh=c52Rp75WKbCzSypBygRfLq++nPABzGUniH4eL7nhLCI=; b=0ECxa7UlL/PhFsLLYvXYGZp0VPAOniz6BzBrk0ulFBZMeY0AqM9GgJLpNLsSkip6IA HPrqdPlucAQUWkbpIlYCXYG80U0PzNqggdbfaAoOpvakaTZp2xIJ8Kh3aKZhijNr/fLf jKdWXvtIjuziTUOyn0a3qSkQ5LME15sdNpzOo2FpPb9rGORJAy6ciHhQJGtg42ypVZJO z2PLp+ACtGThqDwOKHWGR/8Gw7QDCZjz4BEBx1jVvVbGm6oHOS6of6thq8g3RRgzob7o I5Ycxoe2MskGyIXSAYJAx8MxZqKYxPuukhsfG9SEBIzWeL9bYYyhf4Lyd+3t9vWAL804 2IaQ== Received: by 10.68.129.38 with SMTP id nt6mr11066320pbb.76.1344761503894; Sun, 12 Aug 2012 01:51:43 -0700 (PDT) Received: from 60-242-179-244.static.tpgi.com.au (60-242-179-244.static.tpgi.com.au. [60.242.179.244]) by mx.google.com with ESMTPS id vc5sm2986028pbc.2.2012.08.12.01.51.40 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 12 Aug 2012 01:51:41 -0700 (PDT) From: Jonathan Liu To: buildroot@uclibc.org Date: Sun, 12 Aug 2012 18:52:05 +1000 Message-Id: <1344761525-532-3-git-send-email-net147@gmail.com> X-Mailer: git-send-email 1.7.11.3 In-Reply-To: <1344761525-532-1-git-send-email-net147@gmail.com> References: <1344761525-532-1-git-send-email-net147@gmail.com> Subject: [Buildroot] [PATCH v3 2/2] nodejs: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Signed-off-by: Jonathan Liu --- package/Config.in | 1 + package/nodejs/Config.in | 38 ++++++++++++++++++++++++++++++++++++++ package/nodejs/nodejs.mk | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 package/nodejs/Config.in create mode 100644 package/nodejs/nodejs.mk diff --git a/package/Config.in b/package/Config.in index f308de7..76c589b 100644 --- a/package/Config.in +++ b/package/Config.in @@ -263,6 +263,7 @@ source "package/xavante/Config.in" endmenu endif source "package/microperl/Config.in" +source "package/nodejs/Config.in" source "package/php/Config.in" source "package/python/Config.in" if BR2_PACKAGE_PYTHON diff --git a/package/nodejs/Config.in b/package/nodejs/Config.in new file mode 100644 index 0000000..feb279b --- /dev/null +++ b/package/nodejs/Config.in @@ -0,0 +1,38 @@ +config BR2_PACKAGE_NODEJS + bool "nodejs" + help + Event-driven I/O server-side JavaScript environment based on V8. + + http://nodejs.org/ + +if BR2_PACKAGE_NODEJS + +config BR2_PACKAGE_NODEJS_SSL + bool "enable SSL support" + default y + help + Enable SSL support. + +if BR2_PACKAGE_NODEJS_SSL + +config BR2_PACKAGE_NODEJS_SHARED_OPENSSL + bool "use shared OpenSSL" + default y + select BR2_PACKAGE_OPENSSL + help + Use shared OpenSSL library instead of statically linked + OpenSSL bundled with node.js. + +endif + +config BR2_PACKAGE_NODEJS_NPM + bool "npm" + help + Enable npm (Node Package Manager). + +config BR2_PACKAGE_NODEJS_WAF + bool "waf" + help + Enable node-waf for building native modules. + +endif diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk new file mode 100644 index 0000000..3ce4707 --- /dev/null +++ b/package/nodejs/nodejs.mk @@ -0,0 +1,44 @@ +############################################################# +# +# nodejs +# +############################################################# +NODEJS_VERSION = 0.8.6 +NODEJS_SOURCE = node-v$(NODEJS_VERSION).tar.gz +NODEJS_SITE = http://nodejs.org/dist/v$(NODEJS_VERSION) +NODEJS_DEPENDENCIES = host-python +NODEJS_LICENSE = MIT + +# Headers and node-waf binary are needed in staging to build 3rd-party +# native modules +NODEJS_INSTALL_STAGING = YES + +define NODEJS_CONFIGURE_CMDS + (cd $(@D); rm -rf config.cache; \ + $(TARGET_CONFIGURE_ARGS) \ + $(TARGET_CONFIGURE_OPTS) \ + PATH="$(HOST_DIR)/usr/bin:$(PATH)" \ + ./configure \ + --prefix=/usr \ + --without-snapshot \ + $(if $(BR2_PACKAGE_NODEJS_SHARED_OPENSSL),--shared-openssl,) \ + $(if $(BR2_PACKAGE_NODEJS_SSL),,--without-ssl) \ + $(if $(BR2_PACKAGE_NODEJS_NPM),,--without-npm) \ + $(if $(BR2_PACKAGE_NODEJS_WAF),,--without-waf) \ + --without-dtrace \ + --without-etw \ + ) +endef + +NODEJS_MAKE_ENV = $(TARGET_CONFIGURE_OPTS) +NODEJS_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install + +define NODEJS_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 775 $(@D)/out/Release/node $(TARGET_DIR)/usr/bin/node +endef + +define NODEJS_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/usr/bin/node +endef + +$(eval $(autotools-package))