# # spec file for package evolution-data-server # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define USE_EVOLDAP 0 %define with_introspection 1 # Shared Library soNUMs, to make it easier for updates # When updating the sonums, do not forget to also update baselibs.conf %define so_camel 40 %define so_ebackend 5 %define so_ebook 14 %define so_ecal 15 %define so_edata_book 15 %define so_edata_cal 18 %define so_edataserver 17 %define so_edataserverui 4 Name: evolution-data-server %define _evo_version 3.6 Version: 3.6.3 Release: 0 Summary: Evolution Data Server License: LGPL-2.1+ Group: Development/Libraries/GNOME Url: http://www.gnome.org Source0: http://download.gnome.org/sources/evolution-data-server/3.6/%{name}-%{version}.tar.xz Source99: baselibs.conf # PATCH-FIX-UPSTREAM e-d-s-ldap-mutex-deadlock-fix.patch bgo#692278 badshah400@gmail.com -- Fix LDAP backend mutex deadlock on finalize; patch taken from upstream git Patch0: e-d-s-ldap-mutex-deadlock-fix.patch # PATCH-FIX-UPSTREAM e-d-s-address-crash-on-cancel.patch badshah400@gmail.com -- Fix invalid memory access during situations while cancelling some synchronous operations; patch taken from upstream git Patch1: e-d-s-address-crash-on-cancel.patch # PATCH-FIX-UPSTREAM e-d-s-fix-slow-composer-open.patch bgo#689476 badshah400@gmail.com -- Fix composer opening slowly because of leaks; patch taken from upstream git Patch2: e-d-s-fix-slow-composer-open.patch # PATCH-FIX-UPSTREAM e-d-s-store_synchronize_sync.patch badshah400@gmail.com -- Cleanups in store_synchronize_sync(); patch taken from upstream git Patch3: e-d-s-store_synchronize_sync.patch # PATCH-FIX-UPSTREAM e-d-s-schedule-higher-idle-priority-actions.patch bgo#683867 badshah400@gmail.com -- Schedule actions with higher idle priority; patch taken from upstream git Patch4: e-d-s-schedule-higher-idle-priority-actions.patch # PATCH-FIX-UPSTREAM e-d-s-use-G_PRIORITY_HIGH_IDLE.patch badshah400@gmail.com -- Use G_PRIORITY_HIGH_IDLE to beat gtk+ redraws; patch taken from upstream git Patch5: e-d-s-use-G_PRIORITY_HIGH_IDLE.patch BuildRequires: db-devel %if %USE_EVOLDAP BuildRequires: evoldap2-devel %else BuildRequires: openldap2-devel %endif BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gobject-introspection-devel BuildRequires: gperf BuildRequires: gtk-doc BuildRequires: intltool BuildRequires: krb5-devel BuildRequires: libgdata-devel BuildRequires: libgnome-keyring-devel BuildRequires: libgweather-devel >= 3.5.0 BuildRequires: libical-devel >= 0.43 BuildRequires: libidl-devel BuildRequires: libsoup-devel >= 2.38.1 BuildRequires: mozilla-nss-devel BuildRequires: nss-shared-helper-devel BuildRequires: python-devel BuildRequires: sqlite3-devel BuildRequires: translation-update-upstream BuildRequires: vala BuildRequires: pkgconfig(gcr-base-3) >= 3.4 BuildRequires: pkgconfig(goa-1.0) >= 3.2 BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(oauth) %if %USE_EVOLDAP Requires: libevoldap-2_4-2 %endif Requires: libical0 >= 0.43 Requires: libsoup >= 2.2.6 Requires: mozilla-nss Recommends: %{name}-lang = %{version} # bug437293 %ifarch ppc64 Obsoletes: evolution-data-server-64bit %endif %ifarch %ix86 ppc Obsoletes: evolution-data-server-32bit %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %glib2_gsettings_schema_requires %description Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. %package -n libcamel-1_2-%{so_camel} Summary: Evolution Data Server - Messaging Library Group: System/Libraries %description -n libcamel-1_2-%{so_camel} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library for messaging. %package -n libebackend-1_2-%{so_ebackend} Summary: Evolution Data Server - Backend Utilities Library Group: System/Libraries %description -n libebackend-1_2-%{so_ebackend} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library for backends. %package -n libebook-1_2-%{so_ebook} Summary: Evolution Data Server - Address Book Client Library Group: System/Libraries %description -n libebook-1_2-%{so_ebook} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library to access address books. %package -n libecal-1_2-%{so_ecal} Summary: Evolution Data Server - Calendar Client Library Group: System/Libraries %description -n libecal-1_2-%{so_ecal} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library to access calendars. %if %{?with_introspection} %package -n typelib-1_0-ECalendar-1_2 Summary: Evolution Data Server - Calendar Client Library, Introspection bindings Group: System/Libraries %description -n typelib-1_0-ECalendar-1_2 Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package provides the GObject Introspection bindings for the library to access calendars. %endif %package -n libedata-book-1_2-%{so_edata_book} Summary: Evolution Data Server - Address Book Backend Library Group: System/Libraries %description -n libedata-book-1_2-%{so_edata_book} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library for address book backends. %if %{?with_introspection} %package -n typelib-1_0-EBook-1_2 Summary: Evolution Data Server - Address Book Backend Library, Introspection bindings Group: System/Libraries %description -n typelib-1_0-EBook-1_2 Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package provides the GObject Introspection bindings for the library for address book backends. %endif %package -n libedata-cal-1_2-%{so_edata_cal} Summary: Evolution Data Server - Calendar Backend Library Group: System/Libraries %description -n libedata-cal-1_2-%{so_edata_cal} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library for calendar backends. %package -n libedataserver-1_2-%{so_edataserver} Summary: Evolution Data Server - Utilities Library Group: System/Libraries %description -n libedataserver-1_2-%{so_edataserver} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library. %if %{?with_introspection} %package -n typelib-1_0-EDataServer-1_2 Summary: Evolution Data Server - Utilities Library, Introspection bindings Group: System/Libraries %description -n typelib-1_0-EDataServer-1_2 Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package provides the GObject Introspection bindings for the libedataserver library. %endif %package -n libedataserverui-3_0-%{so_edataserverui} Summary: Evolution Data Server - Graphical Utilities Library Group: System/Libraries %description -n libedataserverui-3_0-%{so_edataserverui} Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains a shared system library. %package devel Summary: Evolution Data Server - Development Files Group: Development/Libraries/GNOME Requires: evolution-data-server = %{?epoch:}%{version} Requires: libcamel-1_2-%{so_camel} = %{version} Requires: libebackend-1_2-%{so_ebackend} = %{version} Requires: libebook-1_2-%{so_ebook} = %{version} Requires: libecal-1_2-%{so_ecal} = %{version} Requires: libedata-book-1_2-%{so_edata_book} = %{version} Requires: libedata-cal-1_2-%{so_edata_cal} = %{version} Requires: libedataserver-1_2-%{so_edataserver} = %{version} Requires: libedataserverui-3_0-%{so_edataserverui} = %{version} %if %{?with_introspection} Requires: typelib-1_0-EBook-1_2 = %{version} Requires: typelib-1_0-ECalendar-1_2 = %{version} Requires: typelib-1_0-EDataServer-1_2 = %{version} %endif %if %USE_EVOLDAP Requires: evoldap2-devel %else Requires: openldap2-devel %endif %description devel The Evolution Data Server development files provide the necessary libraries, headers, and other files for developing applications which use the Evolution Data Server for storing contact and calendar information. %package doc Summary: Evolution Data Server - Developer Documentation Group: Development/Libraries/GNOME Requires: %{name} = %{version} %description doc Evolution Data Server provides a central location for your address book and calendar in the GNOME Desktop. This package contains developer documentation. %lang_package %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 translation-update-upstream %build %{configure} \ --libexecdir=%{_libexecdir}/evolution-data-server \ %if %USE_EVOLDAP --with-openldap=%{_libdir}/evoldap \ %else --with-openldap=yes \ %endif --with-krb5=%{_prefix} \ --enable-gtk-doc \ --enable-ipv6=yes \ --enable-smime=yes \ --enable-nntp=yes \ --disable-static \ %if %{?with_introspection} --enable-vala-bindings \ --enable-introspection %else --disable-vala-bindings \ --disable-introspection %endif make %{?_smp_mflags} V=1 %install %{makeinstall} %if 0%{?suse_version} <= 1120 %{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/* %endif find %{buildroot} -name '*.la' -type f -delete -print %find_lang evolution-data-server-%{_evo_version} %if %USE_EVOLDAP for file in %{buildroot}%{_libexecdir}/evolution-data-server/*; do %{__mv} $file $file.bin real_file=`echo $file | sed "s,%{buildroot},,g"` echo -e "#!/bin/bash\n\nLD_LIBRARY_PATH=%{_libdir}/evoldap/lib exec -a \"$real_file\" $real_file.bin \"\$@\"" > $file %{__chmod} +x $file done %endif %fdupes %{buildroot} %post %glib2_gsettings_schema_post %postun %glib2_gsettings_schema_postun %post -n libcamel-1_2-%{so_camel} -p /sbin/ldconfig %postun -n libcamel-1_2-%{so_camel} -p /sbin/ldconfig %post -n libebackend-1_2-%{so_ebackend} -p /sbin/ldconfig %postun -n libebackend-1_2-%{so_ebackend} -p /sbin/ldconfig %post -n libebook-1_2-%{so_ebook} -p /sbin/ldconfig %postun -n libebook-1_2-%{so_ebook} -p /sbin/ldconfig %post -n libecal-1_2-%{so_ecal} -p /sbin/ldconfig %postun -n libecal-1_2-%{so_ecal} -p /sbin/ldconfig %post -n libedata-book-1_2-%{so_edata_book} -p /sbin/ldconfig %postun -n libedata-book-1_2-%{so_edata_book} -p /sbin/ldconfig %post -n libedata-cal-1_2-%{so_edata_cal} -p /sbin/ldconfig %postun -n libedata-cal-1_2-%{so_edata_cal} -p /sbin/ldconfig %post -n libedataserver-1_2-%{so_edataserver} -p /sbin/ldconfig %postun -n libedataserver-1_2-%{so_edataserver} -p /sbin/ldconfig %post -n libedataserverui-3_0-%{so_edataserverui} -p /sbin/ldconfig %postun -n libedataserverui-3_0-%{so_edataserverui} -p /sbin/ldconfig %files %defattr(-,root,root) %doc COPYING ChangeLog NEWS TODO # ui/ subdir is used by libedataserverui %{_datadir}/evolution-data-server-%{_evo_version}/ %{_datadir}/GConf/gsettings/evolution-data-server.convert %{_datadir}/GConf/gsettings/libedataserver.convert %{_datadir}/glib-2.0/schemas/org.gnome.Evolution.DefaultSources.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.evolution.eds-shell.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.evolution.shell.network-config.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.evolution-data-server.addressbook.gschema.xml %{_datadir}/glib-2.0/schemas/org.gnome.evolution-data-server.calendar.gschema.xml # Category icons that are used by libedataserver %{_datadir}/pixmaps/evolution-data-server/ %{_datadir}/dbus-1/services/org.gnome.evolution.dataserver.*.service %{_libdir}/evolution-data-server/ %if "%{_libdir}" != "%{_libexecdir}" %{_libexecdir}/evolution-data-server/ %endif %files -n libcamel-1_2-%{so_camel} %defattr(-, root, root) %{_libdir}/libcamel-1.2.so.%{so_camel}* %files -n libebackend-1_2-%{so_ebackend} %defattr(-, root, root) %{_libdir}/libebackend-1.2.so.%{so_ebackend}* %files -n libebook-1_2-%{so_ebook} %defattr(-, root, root) %{_libdir}/libebook-1.2.so.%{so_ebook}* %files -n libecal-1_2-%{so_ecal} %defattr(-, root, root) %{_libdir}/libecal-1.2.so.%{so_ecal}* %if %{?with_introspection} %files -n typelib-1_0-ECalendar-1_2 %defattr(-, root, root) %{_libdir}/girepository-1.0/ECalendar-1.2.typelib %endif %files -n libedata-book-1_2-%{so_edata_book} %defattr(-, root, root) %{_libdir}/libedata-book-1.2.so.%{so_edata_book}* %if %{?with_introspection} %files -n typelib-1_0-EBook-1_2 %defattr(-, root, root) %{_libdir}/girepository-1.0/EBook-1.2.typelib %endif %files -n libedata-cal-1_2-%{so_edata_cal} %defattr(-, root, root) %{_libdir}/libedata-cal-1.2.so.%{so_edata_cal}* %files -n libedataserver-1_2-%{so_edataserver} %defattr(-, root, root) %{_libdir}/libedataserver-1.2.so.%{so_edataserver}* %if %{?with_introspection} %files -n typelib-1_0-EDataServer-1_2 %defattr(-, root, root) %{_libdir}/girepository-1.0/EDataServer-1.2.typelib %endif %files -n libedataserverui-3_0-%{so_edataserverui} %defattr(-, root, root) %{_libdir}/libedataserverui-3.0.so.%{so_edataserverui}* %files devel %defattr(-, root, root) %{_includedir}/evolution-data-server-%{_evo_version}/ %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %if %{?with_introspection} %{_datadir}/gir-1.0/*.gir %dir %{_datadir}/vala %dir %{_datadir}/vala/vapi %{_datadir}/vala/vapi/*.deps %{_datadir}/vala/vapi/*.vapi %endif %files doc %defattr(-, root, root) %{_datadir}/gtk-doc/html/* %files lang -f evolution-data-server-%{_evo_version}.lang %changelog