diff options
| author | Martin Bark <martin@barkynet.com> | 2016-03-03 22:29:27 +0000 |
|---|---|---|
| committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2016-03-06 15:13:33 +0100 |
| commit | 12010acc621444c214f94a82988a5fa8460e0811 (patch) | |
| tree | f80c26a6d0596986deb29a9d274927ae409cdad9 /package/nodejs/nodejs.mk | |
| parent | 7dddf3996bf6fd57a85ffcb502f5b709ca3213ed (diff) | |
| download | buildroot-12010acc621444c214f94a82988a5fa8460e0811.tar.gz buildroot-12010acc621444c214f94a82988a5fa8460e0811.zip | |
package/nodejs: force the use of python2
Remove the patches to use a python variable and instead force python2
into the PATH.
Upstream the python variable was recently removed
(see https://github.com/nodejs/node/commit/c3e50ca) and due to dependencies
directly calling python there is a reluctance to change this. Instead it
is recommended to add python2 into PATH as the nodejs build machines do
(see https://github.com/nodejs/node/issues/418 and
https://github.com/nodejs/node/issues/2735).
Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/nodejs/nodejs.mk')
| -rw-r--r-- | package/nodejs/nodejs.mk | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 63ae4631fd..b0661ed986 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -20,12 +20,18 @@ endif # nodejs build system is based on python, but only support python-2.6 or # python-2.7. So, we have to enforce PYTHON interpreter to be python2. define HOST_NODEJS_CONFIGURE_CMDS + # The build system directly calls python. Work around this by forcing python2 + # into PATH. See https://github.com/nodejs/node/issues/2735 + mkdir -p $(@D)/bin + ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/bin/python + # Build with the static, built-in OpenSSL which is supplied as part of # the nodejs source distribution. This is needed on the host because # NPM is non-functional without it, and host-openssl isn't part of # buildroot. (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) \ PYTHON=$(HOST_DIR)/usr/bin/python2 \ $(HOST_DIR)/usr/bin/python2 ./configure \ --prefix=$(HOST_DIR)/usr \ @@ -39,13 +45,15 @@ endef define HOST_NODEJS_BUILD_CMDS $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ $(MAKE) -C $(@D) \ - $(HOST_CONFIGURE_OPTS) + $(HOST_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) endef define HOST_NODEJS_INSTALL_CMDS $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ $(MAKE) -C $(@D) install \ - $(HOST_CONFIGURE_OPTS) + $(HOST_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) endef ifeq ($(BR2_i386),y) @@ -75,8 +83,12 @@ endif endif define NODEJS_CONFIGURE_CMDS + mkdir -p $(@D)/bin + ln -sf $(HOST_DIR)/usr/bin/python2 $(@D)/bin/python + (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) \ LD="$(TARGET_CXX)" \ PYTHON=$(HOST_DIR)/usr/bin/python2 \ $(HOST_DIR)/usr/bin/python2 ./configure \ @@ -99,6 +111,7 @@ define NODEJS_BUILD_CMDS $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ $(MAKE) -C $(@D) \ $(TARGET_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) \ LD="$(TARGET_CXX)" endef @@ -138,6 +151,7 @@ define NODEJS_INSTALL_TARGET_CMDS $(MAKE) -C $(@D) install \ DESTDIR=$(TARGET_DIR) \ $(TARGET_CONFIGURE_OPTS) \ + PATH=$(@D)/bin:$(BR_PATH) \ LD="$(TARGET_CXX)" $(NODEJS_INSTALL_MODULES) endef |

