x11-libs/vte: Following 0.64.1 bump

Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Alarig Le Lay <alarig@swordarmor.fr>
This commit is contained in:
Alarig Le Lay 2021-06-12 23:19:46 +02:00
parent 22c308cda0
commit ca68a58eae
Signed by: alarig
GPG Key ID: 7AFE62C6DF8BCDEC
9 changed files with 71 additions and 343 deletions

View File

@ -1,4 +1,2 @@
DIST vte-0.60.3-command-notify.patch.xz 6108 BLAKE2B 1f96788c097b003a3f9041529a0ff8ad083fe60597920632450e65ce13ad7181cb3bd4f2713ee19ab7d15154e3546720cdd0a72fabb3710ea7149c63cb159a1f SHA512 070d17fa2dfeed5ccb5ad67687bfb65a6a9dd79db300bb6e00f7d35b8ab3563c331e5f48bbecc32f8037475db319fb71f35e72108f260b6446fd2dd8e1a2897e
DIST vte-0.60.3.tar.xz 535504 BLAKE2B c5556fdb91d876aa681d2a9466fa4f4c0ee6be630d076949fbd01878baffdf319e50ec75575729c49c09484914d9ee103d4d491861aedb678b0e336cd4ddcc2e SHA512 3694fe711e0b3eb9d6ba37ad8036f5d3cca4265635ed7afcde750a8445b17f820d1c55b557d0ea1c8a5a45e5408915d8da2ffd65b4d397c6582f288812ae1f18
DIST vte-0.62.1-command-notify.patch.xz 4844 BLAKE2B 22301fdc5f1969beb2ad9b316fea8972f696f0e54e1a24d5eceedec71162afc2991b7963a71ce8925a94f6c40e5303d3db760b872d0eebbdc6d05b22d3c59ecc SHA512 491e241b0f5aae50e59d25751e95579d40c47e7e4c7f2b279522347f7f2f7f00c92bdf5fa4a651e4146bcfa9439f03b6311b4061fb20c5679c09b97a4924dcf1
DIST vte-0.62.3.tar.xz 447152 BLAKE2B 2c55430490af577cdbad8bbcbb53902ccc4ab8d9643d5e8b3279e96b4285347e652e761644c957961732eeb50d12e33fa3d3c735be9899ad14c1e2f35377f2a7 SHA512 0475e2813b305bf1b5d48ece5959f2feb10e89b589fa3b75032ae466fd5254bf5c2fc6085dc296d65c5df84790a38892534ff401109843bf964ae62a8c540a81
DIST vte-0.64.1-command-notify.patch.xz 4880 BLAKE2B d6ff5f4acac161980c8c18245e65795c7f0ea3d0819748894b055306ecd731d698cac578eff2750795a9180a9b17d79f220e814083012d5a04f4f351ff2a0e36 SHA512 174397aeca00399b138286fd4cc88941add041a1f2596fd42222d44c886c2e35b2a33041b58a102ee3acbcddc0cc40fcfde39d72ec46b640ee1db22d8ae684c4
DIST vte-0.64.1.tar.bz2 486720 BLAKE2B bd8fb1f471a43aadf015cce8ae38c646521ca66e37652b72f7e94cec15a2a0a844d67116e9123ede44ba1b6ee569d1ecd0ff5e83067f6231802f5a77a798e446 SHA512 38bbbb4ed3d86740091c9ddee83f97bf5cb5c69c48e8a78592dd46e8f9334859a6c523e7b16dce110de71cd4a9a3b8b99a11816b61eae6e251dfc20cdbee6716

View File

@ -1,51 +0,0 @@
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

@ -1,40 +0,0 @@
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

@ -1,86 +0,0 @@
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

@ -1,74 +0,0 @@
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,48 @@
https://gitlab.gnome.org/GNOME/vte/-/issues/350
From d459d32126119c8d78f8239b8b857a255e6005d7 Mon Sep 17 00:00:00 2001
From: Matt Turner <mattst88@gmail.com>
Date: Sat, 1 May 2021 08:31:45 -0400
Subject: [PATCH] meson: Find python explicitly to honor downstream python
choice
---
meson.build | 1 +
src/meson.build | 2 ++
2 files changed, 3 insertions(+)
diff --git a/meson.build b/meson.build
index 4f5a7c57..6404802f 100644
--- a/meson.build
+++ b/meson.build
@@ -461,6 +461,7 @@ pango_dep = dependency('pango', version: '>=' + pango_req_version)
pcre2_dep = dependency('libpcre2-8', version: '>=' + pcre2_req_version)
pthreads_dep = dependency('threads')
zlib_dep = dependency('zlib')
+python = import('python').find_installation('python3')
if get_option('fribidi')
fribidi_dep = dependency('fribidi', version: '>=' + fribidi_req_version)
diff --git a/src/meson.build b/src/meson.build
index a1440da5..4ac6a7f2 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -60,6 +60,7 @@ modes_sources = files(
modes_sources += custom_target(
'modes',
command: [
+ python,
files('modes.py'),
'--destdir', '@OUTDIR@',
],
@@ -92,6 +93,7 @@ parser_sources = files(
parser_sources += custom_target(
'parser-seq',
command: [
+ python,
files('parser-seq.py'),
'--destdir', '@OUTDIR@',
],
--
2.26.3

View File

@ -6,6 +6,14 @@
<name>Gentoo GNOME Desktop</name>
</maintainer>
<use>
<flag name="icu">
Enable legacy charset support using <pkg>dev-libs/icu</pkg>
</flag>
<flag name="systemd">
Support moving terminal child processes to their own systemd user
scopes to avoid terminal getting killed due to child causing
OOM
</flag>
<flag name="mouse">Enable mouse support.</flag>
</use>
</pkgmetadata>

View File

@ -1,84 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
VALA_USE_DEPEND="vapigen"
VALA_MIN_API_VERSION="0.32"
inherit gnome.org meson vala xdg
DESCRIPTION="Library providing a virtual terminal emulator widget"
HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE"
LICENSE="LGPL-3+ GPL-3+"
SLOT="2.91"
IUSE="+crypt debug gtk-doc +icu +introspection systemd mouse +vala vanilla"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~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.60.3-command-notify.patch.xz )"
RDEPEND="
>=x11-libs/gtk+-3.24.14:3[introspection?]
>=dev-libs/fribidi-1.0.0
>=dev-libs/glib-2.52:2
crypt? ( >=net-libs/gnutls-3.2.7:0= )
icu? ( dev-libs/icu:= )
>=x11-libs/pango-1.22.0
>=dev-libs/libpcre2-10.21
systemd? ( >=sys-apps/systemd-220:= )
sys-libs/zlib
introspection? ( >=dev-libs/gobject-introspection-1.56:= )
x11-libs/pango[introspection?]
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-libs/libxml2:2
dev-util/glib-utils
gtk-doc? ( >=dev-util/gtk-doc-1.13
app-text/docbook-xml-dtd:4.1.2 )
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
vala? ( $(vala_depend) )
"
src_prepare() {
if ! use vanilla; then
# Part of https://src.fedoraproject.org/rpms/vte291/raw/f31/f/vte291-cntnr-precmd-preexec-scroll.patch
# Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
eapply "${WORKDIR}"/${PN}-0.60.3-command-notify.patch
fi
# -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
sed -e '/ggdb3/d' -i meson.build || die
if ! use mouse; then
eapply "${FILESDIR}"/${P}-disable-mouse.patch
fi
use vala && vala_src_prepare
xdg_src_prepare
}
src_configure() {
local emesonargs=(
-Da11y=true
$(meson_use debug debugg)
$(meson_use gtk-doc docs)
$(meson_use introspection gir)
-Dfribidi=true # pulled in by pango anyhow
$(meson_use crypt gnutls)
-Dgtk3=true
-Dgtk4=false
$(meson_use icu)
$(meson_use systemd _systemd)
$(meson_use vala vapi)
)
meson_src_configure
}
src_install() {
meson_src_install
mv "${ED}"/etc/profile.d/vte{,-${SLOT}}.sh || die
}

View File

@ -2,10 +2,11 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..9} )
VALA_USE_DEPEND="vapigen"
VALA_MIN_API_VERSION="0.32"
inherit gnome.org meson vala xdg
inherit gnome.org meson python-any-r1 vala xdg
DESCRIPTION="Library providing a virtual terminal emulator widget"
HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE"
@ -13,10 +14,12 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Terminal/VTE"
LICENSE="LGPL-3+ GPL-3+"
SLOT="2.91"
IUSE="+crypt debug gtk-doc +icu +introspection systemd mouse +vala vanilla"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
REQUIRED_USE="vala? ( introspection )"
SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.62.1-command-notify.patch.xz )"
# Upstream is hostile and refuses to upload tarballs.
SRC_URI="https://gitlab.gnome.org/GNOME/${PN}/-/archive/${PV}/${P}.tar.bz2"
SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~mattst88/distfiles/${PN}-0.64.1-command-notify.patch.xz )"
RDEPEND="
>=x11-libs/gtk+-3.24.14:3[introspection?]
@ -33,6 +36,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
${PYTHON_DEPS}
dev-libs/libxml2:2
dev-util/glib-utils
gtk-doc? ( >=dev-util/gtk-doc-1.13
@ -43,11 +47,15 @@ BDEPEND="
vala? ( $(vala_depend) )
"
PATCHES=(
"${FILESDIR}"/${PN}-0.64.1-meson-Find-python-explicitly-to-honor-downstream-pyt.patch
)
src_prepare() {
if ! use vanilla; then
# Part of https://src.fedoraproject.org/rpms/vte291/raw/f31/f/vte291-cntnr-precmd-preexec-scroll.patch
# Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
eapply "${WORKDIR}"/${PN}-0.62.1-command-notify.patch
eapply "${WORKDIR}"/${PN}-0.64.1-command-notify.patch
fi
# -Ddebugg option enables various debug support via VTE_DEBUG, but also ggdb3; strip the latter
@ -68,6 +76,7 @@ src_configure() {
$(meson_use gtk-doc docs)
$(meson_use introspection gir)
-Dfribidi=true # pulled in by pango anyhow
-Dglade=true
$(meson_use crypt gnutls)
-Dgtk3=true
-Dgtk4=false