diff --git a/Makefile b/Makefile
index 18d1d8f..8c8396c 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=node
PKG_BASE:=$(shell curl -s https://downloads.openwrt.org/releases/ | grep packages- | tail -n1 | grep -o ']*>[^<]*' | sed 's/<[^>]*>//g')
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_MAINTAINER:=Hirokazu MORIKAWA , Adrian Panella
PKG_LICENSE:=MIT
@@ -56,6 +57,24 @@ define Package/node-npm/description
NPM is the package manager for NodeJS
endef
+ifeq ($(HOST_ARCH),x86_64)
+ NODE_ARCH:=x64
+endif
+
+ifeq ($(HOST_ARCH),aarch64)
+ NODE_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 ; \
+ popd ; \
+ )
+endef
+
define Build/Compile
( \
pushd $(PKG_BUILD_DIR) ; \
@@ -64,8 +83,8 @@ define Build/Compile
$(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) -zxvf node-npm_$(PKG_VERSION)_$(ARCH_PACKAGES).ipk ; \
- $(TAR) -zxvf data.tar.gz ; \
+ $(TAR) -zxf node-npm_$(PKG_VERSION)_$(ARCH_PACKAGES).ipk ; \
+ $(TAR) -zxf data.tar.gz ; \
rm -f data.tar.gz control.tar.gz debian-binary ; \
popd ; \
)
@@ -89,6 +108,10 @@ define Package/node-npm/install
$(LN) ../lib/node_modules/npm/bin/npx-cli.js $(1)/usr/bin/npx
endef
+define Host/Install
+ $(CP) $(PKG_BUILD_DIR)/node-$(NODE_VERSION)-linux-$(NODE_ARCH)/* $(STAGING_DIR_HOST)/
+endef
+
$(eval $(call HostBuild))
$(eval $(call BuildPackage,node))
$(eval $(call BuildPackage,node-npm))