diff options
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 +} |