diff options
author | Samuel Martin <s.martin49@gmail.com> | 2014-04-15 00:09:48 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-04-15 23:18:00 +0200 |
commit | 40218a16526946f35dab0d05f379f71a01f29530 (patch) | |
tree | c45708c5739803d8addb3d526309a07dfb846fef /package/nodejs | |
parent | bde585518e305e8dac19c1b0541ca2ae9ba65e91 (diff) |
nodejs: force python interpreter
nodejs build system is based on python, and it does not support python3.
This patch makes sure python2 is used for the build.
Note that, setting PYTHON=... at configure time or in the make
environment is not enough to override all the hard-coded python call, so
we have to sed some python scripts to avoid being screwed.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/nodejs')
-rw-r--r-- | package/nodejs/nodejs.mk | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/package/nodejs/nodejs.mk b/package/nodejs/nodejs.mk index 46b3056ab..b5973b55d 100644 --- a/package/nodejs/nodejs.mk +++ b/package/nodejs/nodejs.mk @@ -17,6 +17,10 @@ ifeq ($(BR2_PACKAGE_OPENSSL),y) NODEJS_DEPENDENCIES += openssl 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 @@ -24,20 +28,23 @@ define HOST_NODEJS_CONFIGURE_CMDS # buildroot. (cd $(@D); \ $(HOST_CONFIGURE_OPTS) \ - ./configure \ + PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(HOST_DIR)/usr/bin/python2 ./configure \ --prefix=$(HOST_DIR)/usr \ --without-snapshot \ --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 - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 $(MAKE) -C $(@D) endef define HOST_NODEJS_INSTALL_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) install + $(HOST_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 $(MAKE) -C $(@D) install endef ifeq ($(BR2_i386),y) @@ -62,7 +69,8 @@ define NODEJS_CONFIGURE_CMDS (cd $(@D); \ $(TARGET_CONFIGURE_OPTS) \ LD="$(TARGET_CXX)" \ - ./configure \ + PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(HOST_DIR)/usr/bin/python2 ./configure \ --prefix=/usr \ --without-snapshot \ $(if $(BR2_PACKAGE_OPENSSL),--shared-openssl,--without-ssl) \ @@ -73,10 +81,13 @@ 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 - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(MAKE) -C $(@D) \ $(TARGET_CONFIGURE_OPTS) \ LD="$(TARGET_CXX)" endef @@ -110,7 +121,8 @@ endef endif define NODEJS_INSTALL_TARGET_CMDS - $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install \ + $(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \ + $(MAKE) -C $(@D) install \ DESTDIR=$(TARGET_DIR) \ $(TARGET_CONFIGURE_OPTS) \ LD="$(TARGET_CXX)" |