www-client/midori: Support vala-0.36
authorMichał Górny <mgorny@gentoo.org>
Mon, 14 May 2018 09:13:42 +0000 (11:13 +0200)
committerMichał Górny <mgorny@gentoo.org>
Mon, 14 May 2018 09:18:06 +0000 (11:18 +0200)
Closes: https://bugs.gentoo.org/628108

www-client/midori/files/midori-0.5.11-vala-0.35.patch [new file with mode: 0644]
www-client/midori/midori-0.5.11-r3.ebuild [new file with mode: 0644]

diff --git a/www-client/midori/files/midori-0.5.11-vala-0.35.patch b/www-client/midori/files/midori-0.5.11-vala-0.35.patch
new file mode 100644 (file)
index 0000000..4192b60
--- /dev/null
@@ -0,0 +1,101 @@
+Patch provided by Sander Sweers on https://bugs.gentoo.org/628108#c9
+
+diff -ur midori-0.5.11.orig/extensions/adblock/widgets.vala midori-0.5.11/extensions/adblock/widgets.vala
+--- midori-0.5.11.orig/extensions/adblock/widgets.vala 2015-08-30 13:56:26.000000000 +0200
++++ midori-0.5.11/extensions/adblock/widgets.vala      2017-09-30 01:07:04.033922383 +0200
+@@ -227,7 +227,7 @@
+                             liststore.get (iter, 0, out sub);
+                             if (sub.mutable) {
+                                 config.remove (sub);
+-                                liststore.remove (iter);
++                                liststore.remove (ref iter);
+                                 return true;
+                             }
+                         }
+diff -ur midori-0.5.11.orig/extensions/apps.vala midori-0.5.11/extensions/apps.vala
+--- midori-0.5.11.orig/extensions/apps.vala    2015-08-30 13:56:26.000000000 +0200
++++ midori-0.5.11/extensions/apps.vala 2017-09-30 01:08:12.831916408 +0200
+@@ -265,7 +265,7 @@
+                             store.get (iter, 0, out launcher);
+                             try {
+                                 launcher.file.trash (null);
+-                                store.remove (iter);
++                                store.remove (ref iter);
+                                 string filename = Midori.Download.clean_filename (launcher.name);
+ #if HAVE_WIN32
+diff -ur midori-0.5.11.orig/extensions/history-list.vala midori-0.5.11/extensions/history-list.vala
+--- midori-0.5.11.orig/extensions/history-list.vala    2015-08-30 13:56:26.000000000 +0200
++++ midori-0.5.11/extensions/history-list.vala 2017-09-30 01:10:25.137904917 +0200
+@@ -223,7 +223,7 @@
+                     FixMe: the retrun value of `Gtk.ListStore.remove` should be checked
+                     Note:  in some cases the return value of `Gtk.ListStore.remove` is wrong
+                 */
+-                model.remove (iter);
++                model.remove (ref iter);
+                 this.browser.close_tab (view);
+                 if (length > 2)
+                     this.resize_treeview ();
+diff -ur midori-0.5.11.orig/extensions/notes.vala midori-0.5.11/extensions/notes.vala
+--- midori-0.5.11.orig/extensions/notes.vala   2015-08-30 13:56:26.000000000 +0200
++++ midori-0.5.11/extensions/notes.vala        2017-09-30 01:09:14.703911034 +0200
+@@ -116,7 +116,7 @@
+                     if (current_note == note) {
+                         current_note = null;
+                     }
+-                    notes_list_store.remove (iter);
++                    notes_list_store.remove (ref iter);
+                     break;
+                 }
+             } while (notes_list_store.iter_next (ref iter));
+diff -ur midori-0.5.11.orig/extensions/transfers.vala midori-0.5.11/extensions/transfers.vala
+--- midori-0.5.11.orig/extensions/transfers.vala       2015-08-30 13:56:26.000000000 +0200
++++ midori-0.5.11/extensions/transfers.vala    2017-09-30 01:05:00.916933075 +0200
+@@ -275,7 +275,7 @@
+                     Transfer found;
+                     store.get (iter, 0, out found);
+                     if (transfer == found) {
+-                        store.remove (iter);
++                        store.remove (ref iter);
+                         break;
+                     }
+                 } while (store.iter_next (ref iter));
+@@ -455,7 +455,7 @@
+                 if (notifications.length () == 1)
+                     msg = _("The file '<b>%s</b>' has been downloaded.").printf (filename);
+                 else
+-                    msg = _("'<b>%s</b>' and %d other files have been downloaded.").printf (filename, notifications.length ());
++                    msg = _("'<b>%s</b>' and %d other files have been downloaded.").printf (filename, (int) notifications.length ());
+                 get_app ().send_notification (_("Transfer completed"), msg);
+                 notifications = new GLib.List<string> ();
+             }
+diff -ur midori-0.5.11.orig/midori/midori-notebook.vala midori-0.5.11/midori/midori-notebook.vala
+--- midori-0.5.11.orig/midori/midori-notebook.vala     2015-08-30 13:56:26.000000000 +0200
++++ midori-0.5.11/midori/midori-notebook.vala  2017-09-30 00:49:47.947012362 +0200
+@@ -10,7 +10,7 @@
+ */
+ namespace Midori {
+-    protected class Tally : Gtk.EventBox {
++    internal class Tally : Gtk.EventBox {
+         public Midori.Tab tab { get; set; }
+         Gtk.Spinner spinner;
+         public Gtk.Label label;
+@@ -22,7 +22,7 @@
+         public bool close_button_left { get; set; default = false; }
+         public bool close_button_visible { get; set; default = false; }
+-        protected Tally (Midori.Tab tab) {
++        internal Tally (Midori.Tab tab) {
+             this.tab = tab;
+             box = new Gtk.HBox (false, 1);
+             add (box);
+@@ -155,7 +155,7 @@
+         int last_tab_size = 0;
+ #if !HAVE_GTK3
+-        static const string style_fixup = """
++        const string style_fixup = """
+             style "midori-close-button-style"
+             {
+             GtkWidget::focus-padding = 0
diff --git a/www-client/midori/midori-0.5.11-r3.ebuild b/www-client/midori/midori-0.5.11-r3.ebuild
new file mode 100644 (file)
index 0000000..f7bfd14
--- /dev/null
@@ -0,0 +1,89 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE='threads(+)'
+
+VALA_MIN_API_VERSION=0.36
+
+inherit cmake-utils gnome2-utils pax-utils python-any-r1 vala virtualx xdg-utils
+
+DESCRIPTION="A lightweight web browser based on WebKitGTK+"
+HOMEPAGE="http://www.midori-browser.org/"
+SRC_URI="http://www.${PN}-browser.org/downloads/${PN}_${PV}_all_.tar.bz2"
+
+KEYWORDS="~amd64 ~arm ~mips ~x86 ~x86-fbsd"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0"
+IUSE="doc granite xscreensaver +jit"
+
+RDEPEND="
+       >=app-crypt/gcr-3:=[gtk]
+       >=dev-db/sqlite-3.6.19:3
+       >=dev-libs/glib-2.32.3:2
+       dev-libs/libxml2
+       >=net-libs/libsoup-2.38:2.4
+       >=x11-libs/libnotify-0.7
+       >=x11-libs/gtk+-3.10.0:3
+       >=net-libs/webkit-gtk-2.3.91:4[jit=]
+       granite? ( >=dev-libs/granite-0.2 )
+       xscreensaver? (
+               x11-libs/libX11
+               x11-libs/libXScrnSaver )
+"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       $(vala_depend)
+       dev-util/intltool
+       gnome-base/librsvg
+       sys-devel/gettext
+       doc? ( dev-util/gtk-doc )
+"
+
+pkg_setup() {
+       python-any-r1_pkg_setup
+}
+
+src_prepare() {
+       eapply "${FILESDIR}"/${P}-libsoup.patch #587448
+       eapply "${FILESDIR}"/${P}-vala-0.35.patch #628108
+
+       cmake-utils_src_prepare
+       vala_src_prepare
+       sed -i -e '/^install/s:COPYING:HACKING TODO TRANSLATE:' CMakeLists.txt || die
+}
+
+src_configure() {
+       strip-linguas -i po
+
+       local mycmakeargs=(
+               -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
+               -DUSE_APIDOCS="$(usex doc)"
+               -DUSE_GRANITE="$(usex granite)"
+               -DUSE_ZEITGEIST=OFF
+               -DVALA_EXECUTABLE="${VALAC}"
+               -DUSE_GTK3=ON
+               -DHALF_BRO_INCOM_WEBKIT2=ON
+       )
+
+       use xscreensaver || mycmakeargs+=( -DXSS=XSS-NOTFOUND )
+
+       cmake-utils_src_configure
+}
+
+src_test() {
+       virtx cmake-utils_src_test
+}
+
+pkg_postinst() {
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+}