Skip to content

Commit

Permalink
node-cylon: 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 6ed62c6 commit 56fe558
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions lang/node-cylon/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=cylon
PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_VERSION:=0.24.0
PKG_RELEASE:=1
PKG_RELEASE:=2

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/hybridgroup/cylon-firmata.git
Expand All @@ -20,7 +20,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=dceb75539d32f402db0a5f68f2c7e2b52e5547a5ac2dec875d34fd3cc95cce00

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:=Apache-2.0
Expand Down Expand Up @@ -67,8 +67,8 @@ 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 -g $(PKG_BUILD_DIR)
endef
Expand All @@ -91,6 +91,10 @@ endef
define Package/node-cylon-firmata/install
mkdir -p $(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/
# 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-cylon))
Expand Down

0 comments on commit 56fe558

Please sign in to comment.