diff options
Diffstat (limited to 'net-irc/irssi')
-rw-r--r-- | net-irc/irssi/Manifest | 3 | ||||
-rw-r--r-- | net-irc/irssi/files/irssi-1.2.2-glib-2.63_NUL_unicode_fix.patch | 38 | ||||
-rw-r--r-- | net-irc/irssi/irssi-1.2.2-r1.ebuild (renamed from net-irc/irssi/irssi-1.2.2.ebuild) | 6 |
3 files changed, 45 insertions, 2 deletions
diff --git a/net-irc/irssi/Manifest b/net-irc/irssi/Manifest index 03d570462023..74790f461b79 100644 --- a/net-irc/irssi/Manifest +++ b/net-irc/irssi/Manifest @@ -1,4 +1,5 @@ +AUX irssi-1.2.2-glib-2.63_NUL_unicode_fix.patch 1498 BLAKE2B 79878990c10616a4bc54cc768cf87d2932aba7f75018f9887a75200a3ed38fa829958e3a5f0e137c6052dad1fce7a1d612f85d4c58bf6ed37c71f91f4a2b9099 SHA512 bfcdbfb1c06a13412594d5d14f4441ba06c3db3a4260aaa1c8bbfa1c68841ad1efc1c8af07f3fe4d12bb2e4c9fa7f067ace2b439745293082de6427a30242547 DIST irssi-1.2.2.tar.xz 1140844 BLAKE2B c1758828285c3f3210d6920455382e52279587280ecdc4ba7d73562c164ebd6618b1bb32d387439be2696f948044f66eb73b78ed2b0635286f8c3d93530167f2 SHA512 5444ac102ff9ad3a6399a47c967d138e181330dd226eac68886d35fee4ad455932b9306a367bee3478095158e41ba67fb46deb8f0a33512046b9b83bae37c610 -EBUILD irssi-1.2.2.ebuild 1520 BLAKE2B 499004bc99e0a16269facfb2933882c8aa1fdfd912b55c5b263173ae5aa7cdfea148ed08b842d4a1c6d5eb538fa87328e55e6fbfb1575d34145866f0043eabed SHA512 255691b426cbe5d24a5d0abad6209ad4572320d474289ece4a2627ffe777808aff231784e37f314ad88ea78367b539f382a64076443225e70fbe60b906507e22 +EBUILD irssi-1.2.2-r1.ebuild 1599 BLAKE2B ad998fd40d2c5a84acaadaf8341bc9327f917ff681c7561fa532d4db2cf03d060458e40e88e5d6afdbd5d0461cb07dbb24d1d118db568bb2e12165b3ee9b9e4c SHA512 c8121b847a5a9ca7ae04f27c7c0af94e4ff9236fa0098b6abc9f97a3da391e9582d55eda6cf1ce5a4f850900cccd9de8c086c8b30a21adc9a416ac9478cbb443 EBUILD irssi-9999.ebuild 1452 BLAKE2B 36bdbe74877e969849b92cc653c21eb7d41d03b0b03ae3656b3d25b5bd63e37a7c65c47cb3ea7fad0f110a51f99384b66b9a4215a8940c2105e126054ed51dd6 SHA512 c9e57d39473c2f3a9fda1b331f8f8232c758e0fdb803b4472c68491e78b74432eea75577be9cfddfbd500643eb85a051cf986c00b472181f37bd1986c5cbcf64 MISC metadata.xml 700 BLAKE2B 9d12cb98cc2a5204d423141bcb42222cb5aca53888eac4158927a40f2b5b8a28eb0fa4171f1a4467aa795df45673f21dec09ddbf9c22f897c131d137a10a1d98 SHA512 9d510764f9f5dbfaaa2c027ac79ccbcfc92552d48de3bb3491b6e9b1abdb8be7dcd4e59be4fdf82b9ba4c240a8bc63e5f18548b3c3da4e77eff0b87a457db470 diff --git a/net-irc/irssi/files/irssi-1.2.2-glib-2.63_NUL_unicode_fix.patch b/net-irc/irssi/files/irssi-1.2.2-glib-2.63_NUL_unicode_fix.patch new file mode 100644 index 000000000000..63d26958b7bf --- /dev/null +++ b/net-irc/irssi/files/irssi-1.2.2-glib-2.63_NUL_unicode_fix.patch @@ -0,0 +1,38 @@ +From a0544571a80196e5b7705f56e6e2cbcdf7b4d80e Mon Sep 17 00:00:00 2001 +From: ailin-nemui <ailin-nemui@users.noreply.github.com> +Date: Thu, 23 Apr 2020 21:45:15 +0200 +Subject: [PATCH] manually handle NUL unicode in g_utf8_get_next_char_validated + +A change in GLib 2.63 broke some assumptions in Irssi that the null-byte +NUL / U+0000 is a valid Unicode character. This would occur when the +user types Ctrl+Space. As a result, the input loop never manages to +process the NUL-byte (and any other user input that follows, ever). + +This patch adds a manual check that properly advances the input loop if +GLib returns -2 (incomplete character) despite the length being positive +and a NUL is in first position. + +Fixes #1180 +https://gitlab.gnome.org/GNOME/glib/-/merge_requests/967 +https://gitlab.gnome.org/GNOME/glib/-/issues/2093 +--- + src/fe-text/term-terminfo.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c +index 5235f72d2..78496a64f 100644 +--- a/src/fe-text/term-terminfo.c ++++ b/src/fe-text/term-terminfo.c +@@ -672,7 +672,11 @@ void term_stop(void) + + static int input_utf8(const unsigned char *buffer, int size, unichar *result) + { +- unichar c = g_utf8_get_char_validated((char *)buffer, size); ++ unichar c = g_utf8_get_char_validated((char *) buffer, size); ++ ++ /* GLib >= 2.63 do not accept Unicode NUL anymore */ ++ if (c == (unichar) -2 && *buffer == 0 && size > 0) ++ c = 0; + + switch (c) { + case (unichar)-1: diff --git a/net-irc/irssi/irssi-1.2.2.ebuild b/net-irc/irssi/irssi-1.2.2-r1.ebuild index 7874c1eee7d0..1da518b1943d 100644 --- a/net-irc/irssi/irssi-1.2.2.ebuild +++ b/net-irc/irssi/irssi-1.2.2-r1.ebuild @@ -16,7 +16,7 @@ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV/_/-}/${MY_P}.tar. LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="otr +perl selinux socks5 +proxy libressl" COMMON_DEPEND=" @@ -41,6 +41,10 @@ RESTRICT="test" S="${WORKDIR}/${MY_P}" +PATCHES=( + "${FILESDIR}/${PN}-1.2.2-glib-2.63_NUL_unicode_fix.patch" #746704 +) + src_configure() { # Disable automagic dependency on dev-libs/libutf8proc (bug #677804) export ac_cv_lib_utf8proc_utf8proc_version=no |