libqxmpp/libqxmpp.spec

120 lines
3.6 KiB
RPMSpec
Raw Normal View History

#
# spec file for package libqxmpp
#
# Copyright (c) 2019 SUSE LLC.
#
# 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 https://bugs.opensuse.org/
#
Accepting request 791849 from home:vinzv:branches:network - Update to 1.2.1. Changes since 1.1.0: * QXmppRegistrationManager: Fix failed and succeeded signals are both emitted on success * QXmppMessageReceiptManager: Fix receipts are sent on error messages * QXmppVCardManager: Fix clientVCardReceived() not emitted when IQ is from the bare JID of the user * QXmppRosterManager: Fix 'ask' attribute is included when renaming item * QXmppRosterIq: Add missing implementation of the copy constructor * Implement XEP-0077: In-band registration: * Add registration manager with full unit tests * Add `registered` and `remove` to the IQ * Implement XEP-0231: Bits of Binary * Add `QXmppClient::indexOfExtension<T>()` * Add QXmppStartTlsPacket to replace fixed XML data * Move TLS code to private QXmppTlsManager * Add private QXmppInternalClientExtensions to access private part of the client * Add utility methods to QXmppRegisterIq to create common requests * QXmppMucManager: Make it possible to handle stanzas not handled by the manager * Only send Client State Indication (CSI) states when connected * Fix no documentation is generated for QXmppStanza::Error and QXmppStreamFeatures * Fix some doxygen warnings and undocumented Q_PROPERTYs * Replace deprecated Q_FOREACH * Replace deprecated Q_ENUMS with Q_ENUM * Replace deprecated signal/slots syntax * Switch to Ubuntu Bionic for Travis-CI builds * Use QSharedDataPointers for QXmppRegisterIq, QXmppPubSubIq, QXmppDiscoveryIq, QXmppMam{Query,Result}Iq, QXmppStreamFeatures * Refactor QXmppPubSubIq and add missing tests * Refactor QXmppPresence and add missing tests * Replace manual xmlns writing by writeDefaultNamespace() * Use QT_VERSION_CHECK to generate QXMPP_VERSION * Add clang-format file - Fixed shlib-policy-name-error libqxmpp2 (sover bump up to 3). OBS-URL: https://build.opensuse.org/request/show/791849 OBS-URL: https://build.opensuse.org/package/show/network/libqxmpp?expand=0&rev=25
2020-04-07 08:12:45 +02:00
%define sover 3
Name: libqxmpp
Accepting request 791849 from home:vinzv:branches:network - Update to 1.2.1. Changes since 1.1.0: * QXmppRegistrationManager: Fix failed and succeeded signals are both emitted on success * QXmppMessageReceiptManager: Fix receipts are sent on error messages * QXmppVCardManager: Fix clientVCardReceived() not emitted when IQ is from the bare JID of the user * QXmppRosterManager: Fix 'ask' attribute is included when renaming item * QXmppRosterIq: Add missing implementation of the copy constructor * Implement XEP-0077: In-band registration: * Add registration manager with full unit tests * Add `registered` and `remove` to the IQ * Implement XEP-0231: Bits of Binary * Add `QXmppClient::indexOfExtension<T>()` * Add QXmppStartTlsPacket to replace fixed XML data * Move TLS code to private QXmppTlsManager * Add private QXmppInternalClientExtensions to access private part of the client * Add utility methods to QXmppRegisterIq to create common requests * QXmppMucManager: Make it possible to handle stanzas not handled by the manager * Only send Client State Indication (CSI) states when connected * Fix no documentation is generated for QXmppStanza::Error and QXmppStreamFeatures * Fix some doxygen warnings and undocumented Q_PROPERTYs * Replace deprecated Q_FOREACH * Replace deprecated Q_ENUMS with Q_ENUM * Replace deprecated signal/slots syntax * Switch to Ubuntu Bionic for Travis-CI builds * Use QSharedDataPointers for QXmppRegisterIq, QXmppPubSubIq, QXmppDiscoveryIq, QXmppMam{Query,Result}Iq, QXmppStreamFeatures * Refactor QXmppPubSubIq and add missing tests * Refactor QXmppPresence and add missing tests * Replace manual xmlns writing by writeDefaultNamespace() * Use QT_VERSION_CHECK to generate QXMPP_VERSION * Add clang-format file - Fixed shlib-policy-name-error libqxmpp2 (sover bump up to 3). OBS-URL: https://build.opensuse.org/request/show/791849 OBS-URL: https://build.opensuse.org/package/show/network/libqxmpp?expand=0&rev=25
2020-04-07 08:12:45 +02:00
Version: 1.2.1
Release: 0
Summary: Qt XMPP Library
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://github.com/qxmpp-project/qxmpp/
Source0: https://github.com/qxmpp-project/qxmpp/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: baselibs.conf
BuildRequires: cmake >= 3.3
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: cmake(Qt5Core)
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Network)
BuildRequires: cmake(Qt5Test)
BuildRequires: cmake(Qt5Xml)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(theora)
BuildRequires: pkgconfig(vpx)
%description
QXmpp is a cross-platform C++ XMPP client library based on Qt and C++.
%package -n %{name}%{sover}
Summary: Qt XMPP Library
Group: System/Libraries
Provides: libqxmpp-qt5-0 = %{version}
Obsoletes: libqxmpp-qt5-0 < %{version}
%description -n %{name}%{sover}
QXmpp is a cross-platform C++ XMPP client library based on Qt and C++.
%package -n %{name}-devel
Summary: Qxmpp Development Files
Group: Development/Libraries/C and C++
Requires: %{name}%{sover} = %{version}
Provides: libqxmpp-qt5-devel = %{version}
Obsoletes: libqxmpp-qt5-devel < %{version}
%description -n %{name}-devel
Development package for qxmpp.
%package doc
Summary: Qxmpp library documentation
Group: Documentation/HTML
BuildArch: noarch
%description doc
This packages provides documentation of Qxmpp library API.
%prep
%setup -q -n qxmpp-%{version}
# Disable tests needing a network connection
sed -i 's,add_simple_test(qxmppserver),#add_simple_test(qxmppserver),' tests/CMakeLists.txt
sed -i 's,add_simple_test(qxmppcallmanager),#add_simple_test(qxmppcallmanager),' tests/CMakeLists.txt
sed -i 's,add_simple_test(qxmppiceconnection),#add_simple_test(qxmppiceconnection),' tests/CMakeLists.txt
sed -i 's,add_subdirectory(qxmpptransfermanager),#add_subdirectory(qxmpptransfermanager),' tests/CMakeLists.txt
sed -i 's,add_subdirectory(qxmppuploadrequestmanager),#add_subdirectory(qxmppuploadrequestmanager),' tests/CMakeLists.txt
%build
%cmake \
-DWITH_SPEEX=ON \
-DWITH_OPUS=ON \
-DWITH_THEORA=ON \
-DWITH_VPX=ON \
-DBUILD_DOCUMENTATION=ON \
-DBUILD_EXAMPLES=ON \
-DBUILD_TESTS=ON
%cmake_build
%install
%cmake_install
%fdupes %{buildroot}%{_datadir}/doc/qxmpp/
%check
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
%ctest
%post -n %{name}%{sover} -p /sbin/ldconfig
%postun -n %{name}%{sover} -p /sbin/ldconfig
%files -n %{name}%{sover}
%license LICENSE.LGPL
%doc AUTHORS CHANGELOG.md README.md
%{_libdir}/%{name}.so.*
%files -n %{name}-devel
%{_includedir}/qxmpp/
%{_libdir}/%{name}.so
%{_libdir}/cmake/qxmpp/
%{_libdir}/pkgconfig/qxmpp.pc
%files doc
%{_datadir}/doc/qxmpp/
%changelog