Skip to content

Commit

Permalink
node-serialport: fix issues with node 8.11.3
Browse files Browse the repository at this point in the history
Get node version from node executable instead of keeping it hardcoded to
the Makefile.

Current version of npm install installs a link to the build directory.
The workaround is to use npm pack to make a tarball and install from
that.
npm also adds useless metadata to package.json exposing
PKG_BUILD_DIR, so it needs to be stripped.

Signed-off-by: Eneas U de Queiroz <[email protected]>
  • Loading branch information
cotequeiroz committed Aug 8, 2018
1 parent 1e0720e commit 93d6d1b
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions lang/node-serialport/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=serialport
PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_VERSION:=6.1.1
PKG_RELEASE:=1
PKG_RELEASE:=2

PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://registry.npmjs.org/$(PKG_NPM_NAME)/-/
PKG_HASH:=b58c326d217fb0af1639e4ea834d9fca4be16934c486499e2ddac6e52b8dd560

PKG_BUILD_DEPENDS:=node/host
PKG_NODE_VERSION:=8.10.0
PKG_NODE_VERSION:=`$(STAGING_DIR_HOSTPKG)/bin/node --version`

PKG_MAINTAINER:=John Crispin <[email protected]>
PKG_LICENSE:=Custom
Expand Down Expand Up @@ -50,15 +50,24 @@ EXTRA_LDFLAGS="-L$(TOOLCHAIN_DIR)/lib/ -Wl,-rpath-link $(TOOLCHAIN_DIR)/lib/" \
define Build/Compile
$(MAKE_FLAGS) \
npm_config_arch=$(CONFIG_ARCH) \
npm_config_nodedir=$(BUILD_DIR)/node-v$(PKG_NODE_VERSION)/ \
npm_config_cache=$(BUILD_DIR)/node-v$(PKG_NODE_VERSION)/npm-cache \
npm_config_nodedir=$(BUILD_DIR)/node-$(PKG_NODE_VERSION)/ \
npm_config_cache=$(BUILD_DIR)/node-$(PKG_NODE_VERSION)/npm-cache \
PREFIX="$(PKG_INSTALL_DIR)/usr/" \
npm install --build-from-source --target_arch=$(CPU) -g $(PKG_BUILD_DIR)
endef

define Package/node-serialport/install
mkdir -p $(1)/usr/lib/node/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/node_modules/* $(1)/usr/lib/node/
$(RM) -rf $(1)/usr/lib/node/node-hid/patches \
$(1)/usr/lib/node/node-hid/.p* \
$(1)/usr/lib/node/node-hid/.quilt* \
$(1)/usr/lib/node/node-hid/.built* \
$(1)/usr/lib/node/node-hid/.config*
# Strip PKG_BUILD_DIR from useless metadata inserted by npm install
# https://github.com/npm/npm/issues/10393
# https://github.com/npm/npm/issues/12110
find $(1)/usr/lib/node -name package.json -exec sed -i -e 's,$(PKG_BUILD_DIR),,g' {} +
endef

$(eval $(call BuildPackage,node-serialport))
Expand Down

0 comments on commit 93d6d1b

Please sign in to comment.