blob: 429dd53d809580aa51864d44917f9410557ee6d4 [file] [log] [blame]
Brad Bishop0f291cc2019-09-01 15:16:57 -04001SUMMARY = "Evolution database backend server"
2HOMEPAGE = "http://www.gnome.org/projects/evolution/"
3BUGTRACKER = "https://bugzilla.gnome.org/"
4
5LICENSE = "LGPLv2 & LGPLv2+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=6a6e689d19255cf0557f3fe7d7068212 \
7 file://src/camel/camel.h;endline=24;md5=342fc5e9357254bc30c24e43ae47d9a1 \
8 file://src/libedataserver/e-data-server-util.h;endline=20;md5=8f21a9c80ea82a4fb80b5f959f672543 \
9 file://src/calendar/libecal/e-cal.h;endline=24;md5=e699ec3866f73f129f7a4ffffdcfc196"
10
11DEPENDS = " \
12 intltool-native gperf-native glib-2.0-native \
13 glib-2.0 gtk+3 libgnome-keyring libgdata libcanberra icu \
14 dbus db virtual/libiconv zlib libsoup-2.4 libical nss libsecret \
15"
16
17inherit gnomebase cmake gtk-doc gettext gobject-introspection perlnative upstream-version-is-even vala
18
19SRC_URI += "file://0001-CMakeLists.txt-Remove-TRY_RUN-for-iconv.patch \
20 file://0002-CMakeLists.txt-remove-CHECK_C_SOURCE_RUNS-check.patch \
21 file://0003-contact-Replace-the-Novell-sample-contact-with-somet.patch \
22 file://0004-Add-native-suffix-to-exacutables-produced-and-run-du.patch \
23 file://0005-Use-LC_MESSAGES-for-address-localization-when-LC_ADD.patch \
24 file://0006-Dont-add-usr-lib-to-LDFLAGS-when-linking-libphonenum.patch \
25 file://0007-Modify-gobject-intrispection-support-to-work-with-OE.patch \
26 file://iconv-detect.h \
27 "
28SRC_URI[archive.md5sum] = "57820f3f88fc554e1a58665a52e12c05"
29SRC_URI[archive.sha256sum] = "83f67cb4b680e892b22b51bcde64c788b7ac63e92a99de401fb347e3794f4c7f"
30
31LKSTRFTIME = "HAVE_LKSTRFTIME=ON"
32LKSTRFTIME_libc-musl = "HAVE_LKSTRFTIME=OFF"
33
34EXTRA_OECMAKE = " \
35 -D${LKSTRFTIME} \
36 -DSYSCONF_INSTALL_DIR=${sysconfdir} \
37 -DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')} \
38"
39
40PACKAGECONFIG ??= "${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)}"
41PACKAGECONFIG[openldap] = "-DWITH_OPENLDAP=ON,-DWITH_OPENLDAP=OFF,openldap"
42PACKAGECONFIG[oauth2] = "-DENABLE_OAUTH2=ON,-DENABLE_OAUTH2=OFF,json-glib webkitgtk"
43PACKAGECONFIG[mitkrb5] = "-DWITH_KRB5=ON,-DWITH_KRB5=OFF,krb5"
44PACKAGECONFIG[goa] = "-DENABLE_GOA=ON,-DENABLE_GOA=OFF,gnome-online-accounts"
45PACKAGECONFIG[weather] = "-DENABLE_WEATHER=ON,-DENABLE_WEATHER=OFF,libgweather"
46PACKAGECONFIG[phonenumber] = "-DWITH_PHONENUMBER=ON,-DWITH_PHONENUMBER=OFF,libphonenumber"
47PACKAGECONFIG[introspection] = "-DENABLE_INTROSPECTION=ON,-DENABLE_INTROSPECTION=OFF"
48PACKAGECONFIG[vala] = "-DENABLE_VALA_BINDINGS=ON -DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen,-DENABLE_VALA_BINDINGS=OFF"
49
50# -ldb needs this on some platforms
51LDFLAGS += "-lpthread -lgmodule-2.0 -lgthread-2.0"
52
53do_configure_append () {
54 cp ${WORKDIR}/iconv-detect.h ${S}/src
55
56 # fix native perl shebang
57 sed -i 's:${STAGING_BINDIR_NATIVE}/perl-native:${bindir}:' ${B}/src/tools/addressbook-export/csv2vcard
58}
59
60do_compile_prepend() {
61 # CMake does not support building native binaries when cross compiling. As result
62 # it always cross compiles them for the target and then aborts when they fail to run.
63 # To work around this manually build required tools and patch cmake targets to use
64 # those native binaries we built here.
65 ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} -I${B} ${S}/src/camel/camel-gen-tables.c \
66 -o ${B}/src/camel/camel-gen-tables-native
67 ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} -I${B} $(pkg-config-native --cflags glib-2.0) \
68 ${S}/src/addressbook/libebook-contacts/gen-western-table.c \
69 -o ${B}/src/addressbook/libebook-contacts/gen-western-table-native \
70 $(pkg-config-native --libs glib-2.0)
71}
72
73
74PACKAGES =+ "libebook-contacts libebook-contacts-dev \
75 libcamel libcamel-dev libebook libebook-dev libecal libecal-dev \
76 libedata-book libedata-book-dev libedata-cal libedata-cal-dev \
77 libedataserver libedataserver-dev \
78 libedataserverui libedataserverui-dev"
79
80FILES_${PN} =+ "${systemd_user_unitdir} \
81 ${datadir}/dbus-1 \
82 ${datadir}/evolution-data-server-*/ui/"
83RDEPENDS_${PN} += "perl"
84
85FILES_${PN}-dev =+ "${libdir}/pkgconfig/evolution-data-server-*.pc"
86FILES_${PN}-dbg =+ "${libdir}/evolution-data-server*/camel-providers/.debug \
87 ${libdir}/evolution-data-server*/calendar-backends/.debug \
88 ${libdir}/evolution-data-server*/addressbook-backends/.debug \
89 ${libdir}/evolution-data-server*/extensions/.debug/"
90
91RRECOMMENDS_${PN}-dev += "libecal-dev libebook-dev"
92
93FILES_libcamel = "${libdir}/libcamel-*.so.* \
94 ${libdir}/libcamel-provider-*.so.* \
95 ${libdir}/girepository-*/Camel-*.typelib \
96 ${libdir}/evolution-data-server*/camel-providers/*.so \
97 ${libdir}/evolution-data-server*/camel-providers/*.urls"
98FILES_libcamel-dev = "${libdir}/libcamel-*.so ${libdir}/libcamel-provider-*.so \
99 ${libdir}/pkgconfig/camel*pc \
100 ${includedir}/evolution-data-server*/camel \
101 ${datadir}/vala/vapi/camel-* \
102 ${datadir}/gir-*/Camel-*.gir"
103
104FILES_libebook = "${libdir}/libebook-*.so.* \
105 ${libdir}/girepository-*/EBook-*.typelib"
106FILES_libebook-dev = "${libdir}/libebook-*.so \
107 ${libdir}/pkgconfig/libebook-*.pc \
108 ${datadir}/gir-*/EBook-*.gir \
109 ${datadir}/vala/vapi/libebook-*.* \
110 ${includedir}/evolution-data-server*/libebook/*.h"
111RRECOMMENDS_libebook = "libedata-book"
112
113FILES_libebook-contacts = "${libdir}/libebook-contacts-*.so.* \
114 ${libdir}/girepository-*/EBookContacts-*.typelib"
115FILES_libebook-contacts-dev = "${libdir}/libebook-contacts-*.so \
116 ${libdir}/pkgconfig/libebook-contacts-*.pc \
117 ${datadir}/gir-*/EBookContacts-*.gir \
118 ${datadir}/vala/vapi/libebook-contacts-* \
119 ${includedir}/evolution-data-server*/libebook-contacts/*.h"
120
121FILES_libecal = "${libdir}/libecal-*.so.*"
122FILES_libecal-dev = "${libdir}/libecal-*.so ${libdir}/pkgconfig/libecal-*.pc \
123 ${includedir}/evolution-data-server*/libecal/*.h \
124 ${includedir}/evolution-data-server*/libical/*.h"
125RRECOMMENDS_libecal = "libedata-cal tzdata"
126
127FILES_libedata-book = "${libexecdir}/e-addressbook-factory \
128 ${datadir}/dbus-1/services/*.AddressBook.service \
129 ${libdir}/libedata-book-*.so.* \
130 ${libdir}/evolution-data-server-*/extensions/libebook*.so"
131FILES_libedata-book-dev = "${libdir}/libedata-book-*.so \
132 ${libdir}/pkgconfig/libedata-book-*.pc \
133 ${includedir}/evolution-data-server-*/libedata-book"
134
135FILES_libedata-cal = "${libexecdir}/e-calendar-factory \
136 ${datadir}/dbus-1/services/*.Calendar.service \
137 ${libdir}/libedata-cal-*.so.* \
138 ${libdir}/evolution-data-server-*/extensions/libecal*.so"
139FILES_libedata-cal-dev = "${libdir}/libedata-cal-*.so \
140 ${libdir}/pkgconfig/libedata-cal-*.pc \
141 ${includedir}/evolution-data-server-*/libedata-cal"
142
143FILES_libedataserver = "${libdir}/libedataserver-*.so.* \
144 ${libdir}/girepository-*/EDataServer-*.typelib"
145FILES_libedataserver-dev = "${libdir}/libedataserver-*.so \
146 ${libdir}/pkgconfig/libedataserver-*.pc \
147 ${datadir}/vala/vapi/libedataserver-* \
148 ${includedir}/evolution-data-server-*/libedataserver/*.h"
149
150FILES_libedataserverui = "${libdir}/libedataserverui-*.so.*"
151FILES_libedataserverui-dev = "${libdir}/libedataserverui-*.so \
152 ${libdir}/pkgconfig/libedataserverui-*.pc \
153 ${datadir}/gir-*/EDataServerUI-*.gir \
154 ${datadir}/vala/vapi/libedataserverui-* \
155 ${includedir}/evolution-data-server-*/libedataserverui/*.h"