File akonadi-server.spec of Package akonadi-server

#
# spec file for package akonadi-server
#
# Copyright (c) 2017 SUSE LINUX 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/
#


%bcond_without lang

%define rname   akonadi
Name:           akonadi-server
Version:        17.04.2
Release:        0
%define kf5_version 5.26.0
# Latest stable Applications (e.g. 16.08 in KA, but 16.11.80 in KUA)
%{!?_kapp_version: %global _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')}
Summary:        PIM Storage Service
License:        LGPL-2.1+
Group:          System/GUI/KDE
Url:            http://akonadi-project.org
Source:         %{rname}-%{version}.tar.xz
Source99:       akonadi-server-rpmlintrc
# PATCH-FIX-UPSTREAM
Patch0:         pass-source-collection-to-move-mails.diff
%if 0%{?suse_version} > 1325
BuildRequires:  libboost_headers-devel
%else
BuildRequires:  boost-devel
%endif
BuildRequires:  cmake >= 2.8.12
BuildRequires:  extra-cmake-modules >= %{kf5_version}
BuildRequires:  kf5-filesystem
BuildRequires:  libQt5Sql-private-headers-devel
BuildRequires:  libxml2
BuildRequires:  libxslt
BuildRequires:  libxslt-devel
BuildRequires:  libxslt-tools
BuildRequires:  mariadb
BuildRequires:  postgresql-devel
BuildRequires:  shared-mime-info
BuildRequires:  sqlite3-devel
BuildRequires:  cmake(KF5Completion)
BuildRequires:  cmake(KF5Config)
BuildRequires:  cmake(KF5Crash)
BuildRequires:  cmake(KF5DBusAddons)
BuildRequires:  cmake(KF5DesignerPlugin)
BuildRequires:  cmake(KF5GuiAddons)
BuildRequires:  cmake(KF5I18n)
BuildRequires:  cmake(KF5IconThemes)
BuildRequires:  cmake(KF5ItemModels)
BuildRequires:  cmake(KF5ItemViews)
BuildRequires:  cmake(KF5KIO)
BuildRequires:  cmake(KF5WindowSystem)
BuildRequires:  cmake(Qt5Designer)
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5DBus)
BuildRequires:  pkgconfig(Qt5Gui)
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  pkgconfig(Qt5Sql)
BuildRequires:  pkgconfig(Qt5Test)
BuildRequires:  pkgconfig(Qt5Widgets)
BuildRequires:  pkgconfig(Qt5Xml)
Requires:       libqt5-sql-mysql
Requires:       mysql
Requires(post): shared-mime-info
Requires(postun): shared-mime-info
Suggests:       mariadb
Obsoletes:      akonadi5 < %{version}
Provides:       akonadi5 = %{version}
# Needed for users of unstable repositories
Obsoletes:      akonadi < %{version}
Recommends:     %{name}-lang
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Obsoletes:      akonadi-runtime < %{version}

%description
This package contains the data files of Akonadi, the KDE PIM storage
service.

%package -n libKF5AkonadiCore5
Summary:        Core Akonadi Server library
Group:          System/Libraries
Recommends:     %{name}

%description -n libKF5AkonadiCore5
This package includes the core Akonadi library, the KDE PIM storage service.

%package -n libKF5AkonadiAgentBase5
Summary:        Akonadi Agent base library
Group:          System/Libraries
Recommends:     %{name}

%description -n libKF5AkonadiAgentBase5
This package includes the agent library for Akonadi, the KDE PIM storage service.

%package -n libKF5AkonadiWidgets5
Summary:        Akonadi Agent base library
Group:          System/Libraries
Recommends:     %{name}

%description -n libKF5AkonadiWidgets5
This package provides the basic GUI widgets for Akonadi, the KDE PIM storage service.

%package -n libKF5AkonadiPrivate5
Summary:        Akonadi Private Server library
Group:          System/Libraries
Recommends:     %{name}

%description -n libKF5AkonadiPrivate5
This package includes the Private Akonadi library for Akonadi, the KDE PIM storage service.

%package -n libKF5AkonadiXml5
Summary:        Akonadi Xml library
Group:          System/Libraries
Recommends:     %{name}

%description -n libKF5AkonadiXml5
This package includes the Akonadi Xml library for Akonadi, the KDE PIM storage service.

%package sqlite
Summary:        akonadi server's SQlite plugin
Group:          System/GUI/KDE
Requires:       %{name} = %{version}
Supplements:    packageand(%{name}:sqlite3)

%description sqlite
Akonadi server's SQlite plugin.

%package devel
Summary:        Akonadi Framework: Build Environment
Group:          Development/Libraries/X11
Requires:       %{name} = %{version}
%if 0%{?suse_version} > 1325
Requires:       libboost_headers-devel
%else
Requires:       boost-devel
%endif
Requires:       kcompletion-devel
Requires:       kdelibs4support-devel
Requires:       kitemmodels-devel
Requires:       kjobwidgets-devel
Requires:       kservice-devel
Requires:       kxmlgui-devel
Requires:       libKF5AkonadiAgentBase5 = %{version}
Requires:       libKF5AkonadiCore5 = %{version}
Requires:       libKF5AkonadiWidgets5 = %{version}
Requires:       solid-devel
Requires:       pkgconfig(Qt5Network)
Conflicts:      libakonadiprotocolinternals-devel
Obsoletes:      akonadi-devel < %{version}
Obsoletes:      libKF5AkonadiPrivate-devel < %{version}
Provides:       libKF5AkonadiPrivate-devel = %{version}

%description devel
This package contains development files of Akonadi, the KDE PIM storage
service.

%if %{with lang}
%lang_package
%endif

%prep
%setup -q -n %{rname}-%{version}
%patch0 -p1

%build
  %cmake_kf5 -d build -- -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE -DQT_PLUGINS_DIR=%{_kf5_plugindir}
  %make_jobs

%install
  %kf5_makeinstall -C build
  %if %{with lang}
    %find_lang %{name} --with-man --all-name
  %endif

%post
/sbin/ldconfig
%mime_database_post

%postun
/sbin/ldconfig
%mime_database_postun

%post -n libKF5AkonadiWidgets5 -p /sbin/ldconfig
%postun -n libKF5AkonadiWidgets5 -p /sbin/ldconfig
%post -n libKF5AkonadiCore5 -p /sbin/ldconfig
%postun -n libKF5AkonadiCore5 -p /sbin/ldconfig
%post -n libKF5AkonadiAgentBase5 -p /sbin/ldconfig
%postun -n libKF5AkonadiAgentBase5 -p /sbin/ldconfig
%post -n libKF5AkonadiPrivate5 -p /sbin/ldconfig
%postun -n libKF5AkonadiPrivate5 -p /sbin/ldconfig
%post -n libKF5AkonadiXml5 -p /sbin/ldconfig
%postun -n libKF5AkonadiXml5 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%{_kf5_bindir}/asapcat
%{_kf5_bindir}/akonadi_*
%{_kf5_bindir}/akonadictl
%{_kf5_bindir}/akonadiselftest
%{_kf5_bindir}/akonadiserver
%{_kf5_bindir}/akonaditest
%dir %{_kf5_sysconfdir}/xdg/akonadi
%{_kf5_sysconfdir}/xdg/akonadi.*categories
%config %{_kf5_sysconfdir}/xdg/akonadi/mysql-global.conf
%config %{_kf5_sysconfdir}/xdg/akonadi/mysql-global-mobile.conf
%{_kf5_sharedir}/dbus-1/services/org.freedesktop.Akonadi.Control.service
%{_kf5_sharedir}/mime/packages/akonadi-mime.xml
%{_kf5_plugindir}/sqldrivers/libqsqlite3.so
%{_datadir}/kf5/akonadi/
%dir %{_kf5_configkcfgdir}
%{_kf5_configkcfgdir}/resourcebase.kcfg
%{_kf5_plugindir}/designer/
%{_kf5_plugindir}/akonadi/
%{_datadir}/akonadi/
%{_datadir}/kf5/akonadi_knut_resource/
%exclude %{_kf5_plugindir}/sqldrivers/

%files -n libKF5AkonadiAgentBase5
%defattr(-,root,root)
%{_libdir}/libKF5AkonadiAgentBase.so.*

%files -n libKF5AkonadiCore5
%defattr(-,root,root)
%{_libdir}/libKF5AkonadiCore.so.*

%files -n libKF5AkonadiWidgets5
%defattr(-,root,root)
%{_libdir}/libKF5AkonadiWidgets.so.*

%files -n libKF5AkonadiPrivate5
%defattr(-,root,root)
%{_libdir}/libKF5AkonadiPrivate.so.*

%files -n libKF5AkonadiXml5
%defattr(-,root,root)
%{_libdir}/libKF5AkonadiXml.so.*

%files sqlite
%defattr(-,root,root)
%{_kf5_plugindir}/sqldrivers/

%files devel
%defattr(-,root,root)
%{_kf5_bindir}/akonadi2xml
%{_kf5_includedir}/akonadi/
%{_kf5_includedir}/AkonadiCore/
%{_kf5_includedir}/AkonadiAgentBase/
%{_kf5_includedir}/AkonadiWidgets/
%{_kf5_includedir}/AkonadiXml/
%dir %{_kf5_libdir}/cmake
%{_kf5_libdir}/cmake/KF5Akonadi
%{_kf5_includedir}/akonadi_version.h
%{_kf5_sharedir}/dbus-1/interfaces/org.freedesktop.Akonadi.*.xml
%{_libdir}/libKF5AkonadiPrivate.so
%{_libdir}/libKF5AkonadiCore.so
%{_libdir}/qt5/mkspecs/modules/qt_AkonadiCore.pri
%{_libdir}/libKF5AkonadiAgentBase.so
%{_libdir}/qt5/mkspecs/modules/qt_AkonadiAgentBase.pri
%{_libdir}/libKF5AkonadiWidgets.so
%{_libdir}/qt5/mkspecs/modules/qt_AkonadiWidgets.pri
%{_libdir}/libKF5AkonadiXml.so
%{_libdir}/qt5/mkspecs/modules/qt_AkonadiXml.pri

%if %{with lang}
%files lang -f %{name}.lang
%doc COPYING*
%endif

%changelog
openSUSE Build Service is sponsored by