Accepting request 1104921 from network:messaging:matrix

OBS-URL: https://build.opensuse.org/request/show/1104921
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libQuotient?expand=0&rev=12
This commit is contained in:
Ana Guerrero 2023-08-21 09:45:40 +00:00 committed by Git OBS Bridge
commit 29428dd59a
5 changed files with 187 additions and 33 deletions

4
_multibuild Normal file
View File

@ -0,0 +1,4 @@
<multibuild>
<flavor>qt6</flavor>
</multibuild>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12b15d1296e630477d5e8f4d32c821dc724b3c5b99d15d383417ba7d88f03c46
size 562144

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d1ab944a4b42f68d2d2ebfb2782a3e92eac2b7e056c7f72af2ba3b3ddf2fd735
size 730335

View File

@ -1,3 +1,74 @@
-------------------------------------------------------------------
Sat Aug 19 21:37:21 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Update to 0.8.1.1
* Got rid of deprecated RoomPinnedEvent name
(gh#quotient-im/libQuotient#680)
* Fixed session verification (gh#quotient-im/libQuotient#682)
* Constified Room::userIdsAtEvent()
(gh#quotient-im/libQuotient#686)
* Enhanced logging around key verification
(gh#quotient-im/libQuotient#690)
* Made it possible to use the key backup client-server API
in the backend (gh#quotient-im/libQuotient#693)
* Constrained the e-mail logic in linkifyUrl() so that it
doesn't trigger in the middle of another URL
(gh#quotient-im/libQuotient#698)
-------------------------------------------------------------------
Wed Aug 9 17:21:54 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Update to 0.8.0. Check
https://github.com/quotient-im/libQuotient/releases for older
changes list.
* Fixed AccountRegistry::invokeLogin() to still add Connection
objects after successfully connecting them to the homeserver
(gh#quotient-im/libQuotient#675)
* pinned events actually follow the specification (and
therefore, interoperable) (gh#quotient-im/libQuotient#677)
- Add a Qt6 flavor. Needed by the KDE CI
- Enable E2EE by default. This will be required by neochat soon.
-------------------------------------------------------------------
Wed Dec 21 04:58:08 UTC 2022 - Dead Mozay <dead_mozay@opensuse.org>
- Update to version 0.7.0:
* E2EE is the biggest part of this release,
+ The following parts of E2EE are known to work:
- foundations additional contributions and refactoring.
- Olm/Megolm signalling with our parties/devices.
- managing device and one-time keys.
- sending and receiving (monstrous new encrypted messages.
- encrypting/decrypting attachment.
- retrieval and decryption of historical messages keys
for which are already in the database.
- device verification.
+ What is not there yet:
- historical Megolm sessions are not requested from other
devices/parties, so you will see quite a few undecryptable
messages in rooms with past communication - this might be
fixed (if possible without breaking the API) in further
0.7.x releases.
- secure server-side storage (SSSS) is not supported at
all for now, and will likely require API breakage so
will come in 0.8.
- soft logout is not supported; this is also a subject of 0.8.
+ Because there's no soft logout the database for a given account
is completely reset upon a successful login attempt. This may
come as a very unpleasant surprise if you don't keep your
login session between client restarts; but this is a necessary
trade-off for the current feature set (see #546 for the
discussion). Together with the rest of the above not-there-yet
list, this means that you MUST NOT use E2EE with
libQuotient-backed clients as your only device(s) on
the account - there's quite a risk of losing encrypted
conversations if anything happens to the database libQuotient
keeps key material in, or if you lose your session and have
to log in again. Did I mention the whole E2EE functionality
is still in beta? Client authors are strongly recommended
to show big scary warnings against E2EE for now.
* Read markers -> read receipts + fully read markers.
-------------------------------------------------------------------
Thu Oct 7 08:37:12 UTC 2021 - Dead Mozay <dead_mozay@opensuse.org>

View File

@ -16,54 +16,121 @@
#
%define soversion 0_6
%define sonum 0.6
%bcond_with e2ee
Name: libQuotient
Version: 0.6.11
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "qt6"
%define qt6 1
%define pkg_suffix -qt6
%define lib_suffix Qt6
%endif
%define soversion 0_8
%define sonum 0.8
%define rname libQuotient
%bcond_without e2ee
Name: libQuotient%{?pkg_suffix}
Version: 0.8.1.1
Release: 0
Summary: Library for Qt Matrix Clients
License: LGPL-2.1-only
Group: Development/Libraries/C and C++
URL: https://github.com/quotient-im/libQuotient
Source0: https://github.com/quotient-im/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
Source0: https://github.com/quotient-im/%{rname}/archive/%{version}/%{rname}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: gcc-c++
# c++-20 required
%if 0%{?suse_version} < 1550
BuildRequires: gcc12-c++
BuildRequires: gcc12-PIE
%endif
BuildRequires: pkgconfig
BuildRequires: pkgconfig(Qt5Core) >= 5.9
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(Qt5Network)
%if 0%{?qt6}
BuildRequires: cmake(Qt6Concurrent)
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Gui)
BuildRequires: cmake(Qt6Keychain)
BuildRequires: cmake(Qt6Network)
BuildRequires: cmake(Qt6Test)
%else
BuildRequires: cmake(Qt5Concurrent)
BuildRequires: cmake(Qt5Core) >= 5.5
BuildRequires: cmake(Qt5Gui)
BuildRequires: cmake(Qt5Keychain)
BuildRequires: cmake(Qt5Multimedia)
BuildRequires: cmake(Qt5Network)
BuildRequires: cmake(Qt5Test)
%endif
%if %{with e2ee}
BuildRequires: cmake(Olm)
BuildRequires: cmake(Olm) >= 3.2.5
BuildRequires: pkgconfig(openssl)
%if 0%{?qt6}
BuildRequires: cmake(Qt6Sql)
Requires: qt6-sql-sqlite
%else
BuildRequires: cmake(Qt5Sql)
Requires: libQt5Sql5-sqlite
%endif
%endif
%description
Library for Qt-based Matrix chat clients. It is required by
Quaternion.
%package -n %{name}%{soversion}
%package -n libQuotient%{?qt6:%{lib_suffix}-}%{soversion}
Summary: Library for Qt Matrix Clients
Group: System/Libraries
%description -n %{name}%{soversion}
%description -n libQuotient%{?qt6:%{lib_suffix}-}%{soversion}
Library for Qt-based Matrix chat clients. It is required by
Quaternion.
%package devel
Summary: Development files for %{name}
%package -n libQuotient%{?pkg_suffix}-devel
Summary: Development files for libQuotient
Group: Development/Libraries/C and C++
Requires: %{name}%{soversion} = %{version}
Requires: libQuotient%{?qt6:%{lib_suffix}-}%{soversion} = %{version}
%if 0%{?qt6}
Requires: cmake(Qt6Gui)
Requires: cmake(Qt6Network)
%if %{with e2ee}
Requires: cmake(Qt6Sql)
%endif
Requires: cmake(Qt6Keychain)
%else
Requires: cmake(Qt5Gui)
Requires: cmake(Qt5Multimedia)
Requires: cmake(Qt5Network)
%if %{with e2ee}
Requires: cmake(Qt5Sql)
%endif
Requires: cmake(Qt5Keychain)
%endif
Requires: cmake(Olm)
Requires: pkgconfig(openssl)
# The devel packages are not coinstallable in the 0.8 release
%if 0%{?qt6}
Conflicts: libQuotient-devel
%endif
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%description -n libQuotient%{?pkg_suffix}-devel
The libQuotient devel package contains libraries and header files for
developing applications that use libQuotient.
%prep
%autosetup -p1
%autosetup -p1 -n %{rname}-%{version}
%build
%if 0%{?suse_version} < 1550
export CXX=g++-12
%endif
%if 0%{?qt6}
%cmake_qt6 \
-DBUILD_WITH_QT6=ON \
-DBUILD_SHARED_LIBS=ON \
%if 0%{?suse_version} < 1550
-DCMAKE_C_COMPILER:STRING=gcc-12 \
-DCMAKE_CXX_COMPILER:STRING=g++-12 \
%endif
%else
%cmake \
%endif
-DQuotient_INSTALL_TESTS=OFF \
%if %{with e2ee}
-DQuotient_ENABLE_E2EE=ON
@ -71,28 +138,40 @@ developing applications that use %{name}.
-DQuotient_ENABLE_E2EE=OFF
%endif
%if 0%{?qt6}
%qt6_build
%else
%cmake_build
%endif
%install
%if 0%{?qt6}
%qt6_install
%else
%cmake_install
%endif
%check
# testolmaccount needs a local server
%ctest --exclude-regex 'testolmaccount'
# Not useful
rm -r %{buildroot}%{_datadir}/ndk-modules/
%post -n %{name}%{soversion} -p /sbin/ldconfig
%postun -n %{name}%{soversion} -p /sbin/ldconfig
%ldconfig_scriptlets -n libQuotient%{?qt6:%{lib_suffix}-}%{soversion}
%files -n %{name}%{soversion}
%files -n libQuotient%{?qt6:%{lib_suffix}-}%{soversion}
%doc README.md
%license COPYING
%{_libdir}/libQuotient.so.%{version}
%{_libdir}/libQuotient.so.%{sonum}
%{_libdir}/libQuotient%{?qt6:%{lib_suffix}}.so.%{version}
%{_libdir}/libQuotient%{?qt6:%{lib_suffix}}.so.%{sonum}
%files devel
%files -n libQuotient%{?pkg_suffix}-devel
%doc README.md
%license COPYING
%{_libdir}/pkgconfig/Quotient.pc
%{_libdir}/libQuotient.so
%{_libdir}/cmake/Quotient/
%{_libdir}/pkgconfig/Quotient%{?qt6:%{lib_suffix}}.pc
%{_libdir}/libQuotient%{?qt6:%{lib_suffix}}.so
%{_libdir}/cmake/Quotient%{?qt6:%{lib_suffix}}/
%{_includedir}/Quotient/
%changelog