commit: 8474651a0e97de1abbccea831d0dbb3b41aefe57 Author: Jory A. Pratt <anarchy <AT> gentoo <DOT> org> AuthorDate: Tue Jan 5 14:21:16 2016 +0000 Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org> CommitDate: Tue Jan 5 14:21:16 2016 +0000 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=8474651a
x11-terms/rxvt - disable utmp/wtmp as it is not supported with musl x11-terms/rxvt-unicode/Manifest | 10 ++ .../files/rxvt-unicode-9.05_no-MOTIF-WM-INFO.patch | 33 +++++ .../rxvt-unicode-9.06-case-insensitive-fs.patch | 10 ++ .../files/rxvt-unicode-9.06-font-width.patch | 21 ++++ .../rxvt-unicode-9.06-no-urgency-if-focused.diff | 15 +++ .../files/rxvt-unicode-9.06-popups-hangs.patch | 13 ++ .../files/rxvt-unicode-9.14-clear.patch | 25 ++++ .../files/rxvt-unicode-9.19-secondary-wheel.patch | 123 +++++++++++++++++++ .../files/rxvt-unicode-9.21-xsubpp.patch | 11 ++ x11-terms/rxvt-unicode/rxvt-unicode-9.21.ebuild | 136 +++++++++++++++++++++ 10 files changed, 397 insertions(+) diff --git a/x11-terms/rxvt-unicode/Manifest b/x11-terms/rxvt-unicode/Manifest new file mode 100644 index 0000000..ef9de5c --- /dev/null +++ b/x11-terms/rxvt-unicode/Manifest @@ -0,0 +1,10 @@ +AUX rxvt-unicode-9.05_no-MOTIF-WM-INFO.patch 1230 SHA256 59eb0b72ef05be7e7d9071ec5f05a349359768daa3c5893b14917c50e5e10175 SHA512 233e9af5179468f74c4c0c5dfffe9d41bcd270561354f1feec59feb8a50c12d3d79ac3a5e117c46e24b3eed5c0f62697a440d2fac26b4effdd64b3ceb98302af WHIRLPOOL f3735da4c7645f18531cf4e4b8344bbcbd5e625f5f227552573245e1309b7580f3514ee7eaca971e342d1d06b9a89474301a54be4129d26fe780119c81c32e29 +AUX rxvt-unicode-9.06-case-insensitive-fs.patch 234 SHA256 96ff0afbaa422bff290525c7ed42f3c25ce4c76a3148eec8f49bf33d2feebdc0 SHA512 7c2fb924320d825cd10bb1207db381351167ece2e2470291424355304bf9e6c86022c19021d5f5e615a650f09608f452df13a966cacd1d87d72d300bd2b440e7 WHIRLPOOL e1ef74688a173780063a04e9fbaf6ef795ff0630a6eef3ce321e1d631cf9e450b9af4487f2bbb27817f244e941f637d1a2fef35168705922170452a03b627b5d +AUX rxvt-unicode-9.06-font-width.patch 790 SHA256 fc241d7c11b86f589f41a0f488e8f04875ca6ca937e57bc2347c19dff423a38a SHA512 d2fb68b3e11a78328ded4d2d646ffbaae657e9f23f3b4b81e11bc4350dd3e1e7585eeaeee47a70246bdfb7e12fbb667e40a7766989154235064f56ed4ad0a987 WHIRLPOOL 470399ecdbbb08e13c04d4ca6d814ea4798d0e38f73a2b206e228d4beaef72a03717e0ca267d25b7aa1f9ba28a4af905f6c5b24ed4c0c716fa65b34f171233ef +AUX rxvt-unicode-9.06-no-urgency-if-focused.diff 287 SHA256 00fc63035890be675e6485277053c8bd0ba4b2253f81af15741a79c5f259fa79 SHA512 3f270ac762c82e678c023e370c1b2ee2fbc1e505243a8aeb91ebcfa70917d0a28c2346657dd75b2fc5869ff1831b23798a292d92c30faebb3acdb29575416025 WHIRLPOOL 30f17087bd0c508d5611305047341299343ae63e9c10890188cd87d833040b93dbdf265b4eb6b32e0d4fcd0b83e34192521dea090a236fd903fc567a8cdd14cc +AUX rxvt-unicode-9.06-popups-hangs.patch 447 SHA256 34126249d44f55aa74e7b0929994821543fe2d0ec2d789496344a23426532642 SHA512 2f544e686e0e07185ef5bb13c4a511aa417a76b52657ec9d56aed71ea29da28c0fbf7023a2a14690c27660474b4d1c562a5ce6af1111cdaaeec7ea8956bd7055 WHIRLPOOL 983444a94aaa8747f738041d2f3ad4185074a8144d7cd2cab7ec161a1f24345091e1f12a684be002e64b0be5a6901d0c8fad068096034fd2e720eb1eb7ce3fa2 +AUX rxvt-unicode-9.14-clear.patch 937 SHA256 c1010b15d74f56671351e8314264d76f638230e94d4e334691af29a9353a9540 SHA512 fcec6a10359939b6aa9263c5e175893477115ea0e28971283859d3c891fa8f66247dea908883bc712aa044648ef2abb8749697229ea8375dbbc2ca851b0ae527 WHIRLPOOL a3f430b81d46d55c15173ea94d5f30c87b3d023ae1e4d767ef64f36253006d41bad3b3620bea156be23be976fe5f4142aa518ced531e335a8c118bb38cb773e4 +AUX rxvt-unicode-9.19-secondary-wheel.patch 5009 SHA256 1fcc9ecb433fe4ab7568d2ac66199ad112b2f5d685489b7f5fd8b4a9dbf3827a SHA512 adf2b3e48041fddec1ebd617e5d15226d40bfa55e9fb57af3d70084ef44d1110641f393921932c0613a03fe9cba34cf78f0e022b56c522610fc5cd8e24ec0db9 WHIRLPOOL 3a7d0231f843b3949cbfe274c4d95bc8d0041e9258b2cad04a9ec39155d5ed6ed3957453c1a6980e47d133a94cc2fc504e4bddfdb74e0b9345b9d34390a8c07a +AUX rxvt-unicode-9.21-xsubpp.patch 640 SHA256 845d753be1c61a881344700f4b5b2e4e21f2d49f04f5c80350d4c8d7f2834992 SHA512 70f4c5cb7b6a440f009f693c4dc2f8595051e198250d375cd18704c35059596d77938a3d062740bd26f947bfebdb67ea7d46f59f8cbf08fc73193a62267723ec WHIRLPOOL af26cf6e4da79ee73f4d346bb410a863d075223e4ab410532ac41c3de5ea6188ba6a3fb06183065c429d2335caae932a5e46f0071a55e2ba920dcf13260e67b0 +DIST rxvt-unicode-9.21.tar.bz2 925293 SHA256 75270ed72bc5895a64a1d7392bf45a622204192371c3965bd3dd978dc088956b SHA512 d50adf6b1e6ae3b13492b4f40455d3a56bb174a7c6db4d4525a1277736994adfb74a2cd1e7d3e8a8cfdc4509a9ae32c05a627829e295dc1bd4a5ba7cc2f80776 WHIRLPOOL 92499cfa0ca154d3cbe1d7b6525e01de6a5d14677a28c605a6b676c88f1d9bc0f6cd663a1f1d8b003ac7cc46a9c6fbe49ff9adc7b3dd63eb345c80de9038a6ad +EBUILD rxvt-unicode-9.21.ebuild 3912 SHA256 89df90c3666f917fc1ced63cfdc03159ad23af60e30c114c97edc765974d165d SHA512 0fa774447e34a0c8643349224a7b5ad6695e006b95a8063b616aa912eda28486f9c4c2586e58889f139d4cd9fddd2eac0cdd5ebc61d84d661868cf2f76180ae8 WHIRLPOOL 3b21a32005d3a20eb938dafb33997851cf11f6e12d99bebe729e8d23311fc5e6e9f3b70f5a3a6b2eddd7d4dbc9beb5890943d26e284ba6e681498b15dd839c1b diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.05_no-MOTIF-WM-INFO.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.05_no-MOTIF-WM-INFO.patch new file mode 100644 index 0000000..0e8d256 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.05_no-MOTIF-WM-INFO.patch @@ -0,0 +1,33 @@ +While setting MWM_HINTS_DECORATIONS to disable window decorations +seems to work with most window managers, using _MOTIF_WM_INFO seems +not to, and in some cases can lead to severe problems with focus +management. Therefore this patch here disables the _MOTIF_WM_INFO +check and always attempts to have the window manager honour the +decorations hint. + +If your window manager does not honour MWM_HINTS_DECORATIONS, and you +are determined that you want to have borderless windows nevertheless, +you are still free to enable override-redirect manually, using the +corresponding command line option or X resource. + +See also: http://bugs.gentoo.org/show_bug.cgi?id=237271 +2008-09-10 Martin von Gagern + +--- a/src/init.C 15 Jul 2008 16:41:22 -0000 1.253 ++++ b/src/init.C 10 Sep 2008 08:07:09 -0000 +@@ -1078,15 +1078,7 @@ + #if ENABLE_FRILLS + if (option (Opt_borderLess)) + { +- if (XInternAtom (dpy, "_MOTIF_WM_INFO", True) == None) +- { +- // rxvt_warn("Window Manager does not support MWM hints. Bypassing window manager control for borderless window.\n"); +- attributes.override_redirect = true; +- } +- else +- { + mwmhints.flags = MWM_HINTS_DECORATIONS; +- } + } + #endif + diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-case-insensitive-fs.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-case-insensitive-fs.patch new file mode 100644 index 0000000..49fa01a --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-case-insensitive-fs.patch @@ -0,0 +1,10 @@ +Avoid "make: `install' is up to date." on case insensitive filesystems + +--- Makefile.in ++++ Makefile.in +@@ -86,3 +86,5 @@ + dist: tar.bz2 + + # ------------------------------------------------------------------------ ++ ++.PHONY: install diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-font-width.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-font-width.patch new file mode 100644 index 0000000..2c80333 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-font-width.patch @@ -0,0 +1,21 @@ +--- a/src/rxvtfont.C 2008-07-09 12:21:45.000000000 +0400 ++++ b/src/rxvtfont.C 2009-10-30 14:32:53.000000000 +0300 +@@ -1195,12 +1195,14 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + +- g.width -= g.x; +- ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ */ + int wcw = WCWIDTH (ch); +- if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; + +- if (width < g.width ) width = g.width; + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-no-urgency-if-focused.diff b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-no-urgency-if-focused.diff new file mode 100644 index 0000000..3408d73 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-no-urgency-if-focused.diff @@ -0,0 +1,15 @@ +--- a/src/screen.C ++++ b/src/screen.C +@@ -1927,11 +1927,11 @@ + # endif + XMapWindow (dpy, parent[0]); + # endif + + # if ENABLE_FRILLS +- if (option (Opt_urgentOnBell)) ++ if (option (Opt_urgentOnBell) && !focus) + set_urgency (1); + # endif + + if (option (Opt_visualBell)) + { diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-popups-hangs.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-popups-hangs.patch new file mode 100644 index 0000000..cad5a79 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.06-popups-hangs.patch @@ -0,0 +1,13 @@ +--- a/src/rxvtperl.xs 30 May 2009 08:51:23 -0000 1.127 ++++ b/src/rxvtperl.xs 30 Jul 2009 22:19:33 -0000 +@@ -929,7 +929,9 @@ + rxvt_term::grab (Time eventtime, int sync = 0) + CODE: + { +- int mode = sync ? GrabModeSync : GrabModeAsync; ++ // TA: 20090730: Always assume Async mode here -- recent Xorg ++ // Servers don't appreciate being put in Sync mode. ++ int mode = GrabModeAsync; + + THIS->perl.grabtime = 0; + diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch new file mode 100644 index 0000000..050907c --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch @@ -0,0 +1,25 @@ +store visible lines to buffer before clearing the screen when pressing ctrl-l + +patch by rlblaster +https://bbs.archlinux.org/viewtopic.php?id=129302 + +--- a/src/command.C ++++ b/src/command.C +@@ -2932,6 +2932,17 @@ + + case CSI_CUP: /* 8.3.21: (1,1) CURSOR POSITION */ + case CSI_HVP: /* 8.3.64: (1,1) CHARACTER AND LINE POSITION */ ++ if (nargs == 1 && current_screen == 0) ++ { ++ // This is usually followed with clear screen so add some extra ++ // lines to avoid deleting the lines already on screen. If we are ++ // already at the top, add an extra screen height of lines. ++ int extra_lines = nrow-1; ++ if (screen.cur.row == 0) ++ extra_lines += nrow; ++ for (int i = 0; i < extra_lines; ++i) ++ scr_add_lines (L"\r\n", 2); ++ } + scr_gotorc (arg[0] - 1, nargs < 2 ? 0 : (arg[1] - 1), 0); + break; + diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch new file mode 100644 index 0000000..3a4d4a4 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.19-secondary-wheel.patch @@ -0,0 +1,123 @@ +secondary wheel support: +when using the mouse wheel, if you’re on secondary screen then no scrolling +will occur, and instead some (3, to be exact) “fake” keystrokes will be sent to +the running application. + +patch by jacky [email protected] +http://lists.schmorp.de/pipermail/rxvt-unicode/2011q4/001491.html + +diff -r d5f9ea7306c4 -r cca1997c1a85 doc/rxvt.1.pod +--- a/doc/rxvt.1.pod Wed Dec 21 22:59:04 2011 +0100 ++++ b/doc/rxvt.1.pod Wed Dec 21 23:01:28 2011 +0100 +@@ -455,6 +455,11 @@ + Turn on/off secondary screen scroll (default enabled); resource + B<secondaryScroll>. + ++=item B<-ssw>|B<+ssw> ++ ++Turn on/off secondary screen wheel support (default disabled); resource ++B<secondaryWheel>. ++ + =item B<-hold>|B<+hold> + + Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ +@@ -1167,6 +1172,13 @@ + scrollback buffer and, when secondaryScreen is off, switching + to/from the secondary screen will instead scroll the screen up. + ++=item B<secondaryWheel:> I<boolean> ++ ++Turn on/off secondary wheel (default disabled). If enabled, when on ++secondary screen, using the mouse wheel will not scroll in the buffer ++but instead send 3 "fake" keystrokes (Up/Down arrow) to the running ++application (allows e.g. natural scrolling in B<man>, B<less>, etc). ++ + =item B<hold>: I<boolean> + + Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ +diff -r d5f9ea7306c4 -r cca1997c1a85 src/command.C +--- a/src/command.C Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/command.C Wed Dec 21 23:01:28 2011 +0100 +@@ -2197,10 +2197,46 @@ + } + else + # endif ++#ifndef NO_SECONDARY_SCREEN + { +- scr_page (dirn, lines); +- scrollBar.show (1); ++ /* on SECONDARY screen, we send "fake" UP/DOWN keys instead ++ * (this allows to scroll within man, less, etc) */ ++ if (option (Opt_secondaryWheel) && current_screen != PRIMARY) ++ { ++ XKeyEvent event; ++ event.display = ev.display; ++ event.window = ev.window; ++ event.root = ev.root; ++ event.subwindow = ev.subwindow; ++ event.time = ev.time; ++ event.x = ev.x; ++ event.y = ev.y; ++ event.x_root = ev.x_root; ++ event.y_root = ev.y_root; ++ event.same_screen = ev.same_screen; ++ event.state = 0; ++ event.keycode = XKeysymToKeycode(ev.display, ++ (dirn == UP) ? XK_Up : XK_Down); ++ for (lines = 0; lines < 3; ++lines) ++ { ++ event.type = KeyPress; ++ XSendEvent (event.display, event.window, True, ++ KeyPressMask, (XEvent *) &event); ++ event.type = KeyRelease; ++ XSendEvent (event.display, event.window, True, ++ KeyPressMask, (XEvent *) &event); ++ } ++ } ++ /* on PRIMARY screen, we scroll in the buffer */ ++ else ++#endif ++ { ++ scr_page (dirn, lines); ++ scrollBar.show (1); ++ } ++#ifndef NO_SECONDARY_SCREEN + } ++#endif + } + break; + #endif +diff -r d5f9ea7306c4 -r cca1997c1a85 src/optinc.h +--- a/src/optinc.h Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/optinc.h Wed Dec 21 23:01:28 2011 +0100 +@@ -26,6 +26,7 @@ + def(cursorBlink) + def(secondaryScreen) + def(secondaryScroll) ++ def(secondaryWheel) + def(pastableTabs) + def(cursorUnderline) + #if ENABLE_FRILLS +diff -r d5f9ea7306c4 -r cca1997c1a85 src/rsinc.h +--- a/src/rsinc.h Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/rsinc.h Wed Dec 21 23:01:28 2011 +0100 +@@ -102,6 +102,7 @@ + #ifndef NO_SECONDARY_SCREEN + def (secondaryScreen) + def (secondaryScroll) ++ def (secondaryWheel) + #endif + #ifdef OFF_FOCUS_FADING + def (fade) +diff -r d5f9ea7306c4 -r cca1997c1a85 src/xdefaults.C +--- a/src/xdefaults.C Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/xdefaults.C Wed Dec 21 23:01:28 2011 +0100 +@@ -261,6 +261,7 @@ + #ifndef NO_SECONDARY_SCREEN + BOOL (Rs_secondaryScreen, "secondaryScreen", "ssc", Opt_secondaryScreen, 0, "enable secondary screen"), + BOOL (Rs_secondaryScroll, "secondaryScroll", "ssr", Opt_secondaryScroll, 0, "enable secondary screen scroll"), ++ BOOL (Rs_secondaryWheel, "secondaryWheel", "ssw", Opt_secondaryWheel, 0, "enable secondary screen wheel"), + #endif + #if ENABLE_PERL + RSTRG (Rs_perl_lib, "perl-lib", "string"), //, "colon-separated directories with extension scripts"),TODO diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.21-xsubpp.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.21-xsubpp.patch new file mode 100644 index 0000000..1d71e96 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.21-xsubpp.patch @@ -0,0 +1,11 @@ +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -136,7 +136,7 @@ + $(PERL) -MExtUtils::Embed -e xsinit -- -std urxvt + + rxvtperl.C: rxvtperl.xs iom_perl.h iom_perl.xs typemap typemap.iom +- PERL="$(PERL)" $(PERL) @PERLPRIVLIBEXP@/ExtUtils/xsubpp -C++ -typemap @PERLPRIVLIBEXP@/ExtUtils/typemap -typemap 'typemap.iom' -typemap 'typemap' -prototypes $(srcdir)/rxvtperl.xs >$@ ++ PERL="$(PERL)" $(PERL) /usr/bin/xsubpp -C++ -typemap @PERLPRIVLIBEXP@/ExtUtils/typemap -typemap 'typemap.iom' -typemap 'typemap' -prototypes $(srcdir)/rxvtperl.xs >$@ + + rxvtperl.o: rxvtperl.C perlxsi.c + $(COMPILE) $(PERLFLAGS) -DLIBDIR="\"$(libdir)/urxvt\"" -c $< diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.21.ebuild b/x11-terms/rxvt-unicode/rxvt-unicode-9.21.ebuild new file mode 100644 index 0000000..4029acd --- /dev/null +++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.21.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +inherit autotools eutils + +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" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris" +IUSE=" + 256-color alt-font-width blink buffer-on-clear +focused-urgency + fading-colors +font-styles iso14755 +mousewheel +perl pixbuf secondary-wheel + startup-notification xft unicode3 +vanilla wcwidth +" + +RDEPEND=" + >=sys-libs/ncurses-5.7-r6 + kernel_Darwin? ( dev-perl/Mac-Pasteboard ) + media-libs/fontconfig + perl? ( dev-lang/perl:= ) + pixbuf? ( x11-libs/gdk-pixbuf x11-libs/gtk+:2 ) + startup-notification? ( x11-libs/startup-notification ) + x11-libs/libX11 + x11-libs/libXrender + xft? ( x11-libs/libXft ) +" +DEPEND=" + ${RDEPEND} + virtual/pkgconfig + x11-proto/xproto +" + +RESTRICT="test" +REQUIRED_USE="vanilla? ( !alt-font-width !buffer-on-clear focused-urgency !secondary-wheel !wcwidth )" + +src_prepare() { + # fix for prefix not installing properly + epatch \ + "${FILESDIR}"/${PN}-9.06-case-insensitive-fs.patch \ + "${FILESDIR}"/${PN}-9.21-xsubpp.patch + + if ! use vanilla; then + ewarn "You are going to include unsupported third-party bug fixes/features." + ewarn "If you want even more control over patches, then set USE=vanilla" + ewarn "and store your patch set in /etc/portage/patches/${CATEGORY}/${PF}/" + + use wcwidth && epatch doc/wcwidth.patch + + # bug #240165 + use focused-urgency || epatch "${FILESDIR}"/${PN}-9.06-no-urgency-if-focused.diff + + # bug #263638 + epatch "${FILESDIR}"/${PN}-9.06-popups-hangs.patch + + # bug #237271 + epatch "${FILESDIR}"/${PN}-9.05_no-MOTIF-WM-INFO.patch + + # support for wheel scrolling on secondary screens + use secondary-wheel && epatch "${FILESDIR}"/${PN}-9.19-secondary-wheel.patch + + # ctrl-l buffer fix + use buffer-on-clear && epatch "${FILESDIR}"/${PN}-9.14-clear.patch + + use alt-font-width && epatch "${FILESDIR}"/${PN}-9.06-font-width.patch + fi + + # kill the rxvt-unicode terminfo file - #192083 + sed -i -e "/rxvt-unicode.terminfo/d" doc/Makefile.in || die "sed failed" + + epatch_user + + eautoreconf +} + +src_configure() { + local myconf='' + + use iso14755 || myconf='--disable-iso14755' + + econf --enable-everything \ + $(use_enable 256-color) \ + $(use_enable blink text-blink) \ + $(use_enable fading-colors fading) \ + $(use_enable font-styles) \ + $(use_enable mousewheel) \ + $(use_enable perl) \ + $(use_enable pixbuf) \ + $(use_enable startup-notification) \ + $(use_enable xft) \ + $(use_enable unicode3) \ + --disable-utmp \ + --disable-wtmp \ + ${myconf} +} + +src_compile() { + emake || die "emake failed" + + sed -i \ + -e 's/RXVT_BASENAME = "rxvt"/RXVT_BASENAME = "urxvt"/' \ + "${S}"/doc/rxvt-tabbed || die "tabs sed failed" +} + +src_install() { + default + + dodoc \ + README.FAQ Changes doc/README* doc/changes.txt doc/etc/* doc/rxvt-tabbed + + make_desktop_entry urxvt rxvt-unicode utilities-terminal \ + "System;TerminalEmulator" +} + +pkg_postinst() { + if use buffer-on-clear; then + ewarn "You have enabled the buffer-on-clear USE flag." + ewarn "Please note that, although this works well for most prompts," + ewarn "there have been cases with fancy prompts, like bug #397829," + ewarn "where it caused issues. Proceed with caution." + ewarn " (keep this terminal open until you make sure it works)" + fi + if use secondary-wheel; then + elog "You have enabled the secondary-wheel USE flag." + elog "This allows you to scroll in secondary screens" + elog "(like mutt's message list/view or nano) using the mouse wheel." + elog + elog "To actually enable the feature you have to add" + elog " URxvt*secondaryWheel: true" + elog "in your ~/.Xdefaults file" + fi +}
