summaryrefslogtreecommitdiff
path: root/x11-terms/rxvt-unicode
diff options
context:
space:
mode:
Diffstat (limited to 'x11-terms/rxvt-unicode')
-rw-r--r--x11-terms/rxvt-unicode/Manifest4
-rw-r--r--x11-terms/rxvt-unicode/files/rxvt-unicode-9.31-enable-wide-glyphs.patch264
-rw-r--r--x11-terms/rxvt-unicode/metadata.xml2
-rw-r--r--x11-terms/rxvt-unicode/rxvt-unicode-9.31-r1.ebuild124
4 files changed, 393 insertions, 1 deletions
diff --git a/x11-terms/rxvt-unicode/Manifest b/x11-terms/rxvt-unicode/Manifest
index 36dc78598376..cd098e748b7b 100644
--- a/x11-terms/rxvt-unicode/Manifest
+++ b/x11-terms/rxvt-unicode/Manifest
@@ -1,5 +1,6 @@
AUX rxvt-unicode-9.06-case-insensitive-fs.patch 238 BLAKE2B 887eec8ec419900765ede1a8b75ea0acde945275af0e524e4382610a40d1e42b2f0be9879bf7c25cb00da6ae410e554567efdcc2f43ceff52e37c44060e6c4a7 SHA512 5257b1d33e25a6a390da2f23100fc3a2b8dcc4787205273933c2ba64ecf72e663cdc0cb86273a1ffa1a87b04bbeeff9edbc8c028c521ae612722f21cf6c40762
AUX rxvt-unicode-9.21-xsubpp.patch 640 BLAKE2B 51b9f626436153239ca98df1094c5bbadaca463cf3624d39094cf5dce75a42c23568584292cd55b891439a45bc7d9e3fbf098ec80743b44267e6c3c1d0b339ca SHA512 70f4c5cb7b6a440f009f693c4dc2f8595051e198250d375cd18704c35059596d77938a3d062740bd26f947bfebdb67ea7d46f59f8cbf08fc73193a62267723ec
+AUX rxvt-unicode-9.31-enable-wide-glyphs.patch 7669 BLAKE2B 5d9c87bcedf96a117a2defafa63cc20ee7001a123e802e675956cee5be9232b9f83d6036ac2bde3164148527e0daf728f92a1e04834660a4fc00c4b3ef3b612a SHA512 0091479f1f8e8c2721555e72f5f46297c8a3daa8d44da7cebba7de88860c15ed40d3555f7260baf172463af1a0a5e52e2321f26607968ab932e6ad0ef4b23a0a
AUX urxvtd.service 145 BLAKE2B 9199c81f02ff161caf6f72bac95808d4ba584bf09fb68cf7fef1bdf883873fe360816d8736835987a61c1cf0ac1be469aa47f2b74e96d8215a3ac17de896d6a5 SHA512 a77606d11e80c8d117917ab34a6d2ca430c667372ee713cf8519e49df4d972f289399d49bd808a9d31fa343d11c2fd2eb761b813be3f2892784d1dd9c281fc38
AUX urxvtd.socket 133 BLAKE2B d685c78de25a3f2d661f180a6a5cc227c500e873dab049587f0742330910c3867f60871a96a237787d85f66b8999b397281b36ed9b92bda2422e1e2295accfee SHA512 20c7d7a00bd41deefb738b6795ecbea8098ec81d3356cceab4de39408de3552d385fc48ef74a087f3724d436b77de54adb67d0858a0949b9595820ee3d9cf7e4
DIST rxvt-unicode-9.29_24-bit-color_aur-9.26-20210712.patch.xz 7568 BLAKE2B 8ea5d813e00fd4012d145acf70e3d9b0974dddffd203fbec4bf06a0da1c9368ec316fc2903dccae3a5d71d684fd93b2a09ed208f26be1e85f77c702494db4e54 SHA512 baa226ca9adf6025a72dea925ec3be16186502bb4aab21dd61ef1f7c3e2eb793e7a1dc9619ed8228166758daa2879a465da2ace3f3b14545808955388bd2b74b
@@ -7,5 +8,6 @@ DIST rxvt-unicode-9.30.tar.bz2 877186 BLAKE2B 645164e37e9e484c66f5047836689e4e47
DIST rxvt-unicode-9.31.tar.bz2 880148 BLAKE2B 439a8c33b7260e0f2fd68b8a4409773c06c3bb7623b5dfbbb0742cc198c9fd25e8a247907878639db5fac3dcd3b6be3d839347787bcf08ca602ae246607f750b SHA512 4d14ecbbb62de1b1c717277f5aae5cfb536e11392f2d4b82c884c1713f437fce8e9dd69a328fa353a55d068d8ee4121a31900f45191acec172d5dc76652b6255
DIST rxvt-unicode-9.31_24-bit-color_aur-9.31-20239117.patch.xz 7776 BLAKE2B 88c12e2db38991fc6c7909950aade09a8c089d93980535af5a602d40cb4712aaa97f659c67e49b52abb71e6d0e2b8279f3d9a6d66654cdf68dde68bf64279873 SHA512 dfc0388138f35345c0c80df0a392c28a52a03d008ca336999369522031898813046c314c1e4ec9a81fea41b81d3230f5ca09d47b84ef04c0f6da98c559812a16
EBUILD rxvt-unicode-9.30.ebuild 3145 BLAKE2B ae9a724890c509be829d08bf2ece1866d9349ef73f230824b4bd3d85a3ab60b90e0bfe55675331a29a6f8f9e6c0be32456e5b22a6d6d8a3bc3cc795a6d955d0d SHA512 a25dfd7fda969c95f33c557df48c5fade51ab40d77a8e5a2a79891e107daab881c18856b680e170e555b3b95920a5a1acd5b0517fd8192a33cf9983c700cea0a
+EBUILD rxvt-unicode-9.31-r1.ebuild 3452 BLAKE2B b8fc2d636ebc47ca41c16f4a3979f86cf841ef8c5da5e9c650adfe8f50dcc85b258514643b4df10026b399cc8ba321928ccf29a7ff092df5e59d513594e4f759 SHA512 2a054d752f70723db97a0a766f94af8026f051c39ea61bfc4eb3619f9e14ba5ea8d951b4b0d8b55a6f4fefd1b714c8a3c45b7b6e48576886f75ad4c3dffb5b6c
EBUILD rxvt-unicode-9.31.ebuild 3060 BLAKE2B 785c25ec432562337806a8fc106007877107c15503f9858a4b05d4a9adf6c9e929e23dadfd4f6658bcb380743b314c28122f3e08aaf64df587e1e547e3d6ba74 SHA512 6def722d1fb3f0a11af59ff2dee83bfc717d59ef0ffad5e7cfa59daeff46fa93945cf27b82f5e099b421adb75fbb721727aea22deb08375cd42270957fed29bd
-MISC metadata.xml 1483 BLAKE2B 0b1ff5db1ccf4276d822923c1140ed9ac7509c5173cb132013749104fd3ba59278239de3097f2fdd7511e1a6c42406673e0b43b4242879c2cf78cdb6b8a1aef3 SHA512 ff7c2255e05af9d8c25c1c754f8e6f77983cb636900eb151f976a2289969a56587a9100fe656fdd0d946cace26aa836042e1808be5a74aa93dcaed03fea701a0
+MISC metadata.xml 1625 BLAKE2B 1599f8b70a1c67b5af39fc8d33aee918ca1c90523aee4873f258ffc37deeb453fe6cd9e3d33080d6135423b8e48e3f3ab40e8bf58256002deb1764d33fb3ba75 SHA512 fd630ed236bcf83bb0a3d4f535b8aa65e23945104287bf2e1e9240991b0d78af569dfc006848afc6db9824082e490ed713e52b125e2ed273ecbf39893a97e97a
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
+}