node-cylon: Takeover of maintainer and Major Makefile Update

Takeover of PKG_MAINTAINER
Major Makefile Updates

Signed-off-by: Hirokazu MORIKAWA <morikw2@gmail.com>
This commit is contained in:
Hirokazu MORIKAWA 2019-04-05 13:57:00 +09:00
parent 6d535fd282
commit a20e73f97e
1 changed files with 34 additions and 32 deletions

View File

@ -9,20 +9,19 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=cylon PKG_NPM_NAME:=cylon
PKG_NAME:=node-$(PKG_NPM_NAME) PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_SRC_NAME:=$(PKG_NPM_NAME)-firmata
PKG_VERSION:=0.24.0 PKG_VERSION:=0.24.0
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git PKG_SOURCE:=$(PKG_SRC_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=https://github.com/hybridgroup/cylon-firmata.git PKG_SOURCE_URL:=https://registry.npmjs.org/$(PKG_SRC_NAME)/-/
PKG_SOURCE_VERSION:=a930f8446f23ec2cb28aadeff54b79ab7704e3a0 PKG_HASH:=06ac7a8e2e6012577d2f4b043af766bf28a1d3e2a0d50e46629dab4f0bb65104
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION) PKG_SOURCE_SUBDIR:=$(PKG_SRC_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=dceb75539d32f402db0a5f68f2c7e2b52e5547a5ac2dec875d34fd3cc95cce00
PKG_BUILD_DEPENDS:=node/host PKG_BUILD_DEPENDS:=node/host
PKG_NODE_VERSION:=`$(STAGING_DIR_HOSTPKG)/bin/node --version` PKG_USE_MIPS16:=0
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org> PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
PKG_LICENSE:=Apache-2.0 PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE PKG_LICENSE_FILES:=LICENSE
@ -33,7 +32,7 @@ define Package/node-cylon/default
SECTION:=lang SECTION:=lang
CATEGORY:=Languages CATEGORY:=Languages
TITLE:=CylonJS - $(1) TITLE:=CylonJS - $(1)
URL:=https://www.npmjs.org/package/cylon URL:=https://www.npmjs.org/package/cylon-firmata
DEPENDS:=+node +node-npm $(2) DEPENDS:=+node +node-npm $(2)
endef endef
@ -54,52 +53,55 @@ define Package/node-cylon-firmata
endef endef
define Package/node-cylon/description define Package/node-cylon/description
JavaScript Robotics, By Your Command Next generation robotics framework with support for 36 different platforms Get Started JavaScript Robotics, By Your Command Next generation robotics framework with support for 36 different platforms Get Started
endef endef
define Build/Prepare TAR_OPTIONS+= --strip-components 1
/bin/tar xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip-components 1 TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
$(Build/Patch)
endef
EXTRA_LDFLAGS="-L$(TOOLCHAIN_DIR)/lib/ -Wl,-rpath-link $(TOOLCHAIN_DIR)/lib/" \ NODEJS_CPU:=$(subst powerpc,ppc,$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH)))))
define Build/Compile define Build/Compile
cd $(PKG_BUILD_DIR) ; \ $(MAKE_VARS) \
$(MAKE_FLAGS) \ $(MAKE_FLAGS) \
npm_config_arch=$(CONFIG_ARCH) \ npm_config_arch=$(NODEJS_CPU) \
npm_config_nodedir=$(BUILD_DIR)/node-$(PKG_NODE_VERSION)/ \ npm_config_target_arch=$(NODEJS_CPU) \
npm_config_cache=$(BUILD_DIR)/node-$(PKG_NODE_VERSION)/npm-cache \ npm_config_build_from_source=true \
PREFIX="$(PKG_INSTALL_DIR)/usr/" \ npm_config_nodedir=$(STAGING_DIR)/usr/ \
npm install -g `npm pack $(PKG_BUILD_DIR) | tail -n 1` npm_config_prefix=$(PKG_INSTALL_DIR)/usr/ \
npm_config_cache=$(TMP_DIR)/npm-cache \
npm_config_tmp=$(TMP_DIR)/npm-tmp \
npm install -g $(PKG_BUILD_DIR)
rm -rf $(TMP_DIR)/npm-tmp
rm -rf $(TMP_DIR)/npm-cache
endef endef
define Package/node-cylon/install define Package/node-cylon/install
mkdir -p $(1)/usr/lib/node/cylon $(INSTALL_DIR) $(1)/usr/lib/node/cylon
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon/* $(1)/usr/lib/node/cylon/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon/* $(1)/usr/lib/node/cylon/
endef endef
define Package/node-cylon-i2c/install define Package/node-cylon-i2c/install
mkdir -p $(1)/usr/lib/node/cylon-i2c $(INSTALL_DIR) $(1)/usr/lib/node/cylon-i2c
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon-i2c/* $(1)/usr/lib/node/cylon-i2c/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon-i2c/* $(1)/usr/lib/node/cylon-i2c/
endef endef
define Package/node-cylon-gpio/install define Package/node-cylon-gpio/install
mkdir -p $(1)/usr/lib/node/cylon-gpio $(INSTALL_DIR) $(1)/usr/lib/node/cylon-gpio
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon-gpio/* $(1)/usr/lib/node/cylon-gpio/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/node_modules/cylon-gpio/* $(1)/usr/lib/node/cylon-gpio/
endef endef
define Package/node-cylon-firmata/install define Package/node-cylon-firmata/install
mkdir -p $(1)/usr/lib/node/cylon-firmata $(INSTALL_DIR) $(1)/usr/lib/node/cylon-firmata
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/cylon-firmata/{index.js,lib,LICENSE,package.json,README.md,RELEASES.md,spec} $(1)/usr/lib/node/cylon-firmata/ $(CP) $(PKG_BUILD_DIR)/{package.json,LICENSE,*.md} \
# Strip PKG_BUILD_DIR from useless metadata inserted by npm install $(1)/usr/lib/node/cylon-firmata/
# https://github.com/npm/npm/issues/10393 $(CP) $(PKG_BUILD_DIR)/{docs,examples,*.js} \
# https://github.com/npm/npm/issues/12110 $(1)/usr/lib/node/cylon-firmata/
find $(1)/usr/lib/node -name package.json -exec sed -i -e 's,$(PKG_BUILD_DIR),,g' {} + $(CP) $(PKG_BUILD_DIR)/{lib,spec} \
$(1)/usr/lib/node/cylon-firmata/
endef endef
$(eval $(call BuildPackage,node-cylon)) $(eval $(call BuildPackage,node-cylon))
$(eval $(call BuildPackage,node-cylon-i2c)) $(eval $(call BuildPackage,node-cylon-i2c))
$(eval $(call BuildPackage,node-cylon-gpio)) $(eval $(call BuildPackage,node-cylon-gpio))
$(eval $(call BuildPackage,node-cylon-firmata)) $(eval $(call BuildPackage,node-cylon-firmata))