summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-libs/vte/Manifest2
-rw-r--r--x11-libs/vte/files/0.54.4-vala-0.44-compat.patch29
-rw-r--r--x11-libs/vte/files/vte-0.54.2-ng/01-expose-functions-for-pausing.patch64
-rw-r--r--x11-libs/vte/files/vte-0.54.2-ng/02-expose-function-for-setting.patch61
-rw-r--r--x11-libs/vte/files/vte-0.54.2-ng/03-add-function-for-setting-the.patch56
-rw-r--r--x11-libs/vte/files/vte-0.54.2-ng/04-add-functions-to-get-set-block.patch62
-rw-r--r--x11-libs/vte/files/vte-0.54.2-ng/05-expose-function-for-getting.patch43
-rw-r--r--x11-libs/vte/files/vte-0.54.2-ng/series6
-rw-r--r--x11-libs/vte/vte-0.54.4.ebuild95
9 files changed, 418 insertions, 0 deletions
diff --git a/x11-libs/vte/Manifest b/x11-libs/vte/Manifest
index 2864b7e..19f6498 100644
--- a/x11-libs/vte/Manifest
+++ b/x11-libs/vte/Manifest
@@ -9,4 +9,6 @@ DIST vte-0.46.2.tar.xz 989756 BLAKE2B 5b62ca5425604301f748a214610e2e6e2431f9ad9d
DIST vte-0.48.3.tar.xz 1009364 BLAKE2B a16b56ecab0db7ee1a9f8bc9f975ba13fb1dbbdcee77fd6c6f7c11df4680eb644566bc30ffb2ac6009c0ed891bb20598eebaeb87837ae1ac72d7eb8241d2e119 SHA512 3037b61a759cfcf56838bc7804df5a211da416bff9ddc5791f8a8d5157b90926985cfe57d7edbab42de64945d5e668470fe4129a218fb9c7af546648e1660c72
DIST vte-0.48.4-command-notify.patch.xz 5500 BLAKE2B 88b655403d2bef034604a283b173fece305af35f51b20f9d4811b33265b5a6eb83441e0b978539de501d118a8431c4a9a9a69a111a03c45adc87763b15b09fd2 SHA512 b8ba202aedb5d821962a7cdc89e6ef8ac8a3480dd7681bf8ce708ce511598f3335ba153750d40cb06e9a2c5bab5888b3daef9096458c2889d94028feaa394575
DIST vte-0.48.4.tar.xz 1008296 BLAKE2B 9f946d6909d38896ec80db2a02666d809155997b27109724fb318d28200220f1514fb23e4cdc90263a756914b5db442c947578c8854a535cb960a06f7bc03a77 SHA512 4b75bd881e58b5043bc44e391ef3a826a2c25d0f1bb5ffb890367e11a60b1bcbce091575ede6972a89ae043b39c51897f91fca1faf6872664d602e503d8020fc
+DIST vte-0.54.1-command-notify.patch.xz 3428 BLAKE2B 75b0c22720276300be2e49e8444aa68fed77fb7a6cc6b0e93a5c2d41257626bd60ff1084d68579769cb3d85e7ec567927591746de48e860b138d0c1f24f64cc7 SHA512 a53da569f8168c8e9e21e186dcfc00bf9fdb78a0c767ba35033c1c1e4f836406b4d9bf70ee3e071f6c749fd6f72101a6960d201617bd0bc23021e1eeaac6fd0c
+DIST vte-0.54.4.tar.xz 1087748 BLAKE2B 65fb762414e832930ce1519dc99fe306b3c9c3860bf8116c29e66b758178d1f0a52705cd6f7ab1be30374fb2956a01aaccc8f6859d0af971f2037809421bb502 SHA512 7e0f4140a4c474fad9a48eaf0e4c29f83e7bf50719087983c238b362c6303824836c34485eb2ca135be0961fa4b83a318d08ef70d4cf0dab0d37dc2e36710c41
DIST vte-2.91-command-notify.patch.xz 6012 BLAKE2B 4a37464ed214e80e5db8eb6a9c09a33816d143e081a5391709be3cd3611197f75d5cfe750ecdfdc95199328ae4894d7ad565933338ba5025e108cd8e2720af68 SHA512 e6a8955f99c98183c60df770b5c6826c5a456aaac3c83a8d0fa5037d2dd250450c8287dff335e22ca32332645d13d298cecc5d2c884c7c9da65d09dfd2a79054
diff --git a/x11-libs/vte/files/0.54.4-vala-0.44-compat.patch b/x11-libs/vte/files/0.54.4-vala-0.44-compat.patch
new file mode 100644
index 0000000..5da32be
--- /dev/null
+++ b/x11-libs/vte/files/0.54.4-vala-0.44-compat.patch
@@ -0,0 +1,29 @@
+From 53690d5cee51bdb7c3f7680d3c22b316b1086f2c Mon Sep 17 00:00:00 2001
+From: Rico Tzschichholz <ricotz@ubuntu.com>
+Date: Sat, 1 Dec 2018 19:04:59 +0100
+Subject: [PATCH] vala: Fix build with vala 0.43+ git master due to empty
+ struct definition
+
+This should get a proper refactoring as the FIXME suggests.
+
+See https://gitlab.gnome.org/GNOME/vte/issues/76
+---
+ bindings/vala/app.vala | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/bindings/vala/app.vala b/bindings/vala/app.vala
+index 8663d63c..a534e76b 100644
+--- a/bindings/vala/app.vala
++++ b/bindings/vala/app.vala
+@@ -819,6 +819,8 @@ class App : Gtk.Application
+
+ public struct Options
+ {
++ //FIXME Merge this struct into App class
++ public int dummy;
+ public static bool audible = false;
+ public static string? command = null;
+ private static string? cjk_ambiguous_width_string = null;
+--
+2.20.1
+
diff --git a/x11-libs/vte/files/vte-0.54.2-ng/01-expose-functions-for-pausing.patch b/x11-libs/vte/files/vte-0.54.2-ng/01-expose-functions-for-pausing.patch
new file mode 100644
index 0000000..9ff6bb8
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.54.2-ng/01-expose-functions-for-pausing.patch
@@ -0,0 +1,64 @@
+expose functions for pausing unpausing output
+
+From: Jelle van der Waa <jelle@vdwaa.nl>
+
+
+---
+ src/vte/vteterminal.h | 6 ++++++
+ src/vtegtk.cc | 26 ++++++++++++++++++++++++++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index 89539cc4..a41ec359 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -175,6 +175,12 @@ void vte_terminal_feed_child_binary(VteTerminal *terminal,
+ const guint8 *data,
+ gsize length) _VTE_GNUC_NONNULL(1);
+
++_VTE_PUBLIC
++void vte_terminal_connect_pty_read(VteTerminal *terminal);
++
++_VTE_PUBLIC
++void vte_terminal_disconnect_pty_read(VteTerminal *terminal);
++
+ /* Copy currently-selected text to the clipboard, or from the clipboard to
+ * the terminal. */
+ _VTE_PUBLIC
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index 89e3d7a8..f0f3f3e8 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2780,6 +2780,32 @@ vte_terminal_feed_child(VteTerminal *terminal,
+ IMPL(terminal)->feed_child(text, length);
+ }
+
++/**
++ * vte_terminal_connect_pty_read:
++ * @terminal: a #VteTerminal
++ *
++ * Unpause output
++ */
++void
++vte_terminal_connect_pty_read(VteTerminal *terminal)
++{
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
++ IMPL(terminal)->connect_pty_read();
++}
++
++/**
++ * vte_terminal_disconnect_pty_read:
++ * @terminal: a #VteTerminal
++ *
++ * Pause output
++ */
++void
++vte_terminal_disconnect_pty_read(VteTerminal *terminal)
++{
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
++ IMPL(terminal)->disconnect_pty_read();
++}
++
+ /**
+ * vte_terminal_feed_child_binary:
+ * @terminal: a #VteTerminal
diff --git a/x11-libs/vte/files/vte-0.54.2-ng/02-expose-function-for-setting.patch b/x11-libs/vte/files/vte-0.54.2-ng/02-expose-function-for-setting.patch
new file mode 100644
index 0000000..169abf5
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.54.2-ng/02-expose-function-for-setting.patch
@@ -0,0 +1,61 @@
+expose function for setting cursor position
+
+From: Jelle van der Waa <jelle@vdwaa.nl>
+
+
+---
+ src/vte/vteterminal.h | 5 +++++
+ src/vtegtk.cc | 24 ++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index a41ec359..fe90a374 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -383,6 +383,11 @@ _VTE_PUBLIC
+ void vte_terminal_get_cursor_position(VteTerminal *terminal,
+ glong *column,
+ glong *row) _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
++void vte_terminal_set_cursor_position(VteTerminal *terminal,
++ glong column,
++ glong row) _VTE_GNUC_NONNULL(1);
++
+
+ _VTE_PUBLIC
+ char *vte_terminal_hyperlink_check_event(VteTerminal *terminal,
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index f0f3f3e8..17be4728 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2415,6 +2415,30 @@ vte_terminal_get_cursor_position(VteTerminal *terminal,
+ }
+ }
+
++/**
++ * vte_terminal_set_cursor_position
++ * @terminal: a #VteTerminal
++ * @column: the new cursor column
++ * @row: the new cursor row
++ *
++ * Set the location of the cursor.
++ */
++void
++vte_terminal_set_cursor_position(VteTerminal *terminal,
++ long column, long row)
++{
++ g_return_if_fail(VTE_IS_TERMINAL(terminal));
++
++ auto impl = IMPL(terminal);
++ impl->invalidate_cursor_once(FALSE);
++ impl->m_screen->cursor.col = column;
++ impl->m_screen->cursor.row = row;
++ impl->invalidate_cursor_once(FALSE);
++ impl->check_cursor_blink();
++ impl->queue_cursor_moved();
++
++}
++
+ /**
+ * vte_terminal_pty_new_sync:
+ * @terminal: a #VteTerminal
diff --git a/x11-libs/vte/files/vte-0.54.2-ng/03-add-function-for-setting-the.patch b/x11-libs/vte/files/vte-0.54.2-ng/03-add-function-for-setting-the.patch
new file mode 100644
index 0000000..f1b685c
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.54.2-ng/03-add-function-for-setting-the.patch
@@ -0,0 +1,56 @@
+add function for setting the text selections
+
+From: Jelle van der Waa <jelle@vdwaa.nl>
+
+
+---
+ src/vte/vteterminal.h | 4 ++++
+ src/vtegtk.cc | 20 ++++++++++++++++++++
+ 2 files changed, 24 insertions(+)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index fe90a374..b92443bb 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -196,6 +196,10 @@ _VTE_PUBLIC
+ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ _VTE_PUBLIC
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
++void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
++ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
++
+
+ /* By-word selection */
+ _VTE_PUBLIC
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index 17be4728..2ebf070f 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2390,6 +2390,26 @@ vte_terminal_unselect_all(VteTerminal *terminal)
+ IMPL(terminal)->deselect_all();
+ }
+
++/**
++ * vte_terminal_select_text:
++ * @terminal: a #VteTerminal
++ * @start_col: the starting column for the selection
++ * @start_row: the starting row for the selection
++ * @end_col: the end column for the selection
++ * @end_row: the end row for the selection
++ *
++ * Sets the current selection region.
++ */
++void
++vte_terminal_select_text(VteTerminal *terminal,
++ long start_col, long start_row,
++ long end_col, long end_row)
++{
++ g_return_if_fail (VTE_IS_TERMINAL (terminal));
++
++ IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
++}
++
+ /**
+ * vte_terminal_get_cursor_position:
+ * @terminal: a #VteTerminal
diff --git a/x11-libs/vte/files/vte-0.54.2-ng/04-add-functions-to-get-set-block.patch b/x11-libs/vte/files/vte-0.54.2-ng/04-add-functions-to-get-set-block.patch
new file mode 100644
index 0000000..1c7b55b
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.54.2-ng/04-add-functions-to-get-set-block.patch
@@ -0,0 +1,62 @@
+add functions to get/set block selection mode
+
+From: Jelle van der Waa <jelle@vdwaa.nl>
+
+
+---
+ src/vte/vteterminal.h | 5 +++++
+ src/vtegtk.cc | 25 +++++++++++++++++++++++++
+ 2 files changed, 30 insertions(+)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index b92443bb..87096bc0 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -197,6 +197,11 @@ void vte_terminal_select_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ _VTE_PUBLIC
+ void vte_terminal_unselect_all(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+ _VTE_PUBLIC
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
++void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
++ gboolean block_mode) _VTE_GNUC_NONNULL(1);
++_VTE_PUBLIC
+ void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
+ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
+
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index 2ebf070f..27ad64da 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2389,6 +2389,31 @@ vte_terminal_unselect_all(VteTerminal *terminal)
+
+ IMPL(terminal)->deselect_all();
+ }
++/**
++ * vte_terminal_get_selection_block_mode:
++ * @terminal: a #VteTerminal
++ *
++ * Checks whether or not block selection is enabled.
++ *
++ * Returns: %TRUE if block selection is enabled, %FALSE if not
++ */
++
++gboolean vte_terminal_get_selection_block_mode(VteTerminal *terminal) {
++ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), FALSE);
++ return IMPL(terminal)->m_selection_block_mode;
++}
++/**
++ * vte_terminal_set_selection_block_mode:
++ * @terminal: a #VteTerminal
++ * @block_mode: whether block selection is enabled
++ *
++ * Sets whether or not block selection is enabled.
++ */
++void
++vte_terminal_set_selection_block_mode(VteTerminal *terminal, gboolean block_mode) {
++ g_return_if_fail (VTE_IS_TERMINAL (terminal));
++ IMPL(terminal)->m_selection_block_mode = block_mode;
++}
+
+ /**
+ * vte_terminal_select_text:
diff --git a/x11-libs/vte/files/vte-0.54.2-ng/05-expose-function-for-getting.patch b/x11-libs/vte/files/vte-0.54.2-ng/05-expose-function-for-getting.patch
new file mode 100644
index 0000000..9470147
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.54.2-ng/05-expose-function-for-getting.patch
@@ -0,0 +1,43 @@
+expose function for getting the selected text
+
+From: Jelle van der Waa <jelle@vdwaa.nl>
+
+
+---
+ src/vte/vteterminal.h | 4 +++-
+ src/vtegtk.cc | 7 +++++++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h
+index 87096bc0..8bdbde30 100644
+--- a/src/vte/vteterminal.h
++++ b/src/vte/vteterminal.h
+@@ -204,7 +204,9 @@ void vte_terminal_set_selection_block_mode(VteTerminal *terminal,
+ _VTE_PUBLIC
+ void vte_terminal_select_text(VteTerminal *terminal, long start_col, long start_row,
+ long end_col, long end_row) _VTE_GNUC_NONNULL(1);
+-
++_VTE_PUBLIC
++char *
++vte_terminal_get_selection(VteTerminal *terminal) _VTE_GNUC_NONNULL(1);
+
+ /* By-word selection */
+ _VTE_PUBLIC
+diff --git a/src/vtegtk.cc b/src/vtegtk.cc
+index 27ad64da..0067e58a 100644
+--- a/src/vtegtk.cc
++++ b/src/vtegtk.cc
+@@ -2435,6 +2435,13 @@ vte_terminal_select_text(VteTerminal *terminal,
+ IMPL(terminal)->select_text(start_col, start_row, end_col, end_row);
+ }
+
++char *
++vte_terminal_get_selection(VteTerminal *terminal)
++{
++ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL);
++ return g_strdup (IMPL(terminal)->m_selection[VTE_SELECTION_PRIMARY]->str);
++}
++
+ /**
+ * vte_terminal_get_cursor_position:
+ * @terminal: a #VteTerminal
diff --git a/x11-libs/vte/files/vte-0.54.2-ng/series b/x11-libs/vte/files/vte-0.54.2-ng/series
new file mode 100644
index 0000000..7bffb7f
--- /dev/null
+++ b/x11-libs/vte/files/vte-0.54.2-ng/series
@@ -0,0 +1,6 @@
+# This series applies on GIT commit 6c37e5164aef8b2ac3dea02f6c1a3152dad93fda
+01-expose-functions-for-pausing.patch
+02-expose-function-for-setting.patch
+03-add-function-for-setting-the.patch
+04-add-functions-to-get-set-block.patch
+05-expose-function-for-getting.patch
diff --git a/x11-libs/vte/vte-0.54.4.ebuild b/x11-libs/vte/vte-0.54.4.ebuild
new file mode 100644
index 0000000..afe4114
--- /dev/null
+++ b/x11-libs/vte/vte-0.54.4.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2019 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 termite-patch? ( https://github.com/thestinger/vte-ng )"
+
+LICENSE="LGPL-2+"
+SLOT="2.91"
+IUSE="+crypt debug glade +introspection +termite-patch vala vanilla"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~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
+ # 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}-0.54.1-command-notify.patch
+ fi
+
+ # Fix bindings test compilation with vala:0.44 and newer - https://gitlab.gnome.org/GNOME/vte/issues/76
+ eapply "${FILESDIR}"/${PV}-vala-0.44-compat.patch
+
+ if use termite-patch; then
+ eapply "$FILESDIR"/${PN}-0.54.2-ng/
+ 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
+
+ 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
+}