File signon.spec of Package signon

#
# spec file for package signon
#
# Copyright (c) 2015 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/
#


%define _soname 1

Name:           signon
Version:        8.57
Release:        0
Summary:        Single Sign On Framework
License:        LGPL-2.0
Group:          System/Libraries
Url:            https://code.google.com/p/accounts-sso/
Source:         signon-%{version}.tar.bz2
Patch0:         0001_Multilib.patch
# PATCH-FIX-OPENSUSE Fixes an incomplete type compilation error
Patch1:         fix-incomplete-type.patch
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  graphviz
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(Qt5Core)
BuildRequires:  pkgconfig(Qt5DBus)
BuildRequires:  pkgconfig(Qt5Gui)
BuildRequires:  pkgconfig(Qt5Network)
BuildRequires:  pkgconfig(Qt5Sql)
BuildRequires:  pkgconfig(Qt5Test)
BuildRequires:  pkgconfig(Qt5Xml)
BuildRequires:  pkgconfig(libproxy-1.0)
BuildRequires:  pkgconfig(libssl)

%description
(no files installed)

%package -n libsignon-qt5-%{_soname}
Summary:        Single Sign On Framework for Qt
Group:          System/Libraries

%description -n libsignon-qt5-%{_soname}
Framework that provides credential storage and authentication service.

%package -n libsignon-qt5-devel
Summary:        Development files for libsignon-qt%{_soname}
Group:          Development/Libraries/C and C++

Requires:       libsignon-qt5-%{_soname} = %{version}
Requires:       pkgconfig(Qt5Core)

%description -n libsignon-qt5-devel
This package contains the development files for the signon-qt library.

%package -n libsignon-qt5-docs
Summary:        Documentation for libsignon-qt%{_soname}
Group:          Documentation/HTML

BuildArch:      noarch

%description -n libsignon-qt5-docs
This package contains the documentation for the signon-qt library.

%package -n signond
Summary:        Single Sign On Framework
Group:          System/Libraries

%description -n signond
Framework that provides credential storage and authentication service.

%package -n signond-libs
Summary:        Single Sign On Framework
Group:          System/Libraries

%description -n signond-libs
Framework that provides credential storage and authentication service.

%package -n signond-libs-devel
Summary:        Development files for signond-libs
Group:          Development/Libraries/C and C++

Requires:       signond = %{version}
Requires:       signond-libs = %{version}
Requires:       pkgconfig(Qt5Core)

%description -n signond-libs-devel
This package contains the development files for signond-libs.

%package -n signond-docs
Summary:        Single Sign On Framework - Documentation
Group:          Documentation/HTML

BuildArch:      noarch

%description -n signond-docs
This package contains the documentation for signond.

%package -n signon-plugins
Summary:        Plugins for the Single Sign On Framework
Group:          System/Libraries

Requires:       signond = %{version}

%description -n signon-plugins
This package contains the following plugins for the Single Sign On Framework:
- Password plugin
- Test plugin

%package -n signon-plugins-devel
Summary:        Development files for the Single Sign On Framework's plugins
Group:          Development/Libraries/C and C++

Requires:       libsignon-qt5-devel = %{version}
Requires:       signon-plugins = %{version}

%description -n signon-plugins-devel
This package contains the development files necessary for creating plugins for
the Single Sign On Framework.

%package -n signon-plugins-docs
Summary:        Documentation for the Single Sign On Framework's plugins
Group:          Documentation/HTML

BuildArch:      noarch

%description -n signon-plugins-docs
This package contains the documentation for the Single Sign On Framework's
plugins.

%prep
%setup -q

# Use correct libdir
%patch0 -p1 -b .multilib
%patch1 -p1
sed -i 's|@LIB@|%{_lib}|g' \
  lib/plugins/signon-plugins.pc.in \
  lib/plugins/signon-plugins-common/signon-plugins-common.pc.in \
  src/signond/signondaemon.h \
  src/remotepluginprocess/remotepluginprocess.h \
  src/plugins/example/exampleplugin.pro

# Fix documentation directory
sed -i -e '/^documentation.path/ s|share/doc|share/doc/packages|g' \
  doc/doc.pri \
  lib/plugins/doc/doc.pri \
  lib/SignOn/doc/doc.pri

sed -i -e '/^example.path/ s|share/doc|share/doc/packages|g' \
  src/plugins/example/example.pro

sed -i 's|qdbusxml2cpp|qdbusxml2cpp-qt5|g' \
  src/signond/signond.pro

%build
qmake-qt5 \
  PREFIX=%{_prefix} \
  LIBDIR=%{_libdir} \
  QMAKE_CXXFLAGS="%{optflags}"

#make %{?_smp_mflags}
make

%install
make install INSTALL_ROOT=%{buildroot}

# Remove tests
find %{buildroot} -type f -name '*tests*' -delete

%fdupes -s %{buildroot}

%post -n libsignon-qt5-%{_soname} -p /sbin/ldconfig

%postun -n libsignon-qt5-%{_soname} -p /sbin/ldconfig

%post -n signond-libs -p /sbin/ldconfig

%postun -n signond-libs -p /sbin/ldconfig

%files -n libsignon-qt5-%{_soname}
%defattr(-,root,root)
%{_libdir}/libsignon-qt5.so.*

%files -n libsignon-qt5-devel
%defattr(-,root,root)
%dir %{_includedir}/signon-qt5/
%dir %{_includedir}/signon-qt5/SignOn/
%{_includedir}/signon-qt5/SignOn/*
%{_libdir}/libsignon-qt5.so
%{_libdir}/libsignon-qt5.a
%{_libdir}/pkgconfig/libsignon-qt5.pc
%{_libdir}/cmake/SignOnQt5/

%files -n libsignon-qt5-docs
%defattr(-,root,root)
%doc %{_docdir}/libsignon-qt/

%files -n signond
%defattr(-,root,root)
%doc COPYING
%{_bindir}/signond
%{_bindir}/signonpluginprocess
%config(noreplace) %{_sysconfdir}/signond.conf
%{_datadir}/dbus-1/services/com.google.code.AccountsSSO.SingleSignOn.service
%{_datadir}/dbus-1/services/com.nokia.SingleSignOn.Backup.service

%files -n signond-libs
%defattr(-,root,root)
%{_libdir}/libsignon-extension.so.*
%{_libdir}/libsignon-plugins-common.so.*

%files -n signond-libs-devel
%defattr(-,root,root)
%dir %{_includedir}/signond/
%{_includedir}/signond/*.h
%dir %{_includedir}/signon-extension/
%dir %{_includedir}/signon-extension/SignOn/
%{_includedir}/signon-extension/SignOn/*
%{_libdir}/libsignon-extension.so
%{_libdir}/libsignon-plugins-common.so
%{_libdir}/pkgconfig/signond.pc
%{_libdir}/pkgconfig/SignOnExtension.pc
%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.SingleSignOn.AuthService.xml
%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.SingleSignOn.AuthSession.xml
%{_datadir}/dbus-1/interfaces/com.google.code.AccountsSSO.SingleSignOn.Identity.xml

%files -n signond-docs
%defattr(-,root,root)
%doc %{_docdir}/signon/

%files -n signon-plugins
%defattr(-,root,root)
%{_libdir}/libsignon-plugins.so.*
%dir %{_libdir}/signon/
%{_libdir}/signon/libexampleplugin.so
%{_libdir}/signon/libpasswordplugin.so
%{_libdir}/signon/libssotest2plugin.so
%{_libdir}/signon/libssotestplugin.so

%files -n signon-plugins-devel
%defattr(-,root,root)
%doc %{_docdir}/signon-plugins-dev/
%dir %{_includedir}/signon-plugins/
%dir %{_includedir}/signon-plugins/SignOn/
%{_includedir}/signon-plugins/SignOn/*.h
%{_includedir}/signon-plugins/*
%{_libdir}/libsignon-plugins.so
%{_libdir}/pkgconfig/signon-plugins-common.pc
%{_libdir}/pkgconfig/signon-plugins.pc
#%{_datadir}/qt4/mkspecs/features/signon-plugins-common.prf
#%{_datadir}/qt4/mkspecs/features/signon-plugins.prf

%files -n signon-plugins-docs
%defattr(-,root,root)
%doc %{_docdir}/signon-plugins/

%changelog
openSUSE Build Service is sponsored by