1PORTNAME=	evolution-data-server
2DISTVERSION=	3.56.2
3PORTREVISION=	4
4CATEGORIES=	databases gnome
5MASTER_SITES=	GNOME
6DIST_SUBDIR=	gnome
7
8MAINTAINER=	ports@MidnightBSD.org
9COMMENT=	Centralized access to appointments and contacts
10WWW=		https://gnome.pages.gitlab.gnome.org/evolution-data-server/
11
12LICENSE=	lgpl
13LICENSE_FILE=	${WRKSRC}/COPYING
14
15LIB_DEPENDS=	libgoa-1.0.so:net/gnome-online-accounts \
16		libical.so:devel/libical \
17		libicui18n.so:devel/icu \
18		libicuuc.so:devel/icu \
19		libjson-glib-1.0.so:devel/json-glib \
20		libnspr4.so:devel/nspr \
21		libnss3.so:security/nss \
22		libsecret-1.so:security/libsecret \
23		libsoup-3.0.so:devel/libsoup3 \
24		libuuid.so:misc/libuuid
25
26USES=		cmake cpe desktop-file-utils gettext-tools gnome gperf \
27		iconv:wchar_t localbase pkgconfig sqlite tar:xz xorg
28USE_CXXSTD=	gnu++17
29USE_GNOME=	cairo glib20 introspection:build libxml2 pango
30USE_XORG=	x11
31USE_LDCONFIG=	yes
32CPE_VENDOR=	gnome
33
34LDFLAGS=	-L${LOCALBASE}/lib
35
36CMAKE_OFF=	CMAKE_CXX_EXTENSIONS
37CMAKE_ARGS=	-DENABLE_INTROSPECTION=ON \
38		-DENABLE_EXAMPLES=OFF \
39		-DENABLED_INSTALLED_TESTS=OFF \
40		-DWITH_SYSTEMDUSERUNITDIR=no
41
42GLIB_SCHEMAS=	org.gnome.evolution-data-server.addressbook.gschema.xml \
43		org.gnome.evolution-data-server.calendar.gschema.xml \
44		org.gnome.evolution-data-server.gschema.xml \
45		org.gnome.Evolution.DefaultSources.gschema.xml \
46		org.gnome.evolution.eds-shell.gschema.xml \
47		org.gnome.evolution.shell.network-config.gschema.xml
48
49PLIST_SUB=	EVO_VERSION="1.2" CAL_API_VERSION="2.0"
50
51OPTIONS_SUB=		yes
52OPTIONS_DEFINE=		BDB CANBERRA GTK4 LDAP OAUTH2 VAPI WEATHER
53OPTIONS_DEFAULT=	BDB CANBERRA GTK4 LDAP OAUTH2 VAPI WEATHER GSSAPI_BASE
54OPTIONS_SINGLE=			KERBEROS
55OPTIONS_SINGLE_KERBEROS=	GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT \
56				GSSAPI_NONE
57BDB_DESC=		Use Berkeley DB
58BDB_USES=		bdb
59BDB_CMAKE_ON=		-DWITH_LIBDB_CFLAGS=-I${BDB_INCLUDE_DIR} \
60			-DWITH_LIBDB_LIBS="-L${BDB_LIB_DIR} -l${BDB_LIB_NAME}"
61BDB_CMAKE_OFF=		-DWITH_LIBDB=OFF
62
63CANBERRA_DESC=		Canberra-GTK for sound in evolution-alarm-notify
64CANBERRA_CMAKE_BOOL=	ENABLE_CANBERRA
65CANBERRA_LIB_DEPENDS=	libcanberra-gtk3.so:audio/libcanberra-gtk3 \
66			libcanberra.so:audio/libcanberra
67
68GTK4_DESC=		GTK4 vs. GTK3
69GTK4_VARS=		use_gnome+=gtk40 use_gnome+=gtk30
70GTK4_VARS_OFF=		use_gnome+=gtk30
71GTK4_LIB_DEPENDS=	libgraphene-1.0.so:graphics/graphene \
72			libgtk-4.so:x11-toolkits/gtk40 \
73			libvulkan.so:graphics/vulkan-loader
74GTK4_CMAKE_BOOL=	ENABLE_GTK4
75GTK4_CMAKE_BOOL_OFF=	ENBALE_GTK
76
77GSSAPI_BASE_USES=	gssapi:base ssl
78GSSAPI_HEIMDAL_USES=	gssapi:heimdal
79GSSAPI_MIT_USES=	gssapi:mit
80GSSAPI_NONE_CMAKE_ON=	-DWITH_KRB5=OFF
81GSSAPI_NONE_CMAKE_OFF=	-DWITH_KRB5=${GSSAPIBASEDIR}
82GSSAPI_NONE_CFLAGS_OFF=	${GSSAPICPPFLAGS}
83
84LDAP_DESC=		LDAP Authentication
85LDAP_CMAKE_ON=		-DWITH_OPENLDAP=${LOCALBASE}
86LDAP_CMAKE_OFF=		-DWITH_OPENLDAP=OFF
87LDAP_USES=		ldap
88
89OAUTH2_DESC=		Oauth2 Authentication using webkit
90
91VAPI_USES=		vala:build
92VAPI_CMAKE_BOOL=	ENABLE_VALA_BINDINGS
93
94WEATHER_DESC=		Weather calendar backend
95WEATHER_LIB_DEPENDS=	libgweather-4.so:net/libgweather4
96WEATHER_CMAKE_BOOL=	ENABLE_WEATHER
97
98.include <bsd.mport.options.mk>
99
100.if ${PORT_OPTIONS:MOAUTH2}
101.  if ${PORT_OPTIONS:MGTK4}
102LIB_DEPENDS+=	libwebkitgtk-6.0.so:www/webkit2-gtk@60
103CMAKE_ARGS+=	-DENABLE_OAUTH2_WEBKITGTK=OFF
104.  else
105LIB_DEPENDS+=	libwebkit2gtk-4.1.so:www/webkit2-gtk@41
106CMAKE_ARGS+=	-DENABLE_OAUTH2_WEBKITGTK4=OFF
107.  endif
108.else
109CMAKE_ARGS+=	-DENABLE_OAUTH2_WEBKITGTK=OFF -DENABLE_OAUTH2_WEBKITGTK4=OFF
110.endif
111
112.include <bsd.port.mk>
113