diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest index 57f6fdfb48f47..ec301760c6592 100644 --- a/dev-qt/qtdeclarative/Manifest +++ b/dev-qt/qtdeclarative/Manifest @@ -1,5 +1,4 @@ DIST qtdeclarative-5.15.18-gentoo-kde-1.tar.xz 19304 BLAKE2B ec246d080eeeeeedb3d358c322faf8392cd106ffb6a0cda2ccbe1fd3776e7fdd2d76c8d8cd56e954b8fa11b466a6b6592e6134a8ba771b1433ba74c9fa0e00cd SHA512 f7636a405a0602b476bc4034382b275c14e3e7d166314042c7ea6bfb79f30aba7c79b540c4ec2352bb2e7fbed51b5bab52ddbf6458a579c9ba4fa2d6aad30a55 DIST qtdeclarative-everywhere-opensource-src-5.15.18.tar.xz 21588352 BLAKE2B 9daf4a86e39db46d12350cc2e17cba1d23c8777a5c3193a76bd66c68ff252c94d616717a4b13cebe25707a6acd42084a1a02d372862d0b0f7418373b267be94b SHA512 73c45c47b5074b6bc1127abb1b3cf1cd751deeb80c2f9c86a675c7323fecf20bd83363fad95803bc72cf494ae4679c1f38a02387363f266c093c707e700c9ea2 -DIST qtdeclarative-everywhere-src-6.10.0.tar.xz 37522260 BLAKE2B 2e84966b81326ccd5154aa3bb0ac9b78b476285052cf6f0b68048e8c6a9cc42b3b027af727b57d6b965028a2d32951a8b5f1678a79a8ec59b07c2321c3755f32 SHA512 104d0d237bbde943d739bfa4831f85576b67fb838d06b1d4760976aaa74fadac3523544eecdcf4d614991adc9c73294c2494bf094217ce648e6a721ab95a5415 DIST qtdeclarative-everywhere-src-6.10.1.tar.xz 37552260 BLAKE2B 32895b277b194dc89fb009edda071d1bee40a99432f422eacb3890173bff334c788eb741152dfe39d8b511b30d7d0d052627ece566f2a86b04bc88bebc600c1d SHA512 e433ae1e282175d251c3257eed775bc5835f564bbd7f34244c9765af59eee2b97f4b2852d59987942315cda14a763c65e509553439e2a4c2ac2652ea9e7a56b6 DIST qtdeclarative-everywhere-src-6.9.3.tar.xz 37223760 BLAKE2B 3ea0e66601f682fedaee6bd253e82d7eb7a78ffce8dad85039be55dc25d0e42fd72e3552b495b3d5b6e5dd8c940f31861d6475d793b686ac8cc58a14b5431288 SHA512 e6403422b20d272fc120063513e56c965f9325a765964abcbe04fa8e195a1f1db187b613329112a99dfd8ed661b6d6b888d1ab72cf22b7cb53f3d609b7ece0d7 diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.10.0-QTBUG-139626.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.0-QTBUG-139626.patch deleted file mode 100644 index 1b5a96a2b063e..0000000000000 --- a/dev-qt/qtdeclarative/files/qtdeclarative-6.10.0-QTBUG-139626.patch +++ /dev/null @@ -1,112 +0,0 @@ -https://bugreports.qt.io/browse/QTBUG-139626 -https://codereview.qt-project.org/c/qt/qtdeclarative/+/682564 ---- a/src/qmlcompiler/qqmljscodegenerator.cpp -+++ b/src/qmlcompiler/qqmljscodegenerator.cpp -@@ -1472,5 +1472,5 @@ - } - --QString QQmlJSCodeGenerator::generateVariantMapLookup( -+QString QQmlJSCodeGenerator::generateVariantMapGetLookup( - const QString &map, const int nameIndex) - { -@@ -1483,4 +1483,16 @@ - } - -+QString QQmlJSCodeGenerator::generateVariantMapSetLookup( -+ const QString &map, const int nameIndex, -+ const QQmlJSScope::ConstPtr &property, const QString &variableIn) -+{ -+ const QString mapLookup = map -+ + u"["_s + QQmlJSUtils::toLiteral(m_jsUnitGenerator->lookupName(nameIndex)) + u"]"_s; -+ -+ return mapLookup + u" = "_s -+ + conversion(property, m_typeResolver->varType(), variableIn) -+ + u";\n"_s; -+} -+ - void QQmlJSCodeGenerator::generate_GetLookupHelper(int index) - { -@@ -1628,5 +1640,5 @@ - } - } else if (accumulatorIn.isStoredIn(m_typeResolver->variantMapType())) { -- m_body += generateVariantMapLookup(m_state.accumulatorVariableIn, index); -+ m_body += generateVariantMapGetLookup(m_state.accumulatorVariableIn, index); - } else { - if (m_state.isRegisterAffectedBySideEffects(Accumulator)) -@@ -1639,5 +1651,5 @@ - - if (scope.contains(m_typeResolver->variantMapType())) { -- m_body += generateVariantMapLookup( -+ m_body += generateVariantMapGetLookup( - u"(*static_cast("_s - + inputContentPointer + u"))"_s, index); -@@ -1699,4 +1711,13 @@ - } - -+// TODO: This shouldn't be necessary. If the content can be stored directly, then it should -+// be stored and used directly. If it cannot be stored directly, it should be stored -+// as QVariant, but then we cannot dereference the content pointer either. -+static QString derefContentPointer(const QString &contentPointer) -+{ -+ Q_ASSERT(contentPointer.startsWith(u'&') || contentPointer[0].isLetterOrNumber()); -+ return contentPointer.startsWith(u'&') ? contentPointer.mid(1) : (u'*' + contentPointer); -+} -+ - void QQmlJSCodeGenerator::generate_SetLookup(int index, int baseReg) - { -@@ -1707,6 +1728,7 @@ - const QQmlJSRegisterContent property = m_state.readAccumulator(); - Q_ASSERT(property.isConversion()); -- const QQmlJSScope::ConstPtr originalScope -- = m_typeResolver->original(property.conversionResultScope()).containedType(); -+ const QQmlJSRegisterContent original -+ = m_typeResolver->original(property.conversionResultScope()); -+ const QQmlJSScope::ConstPtr originalScope = original.containedType(); - - if (property.storedType().isNull()) { -@@ -1758,7 +1780,5 @@ - // We can resize without write back on a list property because it's actually a reference. - m_body += u"const int begin = "_s + object + u".count(&" + object + u");\n"_s; -- m_body += u"const int end = "_s -- + (variableIn.startsWith(u'&') ? variableIn.mid(1) : (u'*' + variableIn)) -- + u";\n"_s; -+ m_body += u"const int end = "_s + derefContentPointer(variableIn) + u";\n"_s; - m_body += u"for (int i = begin; i < end; ++i)\n"_s; - m_body += u" "_s + object + u".append(&"_s + object + u", nullptr);\n"_s; -@@ -1770,8 +1790,24 @@ - case QQmlJSScope::AccessSemantics::Value: { - const QQmlJSRegisterContent base = registerType(baseReg); -+ if (base.isStoredIn(m_typeResolver->variantMapType())) { -+ m_body += generateVariantMapSetLookup( -+ registerVariable(baseReg), index, property.storedType(), -+ derefContentPointer(variableIn)); -+ generateWriteBack(baseReg); -+ break; -+ } - const QString baseContentPointer = resolveValueTypeContentPointer( - originalScope, base, object, - u"TypeError: Value is %1 and could not be converted to an object"_s); - -+ if (original.contains(m_typeResolver->variantMapType())) { -+ m_body += generateVariantMapSetLookup( -+ u"(*static_cast("_s -+ + baseContentPointer + u"))"_s, index, property.storedType(), -+ derefContentPointer(variableIn)); -+ generateWriteBack(baseReg); -+ break; -+ } -+ - const QString lookup = u"aotContext->setValueLookup("_s + indexString - + u", "_s + baseContentPointer ---- a/src/qmlcompiler/qqmljscodegenerator_p.h -+++ b/src/qmlcompiler/qqmljscodegenerator_p.h -@@ -366,5 +366,8 @@ - const QStringList &arguments, const QString &metaType, const QString &metaObject); - -- QString generateVariantMapLookup(const QString &map, const int nameIndex); -+ QString generateVariantMapGetLookup(const QString &map, const int nameIndex); -+ QString generateVariantMapSetLookup( -+ const QString &map, const int nameIndex, const QQmlJSScope::ConstPtr &property, -+ const QString &variableIn); - - QQmlJSRegisterContent originalType(QQmlJSRegisterContent tracked) diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.10.0-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.10.0-r1.ebuild deleted file mode 100644 index cec56144dea39..0000000000000 --- a/dev-qt/qtdeclarative/qtdeclarative-6.10.0-r1.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2021-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..14} ) -QT6_HAS_STATIC_LIBS=1 -# 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 ~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.9.3-QTBUG-140018.patch - "${FILESDIR}"/${PN}-6.10.0-QTBUG-139626.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 -}