public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: x11-terms/rxvt-unicode/files/, x11-terms/rxvt-unicode/
@ 2020-12-08  9:50 Marek Szuba
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Szuba @ 2020-12-08  9:50 UTC (permalink / raw
  To: gentoo-commits

commit:     5dffc35a11180fde8eddaccd2bb49f5bccd25ba1
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  8 09:49:31 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Dec  8 09:50:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dffc35a

x11-terms/rxvt-unicode: install systemd user unit for urxvtd

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

 x11-terms/rxvt-unicode/files/urxvtd.service                      | 9 +++++++++
 .../{rxvt-unicode-9.22-r5.ebuild => rxvt-unicode-9.22-r6.ebuild} | 4 +++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/x11-terms/rxvt-unicode/files/urxvtd.service b/x11-terms/rxvt-unicode/files/urxvtd.service
new file mode 100644
index 00000000000..758e8154cee
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/urxvtd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=rxvt-unicode terminal daemon
+Documentation=man:urxvtd
+
+[Service]
+ExecStart=/usr/bin/urxvtd
+
+[Install]
+WantedBy=default.target

diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r5.ebuild b/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r6.ebuild
similarity index 96%
rename from x11-terms/rxvt-unicode/rxvt-unicode-9.22-r5.ebuild
rename to x11-terms/rxvt-unicode/rxvt-unicode-9.22-r6.ebuild
index ce083fc2e2f..4d046e664f9 100644
--- a/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r5.ebuild
+++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r6.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-inherit autotools desktop
+inherit autotools desktop systemd
 
 COLOUR_PATCH_NAME="${PN}-9.22_24-bit-color_cpixl-20201108.patch"
 
@@ -90,6 +90,8 @@ src_compile() {
 src_install() {
 	default
 
+	systemd_douserunit "${FILESDIR}"/urxvtd.service
+
 	make_desktop_entry urxvt rxvt-unicode utilities-terminal \
 		"System;TerminalEmulator"
 }


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-terms/rxvt-unicode/files/, x11-terms/rxvt-unicode/
@ 2021-04-16 18:25 Marek Szuba
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Szuba @ 2021-04-16 18:25 UTC (permalink / raw
  To: gentoo-commits

commit:     79d31f8585e3cab9c6a7dcbcf643be5456303933
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 16 16:21:46 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Apr 16 18:24:52 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d31f85

x11-terms/rxvt-unicode: do not segfault on exit with USE=perl and recent Perl versions

As addressed upstream and subsequently accepted by Debian.

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

 .../rxvt-unicode-9.22-perl-segfault-on-exit.patch  |  36 +++++++
 x11-terms/rxvt-unicode/rxvt-unicode-9.22-r8.ebuild | 116 +++++++++++++++++++++
 2 files changed, 152 insertions(+)

diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch
new file mode 100644
index 00000000000..0a3cb1ec4cd
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-perl-segfault-on-exit.patch
@@ -0,0 +1,36 @@
+Backported from the upstream CVS repository, see:
+http://cvs.schmorp.de/rxvt-unicode/src/rxvtperl.h?r1=1.28&r2=1.29
+http://cvs.schmorp.de/rxvt-unicode/src/rxvtperl.xs?r1=1.246&r2=1.247
+
+--- rxvt-unicode/src/rxvtperl.h	2012/06/12 10:45:53	1.28
++++ rxvt-unicode/src/rxvtperl.h	2020/06/30 07:31:24	1.29
+@@ -51,7 +51,9 @@
+ {
+   char **perl_environ;
+ 
++  #if 0 // see rxvtperl.xs
+   ~rxvt_perl_interp ();
++  #endif
+ 
+   void init ();
+   void init (rxvt_term *term);
+--- rxvt-unicode/src/rxvtperl.xs	2020/01/20 09:35:12	1.246
++++ rxvt-unicode/src/rxvtperl.xs	2020/06/30 07:31:24	1.247
+@@ -372,6 +372,9 @@
+ 
+ static PerlInterpreter *perl;
+ 
++#if 0 /* we are not a library anymore, so doing this is just not worth it */
++/*THINK/TODO: this has the side effect of, of course, not calling destructors. */
++/* but therse are not guaranteed anyway... */
+ rxvt_perl_interp::~rxvt_perl_interp ()
+ {
+   if (perl)
+@@ -381,6 +384,7 @@
+       PERL_SYS_TERM ();
+     }
+ }
++#endif
+ 
+ void
+ rxvt_perl_interp::init ()

diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r8.ebuild b/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r8.ebuild
new file mode 100644
index 00000000000..c689716a01b
--- /dev/null
+++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r8.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools desktop systemd prefix
+
+COLOUR_PATCH_NAME="${PN}-9.22_24-bit-color_cpixl-20201108.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/${PN}/${COLOUR_PATCH_NAME}.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
+IUSE="-24-bit-color 256-color blink fading-colors +font-styles gdk-pixbuf iso14755 +mousewheel
+	+perl -sgrmouse startup-notification unicode3 +utmp +wtmp xft"
+
+RESTRICT="test"
+
+RDEPEND=">=sys-libs/ncurses-5.7-r6:=
+	media-libs/fontconfig
+	x11-libs/libX11
+	x11-libs/libXrender
+	gdk-pixbuf? ( x11-libs/gdk-pixbuf )
+	kernel_Darwin? ( dev-perl/Mac-Pasteboard )
+	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.22-perl-segfault-on-exit.patch
+	"${FILESDIR}"/${PN}-9.22-sgr-mouse-mode-flag.patch
+	"${WORKDIR}"/${COLOUR_PATCH_NAME}
+)
+DOCS=(
+	Changes
+	README.FAQ
+	doc/README.xvt
+	doc/changes.txt
+	doc/etc/${PN}.term{cap,info}
+	doc/rxvt-tabbed
+)
+
+src_prepare() {
+	default
+
+	# 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
+
+	eautoreconf
+}
+
+src_configure() {
+	# --enable-everything goes first: the order of the arguments matters
+	econf --enable-everything \
+		$(use_enable 24-bit-color) \
+		$(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 sgrmouse) \
+		$(use_enable startup-notification) \
+		$(use_enable unicode3) \
+		$(use_enable utmp) \
+		$(use_enable wtmp) \
+		$(use_enable xft)
+}
+
+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
+
+	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 sgrmouse; then
+		ewarn
+		ewarn "Support for the SGR 1006 mouse extension in ${PN} is UNOFFICIAL and provided as-is."
+		ewarn "When in doubt, rebuild =${CATEGORY}/${PF} with USE=-sgrmouse (the default setting)."
+		ewarn
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-terms/rxvt-unicode/files/, x11-terms/rxvt-unicode/
@ 2021-05-18 15:50 Marek Szuba
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Szuba @ 2021-05-18 15:50 UTC (permalink / raw
  To: gentoo-commits

commit:     7754b4970254a816210ca814289256a43d7625f7
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue May 18 15:25:01 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue May 18 15:33:09 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7754b497

x11-terms/rxvt-unicode-9.22: mark ANSI sequence ESC G Q as insecure

Can in theory be used to perform remote code execution, see
https://seclists.org/oss-sec/2021/q2/145 . This was fixed upstream in 2017
(see http://cvs.schmorp.de/rxvt-unicode/src/command.C?r1=1.582&r2=1.583)
so 9.26 is not vulnerable, that said 9.22 will likely not go away any
time soon (if only because of 24-bit colour support) so let's backport
this.

Reported-by: Roman Dobosz <gryf73 <AT> gmail.com>
Bug: https://bugs.gentoo.org/790782
Closes: https://github.com/gentoo/gentoo/pull/20863
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 ...rxvt-unicode-9.22-query-graphics-insecure.patch |  11 ++
 x11-terms/rxvt-unicode/rxvt-unicode-9.22-r9.ebuild | 120 +++++++++++++++++++++
 2 files changed, 131 insertions(+)

diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-query-graphics-insecure.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-query-graphics-insecure.patch
new file mode 100644
index 00000000000..52a8c829705
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.22-query-graphics-insecure.patch
@@ -0,0 +1,11 @@
+--- a/src/command.C
++++ b/src/command.C
+@@ -2695,7 +2695,7 @@
+         /* kidnapped escape sequence: Should be 8.3.48 */
+       case C1_ESA:		/* ESC G */
+         // used by original rxvt for rob nations own graphics mode
+-        if (cmd_getc () == 'Q')
++        if (cmd_getc () == 'Q' && option (Opt_insecure))
+           tt_printf ("\033G0\012");	/* query graphics - no graphics */
+         break;
+ 

diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r9.ebuild b/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r9.ebuild
new file mode 100644
index 00000000000..b4572db26bc
--- /dev/null
+++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.22-r9.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools desktop flag-o-matic systemd prefix
+
+COLOUR_PATCH_NAME="${PN}-9.22_24-bit-color_cpixl-20201108.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/${PN}/${COLOUR_PATCH_NAME}.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris"
+IUSE="-24-bit-color 256-color blink fading-colors +font-styles gdk-pixbuf iso14755 +mousewheel
+	+perl -sgrmouse startup-notification unicode3 +utmp +wtmp xft"
+
+RESTRICT="test"
+
+RDEPEND=">=sys-libs/ncurses-5.7-r6:=
+	media-libs/fontconfig
+	x11-libs/libX11
+	x11-libs/libXrender
+	gdk-pixbuf? ( x11-libs/gdk-pixbuf )
+	kernel_Darwin? ( dev-perl/Mac-Pasteboard )
+	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.22-perl-segfault-on-exit.patch
+	"${FILESDIR}"/${PN}-9.22-query-graphics-insecure.patch
+	"${FILESDIR}"/${PN}-9.22-sgr-mouse-mode-flag.patch
+	"${WORKDIR}"/${COLOUR_PATCH_NAME}
+)
+DOCS=(
+	Changes
+	README.FAQ
+	doc/README.xvt
+	doc/changes.txt
+	doc/etc/${PN}.term{cap,info}
+	doc/rxvt-tabbed
+)
+
+src_prepare() {
+	# Bug #787104
+	append-cxxflags -std=c++14
+
+	default
+
+	# 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
+
+	eautoreconf
+}
+
+src_configure() {
+	# --enable-everything goes first: the order of the arguments matters
+	econf --enable-everything \
+		$(use_enable 24-bit-color) \
+		$(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 sgrmouse) \
+		$(use_enable startup-notification) \
+		$(use_enable unicode3) \
+		$(use_enable utmp) \
+		$(use_enable wtmp) \
+		$(use_enable xft)
+}
+
+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
+
+	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 sgrmouse; then
+		ewarn
+		ewarn "Support for the SGR 1006 mouse extension in ${PN} is UNOFFICIAL and provided as-is."
+		ewarn "When in doubt, rebuild =${CATEGORY}/${PF} with USE=-sgrmouse (the default setting)."
+		ewarn
+	fi
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-terms/rxvt-unicode/files/, x11-terms/rxvt-unicode/
@ 2023-03-30  9:08 Marek Szuba
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Szuba @ 2023-03-30  9:08 UTC (permalink / raw
  To: gentoo-commits

commit:     1aa65552501b171eb6d36cf702fcc2755e8333d3
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 30 09:05:39 2023 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Mar 30 09:08:32 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1aa65552

x11-terms/rxvt-unicode: add IUSE=wide-glyphs

Another fine import from Arch.

Suggested-by: Marek Behún <kabel <AT> kernel.org>
Closes: https://github.com/gentoo/gentoo/pull/30354
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../rxvt-unicode-9.31-enable-wide-glyphs.patch     | 264 +++++++++++++++++++++
 x11-terms/rxvt-unicode/metadata.xml                |   2 +
 x11-terms/rxvt-unicode/rxvt-unicode-9.31-r1.ebuild | 124 ++++++++++
 3 files changed, 390 insertions(+)

diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-enable-wide-glyphs.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-enable-wide-glyphs.patch
new file mode 100644
index 000000000000..4cbd8ae11872
--- /dev/null
+++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-enable-wide-glyphs.patch
@@ -0,0 +1,264 @@
+--- a/config.h.in
++++ b/config.h.in
+@@ -18,6 +18,9 @@
+ /* Define if you want your background to use the parent window background */
+ #undef ENABLE_TRANSPARENCY
+ 
++/* Define if you want to display wide glyphs */
++#undef ENABLE_WIDE_GLYPHS
++
+ /* Define if you want european extended codesets */
+ #undef ENCODING_EU
+ 
+--- a/configure
++++ b/configure
+@@ -739,6 +739,7 @@
+ enable_combining
+ enable_xft
+ enable_font_styles
++enable_wide_glyphs
+ enable_pixbuf
+ enable_startup_notification
+ enable_transparency
+@@ -1414,6 +1415,7 @@
+   --enable-combining      enable composition of base and combining characters
+   --enable-xft            enable xft support on systems that have it
+   --enable-font-styles    enable bold and italic support
++  --enable-wide-glyphs    enable displaying of wide glyphs
+   --enable-pixbuf         enable integration with gdk-pixbuf for background images
+   --enable-startup-notification  enable freedesktop startup notification support
+   --enable-transparency   enable transparent backgrounds
+@@ -5025,6 +5027,7 @@
+        support_8bitctrls=no
+        support_iso14755=no
+        support_styles=no
++       support_wide_glyphs=no
+        support_perl=no
+        codesets=
+     fi
+@@ -5050,6 +5053,7 @@
+        #support_8bitctrls=yes
+        support_iso14755=yes
+        support_styles=yes
++       support_wide_glyphs=yes
+        support_perl=yes
+        codesets=all
+     fi
+@@ -5182,6 +5186,14 @@
+ fi
+ 
+ 
++# Check whether --enable-wide-glyphs was given.
++if test "${enable_wide_glyphs+set}" = set; then :
++  enableval=$enable_wide_glyphs; if test x$enableval = xyes -o x$enableval = xno; then
++    support_wide_glyphs=$enableval
++  fi
++fi
++
++
+ # Check whether --enable-pixbuf was given.
+ if test ${enable_pixbuf+y}
+ then :
+@@ -7727,6 +7739,11 @@
+ printf "%s\n" "#define MOUSE_SLIP_WHEELING 1" >>confdefs.h
+ 
+ fi
++if test x$support_wide_glyphs = xyes; then
++
++printf "%s\n" "#define ENABLE_WIDE_GLYPHS 1" >>confdefs.h
++
++fi
+ 
+ scrolltypes=plain
+ 
+--- a/configure.ac
++++ b/configure.ac
+@@ -123,6 +123,7 @@
+        support_8bitctrls=no
+        support_iso14755=no
+        support_styles=no
++       support_wide_glyphs=no
+        support_perl=no
+        codesets=
+     fi
+@@ -148,6 +149,7 @@
+        #support_8bitctrls=yes
+        support_iso14755=yes
+        support_styles=yes
++       support_wide_glyphs=yes
+        support_perl=yes
+        codesets=all
+     fi
+@@ -231,6 +233,12 @@
+     support_styles=$enableval
+   fi])
+ 
++AC_ARG_ENABLE(wide-glyphs,
++  [  --enable-wide-glyphs    enable displaying of wide glyphs],
++  [if test x$enableval = xyes -o x$enableval = xno; then
++    support_wide_glyphs=$enableval
++  fi])
++
+ AC_ARG_ENABLE(pixbuf,
+   [  --enable-pixbuf         enable integration with gdk-pixbuf for background images],
+   [if test x$enableval = xyes -o x$enableval = xno; then
+@@ -653,6 +661,9 @@
+ if test x$support_styles = xyes; then
+   AC_DEFINE(ENABLE_STYLES, 1, Define if you want bold and italic support)
+ fi
++if test x$support_wide_glyphs = xyes; then
++  AC_DEFINE(ENABLE_WIDE_GLYPHS, 1, Define if you want to display wide glyphs)
++fi
+ if test x$support_iso14755 = xyes; then
+   AC_DEFINE(ISO_14755, 1, Define if you want ISO 14755 extended support)
+ fi
+--- a/src/command.C
++++ b/src/command.C
+@@ -237,7 +237,9 @@
+ # endif
+       scr_overlay_set (11, y + 1, ch, r);
+ 
++#if !ENABLE_WIDE_GLYPHS
+       if (WCWIDTH (ch) >= 2)
++#endif
+         scr_overlay_set (12, y + 1, NOCHAR, r);
+     }
+ 
+--- a/src/rxvtfont.C
++++ b/src/rxvtfont.C
+@@ -471,6 +471,7 @@
+       else
+         switch (t)
+           {
++            case ' ':
+             case '\t':
+             case ZERO_WIDTH_CHAR:
+             case NOCHAR:
+@@ -1038,8 +1039,10 @@
+ 
+   careful = xcs->lbearing < 0 || xcs->rbearing > prop->width * wcw;
+ 
++#if !ENABLE_WIDE_GLYPHS
+   if (careful && !OVERLAP_OK (w, wcw, prop))
+     return false;
++#endif
+ 
+   return true;
+ }
+@@ -1410,12 +1413,14 @@
+ 
+   careful = g.x > 0 || w > cwidth;
+ 
++#if !ENABLE_WIDE_GLYPHS
+   if (careful && !OVERLAP_OK (w, wcw, prop))
+     return false;
+ 
+   // this weeds out _totally_ broken fonts, or glyphs
+   if (!OVERLAP_OK (g.xOff, wcw, prop))
+     return false;
++#endif
+ 
+   return true;
+ }
+@@ -1496,6 +1501,10 @@
+ 
+           ep->glyph = glyph;
+           ep->x = x_;
++#if ENABLE_WIDE_GLYPHS
++          /* Left-align to bounding box, do not overlap to the left. */
++          max_it(ep->x, x_);
++#endif
+           ep->y = y_ + ascent;
+ 
+           // the xft font cell might differ from the terminal font cell,
+--- a/src/screen.C
++++ b/src/screen.C
+@@ -976,7 +976,61 @@
+ # endif
+ #endif
+ 
+-          rend_t rend = SET_FONT (rstyle, FONTSET (rstyle)->find_font (c));
++          rend_t rend;
++#if ENABLE_WIDE_GLYPHS
++          // Re-use previous font for space characters.
++          // This allows for better display of wider chars with regard to
++          // backtracking (which uses RS_SAME).
++          if (c != ' ')
++            {
++#endif
++            rend = SET_FONT (rstyle, FONTSET (rstyle)->find_font (c));
++#if ENABLE_WIDE_GLYPHS
++
++            }
++          else
++            {
++              // Code taken from ENABLE_COMBINING - might get refactored.
++              line_t *linep;
++              text_t *tp;
++              rend_t *rp = NULL;
++
++              if (screen.cur.col > 0)
++                {
++                  linep = line;
++                  tp = line->t + screen.cur.col - 1;
++                  rp = line->r + screen.cur.col - 1;
++                }
++              else if (screen.cur.row > 0
++                       && ROW(screen.cur.row - 1).is_longer ())
++                {
++                  linep = &ROW(screen.cur.row - 1);
++                  tp = linep->t + ncol - 1;
++                  rp = linep->r + ncol - 1;
++                }
++
++              if (rp)
++                {
++                  // XXX: this font does not show up in iso-14755 mode for the space!?
++                  if (*tp == NOCHAR)
++                    {
++                      while (*tp == NOCHAR && tp > linep->t)
++                        tp--, rp--;
++
++                      // first try to find a precomposed character
++                      unicode_t n = rxvt_compose (*tp, c);
++                      if (n == NOCHAR)
++                        n = rxvt_composite.compose (*tp, c);
++
++                      *tp = n;
++                      *rp = SET_FONT (*rp, FONTSET (*rp)->find_font (*tp));
++                    }
++                  rend = SET_FONT (rstyle, GET_FONT(*rp));
++                }
++              else
++                rend = SET_FONT (rstyle, FONTSET (rstyle)->find_font (c));
++            }
++#endif
+ 
+           // if the character doesn't fit into the remaining columns...
+           if (ecb_unlikely (screen.cur.col > ncol - width && ncol >= width))
+@@ -2435,7 +2489,12 @@
+                 text--, count++, xpixel -= fwidth;
+ 
+               // force redraw after "careful" characters to avoid pixel droppings
+-              for (int i = 0; srp[col + i] & RS_Careful && col + i < ncol - 1; i++)
++              for (int i = 0; srp[col + i] & RS_Careful && col + i < ncol - 1
++#if ENABLE_WIDE_GLYPHS
++              // But not for spaces.
++                      && stp[col + i + 1] != ' '
++#endif
++                      ; i++)
+                 drp[col + i + 1] = srp[col + i + 1] ^ RS_redraw;
+ 
+               // force redraw before "careful" characters to avoid pixel droppings
+--- a/src/xdefaults.C
++++ b/src/xdefaults.C
+@@ -299,6 +299,9 @@
+ #if ENABLE_STYLES
+                                     "styles,"
+ #endif
++#if ENABLE_WIDE_GLYPHS
++                                    "wide-glyphs,"
++#endif
+ #if ENABLE_COMBINING
+                                     "combining,"
+ #endif

diff --git a/x11-terms/rxvt-unicode/metadata.xml b/x11-terms/rxvt-unicode/metadata.xml
index 875018610709..95d1fc3fc1bf 100644
--- a/x11-terms/rxvt-unicode/metadata.xml
+++ b/x11-terms/rxvt-unicode/metadata.xml
@@ -22,6 +22,8 @@
 		<flag name="mousewheel">Enable scrolling via mouse wheel or buttons 4 and 5</flag>
 		<flag name="perl">Enable perl script support. You can still disable this at runtime with -pe ""</flag>
 		<flag name="unicode3">Use 21 instead of 16 bits to represent unicode characters</flag>
+		<flag name="wide-glyphs">Enable *unofficial* support for wide glyphs, required for certain
+			symbol/icon fonts to display correctly</flag>
 	</use>
 	<upstream>
 		<remote-id type="cpe">cpe:/a:rxvt-unicode:rxvt-unicode</remote-id>

diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.31-r1.ebuild b/x11-terms/rxvt-unicode/rxvt-unicode-9.31-r1.ebuild
new file mode 100644
index 000000000000..477151ddcb35
--- /dev/null
+++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.31-r1.ebuild
@@ -0,0 +1,124 @@
+# 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
+)
+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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: x11-terms/rxvt-unicode/files/, x11-terms/rxvt-unicode/
@ 2023-07-11  8:38 Marek Szuba
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Szuba @ 2023-07-11  8:38 UTC (permalink / raw
  To: gentoo-commits

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
+}


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-07-11  8:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-30  9:08 [gentoo-commits] repo/gentoo:master commit in: x11-terms/rxvt-unicode/files/, x11-terms/rxvt-unicode/ Marek Szuba
  -- strict thread matches above, loose matches on Subject: below --
2023-07-11  8:38 Marek Szuba
2021-05-18 15:50 Marek Szuba
2021-04-16 18:25 Marek Szuba
2020-12-08  9:50 Marek Szuba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox