diff options
author | Mart Raudsepp <leio@gentoo.org> | 2024-03-10 00:56:50 +0200 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2024-03-10 00:57:51 +0200 |
commit | bd366df1bfe8db80d06fffb32c9ecbf4b6365698 (patch) | |
tree | c5b7dcefa081559a1331449bcd11aaa9c38f6962 /mail-client/evolution | |
parent | x11-libs/colord-gtk: add 0.3.1 (diff) | |
download | gentoo-bd366df1bfe8db80d06fffb32c9ecbf4b6365698.tar.gz gentoo-bd366df1bfe8db80d06fffb32c9ecbf4b6365698.tar.bz2 gentoo-bd366df1bfe8db80d06fffb32c9ecbf4b6365698.zip |
mail-client/evolution: fix launching when built with ThinLTO
Closes: https://bugs.gentoo.org/915165
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
Diffstat (limited to 'mail-client/evolution')
-rw-r--r-- | mail-client/evolution/evolution-3.50.4-r1.ebuild | 154 | ||||
-rw-r--r-- | mail-client/evolution/files/3.50.4-fix-lto.patch | 125 |
2 files changed, 279 insertions, 0 deletions
diff --git a/mail-client/evolution/evolution-3.50.4-r1.ebuild b/mail-client/evolution/evolution-3.50.4-r1.ebuild new file mode 100644 index 000000000000..71d2709c285a --- /dev/null +++ b/mail-client/evolution/evolution-3.50.4-r1.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake gnome2 readme.gentoo-r1 + +DESCRIPTION="Integrated mail, addressbook and calendaring functionality" +HOMEPAGE="https://wiki.gnome.org/Apps/Evolution https://gitlab.gnome.org/GNOME/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 selinux spamassassin spell ssl +weather ytnef" + +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" + +# glade-3 support is for maintainers only per configure.ac +# pst is not mature enough and changes API/ABI frequently +# dconf explicitly needed for backup plugin +# gnome-desktop support is optional with --enable-gnome-desktop +# automagic libunity dep +# >=gspell-1.8 to ensure it uses enchant:2 like webkit-gtk +DEPEND=" + >=app-crypt/libsecret-0.5 + >=app-text/enchant-2.2.0:2 + >=dev-db/sqlite-3.7.17:3 + >=dev-libs/glib-2.66: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-3.0:3.0 + >=net-libs/webkit-gtk-2.38.0:4.1=[spell?] + >=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/cmark:= + >=app-text/iso-codes-0.49 + >=app-accessibility/at-spi2-core-2.46.0:2 + + gnome-base/dconf + x11-libs/libSM + x11-libs/libICE + + archive? ( >=app-arch/gnome-autoar-0.1.1[gtk] ) + bogofilter? ( mail-filter/bogofilter ) + geolocation? ( + >=media-libs/libchamplain-0.12.21:0.12[gtk] + >=media-libs/clutter-1.0.0:1.0 + >=media-libs/clutter-gtk-0.90:1.0 + >=sci-geosciences/geocode-glib-3.26.3:2 ) + ldap? ( >=net-nds/openldap-2:= ) + spamassassin? ( mail-filter/spamassassin ) + spell? ( >=app-text/gspell-1.8:= ) + ssl? ( + >=dev-libs/nspr-4.6.1 + >=dev-libs/nss-3.11 + ) + weather? ( + >=dev-libs/libgweather-4.2.0:4= + >=sci-geosciences/geocode-glib-3.26.3:2 + ) + ytnef? ( net-mail/ytnef ) +" +RDEPEND="${DEPEND} + highlight? ( app-text/highlight ) + selinux? ( sec-policy/selinux-evolution ) +" +BDEPEND=" + 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 +" + +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_src_prepare call, if that works + +src_prepare() { + cmake_src_prepare + gnome2_src_prepare + # Fix launching when built with ThinLTO - https://gitlab.gnome.org/GNOME/evolution/-/issues/2646 + eapply "${FILESDIR}"/${PV}-fix-lto.patch +} + +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=2 + -DENABLE_CANBERRA=ON + -DENABLE_AUTOAR=$(usex archive) + -DWITH_HELP=ON + -DENABLE_YTNEF=OFF + -DWITH_BOGOFILTER=$(usex bogofilter) + -DWITH_SPAMASSASSIN=$(usex spamassassin) + -DENABLE_GSPELL=$(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 + -DENABLE_MARKDOWN=ON + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +src_test() { + cmake_src_test +} + +src_install() { + cmake_src_install + readme.gentoo_create_doc +} + +pkg_postinst() { + gnome2_pkg_postinst + readme.gentoo_print_elog +} diff --git a/mail-client/evolution/files/3.50.4-fix-lto.patch b/mail-client/evolution/files/3.50.4-fix-lto.patch new file mode 100644 index 000000000000..0011732ab0cf --- /dev/null +++ b/mail-client/evolution/files/3.50.4-fix-lto.patch @@ -0,0 +1,125 @@ +From ab3ddc14896077881df7ffdeddc90d749de8e4ff Mon Sep 17 00:00:00 2001 +From: Milan Crha <mcrha@redhat.com> +Date: Wed, 7 Feb 2024 16:05:07 +0100 +Subject: [PATCH] I#2646 - rss: Build common code as a shared private library + +Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2646 +--- + src/modules/rss/CMakeLists.txt | 39 ++++++++++++++++++++++++ + src/modules/rss/camel/CMakeLists.txt | 13 +++++--- + src/modules/rss/evolution/CMakeLists.txt | 5 +-- + 3 files changed, 49 insertions(+), 8 deletions(-) + +diff --git a/src/modules/rss/CMakeLists.txt b/src/modules/rss/CMakeLists.txt +index b7442fd613..6c65d36195 100644 +--- a/src/modules/rss/CMakeLists.txt ++++ b/src/modules/rss/CMakeLists.txt +@@ -1,2 +1,41 @@ ++pkg_check_modules(LIBEDATASERVER libedataserver-1.2 REQUIRED) ++pkg_check_modules(CAMEL camel-1.2 REQUIRED) ++ ++set(SOURCES ++ camel-rss-store-summary.c ++ camel-rss-store-summary.h ++ e-rss-parser.h ++ e-rss-parser.c ++) ++ ++add_library(evolution-rss-common SHARED ++ ${SOURCES} ++) ++ ++target_compile_definitions(evolution-rss-common PRIVATE ++ -DG_LOG_DOMAIN=\"evolution-rss-common\" ++) ++ ++target_compile_options(evolution-rss-common PUBLIC ++ ${CAMEL_CFLAGS} ++ ${LIBEDATASERVER_CFLAGS} ++) ++ ++target_include_directories(evolution-rss-common PUBLIC ++ ${CMAKE_BINARY_DIR} ++ ${CMAKE_CURRENT_SOURCE_DIR} ++ ${CAMEL_INCLUDE_DIRS} ++ ${LIBEDATASERVER_INCLUDE_DIRS} ++) ++ ++target_link_libraries(evolution-rss-common ++ ${CAMEL_LDFLAGS} ++ ${LIBEDATASERVER_LDFLAGS} ++) ++ ++install(TARGETS evolution-rss-common ++ DESTINATION ${privsolibdir} ++) ++ + add_subdirectory(camel) + add_subdirectory(evolution) +diff --git a/src/modules/rss/camel/CMakeLists.txt b/src/modules/rss/camel/CMakeLists.txt +index ae828a7c43..b1e858b093 100644 +--- a/src/modules/rss/camel/CMakeLists.txt ++++ b/src/modules/rss/camel/CMakeLists.txt +@@ -2,6 +2,10 @@ pkg_check_modules(LIBEDATASERVER libedataserver-1.2 REQUIRED) + pkg_check_modules(CAMEL camel-1.2 REQUIRED) + pkg_check_variable(camel_providerdir camel-1.2 camel_providerdir) + ++set(DEPENDENCIES ++ evolution-rss-common ++) ++ + set(sources + camel-rss-folder.c + camel-rss-folder.h +@@ -12,14 +16,14 @@ set(sources + camel-rss-settings.h + camel-rss-store.c + camel-rss-store.h +- ../camel-rss-store-summary.c +- ../camel-rss-store-summary.h +- ../e-rss-parser.h +- ../e-rss-parser.c + ) + + add_library(camelrss MODULE ${sources}) + ++add_dependencies(camelrss ++ ${DEPENDENCIES} ++) ++ + target_compile_definitions(camelrss PRIVATE + -DG_LOG_DOMAIN=\"camel-rss-provider\" + ) +@@ -37,6 +41,7 @@ target_include_directories(camelrss PUBLIC + ) + + target_link_libraries(camelrss ++ ${DEPENDENCIES} + ${CAMEL_LDFLAGS} + ${LIBEDATASERVER_LDFLAGS} + ) +diff --git a/src/modules/rss/evolution/CMakeLists.txt b/src/modules/rss/evolution/CMakeLists.txt +index b9cea767e2..93737f8dc9 100644 +--- a/src/modules/rss/evolution/CMakeLists.txt ++++ b/src/modules/rss/evolution/CMakeLists.txt +@@ -1,5 +1,6 @@ + set(extra_deps + evolution-mail ++ evolution-rss-common + evolution-shell + ) + set(sources +@@ -10,10 +11,6 @@ set(sources + e-rss-shell-view-extension.c + module-rss.c + module-rss.h +- ../camel-rss-store-summary.c +- ../camel-rss-store-summary.h +- ../e-rss-parser.c +- ../e-rss-parser.h + ) + set(extra_defines) + set(extra_cflags) +-- +GitLab + |