summaryrefslogtreecommitdiff
path: root/x11-terms/sakura
diff options
context:
space:
mode:
Diffstat (limited to 'x11-terms/sakura')
-rw-r--r--x11-terms/sakura/Manifest2
-rw-r--r--x11-terms/sakura/files/sakura-3.6.0-tab-crash.patch60
-rw-r--r--x11-terms/sakura/sakura-3.6.0-r1.ebuild67
3 files changed, 129 insertions, 0 deletions
diff --git a/x11-terms/sakura/Manifest b/x11-terms/sakura/Manifest
index 9868131d9ee4..5cb959e66a41 100644
--- a/x11-terms/sakura/Manifest
+++ b/x11-terms/sakura/Manifest
@@ -1,6 +1,8 @@
AUX sakura-3.1.3-flags.patch 626 BLAKE2B 5d0d19c134e0dca10d564049e8b988616e5d84d8bf88c8ab6469bdf3e504b9d528a7754cb02d171fd71497eac2363bfd41f1b26551a9e2dc5a39f262ff3e92d6 SHA512 007a2f2ab722bd991cee0da708efba301b3c69bb86eff25a14519008ad485e8e6ed1c8e2ded6fcd88ff7066528ff539eced4d105a84d6774aa952150beddc57f
+AUX sakura-3.6.0-tab-crash.patch 2274 BLAKE2B 428ada6b712d961bb2db5f7662dbe8275b6bc01d4b259437c372766809dc4277a20004706af812be667f37e5248b7d5ae67d16dcfa768d7424c534b8fdc5914d SHA512 eb15333aa1ab078ca66478fb176424029a3b99974d771b8f9fcf646b4cf0f72e14ee39b0c324d1323e90263dcc1dd54c8840526fffe3e0e961b525cded364108
DIST sakura-3.5.0.tar.bz2 55432 BLAKE2B 9accd09eac359b64637ff5c318e50e32f5bfa27cf7fb5d4a99c91391e14f145020bd19077e20585b78149e5ac5f281abaf1098dbbaf111e54fd5ad5fbb2f4887 SHA512 20c691342c68a2a6f7397da754c83b19c7622e25984ae9fe9fef47492e19cd7589dd9d1bd2ccb82bd9c6ab82f92c97c1b742795434a101a0e169c6f901f40d9e
DIST sakura-3.6.0.tar.bz2 56044 BLAKE2B 746de744ad562c4202acf4cb6803917530bde6edb13799630124e64e3e423ee423770cdebd5f8f42b5c2bd56b8863c82eb2015c65b2f168933c87337026c1313 SHA512 4b9d2c15305a2b9a193031194afc0b50deeb32ae52f8b13967801cd57aa71424d7dedf0a9aedf7470aef8b58d8341c85ae37ef67b941b8b97912eb845c5df08f
EBUILD sakura-3.5.0.ebuild 1374 BLAKE2B 8f582200acd5a4ab13b8ee1e2c2eaa95cae00999aa892b9af60def89b3135c3dea157eae1b5b2edc4256457094bea473b5dfb1899020c56076b6763634c5206f SHA512 6189f97dae9654625cd4d8764746d8a96cadb5411b8260a3f1445b03a1e1a4bd23e58729049974f2dc708548b5f371b795be305c30c6b8abba36b871b47ff4f8
+EBUILD sakura-3.6.0-r1.ebuild 1422 BLAKE2B ef82bcd3e6c7767dafcfe92bc9605853a44f8672fa570cab3992232fe02918c73e98fc638fb0ae253b196e04a9072720e8ecc03a0b71747f0b803ebfbc4bd1e2 SHA512 3cbc7e38c4485bbe0a661356ebfce3db551b39d21d8c76ad2661b73f761f30237d5b6c8108a8c4f3096e652f5d61d969fe6f6bb578d361344eb2d6dbca5f15a9
EBUILD sakura-3.6.0.ebuild 1382 BLAKE2B a79d51d96301f740285f99a20db398bcc8249afb6b24dd853841ef8c9b235da24eedc88249f1f64d06911fee869ba4e42af75f6f7f782ccc46d2f8bb0abd24d1 SHA512 82c6c09038a5649c7706d34d1ecc0529ae67454ff867e95b0517b5c213e25929591391fc8f623ab329fc309408182db340a8ff9cb2b9117f671bbe29c46596be
MISC metadata.xml 928 BLAKE2B 91926b81400896fef6be017fe1d0dacc25bb2331e84b7604223464c2f0862b0935aadf944dcd272a989ae9de5b180f3576725f30fa2a161ba24f27c5ba1884e0 SHA512 95be972f218e92365f8084f3a796199c3f7a182bc42c098761096f2146323afcdb2fc45e6c4ec975f03decdac05b9c01083c768162bf97c88c61dab892419ffb
diff --git a/x11-terms/sakura/files/sakura-3.6.0-tab-crash.patch b/x11-terms/sakura/files/sakura-3.6.0-tab-crash.patch
new file mode 100644
index 000000000000..4d1a33e27510
--- /dev/null
+++ b/x11-terms/sakura/files/sakura-3.6.0-tab-crash.patch
@@ -0,0 +1,60 @@
+--- a/src/sakura.c
++++ b/src/sakura.c
+@@ -339,6 +339,7 @@
+ bool label_set_byuser;
+ GtkBorder padding; /* inner-property data */
+ int colorset;
++ gulong exit_handler_id;
+ };
+
+
+@@ -984,31 +985,6 @@
+ if (npages==1) {
+ sakura_config_done();
+ }
+-
+- /* Workaround for libvte strange behaviour. There is not child-exited signal for
+- the last terminal, so we need to kill it here. Check with libvte authors about
+- child-exited/eof signals */
+- if (gtk_notebook_get_current_page(GTK_NOTEBOOK(sakura.notebook))==0) {
+-
+- term = sakura_get_page_term(sakura, 0);
+-
+- if (option_hold==TRUE) {
+- SAY("hold option has been activated");
+- return;
+- }
+-
+- //SAY("waiting for terminal pid (in eof) %d", term->pid);
+- //waitpid(term->pid, &status, WNOHANG);
+- /* TODO: check wait return */
+- /* Child should be automatically reaped because we don't use G_SPAWN_DO_NOT_REAP_CHILD flag */
+- g_spawn_close_pid(term->pid);
+-
+- sakura_del_tab(0);
+-
+- npages = gtk_notebook_get_n_pages(GTK_NOTEBOOK(sakura.notebook));
+- if (npages==0)
+- sakura_destroy();
+- }
+ }
+
+ /* This handler is called when window title changes, and is used to change window and notebook pages titles */
+@@ -3167,7 +3143,7 @@
+ g_signal_connect(G_OBJECT(term->vte), "bell", G_CALLBACK(sakura_beep), NULL);
+ g_signal_connect(G_OBJECT(term->vte), "increase-font-size", G_CALLBACK(sakura_increase_font), NULL);
+ g_signal_connect(G_OBJECT(term->vte), "decrease-font-size", G_CALLBACK(sakura_decrease_font), NULL);
+- g_signal_connect(G_OBJECT(term->vte), "child-exited", G_CALLBACK(sakura_child_exited), NULL);
++ term->exit_handler_id = g_signal_connect(G_OBJECT(term->vte), "child-exited", G_CALLBACK(sakura_child_exited), NULL);
+ g_signal_connect(G_OBJECT(term->vte), "eof", G_CALLBACK(sakura_eof), NULL);
+ g_signal_connect(G_OBJECT(term->vte), "window-title-changed", G_CALLBACK(sakura_title_changed), NULL);
+ g_signal_connect_swapped(G_OBJECT(term->vte), "button-press-event", G_CALLBACK(sakura_button_press), sakura.menu);
+@@ -3366,6 +3342,7 @@
+ }
+
+ gtk_widget_hide(term->hbox);
++ g_signal_handler_disconnect (term->vte, term->exit_handler_id);
+ gtk_notebook_remove_page(GTK_NOTEBOOK(sakura.notebook), page);
+
+ /* Find the next page, if it exists, and grab focus */
+
diff --git a/x11-terms/sakura/sakura-3.6.0-r1.ebuild b/x11-terms/sakura/sakura-3.6.0-r1.ebuild
new file mode 100644
index 000000000000..9f68fad99741
--- /dev/null
+++ b/x11-terms/sakura/sakura-3.6.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit cmake-utils eutils flag-o-matic gnome2-utils xdg-utils
+
+DESCRIPTION="sakura is a terminal emulator based on GTK and VTE"
+HOMEPAGE="http://www.pleyades.net/david/projects/sakura/"
+SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-linux"
+
+RDEPEND="
+ >=dev-libs/glib-2.20:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11
+ >x11-libs/vte-0.50:2.91
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-lang/perl-5.10.1
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.3-flags.patch
+ "${FILESDIR}"/${PN}-3.6.0-tab-crash.patch
+)
+
+DOCS=(
+ AUTHORS
+)
+
+src_prepare() {
+ sed -i "/FILES INSTALL/d" CMakeLists.txt || die
+
+ strip-linguas -i po/
+ local lingua
+ for lingua in po/*.po; do
+ lingua="${lingua/po\/}"
+ lingua="${lingua/.po}"
+ if ! has ${lingua} ${LINGUAS}; then
+ rm po/${lingua}.po || die
+ fi
+ done
+
+ cmake-utils_src_prepare
+ # sakura.c:1740:3: warning: implicit declaration of function ‘readlink’
+ # [-Wimplicit-function-declaration]
+ append-cppflags -D_DEFAULT_SOURCE
+
+ # sakura.c:1348:9: error: ‘for’ loop initial declarations are only allowed
+ # in C99 or C11 mode
+ append-cflags -std=c99
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}