ports/contrib (3.4): sakura: 3.5.0 -> 3.6.0
commit 1644807681d22a3423d24ed1eadbe26c425297ea Author: Danny Rawlins <monster.romster@gmail.com> Date: Fri Sep 28 20:53:26 2018 +1000 sakura: 3.5.0 -> 3.6.0 diff --git a/sakura/.signature b/sakura/.signature index c458b64d..2f1005d8 100644 --- a/sakura/.signature +++ b/sakura/.signature @@ -1,5 +1,6 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF3yCQZ5DOzzayjWzc6cZ0YzllJFUaWymWWxrGYNeTma1exZRASFpa54vad/o/a3vSE27GjTteAh00KsrhXPFpkwI= -SHA256 (Pkgfile) = 2e8d087ae1b1a546153d6281209cfe9c480527820910641d6c1f1ef6faf05ade +RWSagIOpLGJF35Lc9YkPc8HXf7TVplXI+GOGoc4Lp6E+f5T6tq7atdi8TpuNex9k57h8ZcgTv6XhvRiD6ba6jqLolTaKDJVuHws= +SHA256 (Pkgfile) = bd3cb1f80f5977fdf5061565c00a326e0723883d2821a7a444ac2327696c2861 SHA256 (.footprint) = 329496cfa310c07f4b8f63ec1a6a69e2dbcc82825f430df777108d134d8a6979 -SHA256 (sakura-3.5.0.tar.bz2) = eb30ede41083fda2b07c6a3b7393150f48867e81d28ef70b15824740cab00c3a +SHA256 (sakura-3.6.0.tar.bz2) = a1161f3cedde20a7e1bc5981b3e6ab3b91d2cd3a5ffe35c792a7fa402a1e86e0 +SHA256 (segfault.patch) = bc9f2364a85261ac7f6e031556b9a3bb71a2be3384ef3f049806df03b12936c7 diff --git a/sakura/Pkgfile b/sakura/Pkgfile index 022ec5fb..58a6051a 100644 --- a/sakura/Pkgfile +++ b/sakura/Pkgfile @@ -1,16 +1,19 @@ # Description: A terminal emulator based on GTK and VTE. # URL: http://www.pleyades.net/david/projects/sakura # Maintainer: Danny Rawlins, crux at romster dot me -# Depends on: vte3 cmake libidn +# Depends on: vte3 name=sakura -version=3.5.0 +version=3.6.0 release=1 -source=(https://launchpad.net/sakura/trunk/$version/+download/$name-$version.tar.bz2) +source=(https://launchpad.net/sakura/trunk/$version/+download/$name-$version.tar.bz2 + segfault.patch) build() { cd $name-$version + patch -p0 -i $SRC/segfault.patch + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=RELEASE . make diff --git a/sakura/segfault.patch b/sakura/segfault.patch new file mode 100644 index 00000000..330b31e7 --- /dev/null +++ b/sakura/segfault.patch @@ -0,0 +1,62 @@ +=== modified file 'src/sakura.c' +--- src/sakura.c 2018-05-02 19:22:43 +0000 ++++ src/sakura.c 2018-09-16 13:26:19 +0000 +@@ -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 */ + +
participants (1)
-
crux@crux.nu