commit:     ccd22a89f107efff65a8c39f2be3df65b2a93de5
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 11 08:36:34 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Jul 11 08:36:34 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ccd22a89

x11-terms/rxvt-unicode: backport fix for UTF breakage against perl-5.38

Closes: https://bugs.gentoo.org/910193
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../files/rxvt-unicode-9.31-perl5.38.patch         |  13 +++
 x11-terms/rxvt-unicode/rxvt-unicode-9.31-r2.ebuild | 125 +++++++++++++++++++++
 2 files changed, 138 insertions(+)

diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-perl5.38.patch 
b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-perl5.38.patch
new file mode 100644
index 000000000000..c5cb346079dd
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-perl5.38.patch
@@ -0,0 +1,13 @@
+Perl 5.38 does not handle empty locale names. Backported upstream fix.
+
+--- a/src/rxvtperl.xs
++++ b/src/rxvtperl.xs
+@@ -399,7 +399,7 @@ rxvt_perl_interp::init ()
+ {
+   if (!perl)
+     {
+-      rxvt_push_locale (""); // perl init destroys current locale
++      rxvt_push_locale ("C"); // perl init destroys current locale
+ 
+       {
+         perl_environ = rxvt_environ;

diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.31-r2.ebuild 
b/x11-terms/rxvt-unicode/rxvt-unicode-9.31-r2.ebuild
new file mode 100644
index 000000000000..60224b5df036
--- /dev/null
+++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.31-r2.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop systemd prefix
+
+COLOUR_PATCH_NAME="${PN}-9.31_24-bit-color_aur-9.31-20239117.patch"
+
+DESCRIPTION="rxvt clone with xft and unicode support"
+HOMEPAGE="http://software.schmorp.de/pkg/rxvt-unicode.html";
+SRC_URI="http://dist.schmorp.de/rxvt-unicode/Attic/${P}.tar.bz2
+       
https://dev.gentoo.org/~marecki/dists/${CATEGORY}/${PN}/${COLOUR_PATCH_NAME}.xz";
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="24-bit-color 256-color blink fading-colors +font-styles gdk-pixbuf 
iso14755 +mousewheel
+       perl startup-notification unicode3 wide-glyphs xft"
+
+RDEPEND=">=sys-libs/ncurses-5.7-r6:=
+       dev-libs/libptytty
+       media-libs/fontconfig
+       x11-libs/libX11
+       x11-libs/libXrender
+       x11-libs/libXt
+       gdk-pixbuf? ( x11-libs/gdk-pixbuf )
+       perl? ( dev-lang/perl:= )
+       startup-notification? ( x11-libs/startup-notification )
+       xft? ( x11-libs/libXft )"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-9.06-case-insensitive-fs.patch
+       "${FILESDIR}"/${PN}-9.21-xsubpp.patch
+       "${FILESDIR}"/${PN}-9.31-enable-wide-glyphs.patch
+       "${FILESDIR}"/${PN}-9.31-perl5.38.patch
+)
+DOCS=(
+       Changes
+       README.FAQ
+       doc/README.xvt
+       doc/changes.txt
+       doc/etc/${PN}.term{cap,info}
+       doc/rxvt-tabbed
+)
+
+src_prepare() {
+       default
+
+       # Current patch is too aggressive to apply unconditionally, see Bug 
#801571
+       if use 24-bit-color; then
+               eapply "${WORKDIR}"/${COLOUR_PATCH_NAME}
+               eautoreconf
+       fi
+
+       # kill the rxvt-unicode terminfo file - #192083
+       sed -i -e "/rxvt-unicode.terminfo/d" doc/Makefile.in || die "sed failed"
+
+       # use xsubpp from Prefix - #506500
+       hprefixify -q '"' -w "/xsubpp/" src/Makefile.in
+}
+
+src_configure() {
+       # --enable-everything goes first: the order of the arguments matters
+       local myconf=(
+               --enable-everything
+               $(use_enable 256-color)
+               $(use_enable blink text-blink)
+               $(use_enable fading-colors fading)
+               $(use_enable font-styles)
+               $(use_enable gdk-pixbuf pixbuf)
+               $(use_enable iso14755)
+               $(use_enable mousewheel)
+               $(use_enable perl)
+               $(use_enable startup-notification)
+               $(use_enable unicode3)
+               $(use_enable wide-glyphs)
+               $(use_enable xft)
+       )
+       if use 24-bit-color; then
+               myconf+=( --enable-24-bit-color )
+       fi
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       default
+
+       sed -i \
+               -e 's/RXVT_BASENAME = "rxvt"/RXVT_BASENAME = "urxvt"/' \
+               "${S}"/doc/rxvt-tabbed || die
+}
+
+src_install() {
+       default
+
+       systemd_douserunit "${FILESDIR}"/urxvtd.service
+       systemd_douserunit "${FILESDIR}"/urxvtd.socket
+
+       make_desktop_entry urxvt rxvt-unicode utilities-terminal \
+               "System;TerminalEmulator"
+}
+
+pkg_postinst() {
+       if use 24-bit-color; then
+               ewarn
+               ewarn "You have enabled 24-bit colour support in ${PN}, which 
is UNOFFICIAL and INCOMPLETE."
+               ewarn "You may or may not encounter visual glitches or 
stability issues. When in doubt,"
+               ewarn "rebuild =${CATEGORY}/${PF} with USE=-24-bit-color (the 
default setting)."
+               ewarn
+       fi
+       if use perl && ! use fading-colors; then
+               ewarn "Note that some of the Perl plug-ins bundled with ${PN} 
will fail to load without USE=fading-colors"
+       fi
+       if use wide-glyphs; then
+               ewarn
+               ewarn "You have enabled wide-glyph support in ${PN}, which is 
UNOFFICIAL."
+               ewarn "You may or may not encounter visual glitches or 
stability issues. When in doubt,"
+               ewarn "rebuild =${CATEGORY}/${PF} with USE=-wide-glyphs (the 
default setting)."
+               ewarn
+       fi
+}

Reply via email to