From 39cb3fd00e6587961c9360512c33a05eca4d45931e00482156216681c4cbef25 Mon Sep 17 00:00:00 2001 From: Christophe Marin Date: Tue, 1 Oct 2024 17:49:55 +0000 Subject: [PATCH] Qt 6.7.3 OBS-URL: https://build.opensuse.org/package/show/KDE:Qt6/qt6-base?expand=0&rev=117 --- .gitattributes | 23 + .gitignore | 1 + ...stall-objects-files-into-ARCHDATADIR.patch | 52 + ...ip-binaries-when-building-with-qmake.patch | 39 + ...communication-until-encrypted-can-be.patch | 244 ++++ 0001-Use-newer-GCC-on-Leap.patch | 54 + _constraints | 37 + _multibuild | 4 + gcc14.patch | 48 + qt6-base-rpmlintrc | 12 + qt6-base.changes | 610 ++++++++ qt6-base.spec | 1286 +++++++++++++++++ qtbase-everywhere-src-6.7.2.tar.xz | 3 + qtbase-everywhere-src-6.7.3.tar.xz | 3 + 14 files changed, 2416 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch create mode 100644 0001-Don-t-strip-binaries-when-building-with-qmake.patch create mode 100644 0001-HTTP2-Delay-any-communication-until-encrypted-can-be.patch create mode 100644 0001-Use-newer-GCC-on-Leap.patch create mode 100644 _constraints create mode 100644 _multibuild create mode 100644 gcc14.patch create mode 100644 qt6-base-rpmlintrc create mode 100644 qt6-base.changes create mode 100644 qt6-base.spec create mode 100644 qtbase-everywhere-src-6.7.2.tar.xz create mode 100644 qtbase-everywhere-src-6.7.3.tar.xz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-CMake-Install-objects-files-into-ARCHDATADIR.patch b/0001-CMake-Install-objects-files-into-ARCHDATADIR.patch new file mode 100644 index 0000000..9b0e34f --- /dev/null +++ b/0001-CMake-Install-objects-files-into-ARCHDATADIR.patch @@ -0,0 +1,52 @@ +From 4e517492a03b6c0b710a2d9a3df05922ac233992 Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Wed, 24 May 2023 11:23:39 +0200 +Subject: [PATCH] CMake: Install objects files into 'ARCHDATADIR' + +Change-Id: I917a9ef4d83f93eb5c3e47964bf1814d1b53fdab +--- + cmake/QtResourceHelpers.cmake | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/cmake/QtResourceHelpers.cmake b/cmake/QtResourceHelpers.cmake +index 2df1fed50f..e4f34b5ff1 100644 +--- a/cmake/QtResourceHelpers.cmake ++++ b/cmake/QtResourceHelpers.cmake +@@ -38,7 +38,7 @@ function(qt_internal_add_resource target resourceName) + if (out_targets) + qt_install(TARGETS ${out_targets} + EXPORT "${INSTALL_CMAKE_NAMESPACE}${target}Targets" +- DESTINATION "${INSTALL_LIBDIR}" ++ DESTINATION "${INSTALL_ARCHDATADIR}" + ) + qt_internal_add_targets_to_additional_targets_export_file( + TARGETS ${out_targets} +@@ -47,7 +47,7 @@ function(qt_internal_add_resource target resourceName) + + qt_internal_install_resource_pdb_files("${out_targets}") + qt_internal_record_rcc_object_files("${target}" "${out_targets}" +- INSTALL_DIRECTORY "${INSTALL_LIBDIR}") ++ INSTALL_DIRECTORY "${INSTALL_ARCHDATADIR}") + endif() + + if (arg_OUTPUT_TARGETS) +@@ -77,7 +77,7 @@ function(qt_internal_record_rcc_object_files target resource_targets) + # It's comprised of thee following path parts: + # + # part (1) INSTALL_DIRECTORY. +- # A usual value is '${INSTALL_LIBDIR}/' for libraries ++ # A usual value is '${INSTALL_ARCHDATADIR}/' for libraries + # and '${INSTALL_QMLDIR}/foo/bar/' for qml plugin resources. + # + # part (2) the value computed by CMake's computeInstallObjectDir comprised of an +@@ -128,6 +128,6 @@ function(qt_internal_install_resource_pdb_files objlib_targets) + _qt_resource_generated_cpp_relative_path) + get_filename_component(rel_obj_file_dir "${generated_cpp_file_relative_path}" DIRECTORY) + qt_internal_install_pdb_files(${target} +- "${INSTALL_LIBDIR}/objects-$/${target}/${rel_obj_file_dir}") ++ "${INSTALL_ARCHDATADIR}/objects-$/${target}/${rel_obj_file_dir}") + endforeach() + endfunction() +-- +2.40.1 + diff --git a/0001-Don-t-strip-binaries-when-building-with-qmake.patch b/0001-Don-t-strip-binaries-when-building-with-qmake.patch new file mode 100644 index 0000000..8078ebe --- /dev/null +++ b/0001-Don-t-strip-binaries-when-building-with-qmake.patch @@ -0,0 +1,39 @@ +From e43300d226ca98dbda1b1b69c3a1aaf8543f0a16 Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Wed, 4 Oct 2023 09:24:42 +0200 +Subject: [PATCH] Don't strip binaries when building with qmake + +Change-Id: I134f83b0a4fb1636d15f527585f8e9c9892f9057 +--- + mkspecs/common/gcc-base.conf | 2 ++ + mkspecs/common/linux.conf | 4 ++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index ae58326289..3a686cf18c 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -31,6 +31,8 @@ + # you can use the manual test in tests/manual/mkspecs. + # + ++CONFIG += nostrip ++ + QMAKE_CFLAGS_OPTIMIZE = -O2 + QMAKE_CFLAGS_OPTIMIZE_FULL = -O3 + QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Og +diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf +index 544cc22715..b809cffeeb 100644 +--- a/mkspecs/common/linux.conf ++++ b/mkspecs/common/linux.conf +@@ -48,5 +48,5 @@ QMAKE_OBJCOPY = objcopy + QMAKE_NM = nm -P + QMAKE_RANLIB = + +-QMAKE_STRIP = strip +-QMAKE_STRIPFLAGS_LIB += --strip-unneeded ++QMAKE_STRIP = ++QMAKE_STRIPFLAGS_LIB += +-- +2.42.0 + diff --git a/0001-HTTP2-Delay-any-communication-until-encrypted-can-be.patch b/0001-HTTP2-Delay-any-communication-until-encrypted-can-be.patch new file mode 100644 index 0000000..617f0f8 --- /dev/null +++ b/0001-HTTP2-Delay-any-communication-until-encrypted-can-be.patch @@ -0,0 +1,244 @@ +From 2b1e36e183ce75c224305c7a94457b92f7a5cf58 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= +Date: Tue, 25 Jun 2024 17:09:35 +0200 +Subject: [PATCH] HTTP2: Delay any communication until encrypted() can be + responded to + +We have the encrypted() signal that lets users do extra checks on the +established connection. It is emitted as BlockingQueued, so the HTTP +thread stalls until it is done emitting. Users can potentially call +abort() on the QNetworkReply at that point, which is passed as a Queued +call back to the HTTP thread. That means that any currently queued +signal emission will be processed before the abort() call is processed. + +In the case of HTTP2 it is a little special since it is multiplexed and +the code is built to start requests as they are available. This means +that, while the code worked fine for HTTP1, since one connection only +has one request, it is not working for HTTP2, since we try to send more +requests in-between the encrypted() signal and the abort() call. + +This patch changes the code to delay any communication until the +encrypted() signal has been emitted and processed, for HTTP2 only. +It's done by adding a few booleans, both to know that we have to return +early and so we can keep track of what events arose and what we need to +resume once enough time has passed that any abort() call must have been +processed. + +Fixes: QTBUG-126610 +Pick-to: 6.5 6.2 5.15 5.12 +Change-Id: Ic25a600c278203256e35f541026f34a8783235ae +Reviewed-by: Marc Mutz +Reviewed-by: Volker Hilsheimer +(cherry picked from commit b1e75376cc3adfc7da5502a277dfe9711f3e0536) +Reviewed-by: Qt Cherry-pick Bot +(cherry picked from commit 0fb43e4395da34d561814242a0186999e4956e28) +--- + src/network/access/qhttp2protocolhandler.cpp | 6 +-- + .../access/qhttpnetworkconnectionchannel.cpp | 48 ++++++++++++++++++- + .../access/qhttpnetworkconnectionchannel_p.h | 6 +++ + tests/auto/network/access/http2/tst_http2.cpp | 44 +++++++++++++++++ + 4 files changed, 99 insertions(+), 5 deletions(-) + +diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp +index 0abd99b9bc..3631b13dc8 100644 +--- a/src/network/access/qhttp2protocolhandler.cpp ++++ b/src/network/access/qhttp2protocolhandler.cpp +@@ -303,12 +303,12 @@ bool QHttp2ProtocolHandler::sendRequest() + } + } + +- if (!prefaceSent && !sendClientPreface()) +- return false; +- + if (!requests.size()) + return true; + ++ if (!prefaceSent && !sendClientPreface()) ++ return false; ++ + m_channel->state = QHttpNetworkConnectionChannel::WritingState; + // Check what was promised/pushed, maybe we do not have to send a request + // and have a response already? +diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp +index 6766989690..1e4161d1fd 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel.cpp ++++ b/src/network/access/qhttpnetworkconnectionchannel.cpp +@@ -209,6 +209,10 @@ void QHttpNetworkConnectionChannel::abort() + bool QHttpNetworkConnectionChannel::sendRequest() + { + Q_ASSERT(protocolHandler); ++ if (waitingForPotentialAbort) { ++ needInvokeSendRequest = true; ++ return false; // this return value is unused ++ } + return protocolHandler->sendRequest(); + } + +@@ -221,21 +225,28 @@ bool QHttpNetworkConnectionChannel::sendRequest() + void QHttpNetworkConnectionChannel::sendRequestDelayed() + { + QMetaObject::invokeMethod(this, [this] { +- Q_ASSERT(protocolHandler); + if (reply) +- protocolHandler->sendRequest(); ++ sendRequest(); + }, Qt::ConnectionType::QueuedConnection); + } + + void QHttpNetworkConnectionChannel::_q_receiveReply() + { + Q_ASSERT(protocolHandler); ++ if (waitingForPotentialAbort) { ++ needInvokeReceiveReply = true; ++ return; ++ } + protocolHandler->_q_receiveReply(); + } + + void QHttpNetworkConnectionChannel::_q_readyRead() + { + Q_ASSERT(protocolHandler); ++ if (waitingForPotentialAbort) { ++ needInvokeReadyRead = true; ++ return; ++ } + protocolHandler->_q_readyRead(); + } + +@@ -1239,7 +1250,18 @@ void QHttpNetworkConnectionChannel::_q_encrypted() + if (!h2RequestsToSend.isEmpty()) { + // Similar to HTTP/1.1 counterpart below: + const auto &pair = std::as_const(h2RequestsToSend).first(); ++ waitingForPotentialAbort = true; + emit pair.second->encrypted(); ++ ++ // We don't send or handle any received data until any effects from ++ // emitting encrypted() have been processed. This is necessary ++ // because the user may have called abort(). We may also abort the ++ // whole connection if the request has been aborted and there is ++ // no more requests to send. ++ QMetaObject::invokeMethod(this, ++ &QHttpNetworkConnectionChannel::checkAndResumeCommunication, ++ Qt::QueuedConnection); ++ + // In case our peer has sent us its settings (window size, max concurrent streams etc.) + // let's give _q_receiveReply a chance to read them first ('invokeMethod', QueuedConnection). + } +@@ -1257,6 +1279,28 @@ void QHttpNetworkConnectionChannel::_q_encrypted() + QMetaObject::invokeMethod(connection, "_q_startNextRequest", Qt::QueuedConnection); + } + ++ ++void QHttpNetworkConnectionChannel::checkAndResumeCommunication() ++{ ++ Q_ASSERT(connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2 ++ || connection->connectionType() == QHttpNetworkConnection::ConnectionTypeHTTP2Direct); ++ ++ // Because HTTP/2 requires that we send a SETTINGS frame as the first thing we do, and respond ++ // to a SETTINGS frame with an ACK, we need to delay any handling until we can ensure that any ++ // effects from emitting encrypted() have been processed. ++ // This function is called after encrypted() was emitted, so check for changes. ++ ++ if (!reply && h2RequestsToSend.isEmpty()) ++ abort(); ++ waitingForPotentialAbort = false; ++ if (needInvokeReadyRead) ++ _q_readyRead(); ++ if (needInvokeReceiveReply) ++ _q_receiveReply(); ++ if (needInvokeSendRequest) ++ sendRequest(); ++} ++ + void QHttpNetworkConnectionChannel::requeueHttp2Requests() + { + const auto h2RequestsToSendCopy = std::exchange(h2RequestsToSend, {}); +diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h +index c42290feca..061f20fd42 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel_p.h ++++ b/src/network/access/qhttpnetworkconnectionchannel_p.h +@@ -74,6 +74,10 @@ public: + QAbstractSocket *socket; + bool ssl; + bool isInitialized; ++ bool waitingForPotentialAbort = false; ++ bool needInvokeReceiveReply = false; ++ bool needInvokeReadyRead = false; ++ bool needInvokeSendRequest = false; + ChannelState state; + QHttpNetworkRequest request; // current request, only used for HTTP + QHttpNetworkReply *reply; // current reply for this request, only used for HTTP +@@ -146,6 +150,8 @@ public: + void closeAndResendCurrentRequest(); + void resendCurrentRequest(); + ++ void checkAndResumeCommunication(); ++ + bool isSocketBusy() const; + bool isSocketWriting() const; + bool isSocketWaiting() const; +diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp +index 00efbc9832..c02e7b7b5b 100644 +--- a/tests/auto/network/access/http2/tst_http2.cpp ++++ b/tests/auto/network/access/http2/tst_http2.cpp +@@ -106,6 +106,8 @@ private slots: + + void duplicateRequestsWithAborts(); + ++ void abortOnEncrypted(); ++ + protected slots: + // Slots to listen to our in-process server: + void serverStarted(quint16 port); +@@ -1479,6 +1481,48 @@ void tst_Http2::duplicateRequestsWithAborts() + QCOMPARE(finishedCount, ExpectedSuccessfulRequests); + } + ++void tst_Http2::abortOnEncrypted() ++{ ++#if !QT_CONFIG(ssl) ++ QSKIP("TLS support is needed for this test"); ++#else ++ clearHTTP2State(); ++ serverPort = 0; ++ ++ ServerPtr targetServer(newServer(defaultServerSettings, H2Type::h2Direct)); ++ ++ QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection); ++ runEventLoop(); ++ ++ nRequests = 1; ++ nSentRequests = 0; ++ ++ const auto url = requestUrl(H2Type::h2Direct); ++ QNetworkRequest request(url); ++ request.setAttribute(QNetworkRequest::Http2DirectAttribute, true); ++ ++ std::unique_ptr reply{manager->get(request)}; ++ reply->ignoreSslErrors(); ++ connect(reply.get(), &QNetworkReply::encrypted, reply.get(), [reply = reply.get()](){ ++ reply->abort(); ++ }); ++ connect(reply.get(), &QNetworkReply::errorOccurred, this, &tst_Http2::replyFinishedWithError); ++ ++ runEventLoop(); ++ STOP_ON_FAILURE ++ ++ QCOMPARE(nRequests, 0); ++ QCOMPARE(reply->error(), QNetworkReply::OperationCanceledError); ++ ++ const bool res = QTest::qWaitFor( ++ [this, server = targetServer.get()]() { ++ return serverGotSettingsACK || prefaceOK || nSentRequests > 0; ++ }, ++ 500); ++ QVERIFY(!res); ++#endif // QT_CONFIG(ssl) ++} ++ + void tst_Http2::serverStarted(quint16 port) + { + serverPort = port; +-- +2.45.2 + diff --git a/0001-Use-newer-GCC-on-Leap.patch b/0001-Use-newer-GCC-on-Leap.patch new file mode 100644 index 0000000..8c03240 --- /dev/null +++ b/0001-Use-newer-GCC-on-Leap.patch @@ -0,0 +1,54 @@ +From 793c4c0d728024139083660a7f382f6d95853efe Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Sun, 6 Jun 2021 10:44:09 +0200 +Subject: [PATCH] Use newer GCC on Leap.patch + +The default compiler in Leap doesn't match the Qt requirements. +Use the latest compiler version available on Leap. + +Change-Id: I0c4ad87af4dd60d12fa09366eb9910edafcc9c4c +--- + mkspecs/common/g++-base.conf | 6 +++--- + mkspecs/common/gcc-base.conf | 4 ++-- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf +index d392879..ddca128 100644 +--- a/mkspecs/common/g++-base.conf ++++ b/mkspecs/common/g++-base.conf +@@ -8,14 +8,14 @@ + # you can use the manual test in tests/manual/mkspecs. + # + +-QMAKE_COMPILER = gcc ++QMAKE_COMPILER = gcc-13 + +-QMAKE_CC = $${CROSS_COMPILE}gcc ++QMAKE_CC = $${CROSS_COMPILE}gcc-13 + + QMAKE_LINK_C = $$QMAKE_CC + QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +-QMAKE_CXX = $${CROSS_COMPILE}g++ ++QMAKE_CXX = $${CROSS_COMPILE}g++-13 + + QMAKE_LINK = $$QMAKE_CXX + QMAKE_LINK_SHLIB = $$QMAKE_CXX +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index ae58326..33cc860 100644 +--- a/mkspecs/common/gcc-base.conf ++++ b/mkspecs/common/gcc-base.conf +@@ -124,8 +124,8 @@ QMAKE_CFLAGS_MIPS_DSPR2 += -mdspr2 + QMAKE_CFLAGS_ARCH_HASWELL = -march=core-avx2 + + # Wrapper tools that understand .o/.a files with GIMPLE instead of machine code +-QMAKE_AR_LTCG = gcc-ar cqs +-QMAKE_NM_LTCG = gcc-nm -P ++QMAKE_AR_LTCG = gcc-ar-13 cqs ++QMAKE_NM_LTCG = gcc-nm-13 -P + QMAKE_RANLIB_LTCG = true # No need to run since gcc-ar has "s" + + QMAKE_LINK_OBJECT_SCRIPT = object_script +-- +2.43.0 + diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..4ad9428 --- /dev/null +++ b/_constraints @@ -0,0 +1,37 @@ + + + + + 12 + + + 4 + + 4 + + + + ppc64 + ppc64le + + + + 5 + + + + + + + qt6-base:docs + + + + 3 + + + 2 + + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..46731da --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + docs + + diff --git a/gcc14.patch b/gcc14.patch new file mode 100644 index 0000000..8eb0128 --- /dev/null +++ b/gcc14.patch @@ -0,0 +1,48 @@ +From 39fa7e7bef90be2940c5f736935f963e3969e0bd Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev +Date: Sat, 27 Jul 2024 23:03:07 +0300 +Subject: [PATCH] Use _Float16 only when SSE2 is enabled + +The GCC documentation [1] says: “On x86 targets with SSE2 enabled, GCC +supports half-precision (16-bit) floating point via the _Float16 type”. + +On non-SSE2 x86 (such as Debian i386 baseline [2]), __FLT16_MAX__ is +defined starting with GCC 14 [3], however any non-trivial use of the +_Float16 type results in an error: + +error: operation not permitted on type ‘_Float16’ without option ‘-msse2’ + +which makes some packages fail to build on i386 architecture [4]. + +[1]: https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html +[2]: https://wiki.debian.org/ArchitectureSpecificsMemo#i386-1 +[3]: https://gcc.gnu.org/g:9a19fa8b616f83474c35cc5b34a3865073ced829 +[4]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1076986 + +Pick-to: 6.8 6.7 6.5 +Change-Id: I393ee83eb8e8888f5fc9e3b349dc8b063eef6f5a +Reviewed-by: Thiago Macieira +Reviewed-by: Edward Welbourne +--- + +diff --git a/src/corelib/global/qtypes.h b/src/corelib/global/qtypes.h +index db9ba38..28458f6 100644 +--- a/src/corelib/global/qtypes.h ++++ b/src/corelib/global/qtypes.h +@@ -263,13 +263,12 @@ + // disabled due to https://github.com/llvm/llvm-project/issues/56963 + # define QFLOAT16_IS_NATIVE 1 + using NativeFloat16Type = decltype(__FLT16_MAX__); +-#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) ++#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__ARM_FP16_FORMAT_IEEE) + # define QFLOAT16_IS_NATIVE 1 +-# ifdef __ARM_FP16_FORMAT_IEEE + using NativeFloat16Type = __fp16; +-# else ++#elif defined(Q_CC_GNU_ONLY) && defined(__FLT16_MAX__) && defined(__SSE2__) ++# define QFLOAT16_IS_NATIVE 1 + using NativeFloat16Type = _Float16; +-# endif + #else + # define QFLOAT16_IS_NATIVE 0 + using NativeFloat16Type = void; diff --git a/qt6-base-rpmlintrc b/qt6-base-rpmlintrc new file mode 100644 index 0000000..e240a87 --- /dev/null +++ b/qt6-base-rpmlintrc @@ -0,0 +1,12 @@ +# using fdupes on include directories means looking for troubles +addFilter("files-duplicated-waste .*") +addFilter("files-duplicate .*") + +# library and development package names don't match +addFilter("no-dependency-on .*") + +# Only libraries used at link time are guaranteed to work +addFilter("shlib-fixed-dependency .*") + +# libQt6ExampleIcons.a only contains embedded icons, there's nothing to extract +addFilter("lto-no-text-in-archive .*libQt6ExampleIcons.a") diff --git a/qt6-base.changes b/qt6-base.changes new file mode 100644 index 0000000..7d8286f --- /dev/null +++ b/qt6-base.changes @@ -0,0 +1,610 @@ +------------------------------------------------------------------- +Sat Sep 28 08:22:54 UTC 2024 - Christophe Marin + +- Update to 6.7.3 + * https://www.qt.io/blog/qt-6.7.3-released +- Drop patches, merged upstream: + * gcc14.patch + * 0001-HTTP2-Delay-any-communication-until-encrypted-can-be.patch + +------------------------------------------------------------------- +Wed Aug 7 12:46:16 UTC 2024 - Filip Kastl + +- Add gcc14.patch so that the package builds for 32bit with GCC 14. + +------------------------------------------------------------------- +Sat Jul 6 11:22:52 UTC 2024 - Christophe Marin + +- Add upstream change (boo#1227426, CVE-2024-39936) + * 0001-HTTP2-Delay-any-communication-until-encrypted-can-be.patch + +------------------------------------------------------------------- +Wed Jun 19 07:25:37 UTC 2024 - Christophe Marin + +- Update to 6.7.2: + * https://www.qt.io/blog/qt-6.7.2-released + +------------------------------------------------------------------- +Tue May 21 08:31:24 UTC 2024 - Christophe Marin + +- Update to 6.7.1: + * https://www.qt.io/blog/qt-6.7.1-released +- Build with system md4c when possible +- Drop patches, merged upstream: + * fix_builds_with_Werror.patch + * 0001-QStringConverterICU-Pass-correct-pointer-to-callback.patch + * 0001-CMake-ELF-allow-using-Qt-s-full-version-number-in-th.patch + +------------------------------------------------------------------- +Fri May 3 07:15:23 UTC 2024 - Christophe Marin + +- Add upstream security fix (CVE-2024-33861, boo#1223917): + * 0001-QStringConverterICU-Pass-correct-pointer-to-callback.patch + +------------------------------------------------------------------- +Tue Apr 2 13:39:34 UTC 2024 - Christophe Marin + +- Update to 6.7.0: + * https://www.qt.io/blog/qt-6.7-released +- Replace 0001-Tell-the-truth-about-private-API.patch with + upstream change: + * 0001-CMake-ELF-allow-using-Qt-s-full-version-number-in-th.patch +- Add upstream fix (QTBUG-123937): + * fix_builds_with_Werror.patch + +------------------------------------------------------------------- +Tue Mar 26 14:25:22 UTC 2024 - Christophe Marin + +- Update to 6.6.3: + * https://www.qt.io/blog/qt-6.6.3-released + * Includes fix for issue where the wasm component may access + QNetworkReply header data via a dangling pointer + (CVE-2024-30161, bsc#1221926, QTBUG-122893) +- Make libQt6PrintSupport6 require qt6-printsupport-cups + (boo#1221576) + +------------------------------------------------------------------- +Thu Mar 21 14:56:42 UTC 2024 - Christophe Marin + +- Replace the postgresql-server build dependency with the client library + +------------------------------------------------------------------- +Wed Feb 14 16:53:08 UTC 2024 - Christophe Marin + +- Update to 6.6.2 + * https://www.qt.io/blog/qt-6.6.2-released + * Fix for potential buffer overflow when reading KTX + images (boo#1219996, CVE-2024-25580) +- Drop patches, merged upstream: + * 0001-QMimeDatabase-handle-buggy-type-definitions.patch + * 0001-QMimeDatabase-collect-glob-patterns-from.patch + * 0001-HPack-fix-a-Yoda-Condition.patch + * 0002-HPack-fix-incorrect-integer-overflow-check.patch + * 0001-Http2-fix-potential-overflow-in-assemble_hpack_block.patch + +------------------------------------------------------------------- +Wed Jan 31 14:51:31 UTC 2024 - Christophe Marin + +- Switch to the latest GCC version available in Leap +- Replace 0001-Require-GCC-12.patch with 0001-Use-newer-GCC-on-Leap.patch + +------------------------------------------------------------------- +Wed Jan 3 08:52:06 UTC 2024 - Antonio Larrosa + +- Add upstream patches to fix an incorrect integer overflow check + (boo#1218413, CVE-2023-51714): + * 0001-HPack-fix-a-Yoda-Condition.patch + * 0002-HPack-fix-incorrect-integer-overflow-check.patch +- Add upstream patch to fix a potential overflow in + assemble_hpack_block(): + * 0001-Http2-fix-potential-overflow-in-assemble_hpack_block.patch + +------------------------------------------------------------------- +Sat Dec 30 14:51:31 UTC 2023 - Luca Beltrame + +- Add upstream patch for a bug in QMimeDatabase which makes + impossible to save JPEG files in Qt6 applications: + * 0001-QMimeDatabase-collect-glob-patterns-from.patch + * https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4e9944e6c8a456353d243ab268cb0f01ff006faa + +------------------------------------------------------------------- +Mon Dec 4 19:11:49 UTC 2023 - Kacper Koniuszy + +- Add upstream patch for a bug in QMimeDatabase that causes some + applications to hang: + * 0001-QMimeDatabase-handle-buggy-type-definitions.patch + * https://code.qt.io/cgit/qt/qtbase.git/commit/?id=54656da9ace06caf4a0eeb1832989c0ab211a4a0 + +------------------------------------------------------------------- +Mon Nov 27 14:00:05 UTC 2023 - Christophe Marin + +- Update to 6.6.1: + * https://www.qt.io/blog/qt-6.6.1-released +- Drop patches, merged upstream: + * 0001-xcb-replace-a-warning-with-debug-info-in-qxcbconnect.patch + * 0001-a11y-fix-race-condition-on-atspi-startup-on-Wayland.patch + * 0001-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch + +------------------------------------------------------------------- +Thu Nov 16 09:14:40 UTC 2023 - Christophe Marin + +- Make libQt6Network6 require the network plugins + +------------------------------------------------------------------- +Fri Nov 3 11:34:03 UTC 2023 - Christophe Marin + +- Add upstream changes: + * 0001-xcb-replace-a-warning-with-debug-info-in-qxcbconnect.patch (QTBUG-117820) + * 0001-a11y-fix-race-condition-on-atspi-startup-on-Wayland.patch +- Turn FEATURE_forkfd_pidfd off until QTBUG-117954 gets fixed + +------------------------------------------------------------------- +Wed Oct 25 14:16:30 UTC 2023 - Christophe Marin + +- Add upstream change: + * 0001-xkb-fix-build-with-libxkbcommon-1.6.0-and-later.patch + +------------------------------------------------------------------- +Tue Oct 10 09:39:48 UTC 2023 - Christophe Marin + +- Update to 6.6.0 + * https://www.qt.io/blog/qt-6.6-released + +------------------------------------------------------------------- +Wed Oct 4 07:25:51 UTC 2023 - Christophe Marin + +- Add patch to fix creation of -debuginfo packages for qmake builds: + * 0001-Don-t-strip-binaries-when-building-with-qmake.patch + +------------------------------------------------------------------- +Thu Sep 28 07:34:06 UTC 2023 - Christophe Marin + +- Update to 6.5.3 + * https://www.qt.io/blog/qt-6.5.3-released +- Drop patch, merged upstream: + * CVE-2023-38197-qtbase-6.5.diff +- Enable the experimental native painting feature to improve + remote desktop performances (boo#1214915) + exporting QT_XCB_NATIVE_PAINTING is required to use the feature. + +------------------------------------------------------------------- +Thu Jul 20 08:34:44 UTC 2023 - Christophe Marin + +- Use a mirror to download sources for all Qt packages. Upstream + servers are very slow since a couple weeks. +- Update to 6.5.2 + * https://www.qt.io/blog/qt-6.5.2-released-1 + * Includes fix for a buffer overflow in QXmlStreamReader + (boo#1214327, CVE-2023-37369). +- Drop patches, merged upstream: + * 0001-Schannel-Reject-certificate-not-signed-by-a-configur.patch + * 0001-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch + * 0001-tabbar-fix.patch +- Add patch: + * CVE-2023-38197-qtbase-6.5.diff (boo#1213326, CVE-2023-38197) + +------------------------------------------------------------------- +Fri Jun 30 15:13:07 UTC 2023 - Christophe Marin + +- Update subpackages requirements + +------------------------------------------------------------------- +Thu Jun 29 11:13:42 UTC 2023 - Christophe Marin + +- Replace 0001-Require-GCC-10.patch with 0001-Require-GCC-12.patch + +------------------------------------------------------------------- +Wed Jun 7 17:58:46 UTC 2023 - Jonas Kvinge + +- Add patch for QTabBar regression in Qt 6.5.1 (QTBUG-114204) + * 0001-tabbar-fix.patch + +------------------------------------------------------------------- +Mon Jun 5 08:59:52 UTC 2023 - Christophe Marin + +- Add upstream changes (CVE-2023-34410, boo#1211994): + * 0001-Schannel-Reject-certificate-not-signed-by-a-configur.patch + * 0001-Ssl-Copy-the-on-demand-cert-loading-bool-from-defaul.patch + +------------------------------------------------------------------- +Wed May 24 07:45:34 UTC 2023 - Christophe Marin + +- Update to 6.5.1 + * https://www.qt.io/blog/qt-6.5.1-released + * Includes fix for a buffer overflow in QTextLayout (boo#1211798, + CVE-2023-32763). + * Includes fix for incorrect parsing of strict-transport-security + (HSTS) header (boo#1211797, CVE-2023-32762) + * Includes fix for a buffer overflow in QDnsLookup + (CVE-2023-33285, bsc#1211642) +- Drop patches, merged upstream: + * 0001-QApplication-Fix-DEPRECATED_VERSION-for-setActiveWin.patch + * 0001-QVariant-Fix-support-for-metatypes-created-by-Qt-6.5.patch +- Add patch + * 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch + +------------------------------------------------------------------- +Fri Apr 28 13:56:55 UTC 2023 - Christophe Marin + +- Add upstream change to fix boo#1210849: + * 0001-QVariant-Fix-support-for-metatypes-created-by-Qt-6.5.patch + +------------------------------------------------------------------- +Sat Apr 8 10:42:33 UTC 2023 - Christophe Marin + +- Add upstream change: + * 0001-QApplication-Fix-DEPRECATED_VERSION-for-setActiveWin.patch + +------------------------------------------------------------------- +Mon Apr 3 10:01:48 UTC 2023 - Christophe Marin + +- Update to 6.5.0 + * https://www.qt.io/blog/qt-6.5-lts-released + * Includes fix for boo#1215178, QTBUG-109474, QTCREATORBUG-28593 +- Drop patch, merged upstream: + * 0001-Avoid-resetting-CMAKE_AUTOMOC_MACRO_NAMES.patch + +------------------------------------------------------------------- +Thu Mar 16 09:59:57 UTC 2023 - Christophe Marin + +- Update to 6.4.3: + * https://www.qt.io/blog/qt-6.4.3-released +- Drop patch, merged upstream: + * CVE-2023-24607-qtbase-6.4.diff +- Add patch to silence moc warnings: + * 0001-Avoid-resetting-CMAKE_AUTOMOC_MACRO_NAMES.patch + +------------------------------------------------------------------- +Wed Feb 8 17:48:36 UTC 2023 - Christophe Marin + +- Fix a possible DOS in the Qt ODBC driver plugin (CVE-2023-24607, + bsc#1209616): + * CVE-2023-24607-qtbase-6.4.diff + +------------------------------------------------------------------- +Fri Jan 6 16:46:36 UTC 2023 - Christophe Marin + +- Update to 6.4.2: + * https://www.qt.io/blog/qt-6.4.2-released + +------------------------------------------------------------------- +Tue Nov 15 11:53:07 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.1: + * https://www.qt.io/blog/qt-6.4.1-released + +------------------------------------------------------------------- +Sun Oct 16 07:39:21 UTC 2022 - Christophe Giboudeaux + +- Make sure the QPA and wayland-related plugins are installed if + needed + +------------------------------------------------------------------- +Thu Sep 29 10:35:48 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.0: + * https://www.qt.io/blog/qt-6.4-released + +------------------------------------------------------------------- +Fri Sep 16 08:29:02 UTC 2022 - Christophe Giboudeaux + +- Update to 6.4.0 RC + +------------------------------------------------------------------- +Fri Sep 9 12:41:32 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.2: + * https://www.qt.io/blog/qt-6.3.2-released + +------------------------------------------------------------------- +Fri Jun 17 15:15:01 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.1: + * https://www.qt.io/blog/qt-6.3.1-released +- Drop patches, now upstream: + * 0001-CMake-Don-t-hardcode-the-library-directory-name.patch + * 0001-XCB-fix-GCC-12-warning-about-uninitialized-variable-.patch + * 0001-Fix-build-with-GCC12-avoid-QCborStreamReader-prepars.patch + * 0001-QtOpenGL-Fix-build-with-GCC-12-qt_imageForBrush-is-i.patch + +------------------------------------------------------------------- +Tue May 10 07:30:33 UTC 2022 - Christophe Giboudeaux + +- Add GCC 12 compatibility changes: + * 0001-XCB-fix-GCC-12-warning-about-uninitialized-variable-.patch + * 0001-Fix-build-with-GCC12-avoid-QCborStreamReader-prepars.patch + * 0001-QtOpenGL-Fix-build-with-GCC-12-qt_imageForBrush-is-i.patch + +------------------------------------------------------------------- +Tue May 3 11:25:01 UTC 2022 - Fabian Vogt + +- Require the SSL devel package it was built with, not just any + pkgconfig(openssl). Otherwise it is satisfied with libressl-devel + even if it was built with openssl-devel. + +------------------------------------------------------------------- +Fri Apr 8 11:56:51 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.0: + * https://www.qt.io/blog/qt-6.3-released + +------------------------------------------------------------------- +Tue Mar 29 12:28:29 UTC 2022 - Christophe Giboudeaux + +- Update to 6.3.0-rc +- Add patch: + * 0001-CMake-Don-t-hardcode-the-library-directory-name.patch +- Update build constraints + +------------------------------------------------------------------- +Mon Mar 21 08:46:52 UTC 2022 - Christophe Giboudeaux + +- Update to 6.2.4 + * https://www.qt.io/blog/qt-6.2.4-released +- Drop 0001-QProcess-Unix-ensure-we-don-t-accidentally-execute-s.patch + Merged upstream. + +------------------------------------------------------------------- +Wed Mar 2 09:16:10 UTC 2022 - Christophe Giboudeaux + +- Add upstream change (boo#1196501, CVE-2022-25255): + * 0001-QProcess-Unix-ensure-we-don-t-accidentally-execute-s.patch +- Install qt6-core-private-devel when installing qt6-core-devel + (boo#1195368) + +------------------------------------------------------------------- +Mon Jan 31 08:54:21 UTC 2022 - Christophe Giboudeaux + +- Update to 6.2.3: + * https://www.qt.io/blog/qt-6.2.3-released + +------------------------------------------------------------------- +Wed Dec 22 13:47:40 UTC 2021 - Antonio Larrosa + +- Increase the memory constraint to fix a oom failure + +------------------------------------------------------------------- +Wed Dec 1 10:05:54 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.2 + * https://www.qt.io/blog/qt-6.2.2-released +- Make sure all dependencies are present when installing devel + packages. Qt >= 6.2.2 is much less permissive. +- Drop 0001-qscrollarea-performance-fix.patch. Merged upstream. + +------------------------------------------------------------------- +Thu Nov 4 20:59:52 UTC 2021 - Jonas Kvinge + +- Add patch for critical performance regression in qscrollarea + * 0001-qscrollarea-performance-fix.patch + +------------------------------------------------------------------- +Tue Oct 26 11:22:28 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.1 + * https://www.qt.io/blog/qt-6.2.1-released + + +------------------------------------------------------------------- +Thu Sep 30 12:25:46 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0: + * https://www.qt.io/blog/qt-6.2-lts-released + +------------------------------------------------------------------- +Sat Sep 25 07:18:33 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0-rc2 + +------------------------------------------------------------------- +Thu Sep 16 14:07:31 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0-rc + +------------------------------------------------------------------- +Thu Sep 9 14:04:56 UTC 2021 - Christophe Giboudeaux + +- Update to 6.2.0-beta4 + +------------------------------------------------------------------- +Wed Sep 1 13:03:23 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.3: + * https://www.qt.io/blog/qt-6.1.3-released + +------------------------------------------------------------------- +Fri Jul 2 14:07:30 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.2. New bugfix release: + * https://www.qt.io/blog/qt-6.1.2-released + +------------------------------------------------------------------- +Tue Jun 8 05:54:07 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.1: + * https://www.qt.io/blog/qt-6.1.1-released + +------------------------------------------------------------------- +Sat Jun 5 15:50:54 UTC 2021 - Christophe Giboudeaux + +- Update the minimum disk size. Leap 15.3 needs more than 13G. +- Also require at least 4 cores. + +------------------------------------------------------------------- +Thu May 6 17:10:11 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.0: + * https://www.qt.io/blog/qt-6.1-released + +------------------------------------------------------------------- +Fri Apr 23 14:11:33 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.0-rc. + +------------------------------------------------------------------- +Sat Apr 17 08:04:45 UTC 2021 - Christophe Giboudeaux + +- Stop owning directories provided by the filesystem package (boo#1184786) + +------------------------------------------------------------------- +Tue Apr 13 06:29:24 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.0-beta3. + +------------------------------------------------------------------- +Wed Mar 31 13:29:44 UTC 2021 - Christophe Giboudeaux + +- Update to 6.0.3 + * https://www.qt.io/blog/qt-6.0.3-released + +------------------------------------------------------------------- +Sat Mar 20 17:12:40 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.0-beta2 +- Drop fix-fixqt4headers.patch. No longer needed. + +------------------------------------------------------------------- +Fri Mar 5 17:23:59 UTC 2021 - Christophe Giboudeaux + +- Update to 6.1.0-beta1 + https://www.qt.io/blog/qt-6.1-beta-released + +------------------------------------------------------------------- +Fri Mar 5 09:31:18 UTC 2021 - Christophe Giboudeaux + +- Update to 6.0.2: + https://www.qt.io/blog/qt-6.0.2-released + +------------------------------------------------------------------- +Wed Feb 3 16:54:58 UTC 2021 - Christophe Giboudeaux + +- Update to 6.0.1 + https://www.qt.io/blog/qt-6.0.1-released +- Drop patches: + * 0001-Fix-QCache-Crash.patch + * 0001-CMake-Fix-conditions-for-some-subarch-features.patch + * 0001-CMake-strip-the-executable-bit-from-qt-cmake-private.patch +- Enable ltcg where possible. + +------------------------------------------------------------------- +Sat Jan 23 20:24:22 UTC 2021 - Mykola Krachkovsky + +- Remove uikit qmake spec to avoid automatic dep on python2 + +------------------------------------------------------------------- +Wed Dec 16 11:26:03 UTC 2020 - Christophe Giboudeaux + +- Use a different 'Name' when building the docs flavor. + +------------------------------------------------------------------- +Fri Dec 11 15:56:51 UTC 2020 - Jonas Kvinge + +- Add patch for critical bug: QCache related crashes. + * 0001-Fix-QCache-Crash.patch + +------------------------------------------------------------------- +Tue Dec 8 14:09:01 UTC 2020 - Christophe Giboudeaux + +- Update to 6.0.0: + * https://www.qt.io/blog/qt-6.0-released + +------------------------------------------------------------------- +Mon Dec 7 18:42:26 UTC 2020 - Christophe Giboudeaux + +- libQt6Core6 now owns most of runtime folders and + qt6-base-common-devel owns development ones. + +------------------------------------------------------------------- +Thu Dec 3 17:59:47 UTC 2020 - Christophe Giboudeaux + +- Disable the reduce_relocations option. (boo#1175278, QTBUG-86173) + +------------------------------------------------------------------- +Wed Dec 2 12:08:58 UTC 2020 - Christophe Giboudeaux + +- Qt 6.0.0 RC2 + +------------------------------------------------------------------- +Wed Dec 2 11:06:59 UTC 2020 - Christophe Giboudeaux + +- Add the missing openssl dependency for qt6-network-private-devel + +------------------------------------------------------------------- +Mon Nov 30 16:55:57 UTC 2020 - Christophe Giboudeaux + +- Add upstream patches: + * 0001-CMake-strip-the-executable-bit-from-qt-cmake-private.patch + * 0001-CMake-Fix-conditions-for-some-subarch-features.patch + +------------------------------------------------------------------- +Wed Nov 25 14:19:54 UTC 2020 - Christophe Giboudeaux + +- Update to 6.0.0~rc1 + +------------------------------------------------------------------- +Tue Nov 17 07:26:23 UTC 2020 - Christophe Giboudeaux + +- Update to 6.0.0~beta5 +- Drop upstream patches: + * 0001-CMake-Potentially-use-INSTALL_LIBDIR-in-qt6_extract_.patch + * 0001-CMake-Allow-using-DESTDIR-when-installing-documentat.patch + * 0001-CMake-Make-zstd-config-based-lookup-quiet.patch + +------------------------------------------------------------------- +Tue Nov 10 18:40:31 UTC 2020 - Christophe Giboudeaux + +- Update to 6.0.0~beta4 +- Replace patches: + * 0001-CMake-Allow-using-DESTDIR-when-installing-documentat.patch + (replaces 0001-cmake-Fix-doc-installation.patch) + * 0001-CMake-Potentially-use-INSTALL_LIBDIR-in-qt6_extract_.patch + (replaces 0001-cmake-Don-t-hardcode-the-library-directory-name.patch) +- Add upstream patch: + * 0001-CMake-Locate-zstd-using-CONFIG.patch + +------------------------------------------------------------------- +Tue Oct 20 07:47:07 UTC 2020 - Christophe Giboudeaux + +- Update to 6.0.0beta1 + https://www.qt.io/blog/qt-6.0-beta-released + +------------------------------------------------------------------- +Wed Oct 7 12:24:40 UTC 2020 - Christophe Giboudeaux + +- Turn more options on: + * link to openSSL + * libproxy usage + +------------------------------------------------------------------- +Tue Oct 6 19:41:23 UTC 2020 - Christophe Giboudeaux + +- Update to 6.0.0-alpha + https://www.qt.io/blog/qt-6.0-alpha-released +- Import fix-fixqt4headers.patch from libqt5-qtbase +- Add patches: + * 0001-cmake-Fix-doc-installation.patch + * 0001-cmake-Don-t-hardcode-the-library-directory-name.patch + +------------------------------------------------------------------- +Sun Sep 20 08:25:20 UTC 2020 - Christophe Giboudeaux + +- Resurrect 0001-Tell-the-truth-about-private-API.patch from + libqt5-qtbase + +------------------------------------------------------------------- +Tue Jan 21 22:38:13 UTC 2020 - Christophe Giboudeaux + +- Add a qt6-printsupport-cups package for the cups plugin +- Add the journald option back + +------------------------------------------------------------------- +Tue Jan 21 22:19:11 UTC 2020 - Christophe Giboudeaux + +- Split the changes into smaller commits +- Fixed the wrong paths in CMake config files +- Fixed the mkspecs install dir. Everything is in qt6_mkspecsdir now. + +------------------------------------------------------------------- +Tue Dec 31 09:06:08 UTC 2019 - Christophe Giboudeaux + +- Experimental qt6-qtbase package diff --git a/qt6-base.spec b/qt6-base.spec new file mode 100644 index 0000000..040e779 --- /dev/null +++ b/qt6-base.spec @@ -0,0 +1,1286 @@ +# +# spec file for package qt6-base +# +# Copyright (c) 2024 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/ +# + + +%define real_version 6.7.3 +%define short_version 6.7 +%define tar_name qtbase-everywhere-src +%define tar_suffix %{nil} +# +%global qt6_flavor @BUILD_FLAVOR@%{nil} +%if "%{qt6_flavor}" == "docs" +%define pkg_suffix -docs +%endif +# +%ifarch %{arm} aarch64 +%global with_gles 1 +%endif +%if 0%{?suse_version} > 1500 +%bcond_without system_md4c +%endif +Name: qt6-base%{?pkg_suffix} +Version: 6.7.3 +Release: 0 +Summary: Qt 6 core components (Core, Gui, Widgets, Network...) +# Legal: qtpaths is BSD-3-Clause +License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 OR LGPL-3.0-only +URL: https://www.qt.io +Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz +Source99: qt6-base-rpmlintrc +# Patches 0-100 are upstream patches # +# Patches 100-200 are openSUSE and/or non-upstream(able) patches # +# No need to pollute the library dir with object files, install them in the qt6 subfolder +Patch100: 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch +%if 0%{?suse_version} == 1500 +Patch101: 0001-Use-newer-GCC-on-Leap.patch +%endif +Patch102: 0001-Don-t-strip-binaries-when-building-with-qmake.patch +## +BuildRequires: cmake >= 3.18.3 +BuildRequires: cups-devel +# The default GCC version in Leap 15 is too old +%if 0%{?suse_version} == 1500 +BuildRequires: gcc13-PIE +BuildRequires: gcc13-c++ +%else +BuildRequires: gcc-c++ +%endif +BuildRequires: libicu-devel +BuildRequires: libmysqlclient-devel +BuildRequires: libproxy-devel +# Feature is disabled by default +# BuildRequires: lksctp-tools-devel +BuildRequires: pcre2-devel +BuildRequires: perl +BuildRequires: pkgconfig +BuildRequires: qt6-macros +BuildRequires: xmlstarlet +BuildRequires: cmake(double-conversion) +%if %{with system_md4c} +BuildRequires: cmake(md4c) +%endif +BuildRequires: pkgconfig(atspi-2) +BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(krb5-gssapi) +BuildRequires: pkgconfig(libb2) +BuildRequires: pkgconfig(libbrotlicommon) +BuildRequires: pkgconfig(libbrotlidec) +BuildRequires: pkgconfig(libbrotlienc) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libinput) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libpq) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libturbojpeg) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(mtdev) +BuildRequires: pkgconfig(odbc) +BuildRequires: pkgconfig(opengl) +BuildRequires: pkgconfig(openssl) >= 1.1.1 +BuildRequires: pkgconfig(sm) +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(tslib) +BuildRequires: pkgconfig(vulkan) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(x11-xcb) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-cursor) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-image) +BuildRequires: pkgconfig(xcb-keysyms) +BuildRequires: pkgconfig(xcb-renderutil) +BuildRequires: pkgconfig(xcb-util) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xkbcommon-x11) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(zlib) +%if 0%{?with_gles} +BuildRequires: Mesa-libGLESv3-devel +BuildRequires: pkgconfig(glesv2) +%endif +# Not available for armv7l, s390x and riscv64 +%ifnarch %{arm} s390x riscv64 +BuildRequires: pkgconfig(lttng-ust) +%endif +%if "%{qt6_flavor}" == "docs" +BuildRequires: qt6-tools +%{qt6_doc_packages} +%endif + +%description +Qt is a set of libraries for developing applications. + +This package contains base tools, like string, xml, and network +handling. + +%if !%{qt6_docs_flavor} + +%package devel +Summary: Qt 6 base development meta package +Requires: qt6-base-common-devel +Requires: cmake(Qt6Concurrent) = %{real_version} +Requires: cmake(Qt6Core) = %{real_version} +Requires: cmake(Qt6DBus) = %{real_version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Network) = %{real_version} +Requires: cmake(Qt6OpenGL) = %{real_version} +Requires: cmake(Qt6OpenGLWidgets) = %{real_version} +Requires: cmake(Qt6PrintSupport) = %{real_version} +Requires: cmake(Qt6Sql) = %{real_version} +Requires: cmake(Qt6Test) = %{real_version} +Requires: cmake(Qt6Widgets) = %{real_version} +Requires: cmake(Qt6Xml) = %{real_version} +BuildArch: noarch + +%description devel +This meta-package requires all the qt6-base development packages. + +%package private-devel +Summary: Qt 6 base unstable ABI meta package +Requires: qt6-base-devel = %{version} +Requires: qt6-core-private-devel = %{version} +Requires: qt6-dbus-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} +Requires: qt6-kmssupport-private-devel = %{version} +Requires: qt6-network-private-devel = %{version} +Requires: qt6-opengl-private-devel = %{version} +Requires: qt6-platformsupport-private-devel = %{version} +Requires: qt6-printsupport-private-devel = %{version} +Requires: qt6-sql-private-devel = %{version} +Requires: qt6-test-private-devel = %{version} +Requires: qt6-widgets-private-devel = %{version} +Requires: qt6-xml-private-devel = %{version} +BuildArch: noarch + +%description private-devel +This meta-package requires all the qt6-base development packages that do not +have any ABI or API guarantees. + +%package common-devel +Summary: Qt 6 Core development utilities +Requires: cmake +Requires: gcc-c++ +Requires: pkgconfig +Requires: qt6-macros +# qtpaths moved from qt6-tools to qt6-base with Qt 6.2 +Provides: qt6-tools-qtpaths = 6.2.0 +Obsoletes: qt6-tools-qtpaths < 6.2.0 + +%description common-devel +Qt 6 Core development utilities. +It contains the qtbase utilities and definitions. + +%package -n libQt6Concurrent6 +Summary: Qt 6 Concurrent library +Requires: libQt6Core6 = %{version} + +%description -n libQt6Concurrent6 +The QtConcurrent namespace provides high-level APIs that help write +multi-threaded programs without using low-level threading primitives +such as mutexes, read-write locks, wait conditions, or semaphores. +Programs written with QtConcurrent automatically adjust the number of +threads used according to the number of processor cores available. + +QtConcurrent includes functional programming style APIs for parallel +list processing, including a MapReduce and FilterReduce +implementation for shared-memory (non-distributed) systems, and +classes for managing asynchronous computations in GUI applications. + +%package -n qt6-concurrent-devel +Summary: Development files for the Qt 6 Concurrent library +Requires: libQt6Concurrent6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} + +%description -n qt6-concurrent-devel +Development files for the Qt 6 Concurrent library. + +%package -n libQt6Core6 +Summary: Qt 6 Core library +Recommends: qt6-translations + +%description -n libQt6Core6 +The Qt 6 Core library. It adds these features to C++: + +* a mechanism for object communication called signals and slots +* queryable and designable object properties +* hierarchical and queryable object trees that organize +* object ownership in a natural way with guarded pointers (QPointer) +* a dynamic cast that works across library boundaries + +%package -n qt6-core-devel +Summary: Development files for the Qt 6 Core library +Requires: libQt6Core6 = %{version} +Requires: qt6-base-common-devel = %{version} +%if 0%{?suse_version} == 1500 +# Some public classes require C++ 17 features +Requires: gcc13-PIE +Requires: gcc13-c++ +%endif + +%description -n qt6-core-devel +Development files for the Qt 6 Core library. + +%package -n qt6-core-private-devel +Summary: Non-ABI stable API for the Qt 6 Core library +Requires: cmake(Qt6Core) = %{real_version} + +%description -n qt6-core-private-devel +This package provides private headers of libQt6Core that do not have any +ABI or API guarantees. + +%package -n libQt6DBus6 +Summary: Qt6 D-Bus library +Requires: libQt6Core6 = %{version} + +%description -n libQt6DBus6 +The Qt D-Bus module is a library that can be used to perform +inter-process communication using the D-Bus protocol. + +%package -n qt6-dbus-devel +Summary: Development files for the Qt 6 D-Bus library +Requires: libQt6DBus6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} + +%description -n qt6-dbus-devel +Development files for the Qt 6 D-Bus library. This package also +contains Qt6's qdbusxml2cpp and qdbuscpp2xml binaries. + +%package -n qt6-dbus-private-devel +Summary: Non-ABI stable API for the Qt 6 D-Bus library +Requires: qt6-core-private-devel = %{version} +Requires: cmake(Qt6DBus) = %{real_version} + +%description -n qt6-dbus-private-devel +This package provides private headers of libQt6DBus that do not have any +ABI or API guarantees. + +%package -n libQt6Gui6 +Summary: Qt 6 GUI related libraries +Requires: libQt6Core6 = %{version} +Requires: libQt6DBus6 = %{version} +# This package provides the wayland QPA and related plugins +Requires: (qt6-wayland if xwayland) +Recommends: qt6-imageformats = %{version} + +%description -n libQt6Gui6 +The Qt GUI module provides classes for windowing system integration, +event handling, OpenGL and OpenGL ES integration, 2D graphics, basic +imaging, fonts and text. These classes are used internally by Qt's +user interface code and can also be used directly, for instance, to +write applications using low-level OpenGL ES graphics APIs. + +For application developers writing user interfaces, Qt provides +higher level APIs, like Qt Quick, which are much more suitable than +the enablers found in the Qt GUI module. + +%package -n qt6-gui-devel +Summary: Development files for the Qt 6 GUI libraries +Requires: libQt6Gui6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} +Requires: cmake(Qt6DBus) = %{real_version} +Requires: pkgconfig(atspi-2) +Requires: pkgconfig(egl) +Requires: pkgconfig(libdrm) +Requires: pkgconfig(vulkan) +Requires: pkgconfig(xkbcommon) >= 0.4.1 +%if 0%{?with_gles} +Requires: Mesa-libGLESv3-devel +Requires: pkgconfig(gbm) +Requires: pkgconfig(glesv2) +%else +Requires: pkgconfig(gl) +%endif + +%description -n qt6-gui-devel +Development files for the Qt 6 GUI libraries. + +%package -n qt6-gui-private-devel +Summary: Non-ABI stable API for the Qt 6 GUI libraries +Requires: libQt6Gui6 = %{version} +Requires: qt6-core-private-devel = %{version} +Requires: qt6-kmssupport-private-devel = %{version} +Requires: qt6-opengl-private-devel = %{version} +Requires: cmake(Qt6DeviceDiscoverySupportPrivate) = %{real_version} +Requires: cmake(Qt6EglFSDeviceIntegrationPrivate) = %{real_version} +Requires: cmake(Qt6EglFsKmsSupportPrivate) = %{real_version} +Requires: cmake(Qt6FbSupportPrivate) = %{real_version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6InputSupportPrivate) = %{real_version} +Requires: pkgconfig(xkbcommon) + +%description -n qt6-gui-private-devel +This package provides private headers of libQt6Gui that do not have any +ABI or API guarantees. + +%package -n libQt6Network6 +Summary: Qt 6 Network library +Requires: libQt6Core6 = %{version} +Requires: libQt6DBus6 = %{version} +# Require network plugins. The library is not very useful without these +Requires: qt6-network-tls = %{version} +Requires: qt6-networkinformation-glib = %{version} +Requires: qt6-networkinformation-nm = %{version} + +%description -n libQt6Network6 +Qt Network provides a set of APIs for programming applications that +use TCP/IP. Operations such as requests, cookies, and sending data +over HTTP are handled by various C++ classes. + +%package -n qt6-network-devel +Summary: Development files for the Qt 6 Network library +Requires: libQt6Network6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} +# Until https://bugreports.qt.io/browse/QTBUG-87776 is fixed, CMake will +# report the optional WrapOpenSSL dependency is not found. This is expected. +# openSSL is only needed for the private link target. + +%description -n qt6-network-devel +Development files for the Qt 6 Network library. + +%package -n qt6-network-private-devel +Summary: Non-ABI stable API for the Qt 6 Network library +Requires: qt6-core-private-devel = %{version} +Requires: cmake(Qt6Network) = %{real_version} +%requires_ge %(rpm -q --whatprovides "pkgconfig(openssl)" | grep -v noarch) + +%description -n qt6-network-private-devel +This package provides private headers of libQt6Network that do not have any +ABI or API guarantees. + +%package -n libQt6OpenGL6 +Summary: Qt 6 OpenGL library +Requires: libQt6Widgets6 = %{version} + +%description -n libQt6OpenGL6 +The Qt OpenGL module provides an OpenGL widget class that can be used +like any other Qt widget, except that it opens an OpenGL display +buffer where the OpenGL API can be used to render the contents. + +%package -n qt6-opengl-devel +Summary: Development files for the Qt 6 OpenGL library +Requires: libQt6OpenGL6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} +Requires: cmake(Qt6Gui) = %{real_version} +%if 0%{?with_gles} +Requires: Mesa-libGLESv3-devel +Requires: pkgconfig(glesv2) +%else +Requires: pkgconfig(gl) +%endif + +%description -n qt6-opengl-devel +Development files for the Qt 6 OpenGL library. + +%package -n qt6-opengl-private-devel +Summary: Non-ABI stable API for the Qt 6 OpenGL library +Requires: qt6-core-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} +Requires: cmake(Qt6OpenGL) = %{real_version} + +%description -n qt6-opengl-private-devel +This package provides private headers of libQt6OpenGL that do not have any +ABI or API guarantees. + +%package -n libQt6OpenGLWidgets6 +Summary: Qt 6 OpenGLWidgets library +Requires: libQt6Widgets6 = %{version} + +%description -n libQt6OpenGLWidgets6 +The Qt OpenGL Widgets module provides an OpenGLWidgets class that can be used +like any other Qt widget, except that it opens an OpenGL display +buffer where the OpenGL API can be used to render the contents. + +%package -n qt6-openglwidgets-devel +Summary: Development files for the Qt 6 OpenGLWidgets library +Requires: libQt6OpenGLWidgets6 = %{version} +Requires: cmake(Qt6OpenGL) = %{real_version} +Requires: cmake(Qt6Widgets) = %{real_version} +%if 0%{?with_gles} +Requires: Mesa-libGLESv3-devel +Requires: pkgconfig(glesv2) +%else +Requires: pkgconfig(gl) +%endif + +%description -n qt6-openglwidgets-devel +Development files for the Qt 6 OpenGLWidgets library. + +%package -n libQt6PrintSupport6 +Summary: Qt 6 PrintSupport library +Requires: libQt6Widgets6 = %{version} +Requires: qt6-printsupport-cups = %{version} + +%description -n libQt6PrintSupport6 +An abstraction over the platform-specific printing systems. Using +this library, Qt applications can print to attached printers and +across networks to remote printers. Qt's printing system also +supports PDF file generation, providing the foundation for basic +report generation facilities. + +%package -n qt6-printsupport-devel +Summary: Development files for the Qt 6 PrintSupport library +# Due to QTBUG-87776, the dependency needs to be in qt6-printsupport-devel +Requires: cups-devel +Requires: libQt6PrintSupport6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} +Requires: cmake(Qt6Gui) = %{real_version} +Requires: cmake(Qt6Widgets) = %{real_version} + +%description -n qt6-printsupport-devel +Development files for the Qt 6 PrintSupport library. + +%package -n qt6-printsupport-private-devel +Summary: Non-ABI stable API for the Qt 6 PrintSupport library +Requires: qt6-core-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} +Requires: qt6-widgets-private-devel = %{version} +Requires: cmake(Qt6PrintSupport) = %{real_version} + +%description -n qt6-printsupport-private-devel +This package provides private headers of libQt6PrintSupport that do not have any +ABI or API guarantees. + +%package -n libQt6Sql6 +Summary: Qt 6 SQL related library +Requires: libQt6Core6 = %{version} + +%description -n libQt6Sql6 +A Qt 6 library which is used for connection with an SQL server. You +will need also a plugin package for a supported SQL server. + +%package -n qt6-sql-devel +Summary: Development files for the Qt 6 SQL library +Requires: libQt6Sql6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} +Suggests: qt6-sql-mysql = %{version} +Suggests: qt6-sql-postgresql = %{version} +Suggests: qt6-sql-sqlite = %{version} +Suggests: qt6-sql-unixODBC = %{version} + +%description -n qt6-sql-devel +Development files for the Qt 6 SQL library + +%package -n qt6-sql-private-devel +Summary: Non-ABI stable API for the Qt 6 SQL library +Requires: qt6-core-private-devel = %{version} +Requires: cmake(Qt6Sql) = %{real_version} + +%description -n qt6-sql-private-devel +This package provides private headers of libQt6Sql that do not have any +ABI or API guarantees. + +%package -n libQt6Test6 +Summary: Qt 6 Test library +Requires: libQt6Core6 = %{version} + +%description -n libQt6Test6 +Qt Test is a framework for unit testing Qt based applications and +libraries. Qt Test provides functionality commonly found in unit +testing frameworks as well as extensions for testing graphical user +interfaces. + +%package -n qt6-test-devel +Summary: Development files for the Qt 6 Test library +Requires: libQt6Test6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} + +%description -n qt6-test-devel +Development files for the Qt 6 Test library. + +%package -n qt6-test-private-devel +Summary: Non-ABI stable API for the Qt 6 Test library +Requires: qt6-core-private-devel = %{version} +Requires: cmake(Qt6Test) = %{real_version} + +%description -n qt6-test-private-devel +This package provides private headers of libQt6Test that do not have any +ABI or API guarantees. + +%package -n libQt6Widgets6 +Summary: Qt 6 Widgets library +Requires: libQt6Gui6 = %{version} + +%description -n libQt6Widgets6 +The Qt Widgets library provides a set of UI elements to create classic +desktop-style user interfaces. + +%package -n qt6-widgets-devel +Summary: Development files for the Qt 6 Widgets library +Requires: libQt6Widgets6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} +Requires: cmake(Qt6Gui) = %{real_version} + +%description -n qt6-widgets-devel +Development files for the Qt 6 Widgets library. + +%package -n qt6-widgets-private-devel +Summary: Non-ABI stable API for the Qt 6 Widgets library +Requires: qt6-core-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} +Requires: cmake(Qt6Widgets) = %{real_version} + +%description -n qt6-widgets-private-devel +This package provides private headers of libQt6Widgets that do not have any +ABI or API guarantees. + +%package -n libQt6Xml6 +Summary: Qt 6 XML library +Requires: libQt6Core6 = %{version} + +%description -n libQt6Xml6 +The Qt XML module provides C++ implementations of the SAX and DOM +standards for XML. + +%package -n qt6-xml-devel +Summary: Development files for the Qt 6 XML library +Requires: libQt6Xml6 = %{version} +Requires: cmake(Qt6Core) = %{real_version} + +%description -n qt6-xml-devel +Development files for the Qt 6 XML library. + +(The module is not actively maintained anymore. Please use the +QXmlStreamReader and QXmlStreamWriter classes in Qt Core instead.) + +%package -n qt6-xml-private-devel +Summary: Non-ABI stable API for the Qt 6 XML library +Requires: qt6-core-private-devel = %{version} +Requires: cmake(Qt6Xml) = %{real_version} + +%description -n qt6-xml-private-devel +This package provides private headers of libQt6Xml that do not have any +ABI or API guarantees. + +%package -n qt6-docs-common +Summary: Common files for building documentation +BuildArch: noarch + +%description -n qt6-docs-common +This package contains common files used for building Qt documentation. + + +### Static libraries ### + +%package -n qt6-exampleicons-devel-static +Summary: Qt ExampleIcons module +# TODO +Requires: qt6-core-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} + +%description -n qt6-exampleicons-devel-static +Qt icon library for examples. This private library can be used by Qt examples. + +%package -n qt6-kmssupport-devel-static +Summary: Qt KMSSupport module +Requires: qt6-core-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} + +%description -n qt6-kmssupport-devel-static +Qt module to support Kernel Mode Setting. + +%package -n qt6-kmssupport-private-devel +Summary: Non-ABI stable API for the Qt 6 KMSSupport library +Requires: qt6-kmssupport-devel-static = %{version} + +%description -n qt6-kmssupport-private-devel +This package provides private headers of libQt6KmsSupport that do not have any +ABI or API guarantees. + +%package -n qt6-platformsupport-devel-static +Summary: Qt PlatformSupport module +Requires: qt6-core-private-devel = %{version} +Requires: qt6-gui-private-devel = %{version} +Requires: pkgconfig(atspi-2) +Requires: pkgconfig(egl) +Requires: pkgconfig(fontconfig) +Requires: pkgconfig(freetype2) +Requires: pkgconfig(gl) +Requires: pkgconfig(glib-2.0) +Requires: pkgconfig(libinput) +Requires: pkgconfig(libudev) +Requires: pkgconfig(mtdev) +Requires: pkgconfig(tslib) +Requires: pkgconfig(x11) +Requires: pkgconfig(xext) +Requires: pkgconfig(xkbcommon) >= 0.4.1 +Requires: pkgconfig(xkbcommon-x11) >= 0.4.1 +Requires: pkgconfig(xrender) + +%description -n qt6-platformsupport-devel-static +Qt PlatformSupport module. + +%package -n qt6-platformsupport-private-devel +Summary: Non-ABI stable API for the Qt6 PlatformSupport library +Requires: qt6-platformsupport-devel-static = %{version} + +%description -n qt6-platformsupport-private-devel +This package provides private headers of libQt6PlatformSupport that do not have +any ABI or API guarantees. + + +### Plugins ### + +%package -n qt6-networkinformation-glib +Summary: Network information for QNetworkInformation using GNetworkMonitor + +%description -n qt6-networkinformation-glib +Plugin using GNetworkMonitor to get network information such as the +reachability, media type... + +%package -n qt6-networkinformation-nm +Summary: Network information for QNetworkInformation +# Renamed in Qt 6.2 +Provides: qt6-network-informationbackends = 6.2.0 +Obsoletes: qt6-network-informationbackends < 6.2.0 + +%description -n qt6-networkinformation-nm +Plugin used to get network information such as the reachability, media type... + +%package -n qt6-network-tls +Summary: Backends used to handle secure connections + +%description -n qt6-network-tls +TLS (and non-TLS) plugins used by the QSsl classes. + +%package -n qt6-platformtheme-gtk3 +Summary: Qt 6 GTK3 plugin +Requires: libQt6Gui6 = %{version} +Supplements: (libQt6Gui6 and libgtk-3-0) + +%description -n qt6-platformtheme-gtk3 +Qt 6 plugin for better integration with GTK3-based desktop environments. + +%package -n qt6-platformtheme-xdgdesktopportal +Summary: Qt 6 XDG Desktop Portal Plugin +Requires: libQt6Gui6 = %{version} + +%description -n qt6-platformtheme-xdgdesktopportal +Qt 6 plugin for integration with Flatpak and Snap. + +%package -n qt6-printsupport-cups +Summary: Qt 6 CUPS plugin +Requires: libQt6PrintSupport6 = %{version} + +%description -n qt6-printsupport-cups +The Qt printsupport CUPS plugin. + +%package -n qt6-sql-mysql +Summary: Qt 6 MySQL support +Requires: libQt6Sql6 = %{version} + +%description -n qt6-sql-mysql +A plugin to access MySQL servers in Qt applications. + +%package -n qt6-sql-postgresql +Summary: Qt 6 PostgreSQL plugin +Requires: libQt6Sql6 = %{version} + +%description -n qt6-sql-postgresql +A plugin to access PostgreSQL servers in Qt applications. + +The QPSQL driver supports version 9 and higher of the PostgreSQL +server. + +%package -n qt6-sql-sqlite +Summary: Qt 6 SQLite plugin +Requires: libQt6Sql6 = %{version} + +%description -n qt6-sql-sqlite +A plugin to access SQLite databases in Qt applications. + +SQLite is an in-process database, which means that it is not +necessary to have a database server. SQLite operates on a single +file, which must be set as the database name when opening a +connection. + +%package -n qt6-sql-unixODBC +Summary: Qt 6 unixODBC plugin +Requires: libQt6Sql6 = %{version} + +%description -n qt6-sql-unixODBC +A plugin to connect to an ODBC driver manager in Qt applications and +access the available data sources. Note that you also need to install +and configure ODBC drivers for the ODBC driver manager that is +installed on your system. + +%{qt6_examples_package} + +%endif + +%prep +%autosetup -p1 -n %{tar_name}-%{real_version}%{tar_suffix} + +# Copy the freetype license file to prevent errors when building docs +cp src/3rdparty/freetype/LICENSE.txt src/gui/painting/FREETYPE_LICENSE.txt +sed -i 's#../../3rdparty/freetype/LICENSE.txt#FREETYPE_LICENSE.txt#' src/gui/painting/qt_attribution.json + +# We don't want to use these 3rdparty libraries +rm -r src/3rdparty/{blake2,double-conversion,freetype,harfbuzz-ng,libjpeg,libpng,pcre2,sqlite,xcb,zlib} +%if %{with system_md4c} +rm -r src/3rdparty/md4c +%endif + +# Empty file used for the meta packages +cat >> meta_package << EOF +This is a meta package, it does not contain any file +EOF + +# Work around an issue with zstd CMake files (boo#1211566) +# TODO: Remove when the issue is fixed +sed -i '/zstd CONFIG/d' cmake/FindWrapZSTD.cmake + +%build +%define _lto_cflags %{nil} + +# NOTE: ltcg causes linker errors on ppc64 +%cmake_qt6 \ + -DINSTALL_ARCHDATADIR:STRING=%{_qt6_archdatadir} \ + -DINSTALL_BINDIR:STRING=%{_qt6_bindir} \ + -DINSTALL_DATADIR:STRING=%{_qt6_datadir} \ + -DINSTALL_DESCRIPTIONSDIR:STRING=%{_qt6_descriptionsdir} \ + -DINSTALL_DOCDIR:STRING=%{_qt6_docdir} \ + -DINSTALL_EXAMPLESDIR:STRING=%{_qt6_examplesdir} \ + -DINSTALL_INCLUDEDIR:STRING=%{_qt6_includedir} \ + -DINSTALL_LIBDIR:STRING=%{_qt6_libdir} \ + -DINSTALL_LIBEXECDIR:STRING=%{_qt6_libexecdir} \ + -DINSTALL_MKSPECSDIR:STRING=%{_qt6_mkspecsdir} \ + -DINSTALL_PLUGINSDIR:STRING=%{_qt6_pluginsdir} \ + -DINSTALL_QMLDIR:STRING=%{_qt6_qmldir} \ + -DINSTALL_SYSCONFDIR:STRING=%{_qt6_sysconfdir} \ + -DINSTALL_TESTSDIR:STRING=%{_qt6_testsdir} \ + -DINSTALL_TRANSLATIONSDIR:STRING=%{_qt6_translationsdir} \ + -DBUILD_WITH_PCH:BOOL=FALSE \ + -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ + -DQT_BUILD_EXAMPLES:BOOL=TRUE \ + -DQT_BUILD_TESTS:BOOL=FALSE \ + -DQT_CREATE_VERSIONED_HARD_LINK:BOOL=FALSE \ + -DQT_DISABLE_RPATH:BOOL=FALSE \ +%ifnarch ppc64 + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=TRUE \ +%endif + -DFEATURE_elf_private_full_version=TRUE \ + -DFEATURE_enable_new_dtags:BOOL=TRUE \ + -DFEATURE_journald:BOOL=TRUE \ + -DFEATURE_libproxy:BOOL=TRUE \ + -DFEATURE_reduce_relocations:BOOL=FALSE \ + -DFEATURE_relocatable:BOOL=FALSE \ + -DFEATURE_system_sqlite:BOOL=TRUE \ + -DFEATURE_system_xcb_xinput:BOOL=TRUE \ + -DFEATURE_xcb_native_painting:BOOL=TRUE \ + -DINPUT_openssl:STRING=linked \ + -DFEATURE_forkfd_pidfd:BOOL=FALSE \ +%if 0%{?with_gles} + -DINPUT_opengl:STRING=es2 \ + -DFEATURE_opengles3:BOOL=TRUE +%endif + +%{qt6_build} + +%install +%{qt6_install} + +%if !%{qt6_docs_flavor} + +# 'BuildFlags: useccache' in the repo prjconf 'taints' qt.toolchain.cmake +sed -i 's#/var/lib/build/ccache#/usr#g' %{buildroot}%{_qt6_cmakedir}/Qt6/qt.toolchain.cmake + +# Empty folders provided by libQt6Core6 and qt6-core-common-devel +mkdir -p %{buildroot}%{_qt6_sysconfdir} +mkdir -p %{buildroot}%{_qt6_testsdir} +mkdir -p %{buildroot}%{_qt6_translationsdir} + +%{qt6_link_executables} + +# CMake modules for plugins are not useful +rm %{buildroot}%{_qt6_cmakedir}/*/*Plugin{Config,ConfigVersion,Targets*}.cmake + +# There are no private headers +rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_concurrent_private.pri +rm %{buildroot}%{_qt6_mkspecsdir}/modules/qt_lib_openglwidgets_private.pri + +# These files are only useful for the Qt continuous integration +rm %{buildroot}%{_qt6_libexecdir}/ensure_pro_file.cmake +rm %{buildroot}%{_qt6_libexecdir}/qt-testrunner.py +rm %{buildroot}%{_qt6_libexecdir}/sanitizer-testrunner.py + +# This is only for Apple platforms and has a python2 dep +rm -r %{buildroot}%{_qt6_mkspecsdir}/features/uikit + +%ldconfig_scriptlets -n libQt6Concurrent6 +%ldconfig_scriptlets -n libQt6Core6 +%ldconfig_scriptlets -n libQt6DBus6 +%ldconfig_scriptlets -n libQt6Gui6 +%ldconfig_scriptlets -n libQt6Network6 +%ldconfig_scriptlets -n libQt6OpenGL6 +%ldconfig_scriptlets -n libQt6OpenGLWidgets6 +%ldconfig_scriptlets -n libQt6PrintSupport6 +%ldconfig_scriptlets -n libQt6Sql6 +%ldconfig_scriptlets -n libQt6Test6 +%ldconfig_scriptlets -n libQt6Widgets6 +%ldconfig_scriptlets -n libQt6Xml6 + +%files devel +%doc meta_package + +%files private-devel +%doc meta_package + +%files common-devel +# qt6-base-common-devel 'provides' the development related directories +%dir %{_qt6_cmakedir} +%dir %{_qt6_cmakedir}/Qt6BuildInternals +%dir %{_qt6_cmakedir}/Qt6BuildInternals/StandaloneTests +%dir %{_qt6_descriptionsdir} +%dir %{_qt6_includedir} +%dir %{_qt6_metatypesdir} +%dir %{_qt6_mkspecsdir} +%dir %{_qt6_mkspecsdir}/modules +%{_bindir}/androiddeployqt6 +%{_bindir}/androidtestrunner6 +%{_bindir}/qdbuscpp2xml6 +%{_bindir}/qdbusxml2cpp6 +%{_bindir}/qmake6 +%{_bindir}/qt-cmake6 +%{_bindir}/qt-cmake-create6 +%{_bindir}/qt-configure-module6 +%{_bindir}/qtpaths6 +%{_qt6_bindir}/androiddeployqt +%{_qt6_bindir}/androidtestrunner +%{_qt6_bindir}/qdbuscpp2xml +%{_qt6_bindir}/qdbusxml2cpp +%{_qt6_bindir}/qmake +%{_qt6_bindir}/qt-cmake +%{_qt6_bindir}/qt-cmake-create +%{_qt6_bindir}/qt-configure-module +%{_qt6_bindir}/qtpaths +%{_qt6_cmakedir}/Qt6/ +%{_qt6_cmakedir}/Qt6BuildInternals/Qt6BuildInternalsConfig.cmake +%{_qt6_cmakedir}/Qt6BuildInternals/Qt6BuildInternalsConfigVersion.cmake +%{_qt6_cmakedir}/Qt6BuildInternals/Qt6BuildInternalsConfigVersionImpl.cmake +%{_qt6_cmakedir}/Qt6BuildInternals/QtBuildInternalsExtra.cmake +%{_qt6_cmakedir}/Qt6BuildInternals/QtStandaloneTestTemplateProject/ +%{_qt6_cmakedir}/Qt6BuildInternals/StandaloneTests/QtBaseTestsConfig.cmake +%{_qt6_cmakedir}/Qt6HostInfo/ +%{_qt6_libexecdir}/cmake_automoc_parser +%{_qt6_libexecdir}/moc +%{_qt6_libexecdir}/qlalr +%{_qt6_libexecdir}/qt-cmake-private +%{_qt6_libexecdir}/qt-cmake-private-install.cmake +%{_qt6_libexecdir}/qt-cmake-standalone-test +%{_qt6_libexecdir}/qt-internal-configure-examples +%{_qt6_libexecdir}/qt-internal-configure-tests +%{_qt6_libexecdir}/qvkgen +%{_qt6_libexecdir}/rcc +%{_qt6_libexecdir}/syncqt +%{_qt6_libexecdir}/tracegen +%{_qt6_libexecdir}/tracepointgen +%{_qt6_libexecdir}/uic +%{_qt6_mkspecsdir}/* +%{_qt6_pkgconfigdir}/Qt6Platform.pc +%exclude %{_qt6_mkspecsdir}/modules/*.pri + +%files -n libQt6Concurrent6 +%{_qt6_libdir}/libQt6Concurrent.so.* + +%files -n qt6-concurrent-devel +%{_qt6_cmakedir}/Qt6Concurrent/ +%{_qt6_descriptionsdir}/Concurrent.json +%{_qt6_includedir}/QtConcurrent/ +%{_qt6_libdir}/libQt6Concurrent.prl +%{_qt6_libdir}/libQt6Concurrent.so +%{_qt6_metatypesdir}/qt6concurrent_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_concurrent.pri +%{_qt6_pkgconfigdir}/Qt6Concurrent.pc + +%files -n libQt6Core6 +%license LICENSES/* +# libQt6Core6 'provides' the runtime directories except +# %%_qt6_importsdir and %%qt6_qmldir, owned by libQt6Qml6, %%_qt6_docdir +# owned by all documentation packages and %%_qt6_sysconfdir, +# owned by the filesystem package +%dir %{_qt6_archdatadir} +%dir %{_qt6_bindir} +%dir %{_qt6_datadir} +%dir %{_qt6_examplesdir} +%dir %{_qt6_libexecdir} +%dir %{_qt6_pluginsdir} +%dir %{_qt6_testsdir} +%dir %{_qt6_translationsdir} +%{_qt6_libdir}/libQt6Core.so.* + +%files -n qt6-core-devel +%{_qt6_cmakedir}/Qt6Core/ +%{_qt6_cmakedir}/Qt6CoreTools/ +%{_qt6_descriptionsdir}/Core.json +%{_qt6_includedir}/QtCore/ +%{_qt6_libdir}/libQt6Core.prl +%{_qt6_libdir}/libQt6Core.so +%{_qt6_metatypesdir}/qt6core_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_core.pri +# workaround for boo#1195368, QTBUG-100370 +%{_qt6_mkspecsdir}/modules/qt_lib_core_private.pri +%{_qt6_pkgconfigdir}/Qt6Core.pc +%exclude %{_qt6_includedir}/QtCore/%{real_version} + +%files -n qt6-core-private-devel +%dir %{_qt6_includedir}/QtCore/ +%{_qt6_includedir}/QtCore/%{real_version}/ + +%files -n libQt6DBus6 +%{_qt6_libdir}/libQt6DBus.so.* + +%files -n qt6-dbus-devel +%{_qt6_cmakedir}/Qt6DBus/ +%{_qt6_cmakedir}/Qt6DBusTools/ +%{_qt6_descriptionsdir}/DBus.json +%{_qt6_includedir}/QtDBus/ +%{_qt6_libdir}/libQt6DBus.prl +%{_qt6_libdir}/libQt6DBus.so +%{_qt6_metatypesdir}/qt6dbus_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_dbus.pri +%{_qt6_pkgconfigdir}/Qt6DBus.pc +%exclude %{_qt6_includedir}/QtDBus/%{real_version} + +%files -n qt6-dbus-private-devel +%dir %{_qt6_includedir}/QtDBus +%{_qt6_includedir}/QtDBus/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_dbus_private.pri + +%files -n libQt6Gui6 +%dir %{_qt6_pluginsdir}/platformthemes +%{_qt6_libdir}/libQt6EglFSDeviceIntegration.so.* +%{_qt6_libdir}/libQt6EglFsKmsGbmSupport.so.* +%{_qt6_libdir}/libQt6EglFsKmsSupport.so.* +%{_qt6_libdir}/libQt6Gui.so.* +%{_qt6_libdir}/libQt6XcbQpa.so.* +%{_qt6_pluginsdir}/egldeviceintegrations/ +%{_qt6_pluginsdir}/generic/ +%{_qt6_pluginsdir}/imageformats/ +%{_qt6_pluginsdir}/platforminputcontexts/ +%{_qt6_pluginsdir}/platforms/ +%{_qt6_pluginsdir}/xcbglintegrations/ + +%files -n qt6-gui-devel +%{_qt6_cmakedir}/Qt6Gui/ +%{_qt6_cmakedir}/Qt6GuiTools/ +%{_qt6_descriptionsdir}/Gui.json +%{_qt6_includedir}/QtGui/ +%{_qt6_libdir}/libQt6Gui.prl +%{_qt6_libdir}/libQt6Gui.so +%{_qt6_metatypesdir}/qt6gui_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_gui.pri +%{_qt6_pkgconfigdir}/Qt6Gui.pc +%exclude %{_qt6_includedir}/QtGui/%{real_version} + +%files -n qt6-gui-private-devel +%dir %{_qt6_includedir}/QtGui +%{_qt6_cmakedir}/Qt6EglFSDeviceIntegrationPrivate/ +%{_qt6_cmakedir}/Qt6EglFsKmsGbmSupportPrivate/ +%{_qt6_cmakedir}/Qt6EglFsKmsSupportPrivate/ +%{_qt6_cmakedir}/Qt6XcbQpaPrivate/ +%{_qt6_descriptionsdir}/EglFSDeviceIntegrationPrivate.json +%{_qt6_descriptionsdir}/EglFsKmsGbmSupportPrivate.json +%{_qt6_descriptionsdir}/EglFsKmsSupportPrivate.json +%{_qt6_descriptionsdir}/XcbQpaPrivate.json +%{_qt6_includedir}/QtEglFSDeviceIntegration/ +%{_qt6_includedir}/QtEglFsKmsGbmSupport/ +%{_qt6_includedir}/QtEglFsKmsSupport/ +%{_qt6_includedir}/QtGui/%{real_version}/ +%{_qt6_libdir}/libQt6EglFSDeviceIntegration.prl +%{_qt6_libdir}/libQt6EglFSDeviceIntegration.so +%{_qt6_libdir}/libQt6EglFsKmsGbmSupport.prl +%{_qt6_libdir}/libQt6EglFsKmsGbmSupport.so +%{_qt6_libdir}/libQt6EglFsKmsSupport.prl +%{_qt6_libdir}/libQt6EglFsKmsSupport.so +%{_qt6_libdir}/libQt6XcbQpa.prl +%{_qt6_libdir}/libQt6XcbQpa.so +%{_qt6_metatypesdir}/qt6eglfsdeviceintegrationprivate_*_metatypes.json +%{_qt6_metatypesdir}/qt6eglfskmsgbmsupportprivate_*_metatypes.json +%{_qt6_metatypesdir}/qt6eglfskmssupportprivate_*_metatypes.json +%{_qt6_metatypesdir}/qt6xcbqpaprivate_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_eglfs_kms_gbm_support_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_eglfs_kms_support_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_eglfsdeviceintegration_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_gui_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_xcb_qpa_lib_private.pri + +%files -n libQt6Network6 +%{_qt6_libdir}/libQt6Network.so.* + +%files -n qt6-network-devel +%{_qt6_cmakedir}/Qt6Network/ +%{_qt6_descriptionsdir}/Network.json +%{_qt6_includedir}/QtNetwork/ +%{_qt6_libdir}/libQt6Network.prl +%{_qt6_libdir}/libQt6Network.so +%{_qt6_metatypesdir}/qt6network_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_network.pri +%{_qt6_pkgconfigdir}/Qt6Network.pc +%exclude %{_qt6_includedir}/QtNetwork/%{real_version} + +%files -n qt6-network-private-devel +%dir %{_qt6_includedir}/QtNetwork +%{_qt6_includedir}/QtNetwork/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_network_private.pri + +%files -n libQt6OpenGL6 +%{_qt6_libdir}/libQt6OpenGL.so.* + +%files -n qt6-opengl-devel +%{_qt6_cmakedir}/Qt6OpenGL/ +%{_qt6_descriptionsdir}/OpenGL.json +%{_qt6_includedir}/QtOpenGL/ +%{_qt6_libdir}/libQt6OpenGL.prl +%{_qt6_libdir}/libQt6OpenGL.so +%{_qt6_metatypesdir}/qt6opengl_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_opengl.pri +%{_qt6_pkgconfigdir}/Qt6OpenGL.pc +%exclude %{_qt6_includedir}/QtOpenGL/%{real_version} + +%files -n qt6-opengl-private-devel +%dir %{_qt6_includedir}/QtOpenGL +%{_qt6_includedir}/QtOpenGL/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_opengl_private.pri + +%files -n libQt6OpenGLWidgets6 +%{_qt6_libdir}/libQt6OpenGLWidgets.so.* + +%files -n qt6-openglwidgets-devel +%{_qt6_cmakedir}/Qt6OpenGLWidgets/ +%{_qt6_descriptionsdir}/OpenGLWidgets.json +%{_qt6_includedir}/QtOpenGLWidgets/ +%{_qt6_libdir}/libQt6OpenGLWidgets.prl +%{_qt6_libdir}/libQt6OpenGLWidgets.so +%{_qt6_metatypesdir}/qt6openglwidgets_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_openglwidgets.pri +%{_qt6_pkgconfigdir}/Qt6OpenGLWidgets.pc + +%files -n libQt6PrintSupport6 +%dir %{_qt6_pluginsdir}/printsupport +%{_qt6_libdir}/libQt6PrintSupport.so.* + +%files -n qt6-printsupport-devel +%{_qt6_cmakedir}/Qt6PrintSupport/ +%{_qt6_descriptionsdir}/PrintSupport.json +%{_qt6_includedir}/QtPrintSupport/ +%{_qt6_libdir}/libQt6PrintSupport.prl +%{_qt6_libdir}/libQt6PrintSupport.so +%{_qt6_metatypesdir}/qt6printsupport_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_printsupport.pri +%{_qt6_pkgconfigdir}/Qt6PrintSupport.pc +%exclude %{_qt6_includedir}/QtPrintSupport/%{real_version} + +%files -n qt6-printsupport-private-devel +%dir %{_qt6_includedir}/QtPrintSupport +%{_qt6_includedir}/QtPrintSupport/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_printsupport_private.pri + +%files -n libQt6Sql6 +%dir %{_qt6_pluginsdir}/sqldrivers +%{_qt6_libdir}/libQt6Sql.so.* + +%files -n qt6-sql-devel +%{_qt6_cmakedir}/Qt6Sql/ +%{_qt6_descriptionsdir}/Sql.json +%{_qt6_includedir}/QtSql/ +%{_qt6_libdir}/libQt6Sql.prl +%{_qt6_libdir}/libQt6Sql.so +%{_qt6_mkspecsdir}/modules/qt_lib_sql.pri +%{_qt6_metatypesdir}/qt6sql_*_metatypes.json +%{_qt6_pkgconfigdir}/Qt6Sql.pc +%exclude %{_qt6_includedir}/QtSql/%{real_version} + +%files -n qt6-sql-private-devel +%dir %{_qt6_includedir}/QtSql +%{_qt6_includedir}/QtSql/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_sql_private.pri + +%files -n libQt6Test6 +%{_qt6_libdir}/libQt6Test.so.* + +%files -n qt6-test-devel +%{_qt6_cmakedir}/Qt6Test/ +%{_qt6_descriptionsdir}/Test.json +%{_qt6_includedir}/QtTest/ +%{_qt6_libdir}/libQt6Test.prl +%{_qt6_libdir}/libQt6Test.so +%{_qt6_metatypesdir}/qt6test_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_testlib.pri +%{_qt6_pkgconfigdir}/Qt6Test.pc +%exclude %{_qt6_includedir}/QtTest/%{real_version} + +%files -n qt6-test-private-devel +%dir %{_qt6_includedir}/QtTest +%{_qt6_includedir}/QtTest/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_testlib_private.pri + +%files -n libQt6Widgets6 +%{_qt6_libdir}/libQt6Widgets.so.* + +%files -n qt6-widgets-devel +%{_qt6_cmakedir}/Qt6Widgets/ +%{_qt6_descriptionsdir}/Widgets.json +%{_qt6_cmakedir}/Qt6WidgetsTools/ +%{_qt6_includedir}/QtWidgets/ +%{_qt6_libdir}/libQt6Widgets.prl +%{_qt6_libdir}/libQt6Widgets.so +%{_qt6_metatypesdir}/qt6widgets_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_widgets.pri +%{_qt6_pkgconfigdir}/Qt6Widgets.pc +%exclude %{_qt6_includedir}/QtWidgets/%{real_version} + +%files -n qt6-widgets-private-devel +%dir %{_qt6_includedir}/QtWidgets +%{_qt6_includedir}/QtWidgets/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_widgets_private.pri + +%files -n libQt6Xml6 +%{_qt6_libdir}/libQt6Xml.so.* + +%files -n qt6-xml-devel +%{_qt6_cmakedir}/Qt6Xml/ +%{_qt6_descriptionsdir}/Xml.json +%{_qt6_includedir}/QtXml/ +%{_qt6_libdir}/libQt6Xml.prl +%{_qt6_libdir}/libQt6Xml.so +%{_qt6_metatypesdir}/qt6xml_*_metatypes.json +%{_qt6_mkspecsdir}/modules/qt_lib_xml.pri +%{_qt6_pkgconfigdir}/Qt6Xml.pc +%exclude %{_qt6_includedir}/QtXml/%{real_version} + +%files -n qt6-xml-private-devel +%dir %{_qt6_includedir}/QtXml +%{_qt6_includedir}/QtXml/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_xml_private.pri + +%files -n qt6-docs-common +%dir %{_qt6_docdir} +%{_qt6_docdir}/config/ +%{_qt6_docdir}/global/ + +### Static libraries ### + +%files -n qt6-exampleicons-devel-static +%doc src/assets/icons/README +%{_qt6_cmakedir}/Qt6ExampleIconsPrivate/ +%{_qt6_descriptionsdir}/ExampleIconsPrivate.json +%{_qt6_includedir}/QtExampleIcons/ +%{_qt6_libdir}/libQt6ExampleIcons.a +%{_qt6_libdir}/libQt6ExampleIcons.prl +# There's no mistake, this folder needs to be installed +# These are CMake objects files which are not part of any library +%dir %{_qt6_archdatadir}/objects-RelWithDebInfo +%{_qt6_archdatadir}/objects-RelWithDebInfo/ExampleIconsPrivate_resources_1/ +%{_qt6_metatypesdir}/qt6exampleiconsprivate_*_metatypes.json + +%files -n qt6-kmssupport-devel-static +%{_qt6_cmakedir}/Qt6KmsSupportPrivate/ +%{_qt6_descriptionsdir}/KmsSupportPrivate.json +%{_qt6_includedir}/QtKmsSupport/ +%{_qt6_libdir}/libQt6KmsSupport.a +%{_qt6_libdir}/libQt6KmsSupport.prl +%{_qt6_metatypesdir}/qt6kmssupportprivate_*_metatypes.json +%exclude %{_qt6_includedir}/QtKmsSupport/%{real_version} + +%files -n qt6-kmssupport-private-devel +%dir %{_qt6_includedir}/QtKmsSupport +%{_qt6_includedir}/QtKmsSupport/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_kms_support_private.pri + +%files -n qt6-platformsupport-devel-static +%{_qt6_cmakedir}/Qt6DeviceDiscoverySupportPrivate/ +%{_qt6_cmakedir}/Qt6FbSupportPrivate/ +%{_qt6_cmakedir}/Qt6InputSupportPrivate/ +%{_qt6_descriptionsdir}/DeviceDiscoverySupportPrivate.json +%{_qt6_descriptionsdir}/FbSupportPrivate.json +%{_qt6_descriptionsdir}/InputSupportPrivate.json +%{_qt6_includedir}/QtDeviceDiscoverySupport/ +%{_qt6_includedir}/QtFbSupport/ +%{_qt6_includedir}/QtInputSupport/ +%{_qt6_libdir}/libQt6DeviceDiscoverySupport.a +%{_qt6_libdir}/libQt6DeviceDiscoverySupport.prl +%{_qt6_libdir}/libQt6FbSupport.a +%{_qt6_libdir}/libQt6FbSupport.prl +%{_qt6_libdir}/libQt6InputSupport.a +%{_qt6_libdir}/libQt6InputSupport.prl +%{_qt6_metatypesdir}/qt6devicediscoverysupportprivate_*_metatypes.json +%{_qt6_metatypesdir}/qt6fbsupportprivate_*_metatypes.json +%{_qt6_metatypesdir}/qt6inputsupportprivate_*_metatypes.json +%exclude %{_qt6_includedir}/QtDeviceDiscoverySupport/%{real_version} +%exclude %{_qt6_includedir}/QtFbSupport/%{real_version} +%exclude %{_qt6_includedir}/QtInputSupport/%{real_version} + +%files -n qt6-platformsupport-private-devel +%dir %{_qt6_includedir}/QtDeviceDiscoverySupport +%dir %{_qt6_includedir}/QtFbSupport +%dir %{_qt6_includedir}/QtInputSupport +%{_qt6_includedir}/QtDeviceDiscoverySupport/%{real_version}/ +%{_qt6_includedir}/QtFbSupport/%{real_version}/ +%{_qt6_includedir}/QtInputSupport/%{real_version}/ +%{_qt6_mkspecsdir}/modules/qt_lib_devicediscovery_support_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_fb_support_private.pri +%{_qt6_mkspecsdir}/modules/qt_lib_input_support_private.pri + +### Plugins ### + +%files -n qt6-networkinformation-glib +%dir %{_qt6_pluginsdir}/networkinformation/ +%{_qt6_pluginsdir}/networkinformation/libqglib.so + +%files -n qt6-networkinformation-nm +%dir %{_qt6_pluginsdir}/networkinformation/ +%{_qt6_pluginsdir}/networkinformation/libqnetworkmanager.so + +%files -n qt6-network-tls +%{_qt6_pluginsdir}/tls/ + +%files -n qt6-platformtheme-gtk3 +%{_qt6_pluginsdir}/platformthemes/libqgtk3.so + +%files -n qt6-platformtheme-xdgdesktopportal +%{_qt6_pluginsdir}/platformthemes/libqxdgdesktopportal.so + +%files -n qt6-printsupport-cups +%{_qt6_pluginsdir}/printsupport/libcupsprintersupport.so + +%files -n qt6-sql-mysql +%{_qt6_pluginsdir}/sqldrivers/libqsqlmysql.so + +%files -n qt6-sql-postgresql +%{_qt6_pluginsdir}/sqldrivers/libqsqlpsql.so + +%files -n qt6-sql-sqlite +%{_qt6_pluginsdir}/sqldrivers/libqsqlite.so + +%files -n qt6-sql-unixODBC +%{_qt6_pluginsdir}/sqldrivers/libqsqlodbc.so + +%endif + +%changelog diff --git a/qtbase-everywhere-src-6.7.2.tar.xz b/qtbase-everywhere-src-6.7.2.tar.xz new file mode 100644 index 0000000..b05d17f --- /dev/null +++ b/qtbase-everywhere-src-6.7.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5f22a5e10fb162895ded7de0963328e7307611c688487b5d152c9ee64767599 +size 49364504 diff --git a/qtbase-everywhere-src-6.7.3.tar.xz b/qtbase-everywhere-src-6.7.3.tar.xz new file mode 100644 index 0000000..be1fa7e --- /dev/null +++ b/qtbase-everywhere-src-6.7.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ccbb9ab055205ac76632c9eeddd1ed6fc66936fc56afc2ed0fd5d9e23da3097 +size 49426156