b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | # This is free software, licensed under the GNU General Public License v2. |
| 2 | # See /LICENSE for more information. |
| 3 | # |
| 4 | |
| 5 | include $(TOPDIR)/rules.mk |
| 6 | |
| 7 | PKG_NPM_NAME:=javascript-obfuscator |
| 8 | PKG_NAME:=node-$(PKG_NPM_NAME) |
| 9 | PKG_VERSION:=2.9.4 |
| 10 | PKG_RELEASE:=1 |
| 11 | |
| 12 | PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz |
| 13 | PKG_SOURCE_URL:=https://registry.npmjs.org/$(PKG_NPM_NAME)/-/ |
| 14 | PKG_HASH:=db443ed7c07a7a111352dac4aa7c6edd7969f97386f37c1cfe884d5a8c5f5408 |
| 15 | |
| 16 | PKG_BUILD_DEPENDS:=node/host |
| 17 | HOST_BUILD_PARALLEL:=1 |
| 18 | |
| 19 | HOST_BUILD_DEPENDS:=node/host |
| 20 | PKG_BUILD_PARALLEL:=1 |
| 21 | PKG_USE_MIPS16:=0 |
| 22 | |
| 23 | PKG_MAINTAINER:=Zbynek Kocur <zbynek.kocur@fel.cvut.cz> |
| 24 | PKG_LICENSE:=BSD-2-Clause |
| 25 | PKG_LICENSE_FILES:=LICENSE.BSD |
| 26 | |
| 27 | include $(INCLUDE_DIR)/host-build.mk |
| 28 | include $(INCLUDE_DIR)/package.mk |
| 29 | |
| 30 | define Package/node-javascript-obfuscator |
| 31 | SUBMENU:=Node.js |
| 32 | SECTION:=lang |
| 33 | CATEGORY:=Languages |
| 34 | TITLE:=JavaScript obfuscator |
| 35 | URL:=https://www.npmjs.org/package/javascript-obfuscator |
| 36 | DEPENDS:=+node |
| 37 | endef |
| 38 | |
| 39 | define Package/node-javascript-obfuscator/description |
| 40 | JavaScript obfuscator is a powerful free obfuscator for JavaScript with a wide number of features which provides protection for your source code. |
| 41 | endef |
| 42 | |
| 43 | TAR_OPTIONS+= --strip-components 1 |
| 44 | TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS) |
| 45 | |
| 46 | NODEJS_CPU:=$(subst powerpc,ppc,$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH))))) |
| 47 | TMPNPM:=$(shell mktemp -u XXXXXXXXXX) |
| 48 | HOSTTMPNPM:=$(shell mktemp -u XXXXXXXXXX) |
| 49 | |
| 50 | TARGET_CFLAGS+=$(FPIC) |
| 51 | TARGET_CPPFLAGS+=$(FPIC) |
| 52 | |
| 53 | define Build/Compile |
| 54 | $(MAKE_VARS) \ |
| 55 | $(MAKE_FLAGS) \ |
| 56 | npm_config_arch=$(NODEJS_CPU) \ |
| 57 | npm_config_target_arch=$(NODEJS_CPU) \ |
| 58 | npm_config_build_from_source=true \ |
| 59 | npm_config_nodedir=$(STAGING_DIR)/usr/ \ |
| 60 | npm_config_prefix=$(PKG_INSTALL_DIR)/usr/ \ |
| 61 | npm_config_cache=$(TMP_DIR)/npm-cache-$(TMPNPM) \ |
| 62 | npm_config_tmp=$(TMP_DIR)/npm-tmp-$(TMPNPM) \ |
| 63 | npm install -g $(PKG_BUILD_DIR) |
| 64 | rm -rf $(TMP_DIR)/npm-tmp-$(TMPNPM) |
| 65 | rm -rf $(TMP_DIR)/npm-cache-$(TMPNPM) |
| 66 | endef |
| 67 | |
| 68 | define Package/node-javascript-obfuscator/install |
| 69 | $(INSTALL_DIR) $(1)/usr/lib/node/$(PKG_NPM_NAME) |
| 70 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{package.json,LICENSE.BSD} \ |
| 71 | $(1)/usr/lib/node/$(PKG_NPM_NAME)/ |
| 72 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/README.md \ |
| 73 | $(1)/usr/lib/node/$(PKG_NPM_NAME)/ |
| 74 | $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{node_modules,bin,dist} \ |
| 75 | $(1)/usr/lib/node/$(PKG_NPM_NAME)/ |
| 76 | $(INSTALL_DIR) $(1)/usr/bin |
| 77 | $(LN) ../lib/node/javascript-obfuscator/bin/javascript-obfuscator $(1)/usr/bin/javascript-obfuscator |
| 78 | endef |
| 79 | |
| 80 | define Host/Compile |
| 81 | $(HOST_MAKE_VARS) \ |
| 82 | npm_config_nodedir=$(STAGING_DIR)/usr/ \ |
| 83 | npm_config_prefix=$(HOST_INSTALL_DIR)/usr/ \ |
| 84 | npm_config_cache=$(TMP_DIR)/npm-cache-$(HOSTTMPNPM) \ |
| 85 | npm_config_tmp=$(TMP_DIR)/npm-tmp-$(HOSTTMPNPM) \ |
| 86 | npm install -g --no-optional $(HOST_BUILD_DIR) |
| 87 | rm -rf $(TMP_DIR)/npm-tmp-$(HOSTTMPNPM) |
| 88 | rm -rf $(TMP_DIR)/npm-cache-$(HOSTTMPNPM) |
| 89 | endef |
| 90 | |
| 91 | define Host/Install |
| 92 | $(INSTALL_DIR) $(1)/lib/node_modules/$(PKG_NPM_NAME) |
| 93 | $(CP) $(HOST_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{package.json,LICENSE.BSD} \ |
| 94 | $(1)/lib/node_modules/$(PKG_NPM_NAME)/ |
| 95 | $(CP) $(HOST_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/README.md \ |
| 96 | $(1)/lib/node_modules/$(PKG_NPM_NAME)/ |
| 97 | $(CP) $(HOST_INSTALL_DIR)/usr/lib/node_modules/$(PKG_NPM_NAME)/{node_modules,bin,dist} \ |
| 98 | $(1)/lib/node_modules/$(PKG_NPM_NAME)/ |
| 99 | $(INSTALL_DIR) $(1)/bin |
| 100 | $(LN) ../lib/node_modules/javascript-obfuscator/bin/javascript-obfuscator $(1)/bin/javascript-obfuscator |
| 101 | endef |
| 102 | |
| 103 | $(eval $(call HostBuild)) |
| 104 | $(eval $(call BuildPackage,node-javascript-obfuscator)) |