In order to reduce flash requirements and also to disallow running NPM on the target move NPM out of the default NodeJS package. In order to allow adding NPM via opkg install, move it to a separated directory Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
113 lines
3 KiB
Makefile
113 lines
3 KiB
Makefile
#
|
|
# 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:=2
|
|
|
|
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
|
|
|
|
define Package/node-npm
|
|
SECTION:=lang
|
|
CATEGORY:=Languages
|
|
SUBMENU:=Node.js
|
|
TITLE:=NPM stands for Node Package Manager
|
|
URL:=http://npmjs.com/
|
|
DEPENDS:=+node
|
|
endef
|
|
|
|
define Package/node-npm/description
|
|
NPM is the package manager for NodeJS
|
|
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
|
|
|
|
ifneq ($(findstring arm,$(ARCH)),)
|
|
CONFIGURE_ARGS+= \
|
|
$(if $(CONFIG_SOFT_FLOAT),--with-arm-float-abi=soft,--with-arm-float-abi=hard)
|
|
endif
|
|
|
|
ifneq ($(findstring mips,$(ARCH)),)
|
|
CONFIGURE_ARGS+= \
|
|
$(if $(CONFIG_SOFT_FLOAT),--with-mips-float-abi=soft,--with-mips-float-abi=hard)
|
|
endif
|
|
|
|
HOST_CONFIGURE_VARS:=
|
|
|
|
HOST_CONFIGURE_ARGS:= \
|
|
--dest-os=linux \
|
|
--without-snapshot \
|
|
--prefix=$(STAGING_DIR_HOSTPKG)
|
|
|
|
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
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/node $(1)/usr/bin/
|
|
endef
|
|
|
|
define Package/node-npm/install
|
|
mkdir -p $(1)/usr/bin $(1)/usr/lib/node_modules/npm/{bin,lib,node_modules}
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/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))
|
|
$(eval $(call BuildPackage,node-npm))
|