Added
This commit is contained in:
		
							
								
								
									
										6
									
								
								x11-libs/vte/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								x11-libs/vte/Manifest
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
DIST vte-0.28.2.tar.xz 962340 BLAKE2B 1e4b5977962265be77917ccfc9118ed93232c03d7a16b6c08a27e721fe71f8c1dd1783a439530d7b3d915111cb8cc78281f1e9e351d6a83edd31f224309ca1e9 SHA512 d6a50481aaa8946cca3779e0b328fef551be534d70366a75385d1f8ead3fcddec57bed85c7d4bc2d9f34546532129e63083aafa33cbb0efcbc7dc9d66e7c45f6
 | 
			
		||||
DIST vte-0.68.0-command-notify.patch.xz 9748 BLAKE2B de2d4c9b7f2c2b21518984f818d0052c0084398f5f4ee30d766a6adb9c4536fdec5027c753d3d710fb7432e67472b7f8ca44f1dd5f51aaef48d9124708975d24 SHA512 89be91cdba36749f97bac872f0f2196be7d36a58beaf94fa24a3ae9c266bdfbf4f4fbf1d10f43a276540653fff7062eb844107016e7f014437f2903d251dc1d7
 | 
			
		||||
DIST vte-0.68.0.tar.bz2 507598 BLAKE2B 10274d9e804f00bf071b7848633ca8de2953f4e91dc2967e33b7d6698bb304baac4f0e0431debae5a972c2c56c65efd1c5b92455a17db08cf254ddec56d3276e SHA512 785df7261b5075f166e59de7d3535b381564715ce65efd4837a130e153528691b610fc6160c00f0f17008f5f4ee94c23350d9a477b4b1d58da6ace083e5caae1
 | 
			
		||||
DIST vte-0.70.0-command-notify.patch.xz 9040 BLAKE2B 108dd05d00409af90b1fd3e9b5c3b0e5586ac80204cef8840fda935204cbc480fec1193e2a0a2782f98e2b094c3caebbfe61cf18631b16921df05cf3808afd22 SHA512 92123e7f5cb6ef876f2b2b108dbef59bce212efebd64cd790d49d9ee3215344acd848eec5d326fe2c3bd236846ed3b896148024390093491b2f6e2f7c46e2bd1
 | 
			
		||||
DIST vte-0.70.0.tar.bz2 499283 BLAKE2B 694cf4dfee334e9b54bb8e47f862167acbb8ffc7ac8e81889acd4786449cb45944a87a5adaa036f46458c350ca2119bb356e90dfa71f03638c9c2b14d2ccb877 SHA512 362b71296ae39a16b55402f524a39b063f66ae237e6e161ccc89ca2bb1f2a5c43f4d706d9f3bfae12a99fdb81c4e70408c7f3eca2c01316950b0a3a1a1d79423
 | 
			
		||||
DIST vte-0.70.1.tar.bz2 502044 BLAKE2B 0a9ce43c1863e823fcd073fd30fb6b2cb39e9168e850796fe12be2b9bdfc0b24ceea974b4c94bcdd10f2225613990e0e079194380241b7e625cb6dc4309a7476 SHA512 88de629b382eca8a42199b2ba9b248e231817e1de7183417aed150bcf61530084f7177d73dee9aab25fe4c3ab80d795b5fdcae336687560d3b582bd04181353d
 | 
			
		||||
							
								
								
									
										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);
 | 
			
		||||
         }
 | 
			
		||||
 }
 | 
			
		||||
							
								
								
									
										101
									
								
								x11-libs/vte/vte-0.70.1.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								x11-libs/vte/vte-0.70.1.ebuild
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
			
		||||
# Copyright 1999-2022 Gentoo Authors
 | 
			
		||||
# Distributed under the terms of the GNU General Public License v2
 | 
			
		||||
 | 
			
		||||
EAPI=8
 | 
			
		||||
PYTHON_COMPAT=( python3_{8..11} )
 | 
			
		||||
 | 
			
		||||
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 https://gitlab.gnome.org/GNOME/vte"
 | 
			
		||||
 | 
			
		||||
# Once SIXEL support ships (0.66 or later), might need xterm license (but code might be considered upgraded to LGPL-3+)
 | 
			
		||||
LICENSE="LGPL-3+ GPL-3+"
 | 
			
		||||
SLOT="2.91"      # vte_api_version in meson.build
 | 
			
		||||
IUSE="+crypt debug gtk-doc +icu +introspection systemd +vala vanilla"
 | 
			
		||||
KEYWORDS="~amd64 ~arm64"
 | 
			
		||||
REQUIRED_USE="
 | 
			
		||||
	gtk-doc? ( introspection )
 | 
			
		||||
	vala? ( introspection )
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
# 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.70.0-command-notify.patch.xz )"
 | 
			
		||||
 | 
			
		||||
DEPEND="
 | 
			
		||||
	>=x11-libs/gtk+-3.24.22: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?]
 | 
			
		||||
"
 | 
			
		||||
RDEPEND="${DEPEND}
 | 
			
		||||
	~gui-libs/vte-common-${PV}[systemd?]
 | 
			
		||||
"
 | 
			
		||||
BDEPEND="
 | 
			
		||||
	${PYTHON_DEPS}
 | 
			
		||||
	dev-libs/libxml2:2
 | 
			
		||||
	dev-util/glib-utils
 | 
			
		||||
	gtk-doc? ( dev-util/gi-docgen )
 | 
			
		||||
	>=sys-devel/gettext-0.19.8
 | 
			
		||||
	virtual/pkgconfig
 | 
			
		||||
	vala? ( $(vala_depend) )
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
src_prepare() {
 | 
			
		||||
	default
 | 
			
		||||
	use vala && vala_setup
 | 
			
		||||
	xdg_environment_reset
 | 
			
		||||
 | 
			
		||||
	use elibc_musl && eapply "${FILESDIR}"/${PN}-0.66.2-musl-W_EXITCODE.patch
 | 
			
		||||
 | 
			
		||||
	if ! use vanilla; then
 | 
			
		||||
		# Part of https://src.fedoraproject.org/rpms/vte291/raw/f37/f/vte291-cntnr-precmd-preexec-scroll.patch
 | 
			
		||||
		# Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
 | 
			
		||||
		eapply "${WORKDIR}"/${PN}-0.70.0-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
 | 
			
		||||
	sed -i 's/vte_gettext_domain = vte_api_name/vte_gettext_domain = vte_gtk3_api_name/' meson.build || die
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
		-Dglade=true
 | 
			
		||||
		$(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_install # not meson_src_install because this would include einstalldocs, which would result in file collisions with gui-libs/vte
 | 
			
		||||
	# Remove files that are provided by gui-libs/vte-common
 | 
			
		||||
	rm "${ED}"/usr/libexec/vte-urlencode-cwd || die
 | 
			
		||||
	rm "${ED}"/etc/profile.d/vte.sh || die
 | 
			
		||||
	rm "${ED}"/etc/profile.d/vte.csh || die
 | 
			
		||||
	if use systemd; then
 | 
			
		||||
		rm "${ED}"/usr/lib/systemd/user/vte-spawn-.scope.d/defaults.conf || die
 | 
			
		||||
	fi
 | 
			
		||||
	if use gtk-doc; then
 | 
			
		||||
		mkdir -p "${ED}"/usr/share/gtk-doc/ || die
 | 
			
		||||
		mv "${ED}"/usr/share/doc/vte-${SLOT} "${ED}"/usr/share/gtk-doc/vte-${SLOT}-gtk3 || die
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user