mirror of
https://github.com/openwrt/packages.git
synced 2025-12-21 17:04:32 +04:00
Disable parallel builds for node downstream packages, as the buildbot is showing frequent timeout problems for aarch644, arm, i386 and x86, and node & node packages are the primary suspect. Based on discussion in https://github.com/openwrt/packages/issues/26078 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
78 lines
2.8 KiB
Makefile
78 lines
2.8 KiB
Makefile
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NPM_SCOPE:=serialport
|
|
PKG_NPM_NAME:=bindings
|
|
PKG_NAME:=node-$(PKG_NPM_SCOPE)-$(PKG_NPM_NAME)
|
|
PKG_VERSION:=9.0.4
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
|
|
PKG_SOURCE_URL:=https://registry.npmjs.org/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/-/
|
|
PKG_HASH:=aec200860bd175e4b14b4ab1aa56a5f750172b6c8e20ccb234846206395848d4
|
|
|
|
PKG_BUILD_DEPENDS:=node/host
|
|
PKG_BUILD_FLAGS:=no-mips16
|
|
PKG_BUILD_PARALLEL:=0
|
|
|
|
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
|
|
PKG_LICENSE:=MIT
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/node-serialport-bindings
|
|
SUBMENU:=Node.js
|
|
SECTION:=lang
|
|
CATEGORY:=Languages
|
|
TITLE:=SerialPort Bindings
|
|
URL:=https://www.npmjs.com/package/@serialport/bindings
|
|
DEPENDS:=+node
|
|
endef
|
|
|
|
define Package/node-serialport-bindings/description
|
|
The Binding is how Node-SerialPort talks to the underlying system. By default, we auto detect Windows, Linux and OS X, and load the appropriate module for your system. You can assign SerialPort.Binding to any binding you like.
|
|
endef
|
|
|
|
TAR_OPTIONS+= --strip-components 1
|
|
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
|
|
|
|
NODEJS_CPU:=$(subst powerpc,ppc,$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH)))))
|
|
TMPNPM:=$(shell mktemp -u XXXXXXXXXX)
|
|
|
|
TARGET_CFLAGS+=$(FPIC)
|
|
TARGET_CPPFLAGS+=$(FPIC)
|
|
|
|
NPM_FLAGS=$(MAKE_VARS) \
|
|
$(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=$(PKG_INSTALL_DIR)/usr/ \
|
|
npm_config_cache=$(TMP_DIR)/npm-cache-$(TMPNPM) \
|
|
npm_config_tmp=$(TMP_DIR)/npm-tmp-$(TMPNPM)
|
|
|
|
define Build/Compile
|
|
$(NPM_FLAGS) npm i -g --production $(PKG_BUILD_DIR) --ignore-scripts
|
|
$(NPM_FLAGS) npm i --production --prefix=$(PKG_BUILD_DIR) --target_arch=$(NODEJS_CPU) --prefer-dedupe
|
|
rm -rf $(TMP_DIR)/npm-tmp-$(TMPNPM)
|
|
rm -rf $(TMP_DIR)/npm-cache-$(TMPNPM)
|
|
endef
|
|
|
|
define Package/node-serialport-bindings/install
|
|
$(INSTALL_DIR) $(1)/usr/lib/node/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/{package.json,LICENSE,*.md} \
|
|
$(1)/usr/lib/node/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/{node_modules,lib} \
|
|
$(1)/usr/lib/node/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)
|
|
$(INSTALL_DIR) $(1)/usr/lib/node/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/build/Release
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/build/Release/bindings.node \
|
|
$(1)/usr/lib/node/@$(PKG_NPM_SCOPE)/$(PKG_NPM_NAME)/build/Release/
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,node-serialport-bindings))
|