-%define baseline 3.7
+%bcond_with introspection
+
+%define baseline 3.12
%define USE_EVOLDAP 0
-%define with_introspection 1
+%define enable_goa no
+%define enable_uoa no
+%define enable_gtk no
+%define enable_gdata no
+%define enable_weather no
+%define enable_email no
# should match configure.ac
-%define so_edataserver 17
-%define so_ecal 15
-%define so_edata_cal 20
-%define so_edata_book 16
+%define so_edataserver 18
+%define so_ecal 16
+%define so_edata_cal 23
+%define so_edata_book 20
%define so_ebook 14
-%define so_camel 43
-%define so_ebackend 6
-%define _evo_version 3.8
+%define so_camel 49
+%define so_ebackend 7
+%define _evo_version 3.12
Name: evolution-data-server
-Version: 3.7.4
+Version: 3.12.2
Release: 0
Summary: Evolution Data Server
-License: LGPLv2
-Group: Development/Libraries/GNOME
+License: LGPL-2.0+
+Group: Development/Libraries
Url: http://www.gnome.org
Source0: http://download.gnome.org/sources/evolution-data-server/%{baseline}/%{name}-%{version}.tar.xz
Source98: baselibs.conf
+Source1001: evolution-data-server.manifest
+
BuildRequires: db4-devel
BuildRequires: fdupes
-BuildRequires: gtk-doc
BuildRequires: gcc-c++
BuildRequires: gettext-tools
BuildRequires: glibc-locale
BuildRequires: gnome-common
BuildRequires: gperf
+BuildRequires: gtk-doc
BuildRequires: intltool
-BuildRequires: libidl-devel
-BuildRequires: python-devel
BuildRequires: vala
+BuildRequires: pkgconfig(icu-i18n)
BuildRequires: pkgconfig(gcr-base-3) >= 3.4
-BuildRequires: pkgconfig(gnome-keyring-1)
+%if %{?enable_goa} != no
BuildRequires: pkgconfig(goa-1.0) >= 3.2
+%endif
+%if %{with introspection}
BuildRequires: pkgconfig(gobject-introspection-1.0)
+%endif
+%if %{?enable_gtk} != no
BuildRequires: pkgconfig(gtk+-3.0)
-BuildRequires: pkgconfig(gweather-3.0)
-BuildRequires: pkgconfig(libgdata)
+%endif
+%if %{?enable_weather} != no
+BuildRequires: pkgconfig(gweather-3.0) >= 3.5.0
+%endif
+# Not sure what this is for. Not checked by current configure.ac?
+# BuildRequires: pkgconfig(libIDL-2.0)
+%if %{?enable_gdata} != no
+BuildRequires: pkgconfig(libgdata) >= 0.10
+BuildRequires: pkgconfig(oauth)
+%endif
BuildRequires: pkgconfig(libical) >= 0.43
-BuildRequires: pkgconfig(libsecret-unstable)
-BuildRequires: pkgconfig(libsoup-2.4)
+BuildRequires: pkgconfig(libsecret-unstable) >= 0.5
+BuildRequires: pkgconfig(libsoup-2.4) >= 2.42
BuildRequires: pkgconfig(nss)
-BuildRequires: pkgconfig(oauth)
-BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(python-2.7)
+BuildRequires: pkgconfig(sqlite3) >= 3.5
-Recommends: %{name}-lang = %{version}
+Recommends: %{name}-locale = %{version}
%ifarch %ix86
Obsoletes: evolution-data-server-32bit
%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): glib2-tools
Requires(postun): glib2-tools
-
%description
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 libebook-contacts
+Summary: Evolution Data Server - Address Book Client Library
+Group: System/Libraries
+
+%description -n libebook-contacts
+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.
+
+
+%if %{with introspection}
+
+%package -n typelib-EBookContacts
+Summary: Evolution Data Server - Address Book Backend Library, Introspection bindings
+Group: System/Libraries
+
+%description -n typelib-EBookContacts
+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 contacts.
+%endif
+
+
%package -n libecal
Summary: Evolution Data Server - Calendar Client Library
Group: System/Libraries
This package contains a shared system library for address book backends.
-%if %{?with_introspection}
+%if %{with introspection}
%package -n typelib-EBook
Summary: Evolution Data Server - Address Book Backend Library, Introspection bindings
This package contains a shared system library.
-%if %{?with_introspection}
+
+%if %{with introspection}
%package -n typelib-EDataServer
Summary: Evolution Data Server - Utilities Library, Introspection bindings
This package provides the GObject Introspection bindings for the
libedataserver library.
-%endif
-This package contains a shared system library.
+%endif
%package devel
Summary: Evolution Data Server - Development Files
-Group: Development/Libraries/GNOME
+Group: Development/Libraries
Requires: evolution-data-server = %{?epoch:}%{version}
Requires: libcamel = %{version}
Requires: libebackend = %{version}
Requires: libedata-book = %{version}
Requires: libedata-cal = %{version}
Requires: libedataserver = %{version}
-%if %{?with_introspection}
+%if %{with introspection}
Requires: typelib-EBook = %{version}
Requires: typelib-EDataServer = %{version}
%endif
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
%description devel
The Evolution Data Server development files provide the necessary
use the Evolution Data Server for storing contact and calendar
information.
+
%package doc
Summary: Evolution Data Server - Developer Documentation
-Group: Development/Libraries/GNOME
+Group: Documentation
Requires: %{name} = %{version}
%description doc
%prep
%setup -q
+cp %{SOURCE1001} .
%build
-%autogen
-%{configure} \
+# "maintainer mode" depends on GTK and is not needed
+# for packaging, so disable it.
+
+%autogen \
--libexecdir=%{_libexecdir}/evolution-data-server \
- --enable-ipv6=yes \
- --enable-smime=yes \
- --enable-nntp=yes \
+ --disable-maintainer-mode \
+ --enable-ipv6=%{?enable_ipv6} \
+ --enable-smime=%{?enable_smime} \
+ --enable-nntp=%{?enable_nntp} \
--disable-static \
-%if %{?with_introspection}
+ --disable-uoa \
+ --enable-goa=%{?enable_goa} \
+ --enable-weather=%{?enable_weather} \
+ --enable-gtk=%{?enable_gtk} \
+ --enable-google=%{?enable_gdata} \
+%if %{with introspection}
--enable-vala-bindings \
--enable-introspection \
%else
--disable-vala-bindings \
--disable-introspection \
%endif
+ --disable-examples \
# end of configure line
make %{?_smp_mflags} V=1
%install
%make_install
+mkdir -p %{buildroot}/%{_datadir}/help
%find_lang evolution-data-server-%{_evo_version}
mv evolution-data-server-%{_evo_version}.lang evolution-data-server.lang
%fdupes %{buildroot}
%postun -n libebook -p /sbin/ldconfig
+%post -n libebook-contacts -p /sbin/ldconfig
+
+%postun -n libebook-contacts -p /sbin/ldconfig
+
%post -n libecal -p /sbin/ldconfig
%postun -n libecal -p /sbin/ldconfig
%files
%defattr(-,root,root)
+%manifest %{name}.manifest
%license COPYING
-%{_datadir}/evolution-data-server/
%{_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
%files -n libcamel
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_libdir}/libcamel-1.2.so.%{so_camel}*
%files -n libebackend
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_libdir}/libebackend-1.2.so.%{so_ebackend}*
%files -n libebook
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_libdir}/libebook-1.2.so.%{so_ebook}*
-%files -n libecal
+%if %{with introspection}
+%files -n typelib-EBook
%defattr(-, root, root)
-%{_libdir}/libecal-1.2.so.%{so_ecal}*
+%manifest %{name}.manifest
+%{_libdir}/girepository-1.0/EBook-1.2.typelib
+%endif
-%files -n libedata-book
-%defattr(-, root, root)
-%{_libdir}/libedata-book-1.2.so.%{so_edata_book}*
+%files -n libebook-contacts
+%defattr(-, root, root)
+%manifest %{name}.manifest
+%{_libdir}/libebook-contacts-1.2.so.0*
-%if %{?with_introspection}
-%files -n typelib-EBook
+%if %{with introspection}
+%files -n typelib-EBookContacts
%defattr(-, root, root)
-%{_libdir}/girepository-1.0/EBook-1.2.typelib
+%manifest %{name}.manifest
+%{_libdir}/girepository-1.0/EBookContacts-1.2.typelib
%endif
+%files -n libecal
+%defattr(-, root, root)
+%manifest %{name}.manifest
+%{_libdir}/libecal-1.2.so.%{so_ecal}*
+
+
+%files -n libedata-book
+%defattr(-, root, root)
+%manifest %{name}.manifest
+%{_libdir}/libedata-book-1.2.so.%{so_edata_book}*
+
+
%files -n libedata-cal
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_libdir}/libedata-cal-1.2.so.%{so_edata_cal}*
%files -n libedataserver
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_libdir}/libedataserver-1.2.so.%{so_edataserver}*
-%if %{?with_introspection}
-
+%if %{with introspection}
%files -n typelib-EDataServer
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_libdir}/girepository-1.0/EDataServer-1.2.typelib
%endif
%files devel
%defattr(-, root, root)
+%manifest %{name}.manifest
%{_includedir}/evolution-data-server/
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
-%if %{?with_introspection}
+%if %{with introspection}
%{_datadir}/gir-1.0/*.gir
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/*.deps
%{_datadir}/vala/vapi/*.vapi
%endif
-