%global appname Quotient %global libname lib%{appname} %global _description %{expand: The Quotient project aims to produce a Qt-based SDK to develop applications for Matrix. libQuotient is a library that enables client applications. It is the backbone of Quaternion, Spectral and other projects. Versions 0.5.x and older use the previous name - libQMatrixClient.} %global commit 16dd38e32f33d3d53d1b6e1794e3d39828e3fb14 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global commitdate 20240419 Name: libquotient Version: 0.9.0%{?commitdate:^git%{commitdate}.%{shortcommit}} Release: 1%{?dist} License: BSD-3-Clause AND LGPL-2.1-or-later URL: https://github.com/quotient-im/%{libname} Summary: Qt library to write cross-platform clients for Matrix Source0: %{url}/archive/%{commit}/%{libname}-%{shortcommit}.tar.gz # https://github.com/quotient-im/libQuotient/pull/630 Patch0: 630.patch BuildRequires: cmake(Olm) BuildRequires: cmake(Qt5Concurrent) BuildRequires: cmake(Qt5Core) BuildRequires: cmake(Qt5Keychain) BuildRequires: cmake(Qt5LinguistTools) BuildRequires: cmake(Qt5Multimedia) BuildRequires: cmake(Qt5Network) BuildRequires: cmake(Qt5Sql) BuildRequires: cmake(Qt5Widgets) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6Keychain) BuildRequires: cmake(Qt6LinguistTools) BuildRequires: cmake(Qt6Multimedia) BuildRequires: cmake(Qt6Network) BuildRequires: cmake(Qt6Sql) BuildRequires: cmake(Qt6Widgets) BuildRequires: pkgconfig(openssl) BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: ninja-build %description %_description %package qt5 Summary: Files for qt5 Provides: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{name} < %{?epoch:%{epoch}:}%{version}-%{release} %description qt5 %_description %package qt5-devel Summary: Development files for %{name} for qt5 Provides: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release} Obsoletes: %{name}-devel < %{?epoch:%{epoch}:}%{version}-%{release} Requires: %{name}-qt5%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: cmake(Olm) Requires: cmake(Qt5Keychain) Requires: cmake(Qt5Sql) Requires: pkgconfig(openssl) %description qt5-devel %_description %package qt6 Summary: Files for qt6 %description qt6 %_description %package qt6-devel Summary: Development files for %{name} for qt6 Requires: %{name}-qt6%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: cmake(Olm) Requires: cmake(Qt6Keychain) Requires: cmake(Qt6Sql) Requires: pkgconfig(openssl) %description qt6-devel %_description %prep %autosetup -n %{libname}-%{commit} -p1 rm -rf 3rdparty %build #mkdir %{name}_qt5 #pushd %{name}_qt5 #%cmake -G Ninja \ # -S'..' \ # -DCMAKE_BUILD_TYPE=Release \ # -DQuotient_ENABLE_E2EE:BOOL=ON \ # -DQuotient_INSTALL_TESTS:BOOL=OFF \ # -DQuotient_INSTALL_EXAMPLE:BOOL=OFF #%cmake_build #popd mkdir %{name}_qt6 pushd %{name}_qt6 %cmake -G Ninja \ -S'..' \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir}/%{appname}Qt6 \ -DQuotient_ENABLE_E2EE:BOOL=ON \ -DQuotient_INSTALL_TESTS:BOOL=OFF \ -DQuotient_INSTALL_EXAMPLE:BOOL=OFF \ -DBUILD_WITH_QT6=ON %cmake_build popd %check #pushd %{name}_qt5 #%ctest --exclude-regex 'testolmaccount|testkeyverification' #popd pushd %{name}_qt6 %ctest --exclude-regex 'testolmaccount|testkeyverification' popd %install #pushd %{name}_qt5 #%cmake_install #popd pushd %{name}_qt6 %cmake_install popd rm -rf %{buildroot}%{_datadir}/ndk-modules #%files qt5 #%license COPYING #%doc README.md CONTRIBUTING.md SECURITY.md #%{_libdir}/%{libname}.so.0* # #%files qt5-devel #%{_includedir}/%{appname}/ #%{_libdir}/cmake/%{appname}/ #%{_libdir}/pkgconfig/%{appname}.pc #%{_libdir}/%{libname}.so %files qt6 %license COPYING %doc README.md CONTRIBUTING.md SECURITY.md %{_libdir}/%{libname}Qt6.so.0* %files qt6-devel %{_includedir}/%{appname}Qt6/ %{_libdir}/cmake/%{appname}Qt6/ %{_libdir}/%{libname}Qt6.so %{_libdir}/pkgconfig/%{appname}Qt6.pc %{_bindir}/quotest %{_includedir}/Quotient/* # /usr/include/Quotient/application-service/definitions/location.h # /usr/include/Quotient/application-service/definitions/protocol.h # /usr/include/Quotient/application-service/definitions/user.h # /usr/include/Quotient/avatar.h # /usr/include/Quotient/connection.h # /usr/include/Quotient/connection_p.h # /usr/include/Quotient/connectiondata.h # /usr/include/Quotient/connectionencryptiondata_p.h # /usr/include/Quotient/converters.h # /usr/include/Quotient/csapi/account-data.h # /usr/include/Quotient/csapi/admin.h # /usr/include/Quotient/csapi/administrative_contact.h # /usr/include/Quotient/csapi/appservice_room_directory.h # /usr/include/Quotient/csapi/banning.h # /usr/include/Quotient/csapi/capabilities.h # /usr/include/Quotient/csapi/content-repo.h # /usr/include/Quotient/csapi/create_room.h # /usr/include/Quotient/csapi/cross_signing.h # /usr/include/Quotient/csapi/definitions/auth_data.h # /usr/include/Quotient/csapi/definitions/client_device.h # /usr/include/Quotient/csapi/definitions/cross_signing_key.h # /usr/include/Quotient/csapi/definitions/device_keys.h # /usr/include/Quotient/csapi/definitions/event_filter.h # /usr/include/Quotient/csapi/definitions/key_backup_data.h # /usr/include/Quotient/csapi/definitions/openid_token.h # /usr/include/Quotient/csapi/definitions/public_rooms_response.h # /usr/include/Quotient/csapi/definitions/push_condition.h # /usr/include/Quotient/csapi/definitions/push_rule.h # /usr/include/Quotient/csapi/definitions/push_ruleset.h # /usr/include/Quotient/csapi/definitions/request_email_validation.h # /usr/include/Quotient/csapi/definitions/request_msisdn_validation.h # /usr/include/Quotient/csapi/definitions/request_token_response.h # /usr/include/Quotient/csapi/definitions/room_event_filter.h # /usr/include/Quotient/csapi/definitions/room_key_backup.h # /usr/include/Quotient/csapi/definitions/sync_filter.h # /usr/include/Quotient/csapi/definitions/third_party_signed.h # /usr/include/Quotient/csapi/definitions/user_identifier.h # /usr/include/Quotient/csapi/definitions/wellknown/full.h # /usr/include/Quotient/csapi/definitions/wellknown/homeserver.h # /usr/include/Quotient/csapi/definitions/wellknown/identity_server.h # /usr/include/Quotient/csapi/device_management.h # /usr/include/Quotient/csapi/directory.h # /usr/include/Quotient/csapi/event_context.h # /usr/include/Quotient/csapi/filter.h # /usr/include/Quotient/csapi/inviting.h # /usr/include/Quotient/csapi/joining.h # /usr/include/Quotient/csapi/key_backup.h # /usr/include/Quotient/csapi/keys.h # /usr/include/Quotient/csapi/kicking.h # /usr/include/Quotient/csapi/knocking.h # /usr/include/Quotient/csapi/leaving.h # /usr/include/Quotient/csapi/list_joined_rooms.h # /usr/include/Quotient/csapi/list_public_rooms.h # /usr/include/Quotient/csapi/login.h # /usr/include/Quotient/csapi/login_token.h # /usr/include/Quotient/csapi/logout.h # /usr/include/Quotient/csapi/message_pagination.h # /usr/include/Quotient/csapi/notifications.h # /usr/include/Quotient/csapi/openid.h # /usr/include/Quotient/csapi/peeking_events.h # /usr/include/Quotient/csapi/presence.h # /usr/include/Quotient/csapi/profile.h # /usr/include/Quotient/csapi/pusher.h # /usr/include/Quotient/csapi/pushrules.h # /usr/include/Quotient/csapi/read_markers.h # /usr/include/Quotient/csapi/receipts.h # /usr/include/Quotient/csapi/redaction.h # /usr/include/Quotient/csapi/refresh.h # /usr/include/Quotient/csapi/registration.h # /usr/include/Quotient/csapi/registration_tokens.h # /usr/include/Quotient/csapi/relations.h # /usr/include/Quotient/csapi/report_content.h # /usr/include/Quotient/csapi/room_event_by_timestamp.h # /usr/include/Quotient/csapi/room_send.h # /usr/include/Quotient/csapi/room_state.h # /usr/include/Quotient/csapi/room_upgrades.h # /usr/include/Quotient/csapi/rooms.h # /usr/include/Quotient/csapi/search.h # /usr/include/Quotient/csapi/space_hierarchy.h # /usr/include/Quotient/csapi/sso_login_redirect.h # /usr/include/Quotient/csapi/support.h # /usr/include/Quotient/csapi/tags.h # /usr/include/Quotient/csapi/third_party_lookup.h # /usr/include/Quotient/csapi/third_party_membership.h # /usr/include/Quotient/csapi/threads_list.h # /usr/include/Quotient/csapi/to_device.h # /usr/include/Quotient/csapi/typing.h # /usr/include/Quotient/csapi/users.h # /usr/include/Quotient/csapi/versions.h # /usr/include/Quotient/csapi/voip.h # /usr/include/Quotient/csapi/wellknown.h # /usr/include/Quotient/csapi/whoami.h # /usr/include/Quotient/database.h # /usr/include/Quotient/e2ee/cryptoutils.h # /usr/include/Quotient/e2ee/e2ee_common.h # /usr/include/Quotient/e2ee/qolmaccount.h # /usr/include/Quotient/e2ee/qolminboundsession.h # /usr/include/Quotient/e2ee/qolmmessage.h # /usr/include/Quotient/e2ee/qolmoutboundsession.h # /usr/include/Quotient/e2ee/qolmsession.h # /usr/include/Quotient/e2ee/qolmutility.h # /usr/include/Quotient/e2ee/sssshandler.h # /usr/include/Quotient/eventitem.h # /usr/include/Quotient/events/accountdataevents.h # /usr/include/Quotient/events/callevents.h # /usr/include/Quotient/events/directchatevent.h # /usr/include/Quotient/events/encryptedevent.h # /usr/include/Quotient/events/encryptionevent.h # /usr/include/Quotient/events/event.h # /usr/include/Quotient/events/eventcontent.h # /usr/include/Quotient/events/eventloader.h # /usr/include/Quotient/events/eventrelation.h # /usr/include/Quotient/events/filesourceinfo.h # /usr/include/Quotient/events/keyverificationevent.h # /usr/include/Quotient/events/reactionevent.h # /usr/include/Quotient/events/receiptevent.h # /usr/include/Quotient/events/redactionevent.h # /usr/include/Quotient/events/roomavatarevent.h # /usr/include/Quotient/events/roomcanonicalaliasevent.h # /usr/include/Quotient/events/roomcreateevent.h # /usr/include/Quotient/events/roomevent.h # /usr/include/Quotient/events/roomkeyevent.h # /usr/include/Quotient/events/roommemberevent.h # /usr/include/Quotient/events/roommessageevent.h # /usr/include/Quotient/events/roompowerlevelsevent.h # /usr/include/Quotient/events/roomtombstoneevent.h # /usr/include/Quotient/events/simplestateevents.h # /usr/include/Quotient/events/single_key_value.h # /usr/include/Quotient/events/stateevent.h # /usr/include/Quotient/events/stickerevent.h # /usr/include/Quotient/events/typingevent.h # /usr/include/Quotient/eventstats.h # /usr/include/Quotient/expected.h # /usr/include/Quotient/function_traits.h # /usr/include/Quotient/jobs/basejob.h # /usr/include/Quotient/jobs/downloadfilejob.h # /usr/include/Quotient/jobs/mediathumbnailjob.h # /usr/include/Quotient/jobs/requestdata.h # /usr/include/Quotient/jobs/syncjob.h # /usr/include/Quotient/keyverificationsession.h # /usr/include/Quotient/logging_categories_p.h # /usr/include/Quotient/mxcreply.h # /usr/include/Quotient/networkaccessmanager.h # /usr/include/Quotient/networksettings.h # /usr/include/Quotient/omittable.h # /usr/include/Quotient/qt_connection_util.h # /usr/include/Quotient/quotient_common.h # /usr/include/Quotient/quotient_export.h # /usr/include/Quotient/room.h # /usr/include/Quotient/roommember.h # /usr/include/Quotient/roomstateview.h # /usr/include/Quotient/settings.h # /usr/include/Quotient/ssosession.h # /usr/include/Quotient/syncdata.h # /usr/include/Quotient/uri.h # /usr/include/Quotient/uriresolver.h # /usr/include/Quotient/user.h # /usr/include/Quotient/util.h %changelog * Wed Apr 19 2024 Marc Deop i Argemí - 0.9.0?git20240419.16dd38e-2 - Update to commit 16dd38e32f33d3d53d1b6e1794e3d39828e3fb14 * Wed Apr 17 2024 Marc Deop i Argemí - 0.9.0?git20240417.e750c4a-2 - Add 630 patch (cross signing) * Wed Apr 17 2024 Marc Deop i Argemí - 0.9.0?git20240417.e750c4a-1 - Update to commit e750c4a66dc8a1fcc2f84a10088111290098c4bd * Tue Apr 16 2024 Neal Gompa - 0.8.2-1 - Update to 0.8.2 * Thu Apr 04 2024 Jan Grulich - 0.8.1.2-8 - Rebuild (qt6) * Thu Jan 25 2024 Fedora Release Engineering - 0.8.1.2-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 0.8.1.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Dec 06 2023 Yaakov Selkowitz - 0.8.1.2-5 - Make headers parallel-installable * Wed Dec 06 2023 Yaakov Selkowitz - 0.8.1.2-4 - Add devel dependencies on QtKeychain * Wed Dec 06 2023 Neal Gompa - 0.8.1.2-3 - Drop unused dependency on QtOlm * Thu Nov 30 2023 Alessandro Astone - 0.8.1.2-2 - Rebuild (qt6) * Wed Nov 22 2023 Steve Cossette - 0.8.1.2-1 - 0.8.1.2 (And branching into qt6) * Sat Sep 02 2023 Neal Gompa - 0.8.1.1-1 - Update to 0.8.1.1 * Thu Jul 20 2023 Fedora Release Engineering - 0.7.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat May 06 2023 Marc Deop i Argemí - 0.7.2-1 - Update to 0.7.2 * Thu Jan 19 2023 Fedora Release Engineering - 0.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Tue Jan 10 2023 Vitaly Zaitsev - 0.7.1-1 - Updated to version 0.7.1. * Tue Dec 20 2022 Vitaly Zaitsev - 0.7.0-1 - Updated to version 0.7.0. - Enabled E2EE support. - Switched to SPDX license tag. * Thu Jul 21 2022 Fedora Release Engineering - 0.6.11-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat Apr 30 2022 Vitaly Zaitsev - 0.6.11-3 - Rebuilt to mitigate GCC 12 regressions. * Thu Jan 20 2022 Fedora Release Engineering - 0.6.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Oct 07 2021 Vitaly Zaitsev - 0.6.11-1 - Updated to version 0.6.11. * Mon Oct 04 2021 Vitaly Zaitsev - 0.6.10-1 - Updated to version 0.6.10. * Mon Sep 13 2021 Vitaly Zaitsev - 0.6.9-1 - Updated to version 0.6.9. * Wed Aug 25 2021 Vitaly Zaitsev - 0.6.8-1 - Updated to version 0.6.8. * Thu Jul 22 2021 Fedora Release Engineering - 0.6.7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jun 08 2021 Vitaly Zaitsev - 0.6.7-1 - Updated to version 0.6.7. * Thu Mar 18 2021 Vitaly Zaitsev - 0.6.6-1 - Updated to version 0.6.6. * Mon Feb 22 2021 Vitaly Zaitsev - 0.6.5-1 - Updated to version 0.6.5. * Tue Jan 26 2021 Fedora Release Engineering - 0.6.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Jan 16 2021 Vitaly Zaitsev - 0.6.4-1 - Updated to version 0.6.4. * Sun Dec 27 2020 Vitaly Zaitsev - 0.6.3-2 - Disabled E2EE support due to lots of crashes. * Fri Dec 25 2020 Vitaly Zaitsev - 0.6.3-1 - Updated to version 0.6.3. * Sat Oct 31 2020 Vitaly Zaitsev - 0.6.2-1 - Updated to version 0.6.2. * Sat Sep 05 2020 Vitaly Zaitsev - 0.6.1-1 - Updated to version 0.6.1. * Wed Jul 29 2020 Vitaly Zaitsev - 0.6.0-1 - Updated to version 0.6.0. * Sat Mar 07 2020 Vitaly Zaitsev - 0.6.0-0.4.20200207git9bcf0cb - Updated to latest Git snapshot. * Wed Jan 29 2020 Fedora Release Engineering - 0.6.0-0.3.20200121gite3a5b3a - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sun Jan 26 2020 Vitaly Zaitsev - 0.6.0-0.2.20200121gite3a5b3a - Updated to version 0.6.0-git.