commit:     60abdcc508c14528143eacdcb9795f9cb0f9aaca
Author:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  5 15:02:28 2024 +0000
Commit:     Michael Orlitzky <mjo <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 12:54:40 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60abdcc5

mail-client/evolution: add USE=sound and USE=libnotify

This makes sound and desktop notification support (separately)
optional. The goal here is to avoid pulling in GTK3/X11 libraries on a
GTK4/Wayland system.

Signed-off-by: Michael Orlitzky <mjo <AT> gentoo.org>

 ...3.52.4-r1.ebuild => evolution-3.52.4-r2.ebuild} | 23 ++++++++++++++--------
 mail-client/evolution/metadata.xml                 |  2 ++
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/mail-client/evolution/evolution-3.52.4-r1.ebuild 
b/mail-client/evolution/evolution-3.52.4-r2.ebuild
similarity index 87%
rename from mail-client/evolution/evolution-3.52.4-r1.ebuild
rename to mail-client/evolution/evolution-3.52.4-r2.ebuild
index 9001bd0738fe..bc6df73eda76 100644
--- a/mail-client/evolution/evolution-3.52.4-r1.ebuild
+++ b/mail-client/evolution/evolution-3.52.4-r2.ebuild
@@ -14,7 +14,7 @@ SLOT="2.0"
 
 KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
 
-IUSE="archive +bogofilter geolocation gtk-doc highlight ldap selinux 
spamassassin spell ssl +weather ytnef"
+IUSE="archive +bogofilter geolocation gtk-doc highlight ldap libnotify selinux 
sound spamassassin spell ssl +weather ytnef"
 
 # glade-3 support is for maintainers only per configure.ac
 # pst is not mature enough and changes API/ABI frequently
@@ -30,17 +30,12 @@ DEPEND="
        >=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-gtk3
-               >=media-libs/libcanberra-0.25[gtk3(-)]
-       )
+       >=gnome-extra/evolution-data-server-${PV}:=[gtk,sound?,weather?]
        >=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:=
@@ -57,6 +52,13 @@ DEPEND="
                >=media-libs/clutter-gtk-0.90:1.0
                >=sci-geosciences/geocode-glib-3.26.3:2 )
        ldap? ( >=net-nds/openldap-2:= )
+       libnotify? ( >=x11-libs/libnotify-0.7 )
+       sound? (
+               || (
+                       media-libs/libcanberra-gtk3
+                       >=media-libs/libcanberra-0.25[gtk3(-)]
+               )
+       )
        spamassassin? ( mail-filter/spamassassin )
        spell? ( >=app-text/gspell-1.8:= )
        ssl? (
@@ -101,6 +103,11 @@ file from /usr/share/applications if you use a different 
browser)."
 # call; if needed, set them after cmake_src_prepare call, if that works
 
 src_prepare() {
+       # libnotify is automagically detected, but a quick and easy way to
+       # force-disable it is to delete the "yes it's there" variable from
+       # CMakeLists.txt.
+       use libnotify || sed '/HAVE_LIBNOTIFY/d' -i CMakeLists.txt || die
+
        cmake_src_prepare
        gnome2_src_prepare
 }
@@ -115,7 +122,7 @@ src_configure() {
                -DENABLE_SMIME=$(usex ssl)
                -DENABLE_GNOME_DESKTOP=ON
                -DWITH_ENCHANT_VERSION=2
-               -DENABLE_CANBERRA=ON
+               -DENABLE_CANBERRA=$(usex sound)
                -DENABLE_AUTOAR=$(usex archive)
                -DWITH_HELP=ON
                -DENABLE_YTNEF=OFF

diff --git a/mail-client/evolution/metadata.xml 
b/mail-client/evolution/metadata.xml
index 20e4d6c9bbdb..37cce728c33e 100644
--- a/mail-client/evolution/metadata.xml
+++ b/mail-client/evolution/metadata.xml
@@ -11,7 +11,9 @@
     <flag name="geolocation">Enable support for displaying contacts on a map 
inside evolution using <pkg>media-libs/libchamplain</pkg></flag>
     <flag name="highlight">Enable text highlighting plugin</flag>
     <flag name="ldap">Enable support for fetching contacts from an LDAP or 
Active Directory server using <pkg>net-nds/openldap</pkg></flag>
+    <flag name="libnotify">Enable desktop notifications through 
<pkg>x11-libs/libnotify</pkg></flag>
     <flag name="spamassassin">Build <pkg>mail-filter/spamassassin</pkg> 
plugin</flag>
+    <flag name="sound">Enable sound notifications using 
<pkg>media-libs/libcanberra-gtk3</pkg></flag>
     <flag name="weather">Enable optional weather calendar support</flag>
     <flag name="ytnef">Enable optional TNEF attachments parser support using 
<pkg>net-mail/ytnef</pkg></flag>
   </use>

Reply via email to