commit 24e6dca77849ccfdc05dbcd5ad55c34e039b4f6311ca5ad3957c0000bb5ef997 Author: Adrian Schröter Date: Fri May 3 23:48:50 2024 +0200 Sync from SUSE:SLFO:Main qt6-base revision 3eb64d2513a8bafd1c97338b6f89c124 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/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-QMimeDatabase-handle-buggy-type-definitions.patch b/0001-QMimeDatabase-handle-buggy-type-definitions.patch new file mode 100644 index 0000000..18db8b1 --- /dev/null +++ b/0001-QMimeDatabase-handle-buggy-type-definitions.patch @@ -0,0 +1,162 @@ +From 54656da9ace06caf4a0eeb1832989c0ab211a4a0 Mon Sep 17 00:00:00 2001 +From: Alex Henrie +Date: Wed, 15 Nov 2023 09:36:06 -0700 +Subject: QMimeDatabase: handle buggy type definitions with circular + inheritance + +This fixes an infinite loop reported by a user who had both the +definition of text/javascript from shared-mime-info 2.3 and the +definition of text/javascript from shared-mime-info 2.4 installed at the +same time. In 2.3, text/javascript is a subtype of +application/ecmascript, but in 2.4 application/ecmascript is a subtype +of text/javascript. Having both at the same time resulted in circular +inheritance. + +https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/258#note_2167707 + +[ChangeLog][QtCore][QMimeDatabase] Added code to detect and break +circular inheritance loops in the MIME data, which were causing infinite +loops + +Pick-to: 6.6 6.5 +Change-Id: Ic207b1593a49c7bb88e4fd810d8f88aa630087ce +Reviewed-by: Thiago Macieira +Reviewed-by: David Faure +--- + src/corelib/mimetypes/qmimedatabase.cpp | 9 +++++++-- + src/corelib/mimetypes/qmimetype.cpp | 7 +++++-- + .../mimetypes/qmimedatabase/circular-inheritance.xml | 13 +++++++++++++ + .../qmimedatabase/qmimedatabase-cache/CMakeLists.txt | 1 + + .../qmimedatabase/qmimedatabase-xml/CMakeLists.txt | 1 + + .../corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 8 ++++++++ + 6 files changed, 35 insertions(+), 4 deletions(-) + create mode 100644 tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml + +diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp +index f06a434d55..eaeb079c97 100644 +--- a/src/corelib/mimetypes/qmimedatabase.cpp ++++ b/src/corelib/mimetypes/qmimedatabase.cpp +@@ -10,6 +10,7 @@ + #include "qmimeprovider_p.h" + #include "qmimetype_p.h" + ++#include + #include + + #include +@@ -503,6 +504,7 @@ QList QMimeDatabasePrivate::allMimeTypes() + bool QMimeDatabasePrivate::inherits(const QString &mime, const QString &parent) + { + const QString resolvedParent = resolveAlias(parent); ++ QDuplicateTracker seen; + std::stack toCheck; + toCheck.push(mime); + while (!toCheck.empty()) { +@@ -511,8 +513,11 @@ bool QMimeDatabasePrivate::inherits(const QString &mime, const QString &parent) + const QString mimeName = toCheck.top(); + toCheck.pop(); + const auto parentList = parents(mimeName); +- for (const QString &par : parentList) +- toCheck.push(resolveAlias(par)); ++ for (const QString &par : parentList) { ++ const QString resolvedPar = resolveAlias(par); ++ if (!seen.hasSeen(resolvedPar)) ++ toCheck.push(resolvedPar); ++ } + } + return false; + } +diff --git a/src/corelib/mimetypes/qmimetype.cpp b/src/corelib/mimetypes/qmimetype.cpp +index bed9e94364..ad3c484f30 100644 +--- a/src/corelib/mimetypes/qmimetype.cpp ++++ b/src/corelib/mimetypes/qmimetype.cpp +@@ -325,14 +325,17 @@ QStringList QMimeType::parentMimeTypes() const + static void collectParentMimeTypes(const QString &mime, QStringList &allParents) + { + const QStringList parents = QMimeDatabasePrivate::instance()->mimeParents(mime); ++ QStringList newParents; + for (const QString &parent : parents) { + // I would use QSet, but since order matters I better not +- if (!allParents.contains(parent)) ++ if (!allParents.contains(parent)) { + allParents.append(parent); ++ newParents.append(parent); ++ } + } + // We want a breadth-first search, so that the least-specific parent (octet-stream) is last + // This means iterating twice, unfortunately. +- for (const QString &parent : parents) ++ for (const QString &parent : newParents) + collectParentMimeTypes(parent, allParents); + } + +diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml b/tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml +new file mode 100644 +index 0000000000..466f039803 +--- /dev/null ++++ b/tests/auto/corelib/mimetypes/qmimedatabase/circular-inheritance.xml +@@ -0,0 +1,13 @@ ++ ++ ++ ++ It's more accurate to say that ECMAScript is a subset of JavaScript ++ ++ ++ ++ ++ than to say that JavaScript is a subset of ECMAScript ++ ++ ++ ++ +diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt +index 9a70666b07..a267640a50 100644 +--- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt ++++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/CMakeLists.txt +@@ -31,5 +31,6 @@ qt_internal_add_test(tst_qmimedatabase-cache + #) + set(testdata_resource_files ++ "../circular-inheritance.xml" + "../invalid-magic1.xml" + "../invalid-magic2.xml" + "../invalid-magic3.xml" +diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt +index 205d3c362b..729ac3933a 100644 +--- a/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt ++++ b/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/CMakeLists.txt +@@ -31,5 +31,6 @@ qt_internal_add_test(tst_qmimedatabase-xml + #) + set(testdata_resource_files ++ "../circular-inheritance.xml" + "../invalid-magic1.xml" + "../invalid-magic2.xml" + "../invalid-magic3.xml" +diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp +index 9bc3037c99..d7db4bb9bf 100644 +--- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp ++++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp +@@ -38,6 +38,7 @@ + "invalid-magic2.xml", + "invalid-magic3.xml", + "magic-and-hierarchy.xml", ++ "circular-inheritance.xml", + 0 }; + + static const auto s_resourcePrefix = ":/qt-project.org/qmime/"_L1; +@@ -388,6 +389,13 @@ void tst_QMimeDatabase::inheritance() + const QMimeType mswordTemplate = db.mimeTypeForName(QString::fromLatin1("application/msword-template")); + QVERIFY(mswordTemplate.isValid()); + QVERIFY(mswordTemplate.inherits(QLatin1String("application/msword"))); ++ ++ // Check that buggy type definitions that have circular inheritance don't cause an infinite ++ // loop, especially when resolving a conflict between the file's name and its contents ++ const QMimeType ecmascript = db.mimeTypeForName(QString::fromLatin1("application/ecmascript")); ++ QVERIFY(ecmascript.allAncestors().contains("text/plain")); ++ const QMimeType javascript = db.mimeTypeForFileNameAndData("xml.js", ""); ++ QVERIFY(javascript.inherits(QString::fromLatin1("text/javascript"))); + } + + void tst_QMimeDatabase::aliases() +-- +cgit v1.2.3 + diff --git a/0001-Require-GCC-12.patch b/0001-Require-GCC-12.patch new file mode 100644 index 0000000..4556704 --- /dev/null +++ b/0001-Require-GCC-12.patch @@ -0,0 +1,54 @@ +From fcd37b9845e4b4a362e7f2bb570955fad623bac8 Mon Sep 17 00:00:00 2001 +From: Christophe Marin +Date: Sun, 6 Jun 2021 10:44:09 +0200 +Subject: [PATCH] Require GCC 12 on Leap + +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 d392879f66..5aac58a546 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-12 + +-QMAKE_CC = $${CROSS_COMPILE}gcc ++QMAKE_CC = $${CROSS_COMPILE}gcc-12 + + QMAKE_LINK_C = $$QMAKE_CC + QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +-QMAKE_CXX = $${CROSS_COMPILE}g++ ++QMAKE_CXX = $${CROSS_COMPILE}g++-12 + + QMAKE_LINK = $$QMAKE_CXX + QMAKE_LINK_SHLIB = $$QMAKE_CXX +diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf +index ae58326289..7bc6a54ccb 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-12 cqs ++QMAKE_NM_LTCG = gcc-nm-12 -P + QMAKE_RANLIB_LTCG = true # No need to run since gcc-ar has "s" + + QMAKE_LINK_OBJECT_SCRIPT = object_script +-- +2.41.0 + diff --git a/0001-Tell-the-truth-about-private-API.patch b/0001-Tell-the-truth-about-private-API.patch new file mode 100644 index 0000000..b9c63f0 --- /dev/null +++ b/0001-Tell-the-truth-about-private-API.patch @@ -0,0 +1,29 @@ +From 25e78cce15fdf737cc48ed5d7683ad1d01b55621 Mon Sep 17 00:00:00 2001 +From: Christophe Giboudeaux +Date: Sun, 20 Sep 2020 09:57:22 +0200 +Subject: [PATCH] Tell the truth about private API + +Mark private API with symbols only for the current patch release + +This change is a port of the libqt5-qtbase patch which was +added during the Qt 5.6 cycle. +--- + cmake/QtFlagHandlingHelpers.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake +index d8597326cc..f9da7b2171 100644 +--- a/cmake/QtFlagHandlingHelpers.cmake ++++ b/cmake/QtFlagHandlingHelpers.cmake +@@ -23,7 +23,7 @@ function(qt_internal_add_linker_version_script target) + endif() + + if(TEST_ld_version_script) +- set(contents "Qt_${PROJECT_VERSION_MAJOR}_PRIVATE_API {\n qt_private_api_tag*;\n") ++ set(contents "Qt_${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}_PRIVATE_API {\n qt_private_api_tag*;\n") + if(arg_PRIVATE_HEADERS) + foreach(ph ${arg_PRIVATE_HEADERS}) + string(APPEND contents " @FILE:${ph}@\n") +-- +2.40.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/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..0eb47c0 --- /dev/null +++ b/qt6-base.changes @@ -0,0 +1,500 @@ +------------------------------------------------------------------- +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 +- 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..044501f --- /dev/null +++ b/qt6-base.spec @@ -0,0 +1,1276 @@ +# +# spec file for package qt6-base +# +# Copyright (c) 2023 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.6.1 +%define short_version 6.6 +%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 +Name: qt6-base%{?pkg_suffix} +Version: 6.6.1 +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 +Source: 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 # +Patch0: 0001-QMimeDatabase-handle-buggy-type-definitions.patch +# Patches 100-200 are openSUSE and/or non-upstream(able) patches # +Patch100: 0001-Tell-the-truth-about-private-API.patch +# No need to pollute the library dir with object files, install them in the qt6 subfolder +Patch101: 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch +%if 0%{?suse_version} == 1500 +Patch102: 0001-Require-GCC-12.patch +%endif +Patch103: 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: gcc12-PIE +BuildRequires: gcc12-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: postgresql-server-devel +BuildRequires: qt6-macros +BuildRequires: xmlstarlet +BuildRequires: cmake(double-conversion) +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(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: gcc12-PIE +Requires: gcc12-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} +Recommends: 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 +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 +# Includes in qprint_p.h +Requires: cups-devel +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} + +# 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=OFF \ + -DQT_DISABLE_RPATH:BOOL=OFF \ +%ifnarch ppc64 + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=ON \ +%endif + -DFEATURE_enable_new_dtags:BOOL=ON \ + -DFEATURE_journald:BOOL=ON \ + -DFEATURE_libproxy:BOOL=ON \ + -DFEATURE_reduce_relocations:BOOL=OFF \ + -DFEATURE_relocatable:BOOL=OFF \ + -DFEATURE_system_sqlite:BOOL=ON \ + -DFEATURE_system_xcb_xinput:BOOL=ON \ + -DFEATURE_xcb_native_painting:BOOL=ON \ + -DINPUT_openssl:STRING=linked \ + -DFEATURE_forkfd_pidfd:BOOL=OFF \ +%if 0%{?with_gles} + -DINPUT_opengl:STRING=es2 \ + -DFEATURE_opengles3:BOOL=ON +%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}/android_*.sh +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-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.6.1.tar.xz b/qtbase-everywhere-src-6.6.1.tar.xz new file mode 100644 index 0000000..ce55da5 --- /dev/null +++ b/qtbase-everywhere-src-6.6.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:450c5b4677b2fe40ed07954d7f0f40690068e80a94c9df86c2c905ccd59d02f7 +size 48370760