# todo:
# - system libical
#
-%define mver 1.0
-
+# Conditional build:
+%bcond_without kerberos5 # build without kerberos5 support
+%bcond_without ldap # build without ldap support
+#
+%define basever 1.4
+%define apiver 1.2
Summary: Evolution data server
Summary(pl): Serwer danych Evolution
Name: evolution-data-server
-Version: 0.0.98
-Release: 2
+Version: 1.4.1.1
+Release: 1
License: GPL
Group: Libraries
-Source0: http://ftp.gnome.org/pub/gnome/sources/%{name}/0.0/%{name}-%{version}.tar.bz2
-# Source0-md5: acc604979b4b8044f8ac5360b8fa82a4
+Source0: http://ftp.gnome.org/pub/gnome/sources/evolution-data-server/1.4/%{name}-%{version}.tar.bz2
+# Source0-md5: 1590ec25527b1bcc5046e84ec2d1227f
Patch0: %{name}-system_db.patch
-Patch1: %{name}-locale-names.patch
-Patch2: %{name}-GG-IM.patch
-Patch3: %{name}-configure.patch
+Patch1: %{name}-GG-IM.patch
+Patch2: %{name}-workaround-cal-backend-leak.patch
+Patch3: %{name}-gcc4.patch
URL: http://www.ximian.com/products/ximian_evolution/
-BuildRequires: ORBit2-devel >= 1:2.10.3
+BuildRequires: ORBit2-devel >= 1:2.12.1
BuildRequires: autoconf >= 2.52
BuildRequires: automake
+BuildRequires: bison
BuildRequires: db-devel
+BuildRequires: gnome-common >= 2.8.0
+BuildRequires: howl-devel >= 0.9.10
BuildRequires: intltool
-BuildRequires: libgnome-devel >= 2.6.1.1
-BuildRequires: libsoup-devel >= 2.2.0
+BuildRequires: libglade2-devel >= 1:2.5.1
+BuildRequires: libgnomeui-devel >= 2.11.2-2
+BuildRequires: libsoup-devel >= 2.2.5
+BuildRequires: libstdc++-devel
BuildRequires: libtool
-BuildRequires: openldap-devel
+BuildRequires: nspr-devel
+BuildRequires: nss-devel
BuildRequires: pkgconfig
-Requires(post,postun): /sbin/ldconfig
-Requires(post,postun): /usr/bin/scrollkeeper-update
-Requires(post): GConf2
-Requires: libsoup >= 2.2.0
+BuildRequires: rpmbuild(macros) >= 1.197
+%{?with_kerberos5:BuildRequires: heimdal-devel >= 0.7}
+%{?with_ldap:BuildRequires: openldap-devel >= 2.0.0}
+Requires(post,postun): scrollkeeper
+Requires: %{name}-libs = %{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define schemadir /usr/share/openldap/schema
+
%description
The Evolution data server for the calendar and addressbook.
%description -l pl
Serwer danych Evolution dla kalendarza i ksi±¿ki adresowej.
+%package -n openldap-schema-evolutionperson
+Summary: evolutionperson LDAP schema
+Summary(pl): Schemat LDAP evolutionperson
+Group: Networking/Daemons
+Requires(post,postun): sed >= 4.0
+Requires: openldap-servers
+
+%description -n openldap-schema-evolutionperson
+This package contains evolutionperson.schema for openldap server.
+
+%description -n openldap-schema-evolutionperson -l pl
+Ten pakiet zawiera evolutionperson.schema dla serwera openldap.
+
+%package libs
+Summary: Evolution Data Server library
+Summary(pl): Biblioteka Evolution Data Server
+Group: Libraries
+Requires: libsoup >= 2.2.3
+
+%description libs
+This package contains Evolution Data Server library.
+
+%description libs -l pl
+Ten pakiet zawiera bibliotekê Evolution Data Server.
+
%package devel
Summary: Evolution data server development files
Summary(pl): Pliki programistyczne serwera danych evolution
Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
# for all but libegroupwise
-Requires: GConf2-devel >= 2.6.2
-Requires: ORBit2-devel >= 1:2.10.3
-Requires: glib2-devel >= 1:2.4.4
-Requires: libbonobo-devel >= 2.6.2
-Requires: libgnome-devel >= 2.6.1.1
+Requires: GConf2-devel >= 2.10.0
+Requires: ORBit2-devel >= 1:2.12.1
+Requires: glib2-devel >= 1:2.6.4
+Requires: libbonobo-devel >= 2.8.1
+Requires: libgnomeui-devel >= 2.11.2-2
Requires: libxml2-devel
# for libegroupwise
-Requires: libsoup-devel >= 2.2.0
+Requires: libsoup-devel >= 2.2.5
%description devel
This package contains the files necessary to develop applications
%patch2 -p1
%patch3 -p1
-mv po/{no,nb}.po
rm -rf libdb
%build
-glib-gettextize --copy --force
-intltoolize --copy --force
+%{__glib_gettextize}
+%{__intltoolize}
%{__libtoolize}
-%{__aclocal} -I %{_aclocaldir}/gnome2-macros
+%{__aclocal}
%{__autoheader}
%{__autoconf}
%{__automake}
cd ../..
%configure \
+ %{?with_kerberos5:--with-krb5=%{_prefix}} \
+ %{!?with_kerberos5:--with-krb5=no} \
+ %{?with_ldap:--with-openldap=yes} \
+ %{!?with_ldap:--with-openldap=no} \
--enable-gtk-doc \
--enable-static \
- --with-openldap=yes
-
+ --with-nspr-includes=%{_includedir}/nspr \
+ --with-nspr-libs=%{_libdir} \
+ --with-nss-includes=%{_includedir}/nss \
+ --with-nss-libs=%{_libdir}
%{__make} \
HTML_DIR=%{_gtkdocdir} \
GTKHTML_DATADIR=%{_datadir}/idl
HTML_DIR=%{_gtkdocdir} \
pkgconfigdir=%{_pkgconfigdir}
+rm $RPM_BUILD_ROOT%{_libdir}/%{name}-%{apiver}/{camel-providers,extensions}/*.{la,a}
+
+rm -r $RPM_BUILD_ROOT%{_datadir}/locale/no
+
+install -d $RPM_BUILD_ROOT%{schemadir}
+install addressbook/backends/ldap/evolutionperson.schema $RPM_BUILD_ROOT%{schemadir}
+
%find_lang %{name} --all-name
%clean
rm -rf $RPM_BUILD_ROOT
%post
-/sbin/ldconfig
-/usr/bin/scrollkeeper-update
-%gconf_schema_install
+%scrollkeeper_update_post
%postun
-/sbin/ldconfig
-/usr/bin/scrollkeeper-update
+%scrollkeeper_update_postun
+
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
+%post -n openldap-schema-evolutionperson
+if ! grep -q %{schemadir}/evolutionperson.schema /etc/openldap/slapd.conf; then
+ sed -i -e '
+ /^include.*local.schema/{
+ i\
+include %{schemadir}/evolutionperson.schema
+ }
+ ' /etc/openldap/slapd.conf
+fi
+
+if [ -f /var/lock/subsys/ldap ]; then
+ /etc/rc.d/init.d/ldap restart >&2
+fi
+
+%postun -n openldap-schema-evolutionperson
+if [ "$1" = "0" ]; then
+ if grep -q %{schemadir}/evolutionperson.schema /etc/openldap/slapd.conf; then
+ sed -i -e '
+ /^include.*\/usr\/share\/openldap\/schema\/evolutionperson.schema/d
+ ' /etc/openldap/slapd.conf
+ fi
+
+ if [ -f /var/lock/subsys/ldap ]; then
+ /etc/rc.d/init.d/ldap restart >&2 || :
+ fi
+fi
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog NEWS* README
-%attr(755,root,root) %{_libdir}/%{name}-1.0
-%attr(755,root,root) %{_libdir}/*.so.*.*
+%attr(755,root,root) %{_libdir}/camel-index-control-%{apiver}
+%attr(755,root,root) %{_libdir}/camel-lock-helper-%{apiver}
+%dir %{_libdir}/%{name}-%{apiver}
+%dir %{_libdir}/%{name}-%{apiver}/camel-providers
+%attr(755,root,root) %{_libdir}/evolution-data-server-%{basever}
+%attr(755,root,root) %{_libdir}/%{name}-%{apiver}/camel-providers/*.so
+%{_libdir}/%{name}-%{apiver}/camel-providers/*.urls
+%dir %{_libdir}/%{name}-%{apiver}/extensions
+%attr(755,root,root) %{_libdir}/%{name}-%{apiver}/extensions/*.so
%{_libdir}/bonobo/servers/*
-%{_datadir}/idl/*
-%dir %{_datadir}/%{name}-%{mver}
-%{_datadir}/%{name}-%{mver}/zoneinfo
-%{_datadir}/%{name}-%{mver}/*.schema
+
+%if %{with ldap}
+%{_datadir}/%{name}-%{basever}/*.schema
+%endif
+
+%dir %{_datadir}/%{name}-%{basever}
+%{_datadir}/%{name}-%{basever}/glade
+%{_datadir}/%{name}-%{basever}/weather
+%{_datadir}/%{name}-%{basever}/zoneinfo
+%{_pixmapsdir}/%{name}-%{basever}
+
+%files -n openldap-schema-evolutionperson
+%defattr(644,root,root,755)
+%{schemadir}/*.schema
+
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/*.so.*.*
+%{_datadir}/idl/%{name}-%{apiver}
%files devel
%defattr(644,root,root,755)