From 97d325e6d49fb044543ae58dc4548ef50b46734b Mon Sep 17 00:00:00 2001 From: Hirokazu MORIKAWA Date: Wed, 6 Apr 2022 10:24:10 +0900 Subject: [PATCH] node-javascript-obfuscator: Support for npm@8 With the upgrade of node.js to version 16, the npm version will also change to version 8. This fix is to support npm@8. npm@6 can also build without problems. The modification method is different from other node modules. The reason is due to the npm@8 issue. https://github.com/npm/cli/issues/4027 Signed-off-by: Hirokazu MORIKAWA (cherry picked from commit eee26dbac657d8bdf33df0c71b5affcae094ee0c) --- lang/node-javascript-obfuscator/Makefile | 36 +++++++++++++++--------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/lang/node-javascript-obfuscator/Makefile b/lang/node-javascript-obfuscator/Makefile index 0268244e5..7f4232563 100644 --- a/lang/node-javascript-obfuscator/Makefile +++ b/lang/node-javascript-obfuscator/Makefile @@ -50,8 +50,7 @@ HOSTTMPNPM:=$(shell mktemp -u XXXXXXXXXX) TARGET_CFLAGS+=$(FPIC) TARGET_CPPFLAGS+=$(FPIC) -define Build/Compile - $(MAKE_VARS) \ +NPM_FLAGS=$(MAKE_VARS) \ $(MAKE_FLAGS) \ npm_config_arch=$(NODEJS_CPU) \ npm_config_target_arch=$(NODEJS_CPU) \ @@ -59,42 +58,51 @@ define Build/Compile npm_config_nodedir=$(STAGING_DIR)/usr/ \ npm_config_prefix=$(PKG_INSTALL_DIR)/usr/ \ npm_config_cache=$(TMP_DIR)/npm-cache-$(TMPNPM) \ - npm_config_tmp=$(TMP_DIR)/npm-tmp-$(TMPNPM) \ - npm install -g $(PKG_BUILD_DIR) + npm_config_tmp=$(TMP_DIR)/npm-tmp-$(TMPNPM) + +define Build/Compile + cd $(PKG_BUILD_DIR); \ + $(NPM_FLAGS) npm install --production --global-style --no-save --omit=dev --no-package-lock --ignore-scripts --legacy-peer-deps rm -rf $(TMP_DIR)/npm-tmp-$(TMPNPM) rm -rf $(TMP_DIR)/npm-cache-$(TMPNPM) endef define Package/node-javascript-obfuscator/install $(INSTALL_DIR) $(1)/usr/lib/node/$(PKG_NPM_NAME) - $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{package.json,LICENSE.BSD} \ + $(CP) $(PKG_BUILD_DIR)/{package.json,LICENSE.BSD} \ $(1)/usr/lib/node/$(PKG_NPM_NAME)/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/README.md \ + $(CP) $(PKG_BUILD_DIR)/README.md \ $(1)/usr/lib/node/$(PKG_NPM_NAME)/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{node_modules,bin,dist} \ + $(CP) $(PKG_BUILD_DIR)/{node_modules,bin,dist} \ $(1)/usr/lib/node/$(PKG_NPM_NAME)/ $(INSTALL_DIR) $(1)/usr/bin $(LN) ../lib/node/javascript-obfuscator/bin/javascript-obfuscator $(1)/usr/bin/javascript-obfuscator endef -define Host/Compile - $(HOST_MAKE_VARS) \ +HOST_NPM_FLAGS=$(HOST_MAKE_VARS) \ + $(HOST_MAKE_FLAGS) \ + npm_config_arch=$(NODEJS_CPU) \ + npm_config_target_arch=$(NODEJS_CPU) \ + npm_config_build_from_source=true \ npm_config_nodedir=$(STAGING_DIR)/usr/ \ npm_config_prefix=$(HOST_INSTALL_DIR)/usr/ \ npm_config_cache=$(TMP_DIR)/npm-cache-$(HOSTTMPNPM) \ - npm_config_tmp=$(TMP_DIR)/npm-tmp-$(HOSTTMPNPM) \ - npm install -g --no-optional $(HOST_BUILD_DIR) + npm_config_tmp=$(TMP_DIR)/npm-tmp-$(HOSTTMPNPM) + +define Host/Compile + cd $(HOST_BUILD_DIR); \ + $(HOST_NPM_FLAGS) npm install --production --global-style --no-save --omit=dev --no-package-lock --ignore-scripts --legacy-peer-deps rm -rf $(TMP_DIR)/npm-tmp-$(HOSTTMPNPM) rm -rf $(TMP_DIR)/npm-cache-$(HOSTTMPNPM) endef define Host/Install $(INSTALL_DIR) $(1)/lib/node_modules/$(PKG_NPM_NAME) - $(CP) $(HOST_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{package.json,LICENSE.BSD} \ + $(CP) $(HOST_BUILD_DIR)/{package.json,LICENSE.BSD} \ $(1)/lib/node_modules/$(PKG_NPM_NAME)/ - $(CP) $(HOST_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/README.md \ + $(CP) $(HOST_BUILD_DIR)/README.md \ $(1)/lib/node_modules/$(PKG_NPM_NAME)/ - $(CP) $(HOST_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{node_modules,bin,dist} \ + $(CP) $(HOST_BUILD_DIR)/{node_modules,bin,dist} \ $(1)/lib/node_modules/$(PKG_NPM_NAME)/ $(INSTALL_DIR) $(1)/bin $(LN) ../lib/node_modules/javascript-obfuscator/bin/javascript-obfuscator $(1)/bin/javascript-obfuscator