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);