summaryrefslogtreecommitdiff
path: root/x11-libs/vte
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /x11-libs/vte
reinit the tree, so we can have metadata
Diffstat (limited to 'x11-libs/vte')
-rw-r--r--x11-libs/vte/Manifest18
-rw-r--r--x11-libs/vte/files/vte-0.28.2-interix.patch51
-rw-r--r--x11-libs/vte/files/vte-0.28.2-limit-arguments.patch40
-rw-r--r--x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch86
-rw-r--r--x11-libs/vte/files/vte-0.30.1-alt-meta.patch74
-rw-r--r--x11-libs/vte/metadata.xml11
-rw-r--r--x11-libs/vte/vte-0.28.2-r208.ebuild127
-rw-r--r--x11-libs/vte/vte-0.36.5.ebuild69
-rw-r--r--x11-libs/vte/vte-0.46.1.ebuild80
-rw-r--r--x11-libs/vte/vte-0.46.2.ebuild80
-rw-r--r--x11-libs/vte/vte-0.48.3.ebuild90
11 files changed, 726 insertions, 0 deletions
diff --git a/x11-libs/vte/Manifest b/x11-libs/vte/Manifest
new file mode 100644
index 000000000000..45075a6181d8
--- /dev/null
+++ b/x11-libs/vte/Manifest
@@ -0,0 +1,18 @@
+AUX vte-0.28.2-interix.patch 1566 SHA256 0c3bd451d2a48dd38b375fc7d72b675bbfcbcda66f6fbcdd20eeee315727d518 SHA512 f02574f96355c6cedde05d0877d3bf50e7777d210484a80b6e95e597b0bb225f5968649e67f67d7f112f50302ae6566e4f3d8c59d7a5b65fc95601cac00868d7 WHIRLPOOL cd444a499735517fd523e358fa0ad39f9bd8771911da18f06ddb453cdabace3cdb20e2f9aa13428efb1e6b1227ff9e10b56eb3d27616714ac873eb2a64796ae4
+AUX vte-0.28.2-limit-arguments.patch 1477 SHA256 164af2b6756329f1ceb0cac77b5e6bc47d486e1bb0b4e5d3a6fc284e4e7f0ae9 SHA512 e5639d94fd455195c354d03cab04bbb73eff98bc540c813cccf4ab5eb793f4c8ae645fcf2bd502924ed4d38412101341deaf2d28ea8aaea3530a98ffbba8256d WHIRLPOOL a0d9b077d9748c4cfe26ea03c16d9b29ed7c62e994639ae6510b7b50c4cd91c5215337da9310297dbf2bd105fabe85c45453e998c0aa34445cdcdd7192307739
+AUX vte-0.28.2-repaint-after-change-scroll-region.patch 3817 SHA256 95ff6eb5d17e7c209aa4751dfd150a1baa97d8b5d1b31658d7645751eb38cad6 SHA512 46a54c96889c3a0c5a293a097f777dd2e24e5a3025b808d7fb0bbfe71e8938f7d30ba26a05e67cb6b63ad59719eace57d0f6e0ff9f2860fbe9f12c36e022b8ec WHIRLPOOL 5aed1b127b364e02a127b4d90bdfcd4d2cdb5b646b0ca1097401f8037cc28d5c309c8138070982378ef30bd0bb4e20795bb14bea536cebbc7d3734c5a5c6355a
+AUX vte-0.30.1-alt-meta.patch 2490 SHA256 31a46fee8fe59bd1d6df54bc502b608fe80da57bf3786e2dc6e9856a4e793ed6 SHA512 69ed3038f3dcbbd09709667caff5692e4e11e30926bc7692cdbbdef2bb1ae4584ef64b824b5afcb3c57c237a3c0db4d9588ec36778d0994a546b1e6f74c2e430 WHIRLPOOL bc51d9467bb13d627e7355872db5777e3d39ca07753dda9237110f8857d16bca5f8bc4334f9d97df54a2fcbc9234f123247ec8f40508e8120f00ffc46ff0a570
+DIST vte-0.28.2.tar.xz 962340 SHA256 86cf0b81aa023fa93ed415653d51c96767f20b2d7334c893caba71e42654b0ae SHA512 d6a50481aaa8946cca3779e0b328fef551be534d70366a75385d1f8ead3fcddec57bed85c7d4bc2d9f34546532129e63083aafa33cbb0efcbc7dc9d66e7c45f6 WHIRLPOOL cf491b80cdfbdda6163ec7562f922f1c449e6e927845de28ad8e0b06b47bbbf092f735fc4b72f6131797d17c02c6172888d4db37a520973118d2bfbacd374c2c
+DIST vte-0.36.5.tar.xz 1017504 SHA256 c2c2ce9640f08b07667f1037862fe991081495446b735c0afb98f45e35b64edf SHA512 43f9211381238ca6cb7f49c8a9dd8f48f702e9968e038fa26ee69228c1fc86061d5dbfabb2c27f677280e89ae9080f20594f3c27481246e3f91dd5f3ea0354f6 WHIRLPOOL 22be408deecedfb7c674fbc49bac2852e5e1c28f25cd7998d20042f15a905158b2698f3e2a0a8fd4a78b89929e773779787dff9af9c6c5e006ee30ed6efdc59d
+DIST vte-0.46.1.tar.xz 989164 SHA256 8800cf8bc259704a12ad1853fb0eb43bfe3857af15242e6fb9f2c3fd95b3f5c6 SHA512 04b3f8ce922c4326d92bef605a0dbe195764946cd5f1acf28fd6d69c0cdb2ee661cc7e424436c72380da5d0250790ae658ac49d761b567dea88d92157285889d WHIRLPOOL 7947982c2e9eba1481f302da8bf3433156490537c9e7ab1ef8da8d399b3dccec0911253b8973712be77fa89f7eb9451e09b65ffd6cc2ccc6e2bea9fb9f2997f8
+DIST vte-0.46.2.tar.xz 989756 SHA256 cad246b336e8a20855bf130348ad996ddd28489444128647f9cfc901d9c0cc0f SHA512 abcf94752094314b01eb14156e894bedb24f959d4faf84bb070b34eb2745f01d029859ef959ddf1475776605a1721e4d011ae7ad57fc4937d8bfcbecc8b0cf61 WHIRLPOOL 1b700708fb0eb0ca148d72aaa7d761e0fef962d4c59cb65b8fb295c5dff5c5e206e91f6afcc058b74b726967e1c3c4034b572e36558840b9f4d05952e9c737cb
+DIST vte-0.48.3.tar.xz 1009364 SHA256 a3a9fb182740b392a45cd3f46fa61a985f68bb6b1817b52daec22034c46158c3 SHA512 3037b61a759cfcf56838bc7804df5a211da416bff9ddc5791f8a8d5157b90926985cfe57d7edbab42de64945d5e668470fe4129a218fb9c7af546648e1660c72 WHIRLPOOL f288b988de9fa1a1ff36f6c9c5031dc7660de311657ce0a83070df6ce0cc2a9ad4e1333a9696a1febb0f91799dc31ca692c3d7ac78699b986ac1ceeb8c215292
+DIST vte-2.91-command-notify.patch.xz 6012 SHA256 b99ea46c410030f0d0ffe85a9034f27ba9c1a93bc80b4ac6a51657685f49d9a1 SHA512 e6a8955f99c98183c60df770b5c6826c5a456aaac3c83a8d0fa5037d2dd250450c8287dff335e22ca32332645d13d298cecc5d2c884c7c9da65d09dfd2a79054 WHIRLPOOL fcebe53b0b631a0d4670b91385ede0c5f2e14f7bbf006385e812160f03a118ac6783229c5f1a41f8ca0e0d3a4262b385f2c872b5a8e7b6b44bd8d04aa571be02
+EBUILD vte-0.28.2-r208.ebuild 2973 SHA256 d25c229897764598d07711b4644d79f541afda0e7e8057446b759cfa699dfa19 SHA512 c8711b4777911936c2c2154eaa620f4ccbcb5df491a1943d97bb2bc1179ab333ee422fcf26f56a7f76170941b6d6bdb21b881fffb0c7af96a37cbf7eb63ca560 WHIRLPOOL a447845126ec2e6af5ad5636826b455fc930834df01aefeba7a25576e9a2f7a3d2eee7ff6b0d9b265a51d4cd13fd336ae38c0447b7542fd2ea138768224533cb
+EBUILD vte-0.36.5.ebuild 1695 SHA256 c84c27f306a285979178d856f4243a70cc67a58b6a99b6e60e786ff187501a90 SHA512 b0665651664f07d69741836d0e870710ec271807fd2da982b544eab42d48da74bb5800324c91cce1ca21080488606d2f5e3263ed3e73357812d5680f3cad91ba WHIRLPOOL 8a38294e9468a779df1b74dc797d101c0999844ded28fb632149db7c9f915d44ca47acb13a448b0c2d4f80e09b4a10c0b41ef455addb53417e3e191c56cd3af6
+EBUILD vte-0.46.1.ebuild 1898 SHA256 1da31f1f28461c3bcac037b45cf369742eb542caf3878eed9db36a5feeb88e5b SHA512 e966d45f6d46ca821ee4891fdfc7f03d01db9c64327b2146178407cf1adb8730d02723c205043d7bda68ec49d851d34412d4bb8d35908dcaebaf733e3ee5021d WHIRLPOOL cb0166031ce638d0de0c876abd1f4330552fbf19ed9c1eb28389085132df744506dc29ebdb29161841b13c78c0f612f1df2012f94d456382c3323afc963a8451
+EBUILD vte-0.46.2.ebuild 1902 SHA256 524f75fd28022773b3e6b1605ec2341f62058b500a2d65e2c16060b099a5d91e SHA512 8adb67da193d401f48c126b45ea9b97c186526c544fa49b719d20e02eeb020f757b5af07d844437b2000118d8669f575befe2d77bfbd889cc336a045043ac017 WHIRLPOOL 898fcc4926a660124bdca0501b61ccc5a7158751c9f3d32ccd4b31c7ac53676a4779d8dc7414aeae3cf70a1a1588589bb1350346709edfbc836e7f1452f973e8
+EBUILD vte-0.48.3.ebuild 2343 SHA256 b630a9e0709d6a95528b55e6602d4419fdb4aca903dee16147b79858eae2d193 SHA512 33aacf93302abd2f25d7ea7db14e57a30064ad26459077a670ec69dd0b629d37aa5574ae9c2b4b76f83583b411152dd4db6516b4274e059617afcee1dbe27deb WHIRLPOOL 03dab3f52e1b71328859e7bd17a74f3a1456e16c9934060bf32df409ab2efbf87b7d8e69eff30e63b68e89b9fec7549460365d4a4be977072eda1db8b7b8a5ac
+MISC ChangeLog 12740 SHA256 a95015795d0f34275827e24625ee923e4426263dbcb0604362ea8f070f97d0d2 SHA512 c27b5d62a3fbd4b0b550e2ca4bee4917aa315a5f4986655d13faabeb74e28f284cd19a3e376f7d986f984da05b04f7eddf94fce34188d20c818556c7f8f20608 WHIRLPOOL 54fd57c7358ff253a2a0397549b896c6ce0d186c8c3b58f60cc5cb8f4231cf581d2e61c8ae2234c90f544e438cdc431a8b451b9a29ab97e03f8a113e0dd9001b
+MISC ChangeLog-2015 55694 SHA256 b82586cfbd6b1268c3795822eddc032254d66867cc5ee84750c31e87605e9eb5 SHA512 260cb689bee30cf2c1970f98f34d8bcd0d8fdd6f6419513c5098fea80a9de759dda50e925950516b570e38403b74d3b787e26738a5a4530c06160912d3cbdb64 WHIRLPOOL 8983100c2dca9e9261511c237af5e84afd8132fec63042af20b6e7abc04be4623e58446caa9408dcabf0fa77079227b12dc9180b0912f8e9be8a227e27ea7d7c
+MISC metadata.xml 348 SHA256 e70b7fc4a21f1a7caba00ef2dcc656a7e79e15e0459519e260a27136fb6f0d88 SHA512 3e3da8172df02c72e955968530e757124b502cb2b3ff750fdc3c52f28c763f22d918fa9b2f08da7d1b87bf3719e4cc726528c9496adde96eee3111f08a54d8d4 WHIRLPOOL 15b683c11d7ab6a5648686b2b6a66dd1cf6034a612504a83f96b81253e3089a278bb7c70681ebe543e6904aab9e9f3d3579505cec4caf3df5ed44b34391a4138
diff --git a/x11-libs/vte/files/vte-0.28.2-interix.patch b/x11-libs/vte/files/vte-0.28.2-interix.patch
new file mode 100644
index 000000000000..c54d46ebc3dc
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.28.2-interix.patch
@@ -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
diff --git a/x11-libs/vte/files/vte-0.28.2-limit-arguments.patch b/x11-libs/vte/files/vte-0.28.2-limit-arguments.patch
new file mode 100644
index 000000000000..fd454079390f
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.28.2-limit-arguments.patch
@@ -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
diff --git a/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch b/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
new file mode 100644
index 000000000000..86e547103ad7
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.28.2-repaint-after-change-scroll-region.patch
@@ -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
+
diff --git a/x11-libs/vte/files/vte-0.30.1-alt-meta.patch b/x11-libs/vte/files/vte-0.30.1-alt-meta.patch
new file mode 100644
index 000000000000..bd364be5846c
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.30.1-alt-meta.patch
@@ -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
+
diff --git a/x11-libs/vte/metadata.xml b/x11-libs/vte/metadata.xml
new file mode 100644
index 000000000000..e72feac7249e
--- /dev/null
+++ b/x11-libs/vte/metadata.xml
@@ -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>
diff --git a/x11-libs/vte/vte-0.28.2-r208.ebuild b/x11-libs/vte/vte-0.28.2-r208.ebuild
new file mode 100644
index 000000000000..9ff769292a1c
--- /dev/null
+++ b/x11-libs/vte/vte-0.28.2-r208.ebuild
@@ -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 ~x86-fbsd ~amd64-linux ~arm-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
+}
diff --git a/x11-libs/vte/vte-0.36.5.ebuild b/x11-libs/vte/vte-0.36.5.ebuild
new file mode 100644
index 000000000000..7aeb7122d3af
--- /dev/null
+++ b/x11-libs/vte/vte-0.36.5.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+GCONF_DEBUG="no"
+
+inherit eutils gnome2
+
+DESCRIPTION="Library providing a virtual terminal emulator widget"
+HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE"
+
+LICENSE="LGPL-2+"
+SLOT="2.90"
+IUSE="debug glade +introspection"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
+
+PDEPEND=">=x11-libs/gnome-pty-helper-${PV}"
+RDEPEND="
+ >=dev-libs/glib-2.31.13:2
+ >=x11-libs/gtk+-3.1.9:3[introspection?]
+ >=x11-libs/pango-1.22.0
+
+ sys-libs/ncurses:0=
+ x11-libs/libX11
+ x11-libs/libXft
+
+ glade? ( >=dev-util/glade-3.9:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
+"
+DEPEND="${RDEPEND}
+ >=dev-util/gtk-doc-am-1.13
+ >=dev-util/intltool-0.35
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ # https://bugzilla.gnome.org/show_bug.cgi?id=663779
+ epatch "${FILESDIR}/${PN}-0.30.1-alt-meta.patch"
+ 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
+
+ # Python bindings are via gobject-introspection
+ # Ex: from gi.repository import Vte
+ # Do not disable gnome-pty-helper, bug #401389
+ gnome2_src_configure \
+ --disable-deprecation \
+ --disable-static \
+ $(use_enable debug) \
+ $(use_enable glade glade-catalogue) \
+ $(use_enable introspection) \
+ ${myconf}
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog HACKING NEWS README"
+ gnome2_src_install
+ rm -v "${ED}usr/libexec/gnome-pty-helper" || die
+}
diff --git a/x11-libs/vte/vte-0.46.1.ebuild b/x11-libs/vte/vte-0.46.1.ebuild
new file mode 100644
index 000000000000..a9cad9a2bd1b
--- /dev/null
+++ b/x11-libs/vte/vte-0.46.1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VALA_USE_DEPEND="vapigen"
+VALA_MIN_API_VERSION="0.24"
+
+inherit eutils gnome2 vala
+
+DESCRIPTION="Library providing a virtual terminal emulator widget"
+HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE"
+
+LICENSE="LGPL-2+"
+SLOT="2.91"
+IUSE="+crypt debug glade +introspection vala"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+ >=dev-libs/glib-2.40:2
+ >=dev-libs/libpcre2-10.21
+ >=x11-libs/gtk+-3.8:3[introspection?]
+ >=x11-libs/pango-1.22.0
+
+ sys-libs/ncurses:0=
+ sys-libs/zlib
+
+ crypt? ( >=net-libs/gnutls-3.2.7 )
+ glade? ( >=dev-util/glade-3.9:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
+"
+DEPEND="${RDEPEND}
+ dev-libs/libxml2
+ >=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() {
+ 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"
+
+ 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
+
+ # Python bindings are via gobject-introspection
+ # Ex: from gi.repository import Vte
+ gnome2_src_configure \
+ --disable-test-application \
+ --disable-static \
+ $(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 "${D}"/etc/profile.d/vte{,-${SLOT}}.sh || die
+}
diff --git a/x11-libs/vte/vte-0.46.2.ebuild b/x11-libs/vte/vte-0.46.2.ebuild
new file mode 100644
index 000000000000..afb64229521e
--- /dev/null
+++ b/x11-libs/vte/vte-0.46.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+VALA_USE_DEPEND="vapigen"
+VALA_MIN_API_VERSION="0.24"
+
+inherit eutils gnome2 vala
+
+DESCRIPTION="Library providing a virtual terminal emulator widget"
+HOMEPAGE="https://wiki.gnome.org/action/show/Apps/Terminal/VTE"
+
+LICENSE="LGPL-2+"
+SLOT="2.91"
+IUSE="+crypt debug glade +introspection vala"
+KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
+REQUIRED_USE="vala? ( introspection )"
+
+RDEPEND="
+ >=dev-libs/glib-2.40:2
+ >=dev-libs/libpcre2-10.21
+ >=x11-libs/gtk+-3.8:3[introspection?]
+ >=x11-libs/pango-1.22.0
+
+ sys-libs/ncurses:0=
+ sys-libs/zlib
+
+ crypt? ( >=net-libs/gnutls-3.2.7 )
+ glade? ( >=dev-util/glade-3.9:3.10 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0:= )
+"
+DEPEND="${RDEPEND}
+ dev-libs/libxml2
+ >=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() {
+ 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"
+
+ 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
+
+ # Python bindings are via gobject-introspection
+ # Ex: from gi.repository import Vte
+ gnome2_src_configure \
+ --disable-test-application \
+ --disable-static \
+ $(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 "${D}"/etc/profile.d/vte{,-${SLOT}}.sh || die
+}
diff --git a/x11-libs/vte/vte-0.48.3.ebuild b/x11-libs/vte/vte-0.48.3.ebuild
new file mode 100644
index 000000000000..69d239356618
--- /dev/null
+++ b/x11-libs/vte/vte-0.48.3.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2017 Gentoo Foundation
+# 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/action/show/Apps/Terminal/VTE"
+
+LICENSE="LGPL-2+"
+SLOT="2.91"
+IUSE="+crypt debug glade +introspection vala vanilla"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-solaris ~x86-solaris"
+REQUIRED_USE="vala? ( introspection )"
+
+SRC_URI="${SRC_URI} !vanilla? ( https://dev.gentoo.org/~leio/distfiles/${PN}-${SLOT}-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-util/gperf
+ dev-libs/libxml2
+ >=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
+ # First half of http://pkgs.fedoraproject.org/cgit/rpms/vte291.git/tree/vte291-command-notify-scroll-speed.patch
+ # Adds OSC 777 support for desktop notifications in gnome-terminal or elsewhere
+ eapply "${WORKDIR}/${PN}-${SLOT}-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"
+
+ 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
+
+ # Python bindings are via gobject-introspection
+ # Ex: from gi.repository import Vte
+ gnome2_src_configure \
+ --disable-test-application \
+ --disable-static \
+ --with-gtk=3.0 \
+ $(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 "${D}"/etc/profile.d/vte{,-${SLOT}}.sh || die
+}