summaryrefslogtreecommitdiff
path: root/node/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'node/Makefile')
-rw-r--r--node/Makefile83
1 files changed, 83 insertions, 0 deletions
diff --git a/node/Makefile b/node/Makefile
new file mode 100644
index 0000000..4f9aa79
--- /dev/null
+++ b/node/Makefile
@@ -0,0 +1,83 @@
+#
+# Copyright (C) 2006-2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=node
+PKG_VERSION:=v4.4.5
+PKG_RELEASE:=1
+
+PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=http://nodejs.org/dist/${PKG_VERSION}
+PKG_MD5SUM:=376140907bbe362f36065a30af04f020
+
+HOST_BUILD_DEPENDS:=python/host
+PKG_BUILD_DEPENDS:=python/host
+PKG_INSTALL:=1
+PKG_USE_MIPS16:=0
+
+HOST_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL:=1
+
+PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
+PKG_LICENSE:=
+
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/package.mk
+
+define Package/node
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Node.js
+ TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
+ URL:=http://nodejs.org/
+ DEPENDS:=+libpthread +librt +libstdcpp +libopenssl +zlib
+endef
+
+define Package/node/description
+ Node.jsĀ® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses
+ an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js'
+ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
+endef
+
+CPU:=$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH))))
+
+MAKE_VARS += \
+ DESTCPU=$(CPU)
+
+CONFIGURE_ARGS= \
+ --dest-cpu=$(CPU) \
+ --dest-os=linux \
+ --without-snapshot \
+ --shared-zlib \
+ --shared-openssl \
+ --prefix=/usr
+
+HOST_CONFIGURE_VARS:=
+HOST_CONFIGURE_ARGS:= \
+ --dest-os=linux \
+ --without-snapshot \
+ --prefix=$(STAGING_DIR)/host/
+
+HOST_CONFIGURE_CMD:=python ./configure
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+endef
+
+define Package/node/install
+ mkdir -p $(1)/usr/bin $(1)/usr/lib/node_modules/npm/{bin,lib,node_modules}
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/{node,npm} $(1)/usr/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/{package.json,LICENSE,cli.js} $(1)/usr/lib/node_modules/npm
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/bin/npm-cli.js $(1)/usr/lib/node_modules/npm/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/lib/* $(1)/usr/lib/node_modules/npm/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/npm/node_modules/* $(1)/usr/lib/node_modules/npm/node_modules/
+endef
+
+$(eval $(call HostBuild))
+$(eval $(call BuildPackage,node))