diff options
author | 2014-05-21 09:38:01 +0200 | |
---|---|---|
committer | 2014-05-21 10:34:29 +0200 | |
commit | 7e91d2b0e3282df3ec45a6733063c5cab8852c4a (patch) | |
tree | 8b61c3d620921df49a812fa0c0b964f535a91c53 /package | |
parent | 6d3336a2b019b4ff761588ae3d5fb40a64666bef (diff) | |
download | buildroot-7e91d2b0e3282df3ec45a6733063c5cab8852c4a.tar.gz buildroot-7e91d2b0e3282df3ec45a6733063c5cab8852c4a.tar.bz2 |
nodejs: fix build when python3 is selected in Buildroot
When Python 3 is selected in Buildroot, the host/usr/bin/python
symlink of the host Python interpreter points to python3. Packages
that need to use the host Python 2 interpreter have to use python2.
In commit 40218a16526946f35dab0d05f379f71a01f29530 ("nodejs: force
python interpreter"), Samuel made some changes to the nodejs package
to use python2. One part of the changes is to sed a .gyp file to
replace the string 'python' by the path to python2. However, this
operation is done *after* calling the configure script, so it has in
fact no effect. Putting this sed before calling the configure script
fixes the problem.
However, there is a better solution: the nodejs build system has a
mechanism of variables, and it already defines a python variable
according to the environment variable PYTHON being passed. So this
patch instead adds a new patch to nodejs to use this python variable.
Fixes:
http://autobuild.buildroot.org/results/aff/affd7300895ec400de50a33d51b4e94e15d63341/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package')
-rw-r--r-- | package/nodejs/nodejs-0003-use-python-variable.patch | 43 | ||||
-rw-r--r-- | package/nodejs/nodejs.mk | 6 |
2 files changed, 43 insertions, 6 deletions
diff --git a/package/nodejs/nodejs-0003-use-python-variable.patch b/package/nodejs/nodejs-0003-use-python-variable.patch new file mode 100644 index 0000000000..f231f4c2f2 --- /dev/null +++ b/package/nodejs/nodejs-0003-use-python-variable.patch @@ -0,0 +1,43 @@ +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)' diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index b5973b55db..a85384e448 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -19,8 +19,6 @@ 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. -# However, few build scripts hard-code 'python' as the interpreter to be -# invoked; so we have to manually fix them. define HOST_NODEJS_CONFIGURE_CMDS # Build with the static, built-in OpenSSL which is supplied as part of # the nodejs source distribution. This is needed on the host because @@ -35,8 +33,6 @@ define HOST_NODEJS_CONFIGURE_CMDS --without-dtrace \ --without-etw \ ) - $(SED) "s@'python',@'$(HOST_DIR)/usr/bin/python2',@" \ - $(@D)/deps/v8/tools/gyp/v8.gyp endef define HOST_NODEJS_BUILD_CMDS @@ -81,8 +77,6 @@ define NODEJS_CONFIGURE_CMDS $(if $(NODEJS_ARM_FP),--with-arm-float-abi=$(NODEJS_ARM_FP)) \ --dest-os=linux \ ) - $(SED) "s@'python',@'$(HOST_DIR)/usr/bin/python2',@" \ - $(@D)/deps/v8/tools/gyp/v8.gyp endef define NODEJS_BUILD_CMDS |