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>
This commit is contained in:
parent
7dddf3996b
commit
12010acc62
@ -1,43 +0,0 @@
|
||||
Use a python variable instead of hardcoding Python
|
||||
|
||||
The nodejs build system uses python in a number of locations. However,
|
||||
there are some locations where it hardcodes 'python' as the Python
|
||||
interpreter. However, this causes problems when we need to use python2
|
||||
instead of just python.
|
||||
|
||||
This patch fixes that by using the python variable already in place in
|
||||
the nodejs build system.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/deps/v8/tools/gyp/v8.gyp
|
||||
===================================================================
|
||||
--- a/deps/v8/tools/gyp/v8.gyp
|
||||
+++ b/deps/v8/tools/gyp/v8.gyp
|
||||
@@ -792,7 +792,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/js2c.py',
|
||||
'<@(_outputs)',
|
||||
'CORE',
|
||||
@@ -810,7 +810,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/js2c.py',
|
||||
'<@(_outputs)',
|
||||
'EXPERIMENTAL',
|
||||
@@ -840,7 +840,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/gen-postmortem-metadata.py',
|
||||
'<@(_outputs)',
|
||||
'<@(heapobject_files)'
|
@ -1,112 +0,0 @@
|
||||
From 4a48c65921b0f05b621aef5b902b6aa54811ad7a Mon Sep 17 00:00:00 2001
|
||||
From: Martin Bark <martin@barkynet.com>
|
||||
Date: Tue, 30 Jun 2015 09:44:33 +0100
|
||||
Subject: [PATCH 3/4] Use a python variable instead of hardcoding Python
|
||||
|
||||
The nodejs build system uses python in a number of locations. However,
|
||||
there are some locations where it hardcodes 'python' as the Python
|
||||
interpreter. However, this causes problems when we need to use python2
|
||||
instead of just python.
|
||||
|
||||
This patch fixes that by using the python variable already in place in
|
||||
the nodejs build system.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
[Martin: adapt to 0.12.5]
|
||||
Signed-off-by: Martin Bark <martin@barkynet.com>
|
||||
[yann.morin.1998@free.fr: adapt to 4.1.2]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
[Martin: adapt to 5.5.0]
|
||||
Signed-off-by: Martin Bark <martin@barkynet.com>
|
||||
---
|
||||
deps/v8/tools/gyp/v8.gyp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/deps/v8/tools/gyp/v8.gyp b/deps/v8/tools/gyp/v8.gyp
|
||||
index 1e5705d..e2e5dfe 100644
|
||||
--- a/deps/v8/tools/gyp/v8.gyp
|
||||
+++ b/deps/v8/tools/gyp/v8.gyp
|
||||
@@ -1723,14 +1723,14 @@
|
||||
'<(PRODUCT_DIR)/natives_blob_host.bin',
|
||||
],
|
||||
'action': [
|
||||
- 'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
|
||||
+ '<(python)', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob_host.bin'
|
||||
],
|
||||
}, {
|
||||
'outputs': [
|
||||
'<(PRODUCT_DIR)/natives_blob.bin',
|
||||
],
|
||||
'action': [
|
||||
- 'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
|
||||
+ '<(python)', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
|
||||
],
|
||||
}],
|
||||
],
|
||||
@@ -1739,7 +1739,7 @@
|
||||
'<(PRODUCT_DIR)/natives_blob.bin',
|
||||
],
|
||||
'action': [
|
||||
- 'python', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
|
||||
+ '<(python)', '<@(_inputs)', '<(PRODUCT_DIR)/natives_blob.bin'
|
||||
],
|
||||
}],
|
||||
],
|
||||
@@ -1847,7 +1847,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/js2c.py',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/libraries.cc',
|
||||
'CORE',
|
||||
@@ -1873,7 +1873,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/js2c.py',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/experimental-libraries.cc',
|
||||
'EXPERIMENTAL',
|
||||
@@ -1898,7 +1898,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/code-stub-libraries.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/js2c.py',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/code-stub-libraries.cc',
|
||||
'CODE_STUB',
|
||||
@@ -1923,7 +1923,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/js2c.py',
|
||||
'<(SHARED_INTERMEDIATE_DIR)/extras-libraries.cc',
|
||||
'EXTRAS',
|
||||
@@ -1960,7 +1960,7 @@
|
||||
'<(SHARED_INTERMEDIATE_DIR)/debug-support.cc',
|
||||
],
|
||||
'action': [
|
||||
- 'python',
|
||||
+ '<(python)',
|
||||
'../../tools/gen-postmortem-metadata.py',
|
||||
'<@(_outputs)',
|
||||
'<@(heapobject_files)'
|
||||
diff --git a/deps/v8/build/toolchain.gypi b/deps/v8/build/toolchain.gypi
|
||||
index c703155..06c0b2b 100644
|
||||
--- a/deps/v8/build/toolchain.gypi
|
||||
+++ b/deps/v8/build/toolchain.gypi
|
||||
@@ -38,7 +38,7 @@
|
||||
'ubsan%': 0,
|
||||
'ubsan_vptr%': 0,
|
||||
'v8_target_arch%': '<(target_arch)',
|
||||
- 'v8_host_byteorder%': '<!(python -c "import sys; print sys.byteorder")',
|
||||
+ 'v8_host_byteorder%': '<!(<(python) -c "import sys; print sys.byteorder")',
|
||||
# Native Client builds currently use the V8 ARM JIT and
|
||||
# arm/simulator-arm.cc to defer the significant effort required
|
||||
# for NaCl JIT support. The nacl_target_arch variable provides
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user