--- /dev/null
+From 0bc482abeb814573251ecafb5a1e045c885b13a2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Mon, 25 May 2015 16:22:57 +0200
+Subject: [PATCH 1/1] Fix musl __USE_MISC issue
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The musl C library does not define __USE_MISC and so libuv (built-in dependency)
+does not use the correct struct stat definition for musl.
+
+The feature test macro __USE_MISC is defined by glibc if _BSD_SOURCE or
+_SVID_SOURCE is defined.
+
+The libuv build system enables the feature test macro _GNU_SOURCE for linux
+builds.
+
+Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly
+defining _DEFAULT_SOURCE - the replacement for _BSD_SOURCE and _SVID_SOURCE.
+
+In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of
+implicitly defining _BSD_SOURCE and _SVID_SOURCE. This is also true for uClibc.
+
+Alltogether, we can safely replace __USE_MISC by _GNU_SOURCE to support building
+nodejs 0.10.x with the musl C library.
+
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ deps/uv/src/fs-poll.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/uv/src/fs-poll.c b/deps/uv/src/fs-poll.c
+index ad27f18..094447e 100644
+--- a/deps/uv/src/fs-poll.c
++++ b/deps/uv/src/fs-poll.c
+@@ -198,7 +198,7 @@ static int statbuf_eq(const uv_statbuf_t* a, const uv_statbuf_t* b) {
+
+ /* Jump through a few hoops to get sub-second granularity on Linux. */
+ # if defined(__linux__)
+-# if defined(__USE_MISC) /* _BSD_SOURCE || _SVID_SOURCE */
++# if defined(_GNU_SOURCE) /* _BSD_SOURCE || _SVID_SOURCE */
+ if (a->st_ctim.tv_nsec != b->st_ctim.tv_nsec) return 0;
+ if (a->st_mtim.tv_nsec != b->st_mtim.tv_nsec) return 0;
+ # else
+--
+2.4.1
+
+++ /dev/null
-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)'
--- /dev/null
+From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001
+From: "Bark, Martin" <martin.bark@te.com>
+Date: Mon, 14 Dec 2015 13:26:10 +0000
+Subject: [PATCH 2/2] Fix support for uClibc-ng
+
+uClibc-ng is currently at v1.0.9. The patch corrects the uClibc
+version test so that HAVE_IFADDRS_H is defined for uClibc versions
+after v0.9.32.
+
+Submitted upstream to libuv and accepted, see
+https://github.com/libuv/libuv/pull/653 and
+https://github.com/libuv/libuv/commit/c861972
+
+Signed-off-by: Bark, Martin <martin.bark@te.com>
+---
+ deps/uv/src/unix/linux-core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c
+index e6e6828..6cbbb71 100644
+--- a/deps/uv/src/unix/linux-core.c
++++ b/deps/uv/src/unix/linux-core.c
+@@ -39,7 +39,7 @@
+ #define HAVE_IFADDRS_H 1
+
+ #ifdef __UCLIBC__
+-# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32
++# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32
+ # undef HAVE_IFADDRS_H
+ # endif
+ #endif
+--
+2.6.2
+++ /dev/null
-From 0bc482abeb814573251ecafb5a1e045c885b13a2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
-Date: Mon, 25 May 2015 16:22:57 +0200
-Subject: [PATCH 1/1] Fix musl __USE_MISC issue
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The musl C library does not define __USE_MISC and so libuv (built-in dependency)
-does not use the correct struct stat definition for musl.
-
-The feature test macro __USE_MISC is defined by glibc if _BSD_SOURCE or
-_SVID_SOURCE is defined.
-
-The libuv build system enables the feature test macro _GNU_SOURCE for linux
-builds.
-
-Since glibc 2.19, defining _GNU_SOURCE also has the effect of implicitly
-defining _DEFAULT_SOURCE - the replacement for _BSD_SOURCE and _SVID_SOURCE.
-
-In glibc versions before 2.20, defining _GNU_SOURCE also had the effect of
-implicitly defining _BSD_SOURCE and _SVID_SOURCE. This is also true for uClibc.
-
-Alltogether, we can safely replace __USE_MISC by _GNU_SOURCE to support building
-nodejs 0.10.x with the musl C library.
-
-Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
----
- deps/uv/src/fs-poll.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/uv/src/fs-poll.c b/deps/uv/src/fs-poll.c
-index ad27f18..094447e 100644
---- a/deps/uv/src/fs-poll.c
-+++ b/deps/uv/src/fs-poll.c
-@@ -198,7 +198,7 @@ static int statbuf_eq(const uv_statbuf_t* a, const uv_statbuf_t* b) {
-
- /* Jump through a few hoops to get sub-second granularity on Linux. */
- # if defined(__linux__)
--# if defined(__USE_MISC) /* _BSD_SOURCE || _SVID_SOURCE */
-+# if defined(_GNU_SOURCE) /* _BSD_SOURCE || _SVID_SOURCE */
- if (a->st_ctim.tv_nsec != b->st_ctim.tv_nsec) return 0;
- if (a->st_mtim.tv_nsec != b->st_mtim.tv_nsec) return 0;
- # else
---
-2.4.1
-
+++ /dev/null
-From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001
-From: "Bark, Martin" <martin.bark@te.com>
-Date: Mon, 14 Dec 2015 13:26:10 +0000
-Subject: [PATCH 2/2] Fix support for uClibc-ng
-
-uClibc-ng is currently at v1.0.9. The patch corrects the uClibc
-version test so that HAVE_IFADDRS_H is defined for uClibc versions
-after v0.9.32.
-
-Submitted upstream to libuv and accepted, see
-https://github.com/libuv/libuv/pull/653 and
-https://github.com/libuv/libuv/commit/c861972
-
-Signed-off-by: Bark, Martin <martin.bark@te.com>
----
- deps/uv/src/unix/linux-core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c
-index e6e6828..6cbbb71 100644
---- a/deps/uv/src/unix/linux-core.c
-+++ b/deps/uv/src/unix/linux-core.c
-@@ -39,7 +39,7 @@
- #define HAVE_IFADDRS_H 1
-
- #ifdef __UCLIBC__
--# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32
-+# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32
- # undef HAVE_IFADDRS_H
- # endif
- #endif
---
-2.6.2
--- /dev/null
+From 5b3dd2599ebde1846750aaf7c79576ad45246ffa Mon Sep 17 00:00:00 2001
+From: Martin Bark <martin@barkynet.com>
+Date: Tue, 8 Dec 2015 11:41:08 +0000
+Subject: [PATCH] Fix va_list not declared
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+When compiling with uClibc-ng the following error is seen.
+
+In file included from ../deps/v8/src/log-utils.cc:5:0:
+../deps/v8/src/log-utils.h:64:39: error: ‘va_list’ has not been declared
+ void AppendVA(const char* format, va_list args);
+
+This patch fixes the issue by adding the missing #include <cstdarg>. Note
+that this fix has already be included upstream, see
+https://github.com/nodejs/node/blob/8a43a3d/deps/v8/src/log-utils.h
+
+Signed-off-by: Martin Bark <martin@barkynet.com>
+---
+ deps/v8/src/log-utils.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/deps/v8/src/log-utils.h b/deps/v8/src/log-utils.h
+index 87dab52..6714307 100644
+--- a/deps/v8/src/log-utils.h
++++ b/deps/v8/src/log-utils.h
+@@ -5,6 +5,8 @@
+ #ifndef V8_LOG_UTILS_H_
+ #define V8_LOG_UTILS_H_
+
++#include <cstdarg>
++
+ #include "src/allocation.h"
+ #include "src/base/platform/mutex.h"
+ #include "src/flags.h"
+--
+2.5.0
+
+++ /dev/null
-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
--- /dev/null
+From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001
+From: "Bark, Martin" <martin.bark@te.com>
+Date: Mon, 14 Dec 2015 13:26:10 +0000
+Subject: [PATCH 2/2] Fix support for uClibc-ng
+
+uClibc-ng is currently at v1.0.9. The patch corrects the uClibc
+version test so that HAVE_IFADDRS_H is defined for uClibc versions
+after v0.9.32.
+
+Submitted upstream to libuv and accepted, see
+https://github.com/libuv/libuv/pull/653 and
+https://github.com/libuv/libuv/commit/c861972
+
+Signed-off-by: Bark, Martin <martin.bark@te.com>
+---
+ deps/uv/src/unix/linux-core.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c
+index e6e6828..6cbbb71 100644
+--- a/deps/uv/src/unix/linux-core.c
++++ b/deps/uv/src/unix/linux-core.c
+@@ -39,7 +39,7 @@
+ #define HAVE_IFADDRS_H 1
+
+ #ifdef __UCLIBC__
+-# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32
++# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32
+ # undef HAVE_IFADDRS_H
+ # endif
+ #endif
+--
+2.6.2
+++ /dev/null
-From 5b3dd2599ebde1846750aaf7c79576ad45246ffa Mon Sep 17 00:00:00 2001
-From: Martin Bark <martin@barkynet.com>
-Date: Tue, 8 Dec 2015 11:41:08 +0000
-Subject: [PATCH] Fix va_list not declared
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When compiling with uClibc-ng the following error is seen.
-
-In file included from ../deps/v8/src/log-utils.cc:5:0:
-../deps/v8/src/log-utils.h:64:39: error: ‘va_list’ has not been declared
- void AppendVA(const char* format, va_list args);
-
-This patch fixes the issue by adding the missing #include <cstdarg>. Note
-that this fix has already be included upstream, see
-https://github.com/nodejs/node/blob/8a43a3d/deps/v8/src/log-utils.h
-
-Signed-off-by: Martin Bark <martin@barkynet.com>
----
- deps/v8/src/log-utils.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/deps/v8/src/log-utils.h b/deps/v8/src/log-utils.h
-index 87dab52..6714307 100644
---- a/deps/v8/src/log-utils.h
-+++ b/deps/v8/src/log-utils.h
-@@ -5,6 +5,8 @@
- #ifndef V8_LOG_UTILS_H_
- #define V8_LOG_UTILS_H_
-
-+#include <cstdarg>
-+
- #include "src/allocation.h"
- #include "src/base/platform/mutex.h"
- #include "src/flags.h"
---
-2.5.0
-
+++ /dev/null
-From 1cc08f6ceacbb0e5ba1f4638ca3a97ac002d7792 Mon Sep 17 00:00:00 2001
-From: "Bark, Martin" <martin.bark@te.com>
-Date: Mon, 14 Dec 2015 13:26:10 +0000
-Subject: [PATCH 2/2] Fix support for uClibc-ng
-
-uClibc-ng is currently at v1.0.9. The patch corrects the uClibc
-version test so that HAVE_IFADDRS_H is defined for uClibc versions
-after v0.9.32.
-
-Submitted upstream to libuv and accepted, see
-https://github.com/libuv/libuv/pull/653 and
-https://github.com/libuv/libuv/commit/c861972
-
-Signed-off-by: Bark, Martin <martin.bark@te.com>
----
- deps/uv/src/unix/linux-core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/deps/uv/src/unix/linux-core.c b/deps/uv/src/unix/linux-core.c
-index e6e6828..6cbbb71 100644
---- a/deps/uv/src/unix/linux-core.c
-+++ b/deps/uv/src/unix/linux-core.c
-@@ -39,7 +39,7 @@
- #define HAVE_IFADDRS_H 1
-
- #ifdef __UCLIBC__
--# if __UCLIBC_MAJOR__ < 0 || __UCLIBC_MINOR__ < 9 || __UCLIBC_SUBLEVEL__ < 32
-+# if __UCLIBC_MAJOR__ < 0 && __UCLIBC_MINOR__ < 9 && __UCLIBC_SUBLEVEL__ < 32
- # undef HAVE_IFADDRS_H
- # endif
- #endif
---
-2.6.2
# 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 \
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)
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 \
$(TARGET_MAKE_ENV) PYTHON=$(HOST_DIR)/usr/bin/python2 \
$(MAKE) -C $(@D) \
$(TARGET_CONFIGURE_OPTS) \
+ PATH=$(@D)/bin:$(BR_PATH) \
LD="$(TARGET_CXX)"
endef
$(MAKE) -C $(@D) install \
DESTDIR=$(TARGET_DIR) \
$(TARGET_CONFIGURE_OPTS) \
+ PATH=$(@D)/bin:$(BR_PATH) \
LD="$(TARGET_CXX)"
$(NODEJS_INSTALL_MODULES)
endef