From 0a846e963e87ae6a37a037c447326831d003ad9b Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Sun, 29 Dec 2019 15:50:40 +0200 Subject: mail-client/evolution: make compatible with webkit-gtk-2.26 Bug: https://bugs.gentoo.org/699156 Package-Manager: Portage-2.3.79, Repoman-2.3.12 Signed-off-by: Mart Raudsepp --- mail-client/evolution/evolution-3.32.5-r1.ebuild | 155 +++++++++++++++++++++ .../files/3.32.5-webkitgtk-2.26-compat.patch | 26 ++++ 2 files changed, 181 insertions(+) create mode 100644 mail-client/evolution/evolution-3.32.5-r1.ebuild create mode 100644 mail-client/evolution/files/3.32.5-webkitgtk-2.26-compat.patch (limited to 'mail-client/evolution') diff --git a/mail-client/evolution/evolution-3.32.5-r1.ebuild b/mail-client/evolution/evolution-3.32.5-r1.ebuild new file mode 100644 index 000000000000..7505a1ae3446 --- /dev/null +++ b/mail-client/evolution/evolution-3.32.5-r1.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils gnome2 flag-o-matic readme.gentoo-r1 + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="https://wiki.gnome.org/Apps/Evolution" + +# Note: explicitly "|| ( LGPL-2 LGPL-3 )", not "LGPL-2+". +LICENSE="|| ( LGPL-2 LGPL-3 ) CC-BY-SA-3.0 FDL-1.3+ OPENLDAP" +SLOT="2.0" + +IUSE="archive +bogofilter geolocation gtk-doc highlight ldap spamassassin spell ssl +weather ytnef" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86" + +# glade-3 support is for maintainers only per configure.ac +# pst is not mature enough and changes API/ABI frequently +# dconf explicitely needed for backup plugin +# gnome-desktop support is optional with --enable-gnome-desktop +# automagic libunity dep +COMMON_DEPEND=" + >=app-crypt/gcr-3.4:=[gtk] + >=app-text/enchant-1.6.0:0 + >=dev-libs/glib-2.46:2[dbus] + >=dev-libs/libxml2-2.7.3:2 + >=gnome-base/gnome-desktop-2.91.3:3= + >=gnome-base/gsettings-desktop-schemas-2.91.92 + >=gnome-extra/evolution-data-server-${PV}:=[gtk,weather?] + >=media-libs/libcanberra-0.25[gtk3] + >=net-libs/libsoup-2.42:2.4 + >=net-libs/webkit-gtk-2.16.0:4 + >=x11-libs/cairo-1.9.15:=[glib] + >=x11-libs/gdk-pixbuf-2.24:2 + >=x11-libs/gtk+-3.22:3 + >=x11-libs/libnotify-0.7:= + >=x11-misc/shared-mime-info-0.22 + + >=app-text/iso-codes-0.49 + dev-libs/atk + gnome-base/dconf + >=dev-libs/libical-3.0.2:= + x11-libs/libSM + x11-libs/libICE + + archive? ( >=app-arch/gnome-autoar-0.1.1[gtk] ) + geolocation? ( + >=media-libs/libchamplain-0.12:0.12[gtk] + >=media-libs/clutter-1.0.0:1.0 + >=media-libs/clutter-gtk-0.90:1.0 + >=sci-geosciences/geocode-glib-3.10.0 + x11-libs/mx:1.0 ) + ldap? ( >=net-nds/openldap-2:= ) + spell? ( app-text/gtkspell:3 ) + ssl? ( + >=dev-libs/nspr-4.6.1:= + >=dev-libs/nss-3.11:= ) + weather? ( >=dev-libs/libgweather-3.10:2= ) + ytnef? ( net-mail/ytnef ) +" +DEPEND="${COMMON_DEPEND} + app-text/docbook-xml-dtd:4.1.2 + dev-util/gdbus-codegen + dev-util/glib-utils + dev-util/itstool + gtk-doc? ( dev-util/gtk-doc + app-text/docbook-xml-dtd:4.3 ) + >=dev-util/intltool-0.40.0 + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" +RDEPEND="${COMMON_DEPEND} + bogofilter? ( mail-filter/bogofilter ) + highlight? ( app-text/highlight ) + spamassassin? ( mail-filter/spamassassin ) + !gnome-extra/evolution-exchange +" + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS="To change the default browser if you are not using GNOME, edit +~/.local/share/applications/mimeapps.list so it includes the +following content: + +[Default Applications] +x-scheme-handler/http=firefox.desktop +x-scheme-handler/https=firefox.desktop + +(replace firefox.desktop with the name of the appropriate .desktop +file from /usr/share/applications if you use a different browser)." + +# global scope PATCHES or DOCS array mustn't be used due to double default_src_prepare +# call; if needed, set them after cmake-utils_src_prepare call, if that works + +src_prepare() { + eapply "${FILESDIR}"/3.32.4-gtk-doc-fix{1,2}.patch + eapply "${FILESDIR}"/${PV}-webkitgtk-2.26-compat.patch # Don't use with 3.34, it should be compatible without this hack. + cmake-utils_src_prepare + gnome2_src_prepare +} + +src_configure() { + # Use NSS/NSPR only if 'ssl' is enabled. + local mycmakeargs=( + -DSYSCONF_INSTALL_DIR="${EPREFIX}"/etc + -DENABLE_SCHEMAS_COMPILE=OFF + -DENABLE_GTK_DOC=$(usex gtk-doc) + -DWITH_OPENLDAP=$(usex ldap) + -DENABLE_SMIME=$(usex ssl) + -DENABLE_GNOME_DESKTOP=ON + -DWITH_ENCHANT_VERSION=1 + -DENABLE_CANBERRA=ON + -DENABLE_AUTOAR=$(usex archive) + -DWITH_HELP=ON + -DENABLE_YTNEF=OFF + -DWITH_BOGOFILTER=$(usex bogofilter) + -DWITH_SPAMASSASSIN=$(usex spamassassin) + -DENABLE_GTKSPELL=$(usex spell) + -DENABLE_TEXT_HIGHLIGHT=$(usex highlight) + -DENABLE_WEATHER=$(usex weather) + -DENABLE_CONTACT_MAPS=$(usex geolocation) + -DENABLE_YTNEF=$(usex ytnef) + -DENABLE_PST_IMPORT=OFF + -DWITH_GLADE_CATALOG=OFF + ) + + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile +} + +src_test() { + cmake-utils_src_test +} + +src_install() { + cmake-utils_src_install + + # Problems with prelink: + # https://bugzilla.gnome.org/show_bug.cgi?id=731680 + # https://bugzilla.gnome.org/show_bug.cgi?id=732148 + # https://bugzilla.redhat.com/show_bug.cgi?id=1114538 + echo PRELINK_PATH_MASK=/usr/bin/evolution > ${T}/99${PN} + doenvd "${T}"/99${PN} + + readme.gentoo_create_doc +} + +pkg_postinst() { + gnome2_pkg_postinst + readme.gentoo_print_elog +} diff --git a/mail-client/evolution/files/3.32.5-webkitgtk-2.26-compat.patch b/mail-client/evolution/files/3.32.5-webkitgtk-2.26-compat.patch new file mode 100644 index 000000000000..192f4d0d3d8c --- /dev/null +++ b/mail-client/evolution/files/3.32.5-webkitgtk-2.26-compat.patch @@ -0,0 +1,26 @@ +From 66aeb5aeb4065f6a5482d10bacbe370de2e49b7f Mon Sep 17 00:00:00 2001 +From: Mart Raudsepp +Date: Sun, 29 Dec 2019 15:47:32 +0200 +Subject: [PATCH] Add env var workaround for WebKitGTK-2.26 compatibility + +--- + src/shell/main.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/shell/main.c b/src/shell/main.c +index abc140d55f..cd671fd89a 100644 +--- a/src/shell/main.c ++++ b/src/shell/main.c +@@ -607,6 +607,9 @@ main (gint argc, + * it already set, thus he/she can override the Evolution's default. */ + g_setenv ("WEBKIT_DISABLE_COMPOSITING_MODE", "1", FALSE); + ++ /* Workaround issues with WebKitGTK 2.26 */ ++ g_setenv ("WEBKIT_USE_SINGLE_WEB_PROCESS", "1", FALSE); ++ + /* FIXME WK2 - Look if we still need this it looks like it's not. */ + /* Workaround https://bugzilla.gnome.org/show_bug.cgi?id=683548 */ + g_type_ensure (WEBKIT_TYPE_WEB_VIEW); +-- +2.20.1 + -- cgit v1.2.3