libqxmpp/libqxmpp.spec

123 lines
3.7 KiB
RPMSpec
Raw Normal View History

#
# spec file for package libqxmpp
#
Accepting request 830069 from home:dirkmueller:branches:network - update to 1.3.1: * The most important change of this release is the fix of CVE-2017-5603. QXmpp is not vulnerable to roster push attacks (CVE-2016-9928). - QXmppRosterIq: Set subscriptionType to NotSet correctly (#293, @melvo) - Fix `QXMPP_EXPORT` define when linking statically (#299, @leobasilio) - QXmppMessageReceiptManager: Ignore all error messages (#300, @lnjX) - QXmppCarbonManager: Fix CVE-2017-5603 (missing sender check) (#304, @lnjX) QXmpp complys with the XMPP Compliance Suites 2020 (XEP-0423) for client development in the Core, IM and Advanced Mobile suites now. For this prupose it has been updated to RFC6120 and RFC6121. ABI compatibility was kept with this release (apart from classes marked as 'NOT FINALIZED'). - Port QXmppCallManager to GStreamer (#207, @olesalscheider) - Add XEP-0245: The /me Command (#276, @lnjX) - Add XEP-0357: Push Notifications: Enable/disable IQ (#271, @jbbgameich, @zatroxde) - Add XEP-0359: Unique and Stable Stanza IDs (#256, @lnjX) - Add XEP-0428: Fallback Indication (#253, @lnjX) - Update from RFC3920 to RFC6120: * Deprecate PaymentRequired stanza error condition as it was not adopted in RFC6120 (#277, @lnjX) * Add PolicyViolation stanza error condition added in RFC6120 (#279, @lnjX) * Add redirection URI from RFC6120 for Gone and Redirect conditions (#280, @lnjX) * Add 'by' attribute to QXmppStanza::Error from RFC6120 (#283, @lnjX) - Update from RFC3921 to RFC6121: * Add pre-approved presence subscriptions (#285, @lnjX): - Add 'approved' attribute to QXmppRosterIq - Add stream feature for pre-approved presence subscriptions * Add stream feature for roster versioning (#286, @lnjX) - Use QUuid by default to generate unique stanza IDs (#255, @lnjX) OBS-URL: https://build.opensuse.org/request/show/830069 OBS-URL: https://build.opensuse.org/package/show/network/libqxmpp?expand=0&rev=28
2020-09-01 09:49:56 +02:00
# Copyright (c) 2020 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 830069 from home:dirkmueller:branches:network - update to 1.3.1: * The most important change of this release is the fix of CVE-2017-5603. QXmpp is not vulnerable to roster push attacks (CVE-2016-9928). - QXmppRosterIq: Set subscriptionType to NotSet correctly (#293, @melvo) - Fix `QXMPP_EXPORT` define when linking statically (#299, @leobasilio) - QXmppMessageReceiptManager: Ignore all error messages (#300, @lnjX) - QXmppCarbonManager: Fix CVE-2017-5603 (missing sender check) (#304, @lnjX) QXmpp complys with the XMPP Compliance Suites 2020 (XEP-0423) for client development in the Core, IM and Advanced Mobile suites now. For this prupose it has been updated to RFC6120 and RFC6121. ABI compatibility was kept with this release (apart from classes marked as 'NOT FINALIZED'). - Port QXmppCallManager to GStreamer (#207, @olesalscheider) - Add XEP-0245: The /me Command (#276, @lnjX) - Add XEP-0357: Push Notifications: Enable/disable IQ (#271, @jbbgameich, @zatroxde) - Add XEP-0359: Unique and Stable Stanza IDs (#256, @lnjX) - Add XEP-0428: Fallback Indication (#253, @lnjX) - Update from RFC3920 to RFC6120: * Deprecate PaymentRequired stanza error condition as it was not adopted in RFC6120 (#277, @lnjX) * Add PolicyViolation stanza error condition added in RFC6120 (#279, @lnjX) * Add redirection URI from RFC6120 for Gone and Redirect conditions (#280, @lnjX) * Add 'by' attribute to QXmppStanza::Error from RFC6120 (#283, @lnjX) - Update from RFC3921 to RFC6121: * Add pre-approved presence subscriptions (#285, @lnjX): - Add 'approved' attribute to QXmppRosterIq - Add stream feature for pre-approved presence subscriptions * Add stream feature for roster versioning (#286, @lnjX) - Use QUuid by default to generate unique stanza IDs (#255, @lnjX) OBS-URL: https://build.opensuse.org/request/show/830069 OBS-URL: https://build.opensuse.org/package/show/network/libqxmpp?expand=0&rev=28
2020-09-01 09:49:56 +02:00
Version: 1.3.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) >= 5.7.0
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Network)
BuildRequires: cmake(Qt5Test)
BuildRequires: cmake(Qt5Xml)
BuildRequires: pkgconfig(gstreamer-1.0)
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}
Requires: pkgconfig(gstreamer-1.0)
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 \
-DWITH_GSTREAMER=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