File evolution.spec of Package evolution

#
# spec file for package evolution
#
# Copyright (c) 2011 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

Name:           evolution
BuildRequires:  bison
%if %USE_EVOLDAP
BuildRequires:  evoldap2-devel
%else
BuildRequires:  openldap2-devel
%endif
BuildRequires:  fdupes
BuildRequires:  gnome-common
BuildRequires:  gnome-doc-utils-devel
BuildRequires:  gtk-doc
BuildRequires:  intltool
BuildRequires:  krb5-devel
# don't you ever enable this! It's experimental and insecure (bnc#609013)
#BuildRequires:  libytnef-devel
BuildRequires:  psmisc
BuildRequires:  python-devel
BuildRequires:  sqlite3-devel
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(NetworkManager)
BuildRequires:  pkgconfig(atk)
BuildRequires:  pkgconfig(gail)
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(gladeui-1.0)
BuildRequires:  pkgconfig(gnome-desktop-2.0)
BuildRequires:  pkgconfig(gnome-icon-theme)
BuildRequires:  pkgconfig(gstreamer-0.10)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(gtkimageview)
BuildRequires:  pkgconfig(gweather)
BuildRequires:  pkgconfig(libcanberra-gtk)
BuildRequires:  pkgconfig(libedataserver-1.2)
BuildRequires:  pkgconfig(libedataserverui-1.2)
BuildRequires:  pkgconfig(libgdata)
BuildRequires:  pkgconfig(libgtkhtml-3.14)
BuildRequires:  pkgconfig(libnotify)
BuildRequires:  pkgconfig(libpst)
BuildRequires:  pkgconfig(libsoup-2.4)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(nspr)
BuildRequires:  pkgconfig(nss)
BuildRequires:  pkgconfig(pangoft2)
BuildRequires:  pkgconfig(shared-mime-info)
BuildRequires:  pkgconfig(unique-1.0)
License:        LGPLv2.0 ; LGPLv3
Group:          Productivity/Networking/Email/Clients
# This should be updated upon major version changes; it should match BASE_VERSION as defined in configure.in.
%define evolution_base_version 2.32
Version:        2.32.1
Release:        4
# FIXME: Check if libmono-2_0-1 is dragged in by libmono-2_0-devel, then remove this BR (in mono-plugins subpackage).
# FIXME: check with upstream/meego if we want to enable clutter for express mode
Summary:        The Integrated GNOME Mail, Calendar, and Address Book Suite
Source0:        ftp://ftp.gnome.org/pub/gnome/sources/evolution/2.25/%{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM evolution-mime-scheme-handler.patch bgo#631451 vuntz@opensuse.org -- Taken from git, register mailto-related mime type
Patch0:         evolution-mime-scheme-handler.patch
# PATCH-FIX-OPENSUSE evolution-custom-openldap-includes.patch maw@novell.com -- look for ldap includes in %{_libdir}/evoldap/include
Patch15:        evolution-custom-openldap-includes.patch
# PATCH-FIX-UPSTREAM bnc-435722-book-uri-long.patch bnc#435722 abharath@suse.de -- Book URI: Spills Into Second Column.
Patch19:        bnc-435722-book-uri-long.patch
# PATCH-FIX-UPSTREAM bnc-210959-evo-accept-ics.patch bnc210959 pchenthill@novell.com -- Patch yet to be pushed upstream.
Patch35:        bnc-210959-evo-accept-ics.patch
# PATCH-FIX-UPSTREAM evolution-mono2.patch dimstar@opensuse.org -- Build against mono-2. Patch is not ready to be upstreamed in this form.
Patch55:        evolution-mono2.patch
Url:            http://gnome.org/projects/evolution/
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Recommends:     %{name}-lang
Recommends:     bogofilter
%gconf_schemas_prereq

%description
Evolution consists of modular components (at the moment: mailer,
calendar, and address book) that should make daily life easier. Because
of the modular design, it is possible to plug new components into
Evolution or embed the existing ones in other applications.

%package -n glade3-catalog-evolution
License:        LGPLv2.0 ; LGPLv3
Summary:        Evolution Library -- Catalog for Glade
Group:          Development/Tools/GUI Builders
Requires:       %{name} = %{version}
Requires:       glade3
Supplements:    packageand(glade3:%{name}-devel)

%description -n glade3-catalog-evolution
Evolution consists of modular components (at the moment: mailer,
calendar, and address book) that should make daily life easier. Because
of the modular design, it is possible to plug new components into
Evolution or embed the existing ones in other applications.

This package provides a catalog for Glade, to allow the use of Evolution
widgets in Glade.

%package devel
License:        LGPLv2.0 ; LGPLv3
Summary:        Include Files and Libraries mandatory for Development
Group:          Development/Libraries/C and C++
Requires:       evolution = %{version}
Provides:       evolution2-devel = %{version}
Obsoletes:      evolution2-devel < %{version}

%description devel
This package contains all necessary include files and libraries needed
to develop applications that require these.

%package mono-plugins
License:        LGPLv2.0 ; LGPLv3
Summary:        The Integrated GNOME Mail, Calendar, and Address Book Suite
Group:          Productivity/Networking/Email/Clients
Requires:       evolution = %{version}
Supplements:    packageand(evolution:mono-core)
# Dice support is disabled
#BuildRequires:  dice-devel
BuildRequires:  evolution-sharp
BuildRequires:  gconf-sharp2
BuildRequires:  glib-sharp2
BuildRequires:  gnome-sharp2
BuildRequires:  gtk-sharp2
%if 0%{?suse_version} > 1130
BuildRequires:  libmono-2_0-1
BuildRequires:  libmono-2_0-devel
%else
BuildRequires:  mono-devel
%endif
BuildRequires:  ndesk-dbus-glib-devel

%description mono-plugins
Evolution consists of modular components (at the moment: mailer,
calendar, and address book) that should make daily life easier. Because
of the modular design, it is possible to plug new components into
Evolution or embed the existing ones in other applications.

%package python-plugins
License:        LGPLv2.0 ; LGPLv3
Summary:        The Integrated GNOME Mail, Calendar, and Address Book Suite
Group:          Productivity/Networking/Email/Clients
Requires:       evolution = %{version}
Supplements:    packageand(evolution:python)

%description python-plugins
Evolution consists of modular components (at the moment: mailer,
calendar, and address book) that should make daily life easier. Because
of the modular design, it is possible to plug new components into
Evolution or embed the existing ones in other applications.

%lang_package
%prep
%setup -q
translation-update-upstream
%patch0 -p1
%if %USE_EVOLDAP
%patch15 -p1
%endif
%patch19
%patch35
%if %{?suse_version} > 1130
%patch55 -p1
%endif

%build
autoreconf -f -i
%{__sed} -i -e 's/@ENABLE_SK_TRUE@_s/_s/' help/Makefile.in
%{configure} \
    --disable-scrollkeeper \
%if %USE_EVOLDAP
    --with-openldap=%{_libdir}/evoldap \
%else
    --with-openldap=yes \
%endif
    --with-krb5=%{_prefix} \
    --enable-nss=yes \
    --enable-smime=yes \
    --enable-mono=yes \
    --enable-python=yes \
    --with-glade-catalog \
    --disable-static
# Processing the files in help uses _lots_ of memory, so running that part in parallel is bad.
pushd help
%{__make}
popd
%{__make} %{?jobs:-j%jobs}

%install
%{makeinstall}
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
find %{buildroot} -name '*.la' -type f -delete -print
# Office is okay upstream, but we want the menu item to appear in Internet
grep -q "^Categories=.*Office" %{buildroot}%{_datadir}/applications/evolution.desktop
%suse_update_desktop_file -r -G "Mail and Calendar" -N "Evolution" -D "evolution" evolution GNOME GTK Network Email Calendar ContactManagement
%suse_update_desktop_file evolution-alarm-notify
%suse_update_desktop_file evolution-settings
%find_lang evolution-%evolution_base_version %{?no_lang_C}
%find_lang evolution %{?no_lang_C} evolution-%evolution_base_version.lang
%find_gconf_schemas
%{__rm} -r %{buildroot}%{_datadir}/mime-info
%if %USE_EVOLDAP
  %{__mv} %{buildroot}%{_bindir}/evolution %{buildroot}%{_bindir}/evolution.bin
  echo -e "#!/bin/bash\n\nLD_LIBRARY_PATH=%{_libdir}/evoldap/lib exec -a \"%{_bindir}/evolution\" %{_bindir}/evolution.bin \"\$@\"" > %{buildroot}%{_bindir}/evolution
  %{__chmod} +x %{buildroot}%{_bindir}/evolution
%endif
%fdupes %{buildroot}

%clean
%{__rm} -rf %{buildroot}

%pre -f %{name}.schemas_pre

%post
%desktop_database_post
%icon_theme_cache_post

%posttrans -f %{name}.schemas_posttrans

%preun -f %{name}.schemas_preun

%postun
%desktop_database_postun
%icon_theme_cache_postun

%files -f %{name}.schemas_list
%defattr(-,root,root)
%doc AUTHORS COPYING COPYING.LGPL2 COPYING.LGPL3 COPYING-DOCS COPYING.OPENLDAP ChangeLog MAINTAINERS NEWS NEWS-1.0 README
%dir %{_datadir}/gnome/
%dir %{_datadir}/gnome/help/
%dir %{_datadir}/gnome/help/%{name}/
%doc %{_datadir}/gnome/help/%{name}/C/
%dir %{_datadir}/omf/
%dir %{_datadir}/omf/%{name}/
%doc %{_datadir}/omf/%{name}/%{name}-C.omf
%{_bindir}/*
%{_datadir}/applications/*.desktop
%{_datadir}/evolution
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%dir %{_libdir}/evolution
%dir %{_libdir}/evolution/*
%{_libdir}/evolution/*/*.so.*
%dir %{_libdir}/evolution/*/modules/
%{_libdir}/evolution/*/modules/*-module-addressbook.*
%{_libdir}/evolution/*/modules/*-module-calendar.*
%{_libdir}/evolution/*/modules/*-module-composer-autosave.*
%{_libdir}/evolution/*/modules/*-module-mail.*
%{_libdir}/evolution/*/modules/*-module-mailto-handler.*
%{_libdir}/evolution/*/modules/*-module-plugin-lib.*
%{_libdir}/evolution/*/modules/*-module-startup-wizard.*
%{_libdir}/evolution/*/modules/*-module-network-manager.*
%dir %{_libdir}/evolution/*/plugins
%{_libdir}/evolution/*/plugins/*-addressbook-file.*
%{_libdir}/evolution/*/plugins/*-backup-restore.*
%{_libdir}/evolution/*/plugins/*-bogo-junk-plugin.*
%{_libdir}/evolution/*/plugins/*-calendar-file.*
%{_libdir}/evolution/*/plugins/*-calendar-http.*
%{_libdir}/evolution/*/plugins/*-calendar-weather.*
%{_libdir}/evolution/*/plugins/*-compose-send-options.*
%{_libdir}/evolution/*/plugins/*-default-source.*
%{_libdir}/evolution/*/plugins/*-email-custom-header.*
%{_libdir}/evolution/*/plugins/*-evolution-attachment-reminder.*
%{_libdir}/evolution/*/plugins/*-evolution-bbdb.*
%{_libdir}/evolution/*/plugins/*-evolution-caldav.*
%{_libdir}/evolution/*/plugins/*-evolution-google.*
%{_libdir}/evolution/*/plugins/*-evolution-webdav.*
%{_libdir}/evolution/*/plugins/*-gnome-audio-inline.*
%{_libdir}/evolution/*/plugins/*-gnome-dbx-import.*
%{_libdir}/evolution/*/plugins/*-gnome-image-inline.*
%{_libdir}/evolution/*/plugins/*-gnome-vcard-inline.*
%{_libdir}/evolution/*/plugins/*-groupwise-features.*
%{_libdir}/evolution/*/plugins/*-imap-features.*
%{_libdir}/evolution/*/plugins/*-itip-formatter.*
%{_libdir}/evolution/*/plugins/*-mailing-list-actions.*
%{_libdir}/evolution/*/plugins/*-mail-notification.*
%{_libdir}/evolution/*/plugins/*-mail-to-task.*
%{_libdir}/evolution/*/plugins/*-mark-all-read.*
%{_libdir}/evolution/*/plugins/*-plugin-manager.*
%{_libdir}/evolution/*/plugins/*-prefer-plain.*
%{_libdir}/evolution/*/plugins/*-pst-import.*
%{_libdir}/evolution/*/plugins/*-publish-calendar.*
%{_libdir}/evolution/*/plugins/*-sa-junk-plugin.*
%{_libdir}/evolution/*/plugins/*-save-calendar.*
%{_libdir}/evolution/*/plugins/*-subject-thread.*
%{_libdir}/evolution/*/plugins/*-templates.*
%dir %{_libexecdir}/evolution
%dir %{_libexecdir}/evolution/*
%{_libexecdir}/evolution/*/csv2vcard
%{_libexecdir}/evolution/*/evolution-*
%{_libexecdir}/evolution/*/killev
%{_sysconfdir}/xdg/autostart/evolution-alarm-notify.desktop

%files lang -f evolution-%evolution_base_version.lang

%files -n glade3-catalog-evolution
%defattr(-,root,root)
%{_libdir}/glade3/modules/libgladeevolution.so
%{_datadir}/glade3/catalogs/evolution.xml

%files devel
%defattr(-,root,root)
%{_includedir}/*
%{_libdir}/evolution/%{evolution_base_version}/*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/gtk-doc/html/eshell

%files mono-plugins
%defattr(-,root,root)
%{_libdir}/evolution/*/modules/*-module-plugin-mono.*
# Dice support is disabled
#%{_libdir}/evolution/*/plugins/*-sharepoint-*
#%{_libdir}/evolution/*/plugins/*.dll

%files python-plugins
%defattr(-,root,root)
%{_libdir}/evolution/*/modules/*-module-plugin-python.*

%changelog