Added
This commit is contained in:
51
x11-libs/vte/files/vte-0.28.2-interix.patch
Normal file
51
x11-libs/vte/files/vte-0.28.2-interix.patch
Normal 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
|
||||
40
x11-libs/vte/files/vte-0.28.2-limit-arguments.patch
Normal file
40
x11-libs/vte/files/vte-0.28.2-limit-arguments.patch
Normal 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
|
||||
@@ -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
|
||||
|
||||
74
x11-libs/vte/files/vte-0.30.1-alt-meta.patch
Normal file
74
x11-libs/vte/files/vte-0.30.1-alt-meta.patch
Normal 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
|
||||
|
||||
@@ -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
|
||||
|
||||
29
x11-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch
Normal file
29
x11-libs/vte/files/vte-0.66.2-musl-W_EXITCODE.patch
Normal file
@@ -0,0 +1,29 @@
|
||||
https://gitlab.gnome.org/GNOME/vte/-/issues/72
|
||||
https://bugs.gentoo.org/835489
|
||||
https://bugs.gentoo/org/554416
|
||||
|
||||
From 1c1de9e9119cf1e0ef45a594ca9bbf306d2209cb Mon Sep 17 00:00:00 2001
|
||||
From:
|
||||
Date: Fri, 12 Mar 2021 08:41:13 -0600
|
||||
Subject: [PATCH] Expanded non-standard W_EXITCODE macro for Musl compatibility
|
||||
|
||||
--- a/src/widget.cc
|
||||
+++ b/src/widget.cc
|
||||
@@ -20,8 +20,6 @@
|
||||
|
||||
#include "widget.hh"
|
||||
|
||||
-#include <sys/wait.h> // for W_EXITCODE
|
||||
-
|
||||
#include <exception>
|
||||
#include <new>
|
||||
#include <string>
|
||||
@@ -235,7 +233,7 @@ void
|
||||
Widget::dispose() noexcept
|
||||
{
|
||||
if (m_terminal->terminate_child()) {
|
||||
- int status = W_EXITCODE(0, SIGKILL);
|
||||
+ int status = (0) << 8 | (SIGKILL); // W_EXITCODE(ret, sig)
|
||||
emit_child_exited(status);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user