From 3dc4de6331223493015f198dc61854af604da86c Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 21 Oct 2024 04:04:33 +0100 Subject: gentoo auto-resync : 21:10:2024 - 04:04:33 --- dev-qt/Manifest.gz | Bin 11894 -> 11897 bytes dev-qt/qtdeclarative/Manifest | 3 +- .../files/qtdeclarative-6.7.3-QTBUG-129165.patch | 162 +++++++++++++++++++++ dev-qt/qtdeclarative/qtdeclarative-6.7.3-r2.ebuild | 65 --------- dev-qt/qtdeclarative/qtdeclarative-6.7.3-r3.ebuild | 66 +++++++++ 5 files changed, 230 insertions(+), 66 deletions(-) create mode 100644 dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch delete mode 100644 dev-qt/qtdeclarative/qtdeclarative-6.7.3-r2.ebuild create mode 100644 dev-qt/qtdeclarative/qtdeclarative-6.7.3-r3.ebuild (limited to 'dev-qt') diff --git a/dev-qt/Manifest.gz b/dev-qt/Manifest.gz index aedbbf221e87..9c2df1066a68 100644 Binary files a/dev-qt/Manifest.gz and b/dev-qt/Manifest.gz differ diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest index cc2ca5ed40a3..2b809a9ec55e 100644 --- a/dev-qt/qtdeclarative/Manifest +++ b/dev-qt/qtdeclarative/Manifest @@ -1,5 +1,6 @@ AUX qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch 1566 BLAKE2B b6436c9be0a7de092635e1fc3999c3142fc3e916cbcc69f472691bbd559f611b4d5741f3627c47162a5ac86126382507add72a25a121235e856b1de802ee19be SHA512 dd5193f8d8a051238dabf63306cc77e3a5696fc12241c27f35cadfd30763ddfeb2af7d640849dcc7a810b7087173b8e9af17341ea1b68440906f2c2f1f96fee3 AUX qtdeclarative-6.7.3-QTBUG-125053.patch 9583 BLAKE2B d7bdfe4d0a002e5d17f57604dbece3294596a76d03bc3c12a05622d2c95a16bde4bb128d19c63e4856270a875c5b6b866c9cfed9f30a346b441a2b81e7cdf2d1 SHA512 3811879d972ff5a0dbfca98c2c2931f50dd9906dc0ecf75f13e59eae71d9d27dfc9279ba9952a00be81cab83e8f8e42e798d9b43d7d3d6974a1676f4e8e401ea +AUX qtdeclarative-6.7.3-QTBUG-129165.patch 5469 BLAKE2B fa4ce581df827b6725b6ab3135fb95fba492814d19d72b7b3be75b621a91f98d534152c5d80b7e1f21e9d877979a1b0e3a09d9eafa034e702d31996bc9624670 SHA512 605ecb6f7e3412b9c59b4e7579df87be1d19846fe1977682cb548732fe57993321015dabe5c5a87ebb15ae3cd394059a5d25d8b24f607093f5cf6343fbb7a4d7 AUX qtdeclarative-6.8.0-QTBUG-129797.patch 1236 BLAKE2B edfa939f1438031c1a0b168dc493806d372f072d3b104975da56711c2ee2df402aba076ca7071576ed98a8bdb0668af2f7258c6d2a9f4ae68192473b1630fb39 SHA512 9cc280dccc08aa0bacd0d5ce34dbd1ab6cebf3bcc3cbe4854b03c1e12971619993845d9689b146cb89557c2dbe7b0a44870e6bb0cb1e1d6b4a89924a19b8be7d DIST qtdeclarative-5.15.14-gentoo-kde-1.tar.xz 26628 BLAKE2B 2b8302b96e5a8cae374da43dfaa5c5c7bf66ddfaa4fed055850fe7b39b995b1416268b94fb98fbc7074b6a0da47e8f9232751dba34b6021e095d7f9339fbfdd9 SHA512 3d4f3cc023e9da32105520bbe74847bb438ec3af85cf6203321400d451902071115ed3cc0c42e8cf995d0304f86cda11096223ad99b09a7dd95b3d83291a7b4a DIST qtdeclarative-everywhere-opensource-src-5.15.14.tar.xz 21595408 BLAKE2B c88388bd04636bc55cad17d97a9f3ee2d3bda6b585cad59d70106bd4e14bf37570bba5edc21627bc08852034adcb483b4c23d7f21ba523dc9e7b6c1f0386a994 SHA512 06c48938c5ab96c4a9e010fdf4a8fbf2b84b7669a486298044363048de3b7da01aa5d9284d1b08b563331887e326befb25566f9972f5143ca3cde47016394bbd @@ -8,7 +9,7 @@ DIST qtdeclarative-everywhere-src-6.7.3.tar.xz 35663596 BLAKE2B b9dc18b4a459c283 DIST qtdeclarative-everywhere-src-6.8.0.tar.xz 37029068 BLAKE2B 272c673eb06ad28be3f7a02d29323ba0ab1943e1dabeb8a8b7d8f4857473a488f22bce1ee60c1e56996cd6805cb30f77b80253a6504f86252c0d4188984ff4b2 SHA512 4f1e26511265e7085bfe097435e64b4daa0bb4a8287f56753a64437a5eb408c0679afa03e255d1949e382b59496eff600cb0638a9b8cc95278d67ad5cfb9d52b EBUILD qtdeclarative-5.15.14.ebuild 1537 BLAKE2B 9515ce8d7c01fa8119ecc030871048dece2da2051a67cc1bf61907db5fb1ceeee7ca52503068a9059c3822df398d90e2fec630529a2f88a1ca707ac1c9ef9250 SHA512 d684a28aeda630154eb7c1023dbf231baf5cde528788cb3fbaab35e24a349dd585519aff99d44c405fc6f5f92e9f52d49f30cbbb11c908cf5f42e8d7f5826543 EBUILD qtdeclarative-6.7.2.ebuild 1175 BLAKE2B 4f4d132a22d7987afcb7164ce83e35358b664cc70013f269af95e72b353cfc0103d3953fa308532dfbd00ce0f703c33e341e8a829c1a6bb62a09c07ec8cb7910 SHA512 48af79fdeff33c7d2da696364e1dc1a6694d9a6428a8aae11c5bd2ad2046f7a82bb780824da9a1aef1741322680534cd0d261a50acf235ae3b4fb0f8346d7dc7 -EBUILD qtdeclarative-6.7.3-r2.ebuild 1798 BLAKE2B e08a04183d4de74c334058ed703c786ea1f82068707c80f1d009433fba9da289fd94759ba5c537a96d2cee8ebc838c9e2fdebda53246231cb80f4def98ac1a54 SHA512 7717d74451e24072b2fba8737a8ce4e546c3d600209d9d30e6277f3cc60f255a4306120084a21be63d817dc44e4e4866849bfa1128421985d4ca292a7b5ac180 +EBUILD qtdeclarative-6.7.3-r3.ebuild 1844 BLAKE2B 5b623cfc4fe2d70fa31f4bee633ca449e47c1361e63d2664338e772e360a02b396b83e40a48c085e4f8c43932cdf9654fcb950d6787312517cee2ec208f25b9b SHA512 f594958f1ee1db9123dcfdce54b49ba164692048dd7615e3f7fafdc4aed09e9e40cf84889f97df047272117d2fc6ce04e9e6e3849b4717b9f6368815c10954ca EBUILD qtdeclarative-6.8.0-r3.ebuild 1844 BLAKE2B 7905155582401cc1915abcf7416928ed0da568548d3f56eebb2fc2dcae0c2fa0ae497640132ae8031bfda9e013c256e6dcc9940d683cc209c83c91f2e4785734 SHA512 9ea142da22eee98ca2d8e3d2f1056d9a5da20776b750cea5d6423a7bdc8e3dd68d662ded08e8d6c9d5e20104bbc98bd744484d90f3c6d8ff29ee14e558a0f404 EBUILD qtdeclarative-6.8.9999.ebuild 1739 BLAKE2B 434181ff4ee1fcb2d11b034c977b73bc23225cfe44d0ac5ee048620e2940fb0273c682defe6247d90a1052ad935e418c8c81881a5378d8f5b5f466a147f42120 SHA512 057e76f4969535d8437cbc02e8999aa70656e8256e95ba1e20f3a1bcab34a1bef0fe80812799eb608f3c9c0cb18eb06ad0a3ca04e7e6537997f81ff0136ddd35 EBUILD qtdeclarative-6.9999.ebuild 1739 BLAKE2B 434181ff4ee1fcb2d11b034c977b73bc23225cfe44d0ac5ee048620e2940fb0273c682defe6247d90a1052ad935e418c8c81881a5378d8f5b5f466a147f42120 SHA512 057e76f4969535d8437cbc02e8999aa70656e8256e95ba1e20f3a1bcab34a1bef0fe80812799eb608f3c9c0cb18eb06ad0a3ca04e7e6537997f81ff0136ddd35 diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch new file mode 100644 index 000000000000..78ea5f72a341 --- /dev/null +++ b/dev-qt/qtdeclarative/files/qtdeclarative-6.7.3-QTBUG-129165.patch @@ -0,0 +1,162 @@ +Recommended backport from 6.8.0 to prevent a crash with kcm_pulseaudio. +https://bugreports.qt.io/browse/QTBUG-129165 +https://bugs.kde.org/show_bug.cgi?id=493266 +(kde bug mentions is for 6.8.0, but was seemingly the -rc without the fix) +--- a/src/quick/items/qquickitemview.cpp ++++ b/src/quick/items/qquickitemview.cpp +@@ -11,4 +11,5 @@ + + Q_LOGGING_CATEGORY(lcItemViewDelegateLifecycle, "qt.quick.itemview.lifecycle") ++Q_LOGGING_CATEGORY(lcCount, "qt.quick.itemview.count") + + // Default cacheBuffer for all views. +@@ -224,5 +225,5 @@ + if (QQmlDelegateModel *dataModel = qobject_cast(d->model)) + QObjectPrivate::connect(dataModel, &QQmlDelegateModel::delegateChanged, d, &QQuickItemViewPrivate::applyDelegateChange); +- emit countChanged(); ++ d->emitCountChanged(); + } + emit modelChanged(); +@@ -256,5 +257,5 @@ + dataModel->setDelegate(delegate); + if (oldCount != dataModel->count()) +- emit countChanged(); ++ d->emitCountChanged(); + } + emit delegateChanged(); +@@ -1126,4 +1127,12 @@ + } + ++// Simplifies debugging of count. ++void QQuickItemViewPrivate::emitCountChanged() ++{ ++ Q_Q(QQuickItemView); ++ qCDebug(lcCount).nospace() << "about to emit countChanged for " << q << "; count changed to " << q->count(); ++ emit q->countChanged(); ++} ++ + void QQuickItemViewPrivate::itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, + const QRectF &oldGeometry) +@@ -1225,5 +1234,5 @@ + } + d->moveReason = QQuickItemViewPrivate::Other; +- emit countChanged(); ++ d->emitCountChanged(); + #if QT_CONFIG(quick_viewtransitions) + if (d->transitioner && d->transitioner->populateTransition) +@@ -1488,5 +1497,5 @@ + } + if (d->model && d->model->count()) +- emit countChanged(); ++ d->emitCountChanged(); + } + +@@ -1814,5 +1823,5 @@ + + if (prevCount != itemCount) +- emit q->countChanged(); ++ emitCountChanged(); + } while (currentChanges.hasPendingChanges() || bufferedChanges.hasPendingChanges()); + storeFirstVisibleItemPosition(); +@@ -1865,4 +1874,14 @@ + // views (see tst_QQuickListView::resizeView). + if ((!isValid() && !visibleItems.size()) || q->size().isNull()) { ++ if (q->size().isNull() && hasPendingChanges()) { ++ // count() refers to the number of items in the model, not in the view ++ // (which is why we don't emit for the !visibleItems.size() case). ++ // If there are pending model changes, emit countChanged in order to ++ // support the use case of QTBUG-129165, where visible is bound to count > 0 ++ // and the ListView is in a layout with Layout.preferredHeight bound to ++ // contentHeight. This ensures that a hidden ListView will become visible. ++ emitCountChanged(); ++ } ++ + clear(); + setPosition(contentStartOffset()); +@@ -2139,5 +2158,5 @@ + updateSections(); + if (prevItemCount != itemCount) +- emit q->countChanged(); ++ emitCountChanged(); + if (!visibleAffected && viewportChanged) + updateViewport(); +--- a/src/quick/items/qquickitemview_p_p.h ++++ b/src/quick/items/qquickitemview_p_p.h +@@ -230,4 +230,6 @@ + } + ++ void emitCountChanged(); ++ + virtual QQuickItemViewAttached *getAttachedObject(const QObject *) const { return nullptr; } + +--- a/tests/auto/quick/qquicklistview2/data/visibleBoundToCountGreaterThanZero.qml ++++ b/tests/auto/quick/qquicklistview2/data/visibleBoundToCountGreaterThanZero.qml +@@ -0,0 +1,31 @@ ++import QtQuick ++import QtQuick.Layouts ++ ++ColumnLayout { ++ property alias listView: listView ++ ++ ListView { ++ id: listView ++ ++ visible: count > 0 // actual defect. countChanged never fires so this never turns true ++ ++ Layout.fillWidth: true ++ Layout.preferredHeight: contentHeight // grow with content, initially 0 ++ ++ model: ListModel { ++ id: idModel ++ } ++ ++ delegate: Text { ++ required property string name ++ text: name ++ } ++ ++ Timer { ++ running: true ++ interval: 10 ++ repeat: true ++ onTriggered: idModel.append({name:"Hello"}) ++ } ++ } ++} +--- a/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp ++++ b/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp +@@ -19,4 +19,6 @@ + using namespace QQuickVisualTestUtils; + ++static const int oneSecondInMs = 1000; ++ + class tst_QQuickListView2 : public QQmlDataTest + { +@@ -69,4 +71,5 @@ + + void clearObjectListModel(); ++ void visibleBoundToCountGreaterThanZero(); + + private: +@@ -1313,4 +1316,21 @@ + } + ++void tst_QQuickListView2::visibleBoundToCountGreaterThanZero() ++{ ++ QQuickView window; ++ QVERIFY(QQuickTest::showView(window, testFileUrl("visibleBoundToCountGreaterThanZero.qml"))); ++ ++ auto *listView = window.rootObject()->property("listView").value(); ++ QVERIFY(listView); ++ ++ QSignalSpy countChangedSpy(listView, SIGNAL(countChanged())); ++ QVERIFY(countChangedSpy.isValid()); ++ ++ QTRY_COMPARE_GT_WITH_TIMEOUT(listView->count(), 1, oneSecondInMs); ++ // Using the TRY variant here as well is necessary. ++ QTRY_COMPARE_GT_WITH_TIMEOUT(countChangedSpy.count(), 1, oneSecondInMs); ++ QVERIFY(listView->isVisible()); ++} ++ + QTEST_MAIN(tst_QQuickListView2) + diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r2.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r2.ebuild deleted file mode 100644 index 749123d1c04f..000000000000 --- a/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r2.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..13} ) - -# behaves very badly when qtdeclarative is not already installed, also -# other more minor issues (installs junk, sandbox/offscreen issues) -QT6_RESTRICT_TESTS=1 - -inherit python-any-r1 qt6-build - -DESCRIPTION="Qt Declarative (Quick 2)" - -if [[ ${QT6_BUILD_TYPE} == release ]]; then - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" - -RDEPEND=" - ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] - qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) - svg? ( ~dev-qt/qtsvg-${PV}:6 ) -" -DEPEND=" - ${RDEPEND} - vulkan? ( dev-util/vulkan-headers ) -" -BDEPEND=" - ${PYTHON_DEPS} - ~dev-qt/qtshadertools-${PV}:6 -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch -) - -src_configure() { - local mycmakeargs=( - $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) - $(cmake_use_find_package sql Qt6Sql) - $(cmake_use_find_package svg Qt6Svg) - $(qt_feature jit qml_jit) - $(qt_feature network qml_network) - $(qt_feature ssl qml_ssl) - ) - - qt6-build_src_configure -} - -src_install() { - qt6-build_src_install - - if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 - eerror "${CATEGORY}/${PF} seems to have been improperly built and" - eerror "install was aborted to protect the system. Possibly(?) due" - eerror "to a rare portage ordering bug. If using portage, try:" - eerror " emerge -1 qtshadertools:6 qtdeclarative:6" - eerror "If that did not resolve the issue, please provide build.log" - eerror "on https://bugs.gentoo.org/940675" - die "aborting due to incomplete/broken build (see above)" - fi -} diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r3.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r3.ebuild new file mode 100644 index 000000000000..83e4113532cf --- /dev/null +++ b/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r3.ebuild @@ -0,0 +1,66 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) + +# behaves very badly when qtdeclarative is not already installed, also +# other more minor issues (installs junk, sandbox/offscreen issues) +QT6_RESTRICT_TESTS=1 + +inherit python-any-r1 qt6-build + +DESCRIPTION="Qt Declarative (Quick 2)" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +IUSE="accessibility +jit +network opengl qmlls +sql +ssl svg vulkan +widgets" + +RDEPEND=" + ~dev-qt/qtbase-${PV}:6[accessibility=,gui,network=,opengl=,sql?,ssl?,vulkan=,widgets=] + qmlls? ( ~dev-qt/qtlanguageserver-${PV}:6 ) + svg? ( ~dev-qt/qtsvg-${PV}:6 ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND=" + ${PYTHON_DEPS} + ~dev-qt/qtshadertools-${PV}:6 +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.7.3-QTBUG-125053.patch + "${FILESDIR}"/${PN}-6.7.3-QTBUG-129165.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qmlls Qt6LanguageServerPrivate) + $(cmake_use_find_package sql Qt6Sql) + $(cmake_use_find_package svg Qt6Svg) + $(qt_feature jit qml_jit) + $(qt_feature network qml_network) + $(qt_feature ssl qml_ssl) + ) + + qt6-build_src_configure +} + +src_install() { + qt6-build_src_install + + if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675 + eerror "${CATEGORY}/${PF} seems to have been improperly built and" + eerror "install was aborted to protect the system. Possibly(?) due" + eerror "to a rare portage ordering bug. If using portage, try:" + eerror " emerge -1 qtshadertools:6 qtdeclarative:6" + eerror "If that did not resolve the issue, please provide build.log" + eerror "on https://bugs.gentoo.org/940675" + die "aborting due to incomplete/broken build (see above)" + fi +} -- cgit v1.2.3