summaryrefslogtreecommitdiffstats
path: root/package/nodejs
diff options
context:
space:
mode:
authorJörg Krause <joerg.krause@embedded.rocks>2015-08-01 18:52:19 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-08-06 09:00:09 +0200
commitaab10cedec28431d66cf7abb718e56e2c137c663 (patch)
tree86bc125bbd4c2998b6cbf9c73e1b35846d265e05 /package/nodejs
parentf68270c92ec81d72ab8bd2e1076b52b50cbe4dbd (diff)
downloadbuildroot-aab10cedec28431d66cf7abb718e56e2c137c663.tar.gz
buildroot-aab10cedec28431d66cf7abb718e56e2c137c663.zip
package/nodejs/0.10.x: add patch to fix musl build error
The musl C library does not understand the feature test macro __USE_MISC and so libuv (built-in dependency of nodejs) does not use the correct struct stat definition for musl: error: ‘uv_statbuf_t’ has no member named ‘st_ctimensec’ error: ‘uv_statbuf_t’ has no member named ‘st_mtimensec’ The 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> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/nodejs')
-rw-r--r--package/nodejs/0.10.40/0005-fix-musl-USE-MISC-build-issue.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/package/nodejs/0.10.40/0005-fix-musl-USE-MISC-build-issue.patch b/package/nodejs/0.10.40/0005-fix-musl-USE-MISC-build-issue.patch
new file mode 100644
index 0000000000..128058df29
--- /dev/null
+++ b/package/nodejs/0.10.40/0005-fix-musl-USE-MISC-build-issue.patch
@@ -0,0 +1,47 @@
+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
+
OpenPOWER on IntegriCloud