summaryrefslogtreecommitdiffhomepage
path: root/patches/irssi-1.2.3.local.patch
diff options
context:
space:
mode:
authorØrjan Malde <red@foxi.me>2021-04-19 20:51:54 +0200
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-04-19 20:57:47 +0200
commit4268d2a24f801d928dd628f8fa6832437ecbccf0 (patch)
treef4f1625e5b2b4bd2787ce9dfd5223eb1c105f89d /patches/irssi-1.2.3.local.patch
parentbfca625dbad1ae9c9fac2c56a1f7e446c686431a (diff)
downloadmidipix_build-4268d2a24f801d928dd628f8fa6832437ecbccf0.tar.bz2
midipix_build-4268d2a24f801d928dd628f8fa6832437ecbccf0.tar.xz
groups/241.native_packages_inet.group: irssi: bump to v1.2.3
Signed-off-by: Lucio Andrés Illanes Albornoz <lucio@lucioillanes.de>
Diffstat (limited to 'patches/irssi-1.2.3.local.patch')
-rw-r--r--patches/irssi-1.2.3.local.patch87
1 files changed, 87 insertions, 0 deletions
diff --git a/patches/irssi-1.2.3.local.patch b/patches/irssi-1.2.3.local.patch
new file mode 100644
index 00000000..0dfa06df
--- /dev/null
+++ b/patches/irssi-1.2.3.local.patch
@@ -0,0 +1,87 @@
+--- irssi-0.8.20/src/core/pidwait.c.orig 2016-08-11 14:59:21.000000000 +0200
++++ irssi-0.8.20/src/core/pidwait.c 2016-12-18 01:14:30.017866300 +0100
+@@ -39,8 +39,10 @@
+ void pidwait_add(int pid)
+ {
+ if (g_hash_table_lookup(child_pids, GINT_TO_POINTER(pid)) == NULL) {
++#ifndef __midipix__
+ int id = g_child_watch_add_full(10, pid, sig_child, NULL, NULL);
+ g_hash_table_insert(child_pids, GINT_TO_POINTER(pid), GINT_TO_POINTER(id));
++#endif
+ pids = g_slist_append(pids, GINT_TO_POINTER(pid));
+ }
+ }
+--- irssi-0.8.20/src/core/servers.c.orig 2016-09-14 13:46:13.000000000 +0200
++++ irssi-0.8.20/src/core/servers.c 2016-12-18 01:17:03.451031500 +0100
+@@ -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;
+ }
+--- irssi-0.8.20/src/fe-common/core/fe-exec.c.orig 2016-09-14 13:46:13.000000000 +0200
++++ irssi-0.8.20/src/fe-common/core/fe-exec.c 2016-12-18 01:14:30.018866300 +0100
+@@ -288,6 +288,9 @@
+ }
+ }
+
++#ifdef __midipix__
++static void sig_pidwait(void *pid, void *statusp);
++#endif
+ static void process_exec(PROCESS_REC *rec, const char *cmd)
+ {
+ const char *shell_args[4] = { "/bin/sh", "-c", NULL, NULL };
+@@ -535,6 +538,14 @@
+ (GInputFunction) sig_exec_input_reader,
+ rec);
+ processes = g_slist_append(processes, rec);
++#ifdef __midipix__
++ int status;
++ waitpid(rec->pid, &status, 0);
++ while (rec->read_tag != -1) {
++ sig_exec_input_reader(rec);
++ }
++ sig_pidwait((void *)rec->pid, &status);
++#endif
+
+ if (rec->target == NULL && interactive)
+ rec->target_item = exec_wi_create(active_win, rec);