nodejs-current: Enable package
[termux-packages] / packages / nodejs-current / src-node.cc.patch
diff --git a/packages/nodejs-current/src-node.cc.patch b/packages/nodejs-current/src-node.cc.patch
new file mode 100644 (file)
index 0000000..d748ef8
--- /dev/null
@@ -0,0 +1,52 @@
+Without this patch functions such as process.getgroups
+are not built on Android, which breaks things such as
+npm/node_modules/which/which.js.
+
+diff -u -r ../node-v4.0.0/src/node.cc ./src/node.cc
+--- ../node-v4.0.0/src/node.cc 2015-09-08 11:30:45.000000000 -0400
++++ ./src/node.cc      2015-09-08 19:06:39.415724588 -0400
+@@ -69,7 +69,7 @@
+ #include <unistd.h>  // setuid, getuid
+ #endif
+-#if defined(__POSIX__) && !defined(__ANDROID__)
++#if defined(__POSIX__)
+ #include <pwd.h>  // getpwnam()
+ #include <grp.h>  // getgrnam()
+ #endif
+@@ -1590,7 +1590,7 @@
+ }
+-#if defined(__POSIX__) && !defined(__ANDROID__)
++#if defined(__POSIX__)
+ static const uid_t uid_not_found = static_cast<uid_t>(-1);
+ static const gid_t gid_not_found = static_cast<gid_t>(-1);
+@@ -1910,7 +1910,7 @@
+   }
+ }
+-#endif  // __POSIX__ && !defined(__ANDROID__)
++#endif  // __POSIX__
+ void Exit(const FunctionCallbackInfo<Value>& args) {
+@@ -2866,7 +2866,7 @@
+   env->SetMethod(process, "umask", Umask);
+-#if defined(__POSIX__) && !defined(__ANDROID__)
++#if defined(__POSIX__)
+   env->SetMethod(process, "getuid", GetUid);
+   env->SetMethod(process, "geteuid", GetEUid);
+   env->SetMethod(process, "setuid", SetUid);
+@@ -2880,7 +2880,7 @@
+   env->SetMethod(process, "getgroups", GetGroups);
+   env->SetMethod(process, "setgroups", SetGroups);
+   env->SetMethod(process, "initgroups", InitGroups);
+-#endif  // __POSIX__ && !defined(__ANDROID__)
++#endif  // __POSIX__
+   env->SetMethod(process, "_kill", Kill);