git: d033a5f8d396 - main - databases/evolution-data-server: Only one webkit.

From: Don Lewis <truckman_at_FreeBSD.org>
Date: Fri, 03 Oct 2025 20:19:54 UTC
The branch main has been updated by truckman:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d033a5f8d396abb8bc50a0d9586be7c0236135c4

commit d033a5f8d396abb8bc50a0d9586be7c0236135c4
Author:     Don Lewis <truckman@FreeBSD.org>
AuthorDate: 2025-10-03 03:04:50 +0000
Commit:     Don Lewis <truckman@FreeBSD.org>
CommitDate: 2025-10-03 20:19:47 +0000

    databases/evolution-data-server: Only one webkit.
    
    Cleanup dependencies from 284965.
    
    Add BDB and GTK4 options from 284965.
    
    Add CANBERRA and OAUTH2 options.
    
    Depend on at-most one flavor of webkit, selected by GTK4 option.
    Webkit is not needed when OAUTH2 is disabled.
    
    PR:             284965, 288105
    Reviewed by:    fluffy
---
 databases/evolution-data-server/Makefile  | 78 +++++++++++++++++++++----------
 databases/evolution-data-server/pkg-plist | 43 +++++++++--------
 2 files changed, 76 insertions(+), 45 deletions(-)

diff --git a/databases/evolution-data-server/Makefile b/databases/evolution-data-server/Makefile
index 124c3506f8a3..2bb474909b69 100644
--- a/databases/evolution-data-server/Makefile
+++ b/databases/evolution-data-server/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	evolution-data-server
 DISTVERSION=	3.56.2
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	databases gnome
 MASTER_SITES=	GNOME
 DIST_SUBDIR=	gnome
@@ -12,27 +12,21 @@ WWW=		https://gnome.pages.gitlab.gnome.org/evolution-data-server/
 LICENSE=	LGPL20
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-LIB_DEPENDS=	libsoup-3.0.so:devel/libsoup3 \
-		libgoa-1.0.so:net/gnome-online-accounts \
+LIB_DEPENDS=	libgoa-1.0.so:net/gnome-online-accounts \
 		libical.so:devel/libical \
-		libnss3.so:security/nss \
-		libicudata.so:devel/icu \
-		libwebkit2gtk-4.1.so:www/webkit2-gtk@41 \
-		libwebkitgtk-6.0.so:www/webkit2-gtk@60 \
+		libicui18n.so:devel/icu \
+		libicuuc.so:devel/icu \
 		libjson-glib-1.0.so:devel/json-glib \
 		libnspr4.so:devel/nspr \
+		libnss3.so:security/nss \
 		libsecret-1.so:security/libsecret \
-		libcanberra-gtk3.so:audio/libcanberra-gtk3 \
-		libcanberra.so:audio/libcanberra \
-		libuuid.so:misc/libuuid \
-		libvulkan.so:graphics/vulkan-loader \
-		libgraphene-1.0.so:graphics/graphene
-
-USES=		cmake cpe desktop-file-utils gettext \
-		gnome gperf iconv:wchar_t localbase pkgconfig \
-		python:build sqlite tar:xz xorg
+		libsoup-3.0.so:devel/libsoup3 \
+		libuuid.so:misc/libuuid
+
+USES=		cmake cpe desktop-file-utils gettext-tools gnome gperf \
+		iconv:wchar_t localbase pkgconfig sqlite tar:xz xorg
 USE_CXXSTD=	gnu++17
-USE_GNOME=	glib20 gtk30 gtk40 introspection:build libxml2
+USE_GNOME=	cairo glib20 introspection:build libxml2 pango
 USE_XORG=	x11
 USE_LDCONFIG=	yes
 CPE_VENDOR=	gnome
@@ -41,7 +35,6 @@ LDFLAGS=	-L${LOCALBASE}/lib
 
 CMAKE_OFF=	CMAKE_CXX_EXTENSIONS
 CMAKE_ARGS=	-DENABLE_INTROSPECTION=ON \
-		-DWITH_LIBDB=OFF \
 		-DENABLE_EXAMPLES=OFF \
 		-DENABLED_INSTALLED_TESTS=OFF \
 		-DWITH_SYSTEMDUSERUNITDIR=no
@@ -56,12 +49,30 @@ GLIB_SCHEMAS=	org.gnome.evolution-data-server.addressbook.gschema.xml \
 PLIST_SUB=	EVO_VERSION="1.2" CAL_API_VERSION="2.0"
 
 OPTIONS_SUB=		yes
-OPTIONS_DEFINE=		VAPI WEATHER LDAP
-OPTIONS_DEFAULT=	VAPI WEATHER GSSAPI_BASE LDAP
-
+OPTIONS_DEFINE=		BDB CANBERRA GTK4 LDAP OAUTH2 VAPI WEATHER
+OPTIONS_DEFAULT=	BDB CANBERRA GTK4 LDAP OAUTH2 VAPI WEATHER GSSAPI_BASE
 OPTIONS_SINGLE=			KERBEROS
 OPTIONS_SINGLE_KERBEROS=	GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT \
 				GSSAPI_NONE
+BDB_DESC=		Use Berkeley DB
+BDB_USES=		bdb
+BDB_CMAKE_ON=		-DWITH_LIBDB_CFLAGS=-I${BDB_INCLUDE_DIR} \
+			-DWITH_LIBDB_LIBS="-L${BDB_LIB_DIR} -l${BDB_LIB_NAME}"
+BDB_CMAKE_OFF=		-DWITH_LIBDB=OFF
+
+CANBERRA_DESC=		Canberra-GTK for sound in evolution-alarm-notify
+CANBERRA_CMAKE_BOOL=	ENABLE_CANBERRA
+CANBERRA_LIB_DEPENDS=	libcanberra-gtk3.so:audio/libcanberra-gtk3 \
+			libcanberra.so:audio/libcanberra
+
+GTK4_DESC=		GTK4 vs. GTK3
+GTK4_VARS=		use_gnome+=gtk40 use_gnome+=gtk30
+GTK4_VARS_OFF=		use_gnome+=gtk30
+GTK4_LIB_DEPENDS=	libgraphene-1.0.so:graphics/graphene \
+			libgtk-4.so:x11-toolkits/gtk40 \
+			libvulkan.so:graphics/vulkan-loader
+GTK4_CMAKE_BOOL=	ENABLE_GTK4
+GTK4_CMAKE_BOOL_OFF=	ENBALE_GTK
 
 GSSAPI_BASE_USES=	gssapi:base ssl
 GSSAPI_HEIMDAL_USES=	gssapi:heimdal
@@ -70,15 +81,32 @@ GSSAPI_NONE_CMAKE_ON=	-DWITH_KRB5=OFF
 GSSAPI_NONE_CMAKE_OFF=	-DWITH_KRB5=${GSSAPIBASEDIR}
 GSSAPI_NONE_CFLAGS_OFF=	${GSSAPICPPFLAGS}
 
+LDAP_DESC=		LDAP Authentication
+LDAP_CMAKE_ON=		-DWITH_OPENLDAP=${LOCALBASE}
+LDAP_CMAKE_OFF=		-DWITH_OPENLDAP=OFF
+LDAP_USES=		ldap
+
+OAUTH2_DESC=		Oauth2 Authentication using webkit
+
 VAPI_USES=		vala:build
 VAPI_CMAKE_BOOL=	ENABLE_VALA_BINDINGS
 
-WEATHER_DESC=	Weather calendar backend
+WEATHER_DESC=		Weather calendar backend
 WEATHER_LIB_DEPENDS=	libgweather-4.so:net/libgweather4
 WEATHER_CMAKE_BOOL=	ENABLE_WEATHER
 
-LDAP_CMAKE_ON=		-DWITH_OPENLDAP=${LOCALBASE}
-LDAP_CMAKE_OFF=		-DWITH_OPENLDAP=OFF
-LDAP_USES=		ldap
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOAUTH2}
+.  if ${PORT_OPTIONS:MGTK4}
+LIB_DEPENDS+=	libwebkitgtk-6.0.so:www/webkit2-gtk@60
+CMAKE_ARGS+=	-DENABLE_OAUTH2_WEBKITGTK=OFF
+.  else
+LIB_DEPENDS+=	libwebkit2gtk-4.1.so:www/webkit2-gtk@41
+CMAKE_ARGS+=	-DENABLE_OAUTH2_WEBKITGTK4=OFF
+.  endif
+.else
+CMAKE_ARGS+=	-DENABLE_OAUTH2_WEBKITGTK=OFF -DENABLE_OAUTH2_WEBKITGTK4=OFF
+.endif
 
 .include <bsd.port.mk>
diff --git a/databases/evolution-data-server/pkg-plist b/databases/evolution-data-server/pkg-plist
index 4395c3877c1a..55007950f1a2 100644
--- a/databases/evolution-data-server/pkg-plist
+++ b/databases/evolution-data-server/pkg-plist
@@ -139,6 +139,8 @@ include/evolution-data-server/libebackend/e-cache.h
 include/evolution-data-server/libebackend/e-collection-backend-factory.h
 include/evolution-data-server/libebackend/e-collection-backend.h
 include/evolution-data-server/libebackend/e-data-factory.h
+%%BDB%%include/evolution-data-server/libebackend/e-db3-utils.h
+%%BDB%%include/evolution-data-server/libebackend/e-dbhash.h
 include/evolution-data-server/libebackend/e-dbus-server.h
 include/evolution-data-server/libebackend/e-file-cache.h
 include/evolution-data-server/libebackend/e-oauth2-support.h
@@ -205,6 +207,7 @@ include/evolution-data-server/libecal/e-reminder-watcher.h
 include/evolution-data-server/libecal/e-timezone-cache.h
 include/evolution-data-server/libecal/libecal.h
 include/evolution-data-server/libedata-book/e-book-backend-cache.h
+%%BDB%%include/evolution-data-server/libedata-book/e-book-backend-db-cache.h
 include/evolution-data-server/libedata-book/e-book-backend-factory.h
 include/evolution-data-server/libedata-book/e-book-backend-sexp.h
 include/evolution-data-server/libedata-book/e-book-backend-sqlitedb.h
@@ -341,17 +344,17 @@ include/evolution-data-server/libedataserverui/e-reminders-widget.h
 include/evolution-data-server/libedataserverui/e-trust-prompt.h
 include/evolution-data-server/libedataserverui/e-webdav-discover-widget.h
 include/evolution-data-server/libedataserverui/libedataserverui.h
-include/evolution-data-server/libedataserverui4/e-buffer-tagger.h
-include/evolution-data-server/libedataserverui4/e-cell-renderer-color.h
-include/evolution-data-server/libedataserverui4/e-certificate-widget.h
-include/evolution-data-server/libedataserverui4/e-credentials-prompter-impl-oauth2.h
-include/evolution-data-server/libedataserverui4/e-credentials-prompter-impl-password.h
-include/evolution-data-server/libedataserverui4/e-credentials-prompter-impl.h
-include/evolution-data-server/libedataserverui4/e-credentials-prompter.h
-include/evolution-data-server/libedataserverui4/e-reminders-widget.h
-include/evolution-data-server/libedataserverui4/e-trust-prompt.h
-include/evolution-data-server/libedataserverui4/e-webdav-discover-widget.h
-include/evolution-data-server/libedataserverui4/libedataserverui4.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-buffer-tagger.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-cell-renderer-color.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-certificate-widget.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-credentials-prompter-impl-oauth2.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-credentials-prompter-impl-password.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-credentials-prompter-impl.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-credentials-prompter.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-reminders-widget.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-trust-prompt.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/e-webdav-discover-widget.h
+%%GTK4%%include/evolution-data-server/libedataserverui4/libedataserverui4.h
 lib/evolution-data-server/addressbook-backends/libebookbackendcarddav.so
 lib/evolution-data-server/addressbook-backends/libebookbackendfile.so
 %%LDAP%%lib/evolution-data-server/addressbook-backends/libebookbackendldap.so
@@ -394,7 +397,7 @@ lib/girepository-1.0/EDataBook-%%EVO_VERSION%%.typelib
 lib/girepository-1.0/EDataCal-%%CAL_API_VERSION%%.typelib
 lib/girepository-1.0/EDataServer-%%EVO_VERSION%%.typelib
 lib/girepository-1.0/EDataServerUI-%%EVO_VERSION%%.typelib
-lib/girepository-1.0/EDataServerUI4-1.0.typelib
+%%GTK4%%lib/girepository-1.0/EDataServerUI4-1.0.typelib
 lib/libcamel-%%EVO_VERSION%%.so
 lib/libcamel-%%EVO_VERSION%%.so.64
 lib/libcamel-%%EVO_VERSION%%.so.64.0.0
@@ -422,9 +425,9 @@ lib/libedataserver-%%EVO_VERSION%%.so.27.0.0
 lib/libedataserverui-%%EVO_VERSION%%.so
 lib/libedataserverui-%%EVO_VERSION%%.so.4
 lib/libedataserverui-%%EVO_VERSION%%.so.4.0.0
-lib/libedataserverui4-1.0.so
-lib/libedataserverui4-1.0.so.0
-lib/libedataserverui4-1.0.so.0.0.0
+%%GTK4%%lib/libedataserverui4-1.0.so
+%%GTK4%%lib/libedataserverui4-1.0.so.0
+%%GTK4%%lib/libedataserverui4-1.0.so.0.0.0
 libdata/pkgconfig/camel-%%EVO_VERSION%%.pc
 libdata/pkgconfig/evolution-data-server-%%EVO_VERSION%%.pc
 libdata/pkgconfig/libebackend-%%EVO_VERSION%%.pc
@@ -435,7 +438,7 @@ libdata/pkgconfig/libedata-book-%%EVO_VERSION%%.pc
 libdata/pkgconfig/libedata-cal-%%CAL_API_VERSION%%.pc
 libdata/pkgconfig/libedataserver-%%EVO_VERSION%%.pc
 libdata/pkgconfig/libedataserverui-%%EVO_VERSION%%.pc
-libdata/pkgconfig/libedataserverui4-1.0.pc
+%%GTK4%%libdata/pkgconfig/libedataserverui4-1.0.pc
 libexec/camel-gpg-photo-saver
 libexec/camel-index-control-%%EVO_VERSION%%
 @(,mail,2755) libexec/camel-lock-helper-%%EVO_VERSION%%
@@ -444,7 +447,7 @@ libexec/evolution-addressbook-factory-subprocess
 libexec/evolution-calendar-factory
 libexec/evolution-calendar-factory-subprocess
 libexec/evolution-data-server/addressbook-export
-libexec/evolution-data-server/csv2vcard
+%%OAUTH2%%libexec/evolution-data-server/csv2vcard
 libexec/evolution-data-server/evolution-alarm-notify
 libexec/evolution-data-server/evolution-oauth2-handler
 libexec/evolution-data-server/list-sources
@@ -492,7 +495,7 @@ share/gir-1.0/EDataBook-%%EVO_VERSION%%.gir
 share/gir-1.0/EDataCal-%%CAL_API_VERSION%%.gir
 share/gir-1.0/EDataServer-%%EVO_VERSION%%.gir
 share/gir-1.0/EDataServerUI-%%EVO_VERSION%%.gir
-share/gir-1.0/EDataServerUI4-1.0.gir
+%%GTK4%%share/gir-1.0/EDataServerUI4-1.0.gir
 share/icons/hicolor/scalable/apps/org.gnome.Evolution-alarm-notify.svg
 share/locale/am/LC_MESSAGES/evolution-data-server.mo
 share/locale/ar/LC_MESSAGES/evolution-data-server.mo
@@ -619,5 +622,5 @@ share/pixmaps/evolution-data-server/category_time-and-expenses_16.png
 %%VAPI%%share/vala/vapi/libedataserver-%%EVO_VERSION%%.vapi
 %%VAPI%%share/vala/vapi/libedataserverui-%%EVO_VERSION%%.deps
 %%VAPI%%share/vala/vapi/libedataserverui-%%EVO_VERSION%%.vapi
-%%VAPI%%share/vala/vapi/libedataserverui4-1.0.deps
-%%VAPI%%share/vala/vapi/libedataserverui4-1.0.vapi
+%%GTK4%%%%VAPI%%share/vala/vapi/libedataserverui4-1.0.deps
+%%GTK4%%%%VAPI%%share/vala/vapi/libedataserverui4-1.0.vapi