diff --git a/patches/irssi-1.1.1.local.patch b/patches/irssi-1.1.1.local.patch
deleted file mode 100644
index 0c485b0..0000000
--- a/patches/irssi-1.1.1.local.patch
+++ /dev/null
@@ -1,110 +0,0 @@
---- 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);
-diff -ru irssi-1.1.1.orig/src/core/network-openssl.c irssi-1.1.1/src/core/network-openssl.c
---- irssi-1.1.1.orig/src/core/network-openssl.c 2018-02-15 00:53:44.000000000 +0100
-+++ irssi-1.1.1/src/core/network-openssl.c      2018-04-04 17:17:45.180379304 +0200
-@@ -35,7 +35,8 @@
- #include <openssl/err.h>
-
- /* OpenSSL 1.1.0 introduced some backward-incompatible changes to the api */
--#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
-+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && \
-+    (!defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- /* The two functions below could be already defined if OPENSSL_API_COMPAT is
-  * below the 1.1.0 version so let's do a clean start */
- #undef  X509_get_notBefore
-@@ -47,7 +48,8 @@
-
- /* OpenSSL 1.1.0 also introduced some useful additions to the api */
- #if (OPENSSL_VERSION_NUMBER >= 0x10002000L)
--#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined (LIBRESSL_VERSION_NUMBER)
-+#if (OPENSSL_VERSION_NUMBER < 0x10100000L) && \
-+    (!defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL)
- static int X509_STORE_up_ref(X509_STORE *vfy)
- {
-     int n;
diff --git a/patches/irssi-1.2.2.local.patch b/patches/irssi-1.2.2.local.patch
new file mode 100644
index 0000000..0dfa06d
--- /dev/null
+++ b/patches/irssi-1.2.2.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);
diff --git a/vars/build.vars b/vars/build.vars
index df1056e..7fc1dfd 100644
--- a/vars/build.vars
+++ b/vars/build.vars
@@ -1774,8 +1774,8 @@ mailutils mtr mutt microsocks nginx openlitespeed openssh pacman rsync socat tht
 : ${PKG_INETUTILS_VERSION:=1.9.4};
 : ${PKG_INETUTILS_URL:=https://ftp.gnu.org/gnu/inetutils/inetutils-${PKG_INETUTILS_VERSION}.tar.xz};
 : ${PKG_INETUTILS_CONFIGURE_ARGS_EXTRA:="--disable-ftpd --enable-inetd --disable-rexecd --disable-rlogind --disable-rshd --disable-syslogd --enable-talkd --enable-telnetd --disable-tftpd --disable-uucpd --disable-ftp --disable-dnsdomainname --disable-hostname --disable-ping --disable-ping6 --disable-rcp --disable-rexec --disable-rlogin --disable-rsh --disable-logger --enable-talk --enable-telnet --disable-tftp --disable-whois --disable-ifconfig --disable-traceroute"};
-: ${PKG_IRSSI_SHA256SUM:=ea36959398f8c3d8f52065818e3c1500908390dd5d1125ece1a382e77cb84925};
-: ${PKG_IRSSI_VERSION:=1.1.1};
+: ${PKG_IRSSI_SHA256SUM:=53182861d4d2be6db35fa7e3f0524a64d2a54a374307574dab5f5362bfea563c};
+: ${PKG_IRSSI_VERSION:=1.2.2};
 : ${PKG_IRSSI_URL:=https://github.com/irssi/irssi/releases/download/${PKG_IRSSI_VERSION}/irssi-${PKG_IRSSI_VERSION}.tar.gz};
 : ${PKG_IRSSI_CONFIGURE_ARGS_EXTRA:=--with-ncurses=${PREFIX_NATIVE}};
 : ${PKG_LDNS_SHA256SUM:=c19f5b1b4fb374cfe34f4845ea11b1e0551ddc67803bd6ddd5d2a20f0997a6cc};