Index: files/git-1.7.1-interix.patch =================================================================== --- files/git-1.7.1-interix.patch (revision 0) +++ files/git-1.7.1-interix.patch (revision 0) @@ -0,0 +1,104 @@ +patch reported upstream at the mailing list. +mail reference is: http://marc.info/?l=git&m=126813299716136&w=2 + +diff -ru git-1.6.6.1.orig/builtin/upload-archive.c git-1.6.6.1/builtin-upload-archive.c +--- git-1.6.6.1.orig/builtin/upload-archive.c 2010-03-09 10:51:28 +0100 ++++ git-1.6.6.1/builtin/upload-archive.c 2010-03-09 11:06:45 +0100 +@@ -132,8 +132,9 @@ + packet_flush(1); + + while (1) { +- struct pollfd pfd[2]; + int status; ++#ifndef __INTERIX ++ struct pollfd pfd[2]; + + pfd[0].fd = fd1[0]; + pfd[0].events = POLLIN; +@@ -156,6 +157,8 @@ + if (process_input(pfd[0].fd, 1)) + continue; + ++#endif ++ + if (waitpid(writer, &status, 0) < 0) + error_clnt("%s", lostchild); + else if (!WIFEXITED(status) || WEXITSTATUS(status) > 0) +diff -ru git-1.6.6.1.orig/daemon.c git-1.6.6.1/daemon.c +--- git-1.6.6.1.orig/daemon.c 2010-03-09 10:51:28 +0100 ++++ git-1.6.6.1/daemon.c 2010-03-09 11:00:50 +0100 +@@ -14,6 +14,8 @@ + #define NI_MAXSERV 32 + #endif + ++#ifndef __INTERIX /* not available on interix! */ ++ + static int log_syslog; + static int verbose; + static int reuseaddr; +@@ -922,8 +924,13 @@ + return service_loop(socknum, socklist); + } + ++#endif /* __INTERIX */ ++ + int main(int argc, char **argv) + { ++#ifdef __INTERIX ++ die("not implemented on interix!"); ++#else /* !__INTERIX */ + int listen_port = 0; + char *listen_addr = NULL; + int inetd_mode = 0; +@@ -1121,4 +1128,5 @@ + store_pid(pid_file); + + return serve(listen_addr, listen_port, pass, gid); ++#endif /* __INTERIX */ + } +diff -ru git-1.6.6.1.orig/git-compat-util.h git-1.6.6.1/git-compat-util.h +--- git-1.6.6.1.orig/git-compat-util.h 2010-03-09 10:51:29 +0100 ++++ git-1.6.6.1/git-compat-util.h 2010-03-09 10:53:59 +0100 +@@ -93,7 +93,9 @@ + #include + #ifndef __MINGW32__ + #include ++#ifndef __INTERIX + #include ++#endif + #include + #include + #ifndef NO_SYS_SELECT_H +@@ -104,7 +106,11 @@ + #include + #include + #include ++#ifndef __INTERIX + #include ++#else ++#include ++#endif + #if defined(__CYGWIN__) + #undef _XOPEN_SOURCE + #include +diff -ru git-1.6.6.1.orig/upload-pack.c git-1.6.6.1/upload-pack.c +--- git-1.6.6.1.orig/upload-pack.c 2010-03-09 10:51:33 +0100 ++++ git-1.6.6.1/upload-pack.c 2010-03-09 10:58:02 +0100 +@@ -150,6 +150,7 @@ + + static void create_pack_file(void) + { ++#ifndef __INTERIX + struct async rev_list; + struct child_process pack_objects; + int create_full_pack = (nr_our_refs == want_obj.nr && !have_obj.nr); +@@ -328,6 +329,9 @@ + fail: + send_client_data(3, abort_msg, sizeof(abort_msg)); + die("git upload-pack: %s", abort_msg); ++#else /* __INTERIX */ ++ die("git upload-pack: not implemented on interix!"); ++#endif /* __INTERIX */ + } + + static int got_sha1(char *hex, unsigned char *sha1) Index: git-1.7.1-r1.ebuild =================================================================== --- git-1.7.1-r1.ebuild (revision 58154) +++ git-1.7.1-r1.ebuild (working copy) @@ -224,8 +224,8 @@ Documentation/Makefile || die "sed failed" # #318289 - #epatch "${FILESDIR}"/${PN}-1.6.6.1-interix.patch - #epatch "${FILESDIR}"/${PN}-1.6.6.1-interix6.patch + epatch "${FILESDIR}"/${PN}-1.7.1-interix.patch + epatch "${FILESDIR}"/${PN}-1.6.6.1-interix6.patch } git_emake() {