Disabling mouse for x11-terms/rxvt-unicode and x11-libs/vte

This commit is contained in:
Alarig Le Lay 2020-02-09 12:14:28 +01:00
parent 68023e5874
commit d9aff94e0c
17 changed files with 845 additions and 0 deletions

11
x11-libs/vte/Manifest Normal file
View File

@ -0,0 +1,11 @@
AUX vte-0.28.2-interix.patch 1566 BLAKE2B 1d6b4b7cfc1fee464779e3efb8de09554c9e52f562d90d280e03493f01d8f44e468260b4c92327006a2358688414cf04d9639eea1162808597c590eeb6c21af0 SHA512 f02574f96355c6cedde05d0877d3bf50e7777d210484a80b6e95e597b0bb225f5968649e67f67d7f112f50302ae6566e4f3d8c59d7a5b65fc95601cac00868d7
AUX vte-0.28.2-limit-arguments.patch 1477 BLAKE2B 329e8eb93156244526ebe3ccb3c2a75234da7a57a994c2c1b42e283a65011d6245133f858778571efefec18bf18bc7db9afe5aeded0df0cec35a72a31507671b SHA512 e5639d94fd455195c354d03cab04bbb73eff98bc540c813cccf4ab5eb793f4c8ae645fcf2bd502924ed4d38412101341deaf2d28ea8aaea3530a98ffbba8256d
AUX vte-0.28.2-repaint-after-change-scroll-region.patch 3817 BLAKE2B d57f20415193bf9bc283399bcae4e3c2a23ff7f2f8ffee08e8a67c3af2956b137f788322e26bf2537e785c0d0ce6266b56269abe5a18e2e881ea548b5c1b4625 SHA512 46a54c96889c3a0c5a293a097f777dd2e24e5a3025b808d7fb0bbfe71e8938f7d30ba26a05e67cb6b63ad59719eace57d0f6e0ff9f2860fbe9f12c36e022b8ec
AUX vte-0.30.1-alt-meta.patch 2490 BLAKE2B b5046bea09bb7fee5f03eaaa0c88f88a9e05c3d4f97fa8d6b4ecfbaec8a35bf1989c0461c1ec1d31e1b22c9d35688775a30f34134028bcd4fdcae1b7d40129c4 SHA512 69ed3038f3dcbbd09709667caff5692e4e11e30926bc7692cdbbdef2bb1ae4584ef64b824b5afcb3c57c237a3c0db4d9588ec36778d0994a546b1e6f74c2e430
AUX vte-0.56.4-disable-mouse.patch 1021 BLAKE2B 9c034d8109f3d37f02b9e73c2891f9c1e8ce13ef0b6bbd158cd928ecfc0a082f1f0e25c66e897bb7451102d90fe4830340ac08358d6e5be3b69b98dbca0311d9 SHA512 3a706f95e19b0e031c1537dbc6cb9af1e32998140b508e6caac99968629513ec5c7cd9f1716a3ac30af7fff7c9de18312321888f3dacf308e77213003524eae6
DIST vte-0.28.2.tar.xz 962340 BLAKE2B 1e4b5977962265be77917ccfc9118ed93232c03d7a16b6c08a27e721fe71f8c1dd1783a439530d7b3d915111cb8cc78281f1e9e351d6a83edd31f224309ca1e9 SHA512 d6a50481aaa8946cca3779e0b328fef551be534d70366a75385d1f8ead3fcddec57bed85c7d4bc2d9f34546532129e63083aafa33cbb0efcbc7dc9d66e7c45f6
DIST vte-0.54.1-command-notify.patch.xz 3428 BLAKE2B 75b0c22720276300be2e49e8444aa68fed77fb7a6cc6b0e93a5c2d41257626bd60ff1084d68579769cb3d85e7ec567927591746de48e860b138d0c1f24f64cc7 SHA512 a53da569f8168c8e9e21e186dcfc00bf9fdb78a0c767ba35033c1c1e4f836406b4d9bf70ee3e071f6c749fd6f72101a6960d201617bd0bc23021e1eeaac6fd0c
DIST vte-0.56.4.tar.xz 1100952 BLAKE2B 3c3ec69f4078bdb07a4501df4aeb31aaeb7f9fa5a4631152d486fbb2c950362612cd9dff4abe25b93da6c712a37a20ccbf050ad33d96ec7b997bb1409189f60b SHA512 5a6c79b30f07c1f5848ef59028864d893cc605b9ad8f49ae819958aaed962d2ff96baad379f126381b8bf00015003c5a6dc28c792e4e050ba35090338bd7dabb
EBUILD vte-0.28.2-r208.ebuild 2953 BLAKE2B 2c03f83d8daa49eaf5c603d0c51c415e26636ca0f1087fe833ce577d5b9e333307c8c2b03b56547df401176b8a7dad22ca6d038d1800712f62feef7d0da7dd8f SHA512 f57bc271c20e7994675aeadba91d00e36efd73d55efb4b7c6c558955877385539a0db28614ad6e1fe19906c60e79b20ce885cb41218bb8c2c4600b2ebd510b0e
EBUILD vte-0.56.4.ebuild 2360 BLAKE2B 696679e08bf439e4c5e8b98719a1167e7789e461aaba705366ca504049498a76ec29b36dc73b3c24f7eb921a8d218798b4bc52a3eee0bcad681b1686ed4af828 SHA512 2741e02aec7d5315dad0eb72ba8fad6515c73fcfaa282dfae3e0f57b012852cba4fb51c24f294d0f962ed328cf0e36699c45ad0fce5c5486a6abc125c670c9a5
MISC metadata.xml 348 BLAKE2B 3bf56ab8eced6c72e3d4dcb9979464b9652010b09d6576da3f1b9061f92b508d9bfa11ae081083ff07b2d7ec05c8e72123e25d6ec8c6edfa738b241a9f4339cb SHA512 3e3da8172df02c72e955968530e757124b502cb2b3ff750fdc3c52f28c763f22d918fa9b2f08da7d1b87bf3719e4cc726528c9496adde96eee3111f08a54d8d4

View File

@ -0,0 +1,51 @@
reported upstream: https://bugzilla.gnome.org/show_bug.cgi?id=652290
diff -ru vte-0.26.2.orig/configure.in vte-0.26.2/configure.in
--- vte-0.26.2.orig/configure.in 2011-08-17 08:30:55 +0200
+++ vte-0.26.2/configure.in 2011-08-17 08:35:42 +0200
@@ -362,7 +362,11 @@
AC_DEFINE(HAVE_RECVMSG,1,[Define if you have the recvmsg function.])
fi
AC_CHECK_FUNC(floor,,AC_CHECK_LIB(m,floor,LIBS=["$LIBS -lm"]))
-AC_CHECK_FUNCS([ceil floor])
+dnl if the first check didn't find floor, it caches the "no" value,
+dnl and doesn't recheck. this makes the below check fail always on
+dnl systems with floor in -lm. thus we unset the chached result.
+unset ac_cv_func_floor
+AC_CHECK_FUNCS([ceil floor round])
# Look for tgetent
--- vte-0.26.2.orig/configure 2012-04-30 20:02:55.000000000 +0200
+++ vte-0.26.2/configure 2012-04-30 20:03:16.000000000 +0200
@@ -13277,7 +13277,7 @@
fi
-for ac_func in ceil floor
+for ac_func in ceil floor round
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff -ru vte-0.26.2.orig/src/vte.c vte-0.26.2/src/vte.c
--- vte-0.26.2.orig/src/vte.c 2011-08-17 08:30:58 +0200
+++ vte-0.26.2/src/vte.c 2011-08-17 08:38:09 +0200
@@ -63,6 +63,18 @@
#include <locale.h>
#endif
+#ifndef HAVE_ROUND
+# if defined(HAVE_CEIL) && defined(HAVE_FLOOR)
+static inline double round(double x) {
+ if(x - floor(x) < 0.5) {
+ return floor(x);
+ } else {
+ return ceil(x);
+ }
+}
+# endif
+#endif
+
#if GTK_CHECK_VERSION (2, 90, 7)
#define GDK_KEY(symbol) GDK_KEY_##symbol
#else

View File

@ -0,0 +1,40 @@
From feeee4b5832b17641e505b7083e0d299fdae318e Mon Sep 17 00:00:00 2001
From: Christian Persch <chpe@gnome.org>
Date: Sat, 19 May 2012 17:36:09 +0000
Subject: emulation: Limit integer arguments to 65535
To guard against malicious sequences containing excessively big numbers,
limit all parsed numbers to 16 bit range. Doing this here in the parsing
routine is a catch-all guard; this doesn't preclude enforcing
more stringent limits in the handlers themselves.
https://bugzilla.gnome.org/show_bug.cgi?id=676090
---
diff --git a/src/table.c b/src/table.c
index 140e8c8..85cf631 100644
--- a/src/table.c
+++ b/src/table.c
@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
if (G_UNLIKELY (*array == NULL)) {
*array = g_value_array_new(1);
}
- g_value_set_long(&value, total);
+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
g_value_array_append(*array, &value);
} while (i++ < arginfo->length);
g_value_unset(&value);
diff --git a/src/vteseq.c b/src/vteseq.c
index 457c06a..46def5b 100644
--- a/src/vteseq.c
+++ b/src/vteseq.c
@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
GValueArray *params,
VteTerminalSequenceHandler handler)
{
- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
}
static void
--
cgit v0.9.0.2

View File

@ -0,0 +1,86 @@
https://git.gnome.org/browse/vte/commit/?id=88e8e89560a62d0981ce2b18974a230d0a07dbdd
From 88e8e89560a62d0981ce2b18974a230d0a07dbdd Mon Sep 17 00:00:00 2001
From: Micah Cowan <micah@cowan.name>
Date: Tue, 22 Oct 2013 23:30:43 +0200
Subject: widget: Fix invalidation region
When the sequence handler moves the cursor into the restricted scrolling region,
the bbox needs to be reset, too.
Fixes glitches with interspersing writes to the bottom line with scrolls of the
upper region, and also fixes missing screen redraws when using mosh.
https://bugzilla.gnome.org/show_bug.cgi?id=542087
https://bugzilla.gnome.org/show_bug.cgi?id=686097
diff --git a/src/vte.c b/src/vte.c
index 9f6d7d8..a4d9d25 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -4077,6 +4077,7 @@ vte_terminal_process_incoming(VteTerminal *terminal)
long wcount, start, delta;
gboolean leftovers, modified, bottom, again;
gboolean invalidated_text;
+ gboolean in_scroll_region;
GArray *unichars;
struct _vte_incoming_chunk *chunk, *next_chunk, *achunk = NULL;
@@ -4096,6 +4097,10 @@ vte_terminal_process_incoming(VteTerminal *terminal)
cursor = screen->cursor_current;
cursor_visible = terminal->pvt->cursor_visible;
+ in_scroll_region = screen->scrolling_restricted
+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
+
/* We should only be called when there's data to process. */
g_assert(terminal->pvt->incoming ||
(terminal->pvt->pending->len > 0));
@@ -4194,6 +4199,8 @@ skip_chunk:
* points to the first character which isn't part of this
* sequence. */
if ((match != NULL) && (match[0] != '\0')) {
+ gboolean new_in_scroll_region;
+
/* Call the right sequence handler for the requested
* behavior. */
_vte_terminal_handle_sequence(terminal,
@@ -4204,12 +4211,21 @@ skip_chunk:
start = (next - wbuf);
modified = TRUE;
- /* if we have moved during the sequence handler, restart the bbox */
+ new_in_scroll_region = screen->scrolling_restricted
+ && (screen->cursor_current.row >= (screen->insert_delta + screen->scrolling_region.start))
+ && (screen->cursor_current.row <= (screen->insert_delta + screen->scrolling_region.end));
+
+ delta = screen->scroll_delta; /* delta may have changed from sequence. */
+
+ /* if we have moved greatly during the sequence handler, or moved
+ * into a scroll_region from outside it, restart the bbox.
+ */
if (invalidated_text &&
- (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
- screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
- screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
- screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK)) {
+ ((new_in_scroll_region && !in_scroll_region) ||
+ (screen->cursor_current.col > bbox_bottomright.x + VTE_CELL_BBOX_SLACK ||
+ screen->cursor_current.col < bbox_topleft.x - VTE_CELL_BBOX_SLACK ||
+ screen->cursor_current.row > bbox_bottomright.y + VTE_CELL_BBOX_SLACK ||
+ screen->cursor_current.row < bbox_topleft.y - VTE_CELL_BBOX_SLACK))) {
/* Clip off any part of the box which isn't already on-screen. */
bbox_topleft.x = MAX(bbox_topleft.x, 0);
bbox_topleft.y = MAX(bbox_topleft.y, delta);
@@ -4229,6 +4245,8 @@ skip_chunk:
bbox_bottomright.x = bbox_bottomright.y = -G_MAXINT;
bbox_topleft.x = bbox_topleft.y = G_MAXINT;
}
+
+ in_scroll_region = new_in_scroll_region;
} else
/* Second, we have a NULL match, and next points to the very
* next character in the buffer. Insert the character which
--
cgit v0.10.2

View File

@ -0,0 +1,74 @@
From 180dcc578e13c6096e277fb853e7162db640f207 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Tue, 15 Nov 2011 03:06:40 -0500
Subject: [PATCH] Map both gdk's Meta and Alt to vte's Meta for >=gtk+-3.2.2
compatibility
Also, since VTE_META_MASK is now a mask with multiple bits set, code that
compares gdk key modifiers to VTE_META_MASK by numerical equality is no
longer guaranteed to work. Therefore, for such comparisons a new function,
vte_keymap_fixup_modifiers, is introduced; it ensures that if any bits
matching matching VTE_META_MASK are set, then all are set.
https://bugzilla.gnome.org/show_bug.cgi?id=663779
---
src/keymap.c | 15 +++++++++++++--
src/keymap.h | 2 +-
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/keymap.c b/src/keymap.c
index 9a21669..95b4c5b 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -990,6 +990,17 @@ static const struct _vte_keymap_group {
{GDK_KEY (F35), _vte_keymap_GDK_F35},
};
+/* Restrict modifiers to the specified mask and ensure that VTE_META_MASK,
+ * despite being a compound mask, is treated as indivisible. */
+GdkModifierType
+_vte_keymap_fixup_modifiers(GdkModifierType modifiers,
+ GdkModifierType mask)
+{
+ if (modifiers & VTE_META_MASK)
+ modifiers |= VTE_META_MASK;
+ return modifiers & mask;
+}
+
/* Map the specified keyval/modifier setup, dependent on the mode, to either
* a literal string or a capability name. */
void
@@ -1104,7 +1115,7 @@ _vte_keymap_map(guint keyval,
} else {
fkey_mode = fkey_default;
}
- modifiers &= (GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
+ modifiers = _vte_keymap_fixup_modifiers(modifiers, GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
/* Search for the conditions. */
for (i = 0; entries[i].normal_length || entries[i].special[0]; i++)
@@ -1375,7 +1386,7 @@ _vte_keymap_key_add_key_modifiers(guint keyval,
return;
}
- switch (modifiers & significant_modifiers) {
+ switch (_vte_keymap_fixup_modifiers(modifiers, significant_modifiers)) {
case 0:
modifier = 0;
break;
diff --git a/src/keymap.h b/src/keymap.h
index 243e22e..21d9b8e 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -27,7 +27,7 @@
G_BEGIN_DECLS
-#define VTE_META_MASK GDK_META_MASK
+#define VTE_META_MASK (GDK_META_MASK | GDK_MOD1_MASK)
#define VTE_NUMLOCK_MASK GDK_MOD2_MASK
/* Map the specified keyval/modifier setup, dependent on the mode, to either
--
1.7.8.rc3

View File

@ -0,0 +1,21 @@
--- a/src/vteseq.cc 2020-01-25 21:39:47.737317745 +0100
+++ b/src/vteseq.cc 2020-01-25 21:40:12.811424242 +0100
@@ -462,18 +462,7 @@
void
Terminal::update_mouse_protocol() noexcept
{
- if (m_modes_private.XTERM_MOUSE_ANY_EVENT())
- m_mouse_tracking_mode = MOUSE_TRACKING_ALL_MOTION_TRACKING;
- else if (m_modes_private.XTERM_MOUSE_BUTTON_EVENT())
- m_mouse_tracking_mode = MOUSE_TRACKING_CELL_MOTION_TRACKING;
- else if (m_modes_private.XTERM_MOUSE_VT220_HIGHLIGHT())
- m_mouse_tracking_mode = MOUSE_TRACKING_HILITE_TRACKING;
- else if (m_modes_private.XTERM_MOUSE_VT220())
- m_mouse_tracking_mode = MOUSE_TRACKING_SEND_XY_ON_BUTTON;
- else if (m_modes_private.XTERM_MOUSE_X10())
- m_mouse_tracking_mode = MOUSE_TRACKING_SEND_XY_ON_CLICK;
- else
- m_mouse_tracking_mode = MOUSE_TRACKING_NONE;
+ m_mouse_tracking_mode = MOUSE_TRACKING_NONE;
m_mouse_smooth_scroll_delta = 0.0;

11
x11-libs/vte/metadata.xml Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<use>
<flag name="glade">Provide integration with <pkg>dev-util/glade</pkg>.</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,127 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 )
inherit gnome2 python-r1
DESCRIPTION="GNOME terminal widget"
HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE"
LICENSE="LGPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
IUSE="debug +introspection python"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
>=dev-libs/glib-2.26:2
>=x11-libs/gtk+-2.20:2[introspection?]
>=x11-libs/pango-1.22.0
sys-libs/ncurses:0=
x11-libs/libX11
x11-libs/libXft
introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
python? (
${PYTHON_DEPS}
dev-python/pygtk:2[${PYTHON_USEDEP}]
)
"
DEPEND="${RDEPEND}
dev-util/gtk-doc-am
>=dev-util/intltool-0.35
virtual/pkgconfig
sys-devel/gettext
"
PDEPEND="x11-libs/gnome-pty-helper"
PATCHES=(
# https://bugzilla.gnome.org/show_bug.cgi?id=663779
"${FILESDIR}"/${PN}-0.30.1-alt-meta.patch
# https://bugzilla.gnome.org/show_bug.cgi?id=652290
"${FILESDIR}"/${PN}-0.28.2-interix.patch
# Fix CVE-2012-2738, upstream bug #676090
"${FILESDIR}"/${PN}-0.28.2-limit-arguments.patch
# Fix https://bugzilla.gnome.org/show_bug.cgi?id=542087
# Patch from https://github.com/pld-linux/vte0/commit/1e8dce16b239e5d378b02e4d04a60e823df36257
"${FILESDIR}"/${PN}-0.28.2-repaint-after-change-scroll-region.patch
)
DOCS="AUTHORS ChangeLog HACKING NEWS README"
src_prepare() {
prepare_python() {
mkdir -p "${BUILD_DIR}" || die
}
if use python; then
python_foreach_impl prepare_python
fi
gnome2_src_prepare
}
src_configure() {
configure_python() {
ECONF_SOURCE="${S}" gnome2_src_configure --enable-python
}
if use python; then
python_foreach_impl run_in_build_dir configure_python
fi
local myconf=""
if [[ ${CHOST} == *-interix* ]]; then
myconf="${myconf} --disable-Bsymbolic"
# interix stropts.h is empty...
export ac_cv_header_stropts_h=no
fi
# Do not disable gnome-pty-helper, bug #401389
gnome2_src_configure --disable-python \
--disable-deprecation \
--disable-glade-catalogue \
--disable-static \
$(use_enable debug) \
$(use_enable introspection) \
--with-gtk=2.0 \
${myconf}
}
src_compile() {
gnome2_src_compile
compile_python() {
cd "${BUILD_DIR}"/python || die
ln -s "${S}"/src/libvte.la "${BUILD_DIR}"/src/ || die
mkdir -p "${BUILD_DIR}"/src/.libs || die
ln -s "${S}"/src/.libs/libvte.so "${BUILD_DIR}"/src/.libs/ || die
emake CPPFLAGS="${CPPFLAGS} -I${S}/src"
}
if use python; then
python_foreach_impl run_in_build_dir compile_python
fi
}
src_install() {
gnome2_src_install
install_python() {
cd "${BUILD_DIR}"/python || die
emake install DESTDIR="${D}" \
CPPFLAGS="${CPPFLAGS} -I${S}/src"
}
if use python; then
python_foreach_impl run_in_build_dir install_python
fi
rm -v "${ED}usr/libexec/gnome-pty-helper" || die
}

View File

@ -0,0 +1,93 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
VALA_USE_DEPEND="vapigen"
VALA_MIN_API_VERSION="0.32"
inherit gnome2 vala
DESCRIPTION="Library providing a virtual terminal emulator widget"
HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE"
LICENSE="LGPL-2+"
SLOT="2.91"
IUSE="+crypt debug glade +introspection mouse vala vanilla"
KEYWORDS="~alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
REQUIRED_USE="vala? ( introspection )"
SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~leio/distfiles/${PN}-0.54.1-command-notify.patch.xz )"
RDEPEND="
>=dev-libs/glib-2.40:2
>=dev-libs/libpcre2-10.21
>=x11-libs/gtk+-3.16:3[introspection?]
>=x11-libs/pango-1.22.0
sys-libs/ncurses:0=
sys-libs/zlib
crypt? ( >=net-libs/gnutls-3.2.7:0= )
glade? ( >=dev-util/glade-3.9:3.10 )
introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
"
DEPEND="${RDEPEND}
dev-libs/libxml2:2
dev-util/glib-utils
>=dev-util/gtk-doc-am-1.13
>=dev-util/intltool-0.35
sys-devel/gettext
virtual/pkgconfig
vala? ( $(vala_depend) )
"
RDEPEND="${RDEPEND}
!x11-libs/vte:2.90[glade]
"
src_prepare() {
if ! use vanilla; then
# Part of https://src.fedoraproject.org/rpms/vte291/blob/f30/f/vte291-cntr-ntfy-scroll.patch
# Patch distfile for 0.54 series is re-used, as only git hashes and co changed in patchset.
# Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
eapply "${WORKDIR}"/${PN}-0.54.1-command-notify.patch
fi
use vala && vala_src_prepare
# build fails because of -Werror with gcc-5.x
sed -e 's#-Werror=format=2#-Wformat=2#' -i configure || die "sed failed"
if ! use mouse; then
epatch "${FILESDIR}"/${P}-disable-mouse.patch
fi
gnome2_src_prepare
}
src_configure() {
local myconf=""
if [[ ${CHOST} == *-interix* ]]; then
myconf="${myconf} --disable-Bsymbolic"
# interix stropts.h is empty...
export ac_cv_header_stropts_h=no
fi
gnome2_src_configure \
--disable-static \
--with-gtk=3.0 \
--with-iconv \
$(use_enable debug) \
$(use_enable glade glade-catalogue) \
$(use_with crypt gnutls) \
$(use_enable introspection) \
$(use_enable vala) \
${myconf}
}
src_install() {
gnome2_src_install
mv "${ED}"/etc/profile.d/vte{,-${SLOT}}.sh || die
}

View File

@ -0,0 +1,8 @@
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.22-disable-mouse.patch 567 BLAKE2B a9c5189d5adfde19da3157395bd143fef636967585308ac7ea53cde59b202d4168314ee32422216d5df1532606cc27e5cdf35c8e2c3e4eb5bd6984aaf11d5efd SHA512 e426e8b8da387928e5080edca8750f6e649ddb7dfe0a15fe1f701c53823d8969263735b02037efd2957f7caacbb0cab620b175db20531e9d9d42688a64f8445a
DIST rxvt-unicode-9.22.tar.bz2 931198 BLAKE2B ea9a12e4a8396ed6be12b4d50ae260a0376902dbd47b0628bb14ce0509c5d89f5a80370b413fdb9df9b8b81728ec26e115cbf0d88ab6e9cb2a87b03b5d79c432 SHA512 b39f1b2cbe6dd3fbd2a0ad6a9d391a2b6f49d7c5e67bc65fe44a9c86937f8db379572c67564c6e21ff6e09b447cdfd4e540544e486179e94da0e0db679c04dd9
EBUILD rxvt-unicode-9.22-r1.ebuild 2126 BLAKE2B e96b6996dc1154603367b8886314c7e44ca2d0080a5c964e3fa5483fa94c146bb49a826b51ed4fddcef84fd88d4095313c957e140c1f5c3b4802d0fbf00fd2a6 SHA512 fff181105766ad38fd85742d8baa996a7368bf8c2fde04ac1072ba26e79e26d103f312e123d71dc462133544af2bd93cd9d66273980ec8eda6b23014c85ccd73
EBUILD rxvt-unicode-9.22-r3.ebuild 2131 BLAKE2B a2b63654c2c983ae159923d5683bd00902206dfbf25de1d01eb1728fa8416e7626e3657251cc4faa32150bedf57a44de6c3b4ed8eabc8e494315d2d5f45c96c9 SHA512 cd7b3ca4384906a863a172df692ed4f174a436a8b66f4ab765493508ca3ea676af50bef70fba17d06445507450c4ec1a06f47bd6d24bbd75c4e0b1b2190c69ff
EBUILD rxvt-unicode-9999.ebuild 2070 BLAKE2B ecb5c0fce4d0f6f99437f878e9a87b8a050372ea3af0362a9471568d5cf7397aa54dadddd86ff1e015fe7b5b2a0f0ea50c643d046245780008197d4d56f65c10 SHA512 cd692d00ea2aa8ccd668a1051cd3e074ceffcd3932822a41aead5368e9c9145483b69dc5a7f9f212211b4e0b0cfa89f94a98b5e1347fa31a46afebe251717927
MISC metadata.xml 1099 BLAKE2B f30d8fc667246ab2e113f8e9356941f0e7cd40aad88ed578cece7e5cba1622aa2c8ea0b5918d239b994483fb171f8c1fcc03ae6e2d5204f0c2d09a2b22819be1 SHA512 bbd5ec950a1a14975ba50860a0ee924e6a736890dd3bbf7add4b001d164cab6ddc8bebc94c71cb855524b5006c29c3176dbcb489817afad54de1dabaa0410978

View File

@ -0,0 +1,10 @@
Avoid "make: `install' is up to date." on case insensitive filesystems
--- a/Makefile.in
+++ b/Makefile.in
@@ -86,3 +86,5 @@
dist: tar.bz2
# ------------------------------------------------------------------------
+
+.PHONY: install

View File

@ -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 $<

View File

@ -0,0 +1,11 @@
--- a/src/rxvt.h
+++ b/src/rxvt.h
@@ -645,7 +645,7 @@
#define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales
#define PrivMode_BlinkingCursor (1UL<<25)
-#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent)
+#define PrivMode_mouse_report 0 /* (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent) */
#ifdef ALLOW_132_MODE
# define PrivMode_Default (PrivMode_Autowrap|PrivMode_ShiftKeys|PrivMode_VisibleCursor|PrivMode_132OK)

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>jer@gentoo.org</email>
<name>Jeroen Roovers</name>
</maintainer>
<use>
<flag name="256-color">Enable 256 color support</flag>
<flag name="blink">Enable blinking text</flag>
<flag name="fading-colors">Enable colors fading when off focus</flag>
<flag name="font-styles">Enable support for bold and italic fonts</flag>
<flag name="gdk-pixbuf">Enable transparency support using <pkg>x11-libs/gdk-pixbuf</pkg></flag>
<flag name="iso14755">Enable ISO-14755 support</flag>
<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="utmp">Enable utmp support</flag>
<flag name="wtmp">Enable wtmp support</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:rxvt-unicode:rxvt-unicode</remote-id>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,85 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
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 ~arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="
256-color blink fading-colors +font-styles gdk-pixbuf iso14755 mouse
+mousewheel +perl startup-notification unicode3 xft
"
RESTRICT="test"
RDEPEND="
>=sys-libs/ncurses-5.7-r6:=
kernel_Darwin? ( dev-perl/Mac-Pasteboard )
media-libs/fontconfig
perl? ( dev-lang/perl:= )
gdk-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-base/xorg-proto
"
PATCHES=(
"${FILESDIR}"/${PN}-9.06-case-insensitive-fs.patch
"${FILESDIR}"/${PN}-9.21-xsubpp.patch
)
src_prepare() {
default
use mouse || epatch "${FILESDIR}"/${P}-disable-mouse.patch
# kill the rxvt-unicode terminfo file - #192083
sed -i -e "/rxvt-unicode.terminfo/d" doc/Makefile.in || die "sed failed"
eautoreconf
}
src_configure() {
# --enable-everything goes first: the order of the arguments matters
econf \
--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 xft)
}
src_compile() {
default
sed -i \
-e 's/RXVT_BASENAME = "rxvt"/RXVT_BASENAME = "urxvt"/' \
"${S}"/doc/rxvt-tabbed || die
}
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"
}

View File

@ -0,0 +1,89 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools desktop
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 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
IUSE="
256-color blink fading-colors +font-styles gdk-pixbuf iso14755 +mousewheel
+perl 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}
virtual/pkgconfig
x11-base/xorg-proto
"
PATCHES=(
"${FILESDIR}"/${PN}-9.06-case-insensitive-fs.patch
"${FILESDIR}"/${PN}-9.21-xsubpp.patch
)
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"
eautoreconf
}
src_configure() {
# --enable-everything goes first: the order of the arguments matters
econf --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 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
make_desktop_entry urxvt rxvt-unicode utilities-terminal \
"System;TerminalEmulator"
}

View File

@ -0,0 +1,93 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools cvs desktop vcs-clean
DESCRIPTION="rxvt clone with xft and unicode support"
HOMEPAGE="http://software.schmorp.de/pkg/rxvt-unicode.html"
ECVS_SERVER="cvs.schmorp.de/schmorpforge"
ECVS_USER="anonymous"
ECVS_MODULE="rxvt-unicode"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS=""
IUSE="
256-color blink fading-colors +font-styles gdk-pixbuf iso14755 +mousewheel
+perl 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}
virtual/pkgconfig
x11-base/xorg-proto
"
DOCS=(
Changes
README.FAQ
doc/README.xvt
doc/changes.txt
doc/etc/${PN}.term{cap,info}
doc/rxvt-tabbed
)
S=${WORKDIR}/${PN}
src_prepare() {
ecvs_clean
eapply \
"${FILESDIR}"/${PN}-9.06-case-insensitive-fs.patch \
"${FILESDIR}"/${PN}-9.21-xsubpp.patch
eapply_user
# kill the rxvt-unicode terminfo file - #192083
sed -i -e "/rxvt-unicode.terminfo/d" doc/Makefile.in || die "sed failed"
eautoreconf
}
src_configure() {
# --enable-everything goes first: the order of the arguments matters
econf --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 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
make_desktop_entry urxvt rxvt-unicode utilities-terminal \
"System;TerminalEmulator"
}