--- irssi-0.8.18/build-aux/config.sub.orig 2016-02-08 20:16:25.000000000 +0000
+++ irssi-0.8.18/build-aux/config.sub 2016-03-06 18:06:18.154558135 +0000
@@ -804,6 +804,10 @@
microblaze*)
basic_machine=microblaze-xilinx
;;
+ midipix)
+ basic_machine=x86_64-pc
+ os=-midipix
+ ;;
mingw64)
basic_machine=x86_64-pc
os=-mingw64
@@ -1384,7 +1388,7 @@
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
--- irssi-0.8.18/src/core/servers.c.orig 2016-01-20 22:08:07.000000000 +0000
+++ irssi-0.8.18/src/core/servers.c 2016-06-13 11:28:49.187797037 +0000
@@ -407,6 +407,36 @@
/* connect with unix socket */
server_real_connect(server, NULL, server->connrec->address);
} else {
+ #ifdef __midipix__
+ IPADDR ip4, ip6, *ip;
+
+ connect_address = server->connrec->proxy != NULL ?
+ server->connrec->proxy : server->connrec->address;
+ if (net_gethostbyname(connect_address, &ip4, &ip6) == -1) {
+ g_warning("net_gethostbyname(): -1");
+ g_free(server->tag);
+ g_free(server->nick);
+ return FALSE;
+ } else if (server->connrec->family == 0) {
+ /* prefer IPv4 addresses */
+ ip = ip4.family != 0 ? &ip4 : &ip6;
+ } else if (server->connrec->family == AF_INET6) {
+ /* IPv6 address, use if possible */
+ if (ip6.family != 0) {
+ ip = &ip6;
+ } else {
+ ip = &ip4;
+ }
+ } else {
+ /* IPv4 address, use if possible */
+ if (ip4.family != 0) {
+ ip = &ip4;
+ } else {
+ ip = &ip6;
+ }
+ }
+ server_real_connect(server, ip, NULL);
+ #else
/* resolve host name */
if (pipe(fd) != 0) {
g_warning("server_connect(): pipe() failed.");
@@ -433,6 +463,7 @@
lookup_servers = g_slist_append(lookup_servers, server);
signal_emit("server looking", 1, server);
+ #endif
}
return TRUE;
}