|
|
|
@@ -8,9 +8,8 @@
|
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
|
|
|
|
|
|
PKG_NAME:=node
|
|
|
|
|
PKG_BASE:=packages-22.03
|
|
|
|
|
PKG_VERSION:=$(shell curl -s https://downloads.openwrt.org/releases/$(PKG_BASE)/aarch64_generic/packages/ | grep node_v | grep -oP 'node_v\d+\.\d+\.\d+-\d+' | sed -n 's/node_//p' | head -n1)
|
|
|
|
|
NODE_VERSION:=$(shell echo $(PKG_VERSION) | sed 's/-.*//')
|
|
|
|
|
PKG_VERSION:=$(shell curl -s https://api.github.com/repos/sbwml/node_workflow/tags | grep '"name"' | head -n 1 | sed -E 's/.*"name": "v([^"]+)".*/\1/')
|
|
|
|
|
PKG_RELEASE:=1
|
|
|
|
|
|
|
|
|
|
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
|
|
|
|
|
PKG_LICENSE:=MIT
|
|
|
|
@@ -28,17 +27,18 @@ define Package/node
|
|
|
|
|
SUBMENU:=Node.js
|
|
|
|
|
TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
|
|
|
|
|
URL:=https://nodejs.org/
|
|
|
|
|
DEPENDS:=@USE_MUSL @HAS_FPU @(i386||x86_64||arm||aarch64||mipsel) \
|
|
|
|
|
+libstdcpp +libopenssl +zlib +libnghttp2 +libuv \
|
|
|
|
|
+libcares +libatomic +NODEJS_ICU_SYSTEM:icu +NODEJS_ICU_SYSTEM:icu-full-data
|
|
|
|
|
DEPENDS:=@USE_MUSL @HAS_FPU @(i386||x86_64||arm||aarch64) \
|
|
|
|
|
+libstdcpp +libopenssl +zlib +libnghttp2 \
|
|
|
|
|
+libcares +libatomic
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
*** The following preparations must be made on the host side. ***
|
|
|
|
|
1. gcc 8.3 or higher is required.
|
|
|
|
|
1. gcc 12.2 or higher is required.
|
|
|
|
|
2. To build a 32-bit target, gcc-multilib, g++-multilib are required.
|
|
|
|
|
3. Requires libatomic package. (If necessary, install the 32-bit library at the same time.)
|
|
|
|
|
ex) sudo apt-get install gcc-multilib g++-multilib
|
|
|
|
@@ -58,19 +58,19 @@ define Package/node-npm/description
|
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
ifeq ($(HOST_ARCH),x86_64)
|
|
|
|
|
NODE_ARCH:=x64
|
|
|
|
|
NODE_HOST_ARCH:=x64
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(HOST_ARCH),aarch64)
|
|
|
|
|
NODE_ARCH:=arm64
|
|
|
|
|
NODE_HOST_ARCH:=arm64
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
define Host/Compile
|
|
|
|
|
( \
|
|
|
|
|
pushd $(HOST_BUILD_DIR) ; \
|
|
|
|
|
$(RM) node-v* ; \
|
|
|
|
|
wget https://nodejs.org/dist/$(NODE_VERSION)/node-$(NODE_VERSION)-linux-$(NODE_ARCH).tar.xz ; \
|
|
|
|
|
$(TAR) -xf node-$(NODE_VERSION)-linux-$(NODE_ARCH).tar.xz ; \
|
|
|
|
|
$(RM) node-v* ; \
|
|
|
|
|
wget https://nodejs.org/dist/v$(PKG_VERSION)/node-v$(PKG_VERSION)-linux-$(NODE_HOST_ARCH).tar.xz ; \
|
|
|
|
|
$(TAR) -xf node-v$(PKG_VERSION)-linux-$(NODE_HOST_ARCH).tar.xz ; \
|
|
|
|
|
popd ; \
|
|
|
|
|
)
|
|
|
|
|
endef
|
|
|
|
@@ -78,14 +78,10 @@ endef
|
|
|
|
|
define Build/Compile
|
|
|
|
|
( \
|
|
|
|
|
pushd $(PKG_BUILD_DIR) ; \
|
|
|
|
|
wget https://downloads.openwrt.org/releases/$(PKG_BASE)/$(ARCH_PACKAGES)/packages/node_$(PKG_VERSION)_$(ARCH_PACKAGES).ipk ; \
|
|
|
|
|
$(TAR) -zxf node_$(PKG_VERSION)_$(ARCH_PACKAGES).ipk ; \
|
|
|
|
|
$(TAR) -zxf data.tar.gz ; \
|
|
|
|
|
rm -f data.tar.gz control.tar.gz debian-binary ; \
|
|
|
|
|
wget https://downloads.openwrt.org/releases/$(PKG_BASE)/$(ARCH_PACKAGES)/packages/node-npm_$(PKG_VERSION)_$(ARCH_PACKAGES).ipk ; \
|
|
|
|
|
$(TAR) -zxf node-npm_$(PKG_VERSION)_$(ARCH_PACKAGES).ipk ; \
|
|
|
|
|
$(TAR) -zxf data.tar.gz ; \
|
|
|
|
|
rm -f data.tar.gz control.tar.gz debian-binary ; \
|
|
|
|
|
wget https://github.com/sbwml/node_workflow/releases/download/v$(PKG_VERSION)/$(ARCH_PACKAGES).tar.gz ; \
|
|
|
|
|
$(TAR) -zxf $(ARCH_PACKAGES).tar.gz ; \
|
|
|
|
|
$(STAGING_DIR_HOST)/bin/apk extract --allow-untrusted *.apk ; \
|
|
|
|
|
$(RM) *.tar.gz *.apk ; \
|
|
|
|
|
popd ; \
|
|
|
|
|
)
|
|
|
|
|
endef
|
|
|
|
@@ -109,7 +105,7 @@ define Package/node-npm/install
|
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
define Host/Install
|
|
|
|
|
$(CP) $(HOST_BUILD_DIR)/node-$(NODE_VERSION)-linux-$(NODE_ARCH)/* $(STAGING_DIR_HOST)/
|
|
|
|
|
$(CP) $(HOST_BUILD_DIR)/node-v$(PKG_VERSION)-linux-$(NODE_HOST_ARCH)/* $(STAGING_DIR_HOST)/
|
|
|
|
|
endef
|
|
|
|
|
|
|
|
|
|
$(eval $(call HostBuild))
|
|
|
|
|