summaryrefslogtreecommitdiff
path: root/dev-qt/qtdeclarative
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtdeclarative')
-rw-r--r--dev-qt/qtdeclarative/files/qtdeclarative-6.10.1-QTBUG-142331.patch66
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild2
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-5.15.18.ebuild68
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-6.10.1-r1.ebuild (renamed from dev-qt/qtdeclarative/qtdeclarative-6.10.1.ebuild)4
4 files changed, 71 insertions, 69 deletions
diff --git a/dev-qt/qtdeclarative/files/qtdeclarative-6.10.1-QTBUG-142331.patch b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.1-QTBUG-142331.patch
new file mode 100644
index 000000000000..7109559a29a2
--- /dev/null
+++ b/dev-qt/qtdeclarative/files/qtdeclarative-6.10.1-QTBUG-142331.patch
@@ -0,0 +1,66 @@
+https://qt-project.atlassian.net/browse/QTBUG-142331
+https://mail.kde.org/pipermail/distributions/2025-December/001648.html
+https://bugs.kde.org/show_bug.cgi?id=512754
+https://codereview.qt-project.org/c/qt/qtdeclarative/+/696524
+--- a/src/qml/jsruntime/qv4lookup_p.h
++++ b/src/qml/jsruntime/qv4lookup_p.h
+@@ -160,4 +160,8 @@
+ } qobjectMethodLookup;
+ struct {
++ // NB: None of this is actually cache-able. The metaobject may change at any time.
++ // We invalidate this data every time the lookup is invoked and thereby force a
++ // re-initialization next time.
++
+ quintptr isConstant; // This is a bool, encoded as 0 or 1. Both values are ignored by gc
+ quintptr metaObject; // a (const QMetaObject* & 1) or nullptr
+--- a/src/qml/qml/qqml.cpp
++++ b/src/qml/qml/qqml.cpp
+@@ -1378,14 +1378,14 @@
+ static FallbackPropertyQmlData findFallbackPropertyQmlData(QV4::Lookup *lookup, QObject *object)
+ {
++ // We've just initialized the lookup. So everything must be fine here.
++
+ QQmlData *qmlData = QQmlData::get(object);
+- if (qmlData && qmlData->isQueuedForDeletion)
+- return {qmlData, nullptr, PropertyResult::Deleted};
+
++ Q_ASSERT(!qmlData || !qmlData->isQueuedForDeletion);
+ Q_ASSERT(!QQmlData::wasDeleted(object));
+
+ const QMetaObject *metaObject
+ = reinterpret_cast<const QMetaObject *>(lookup->qobjectFallbackLookup.metaObject - 1);
+- if (!metaObject || metaObject != object->metaObject())
+- return {qmlData, nullptr, PropertyResult::NeedsInit};
++ Q_ASSERT(metaObject == object->metaObject());
+
+ return {qmlData, metaObject, PropertyResult::OK};
+@@ -2577,4 +2577,5 @@
+ case QV4::Lookup::Call::ContextGetterScopeObjectPropertyFallback:
+ result = loadFallbackProperty(lookup, qmlScopeObject, target, this);
++ lookup->call = QV4::Lookup::Call::ContextGetterGeneric;
+ break;
+ default:
+@@ -2608,4 +2609,5 @@
+ case QV4::Lookup::Call::ContextGetterScopeObjectPropertyFallback:
+ result = writeBackFallbackProperty(lookup, qmlScopeObject, source);
++ lookup->call = QV4::Lookup::Call::ContextGetterGeneric;
+ break;
+ default:
+@@ -2808,4 +2810,5 @@
+ ? loadFallbackAsVariant(lookup, object, target, this)
+ : loadFallbackProperty(lookup, object, target, this);
++ lookup->call = QV4::Lookup::Call::GetterGeneric;
+ break;
+ default:
+@@ -2842,4 +2845,5 @@
+ ? writeBackFallbackAsVariant(lookup, object, source)
+ : writeBackFallbackProperty(lookup, object, source);
++ lookup->call = QV4::Lookup::Call::GetterGeneric;
+ break;
+ default:
+@@ -3002,4 +3006,5 @@
+ ? storeFallbackAsVariant(engine->handle(), lookup, object, value)
+ : storeFallbackProperty(lookup, object, value);
++ lookup->call = QV4::Lookup::Call::SetterGeneric;
+ break;
+ default:
diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild
index 68526eb4386e..a7e398b935ca 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
if [[ ${PV} != *9999* ]]; then
QT5_KDEPATCHSET_REV=1
- KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
PYTHON_COMPAT=( python3_{11..14} )
diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.15.18.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.15.18.ebuild
deleted file mode 100644
index 4130b852a9b5..000000000000
--- a/dev-qt/qtdeclarative/qtdeclarative-5.15.18.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2009-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-if [[ ${PV} != *9999* ]]; then
- QT5_KDEPATCHSET_REV=1
- KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
-fi
-
-PYTHON_COMPAT=( python3_{11..14} )
-inherit flag-o-matic python-any-r1 qt5-build
-
-DESCRIPTION="The QML and Quick modules for the Qt5 framework"
-
-IUSE="cpu_flags_x86_sse2 gles2-only +jit localstorage vulkan +widgets"
-REQUIRED_USE="jit? ( x86? ( cpu_flags_x86_sse2 ) )"
-
-# qtgui[gles2-only=] is needed because of bug 504322
-DEPEND="
- =dev-qt/qtcore-${QT5_PV}*
- =dev-qt/qtgui-${QT5_PV}*:5=[gles2-only=,vulkan=]
- =dev-qt/qtnetwork-${QT5_PV}*
- =dev-qt/qttest-${QT5_PV}*
- media-libs/libglvnd
- localstorage? ( =dev-qt/qtsql-${QT5_PV}* )
- widgets? ( =dev-qt/qtwidgets-${QT5_PV}*[gles2-only=] )
-"
-RDEPEND="${DEPEND}"
-BDEPEND="${PYTHON_DEPS}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.14.2-QQuickItemView-fix-maxXY-extent.patch" # QTBUG-83890
-)
-
-src_prepare() {
- qt_use_disable_mod localstorage sql \
- src/imports/imports.pro
-
- qt_use_disable_mod widgets widgets \
- src/src.pro \
- src/qmltest/qmltest.pro \
- tests/auto/auto.pro \
- tools/tools.pro \
- tools/qmlscene/qmlscene.pro \
- tools/qml/qml.pro
-
- qt5-build_src_prepare
-}
-
-src_configure() {
- replace-flags "-Os" "-O2" # bug 840861
-
- local myqmakeargs=(
- --
- -qml-debug
- $(qt_use jit feature-qml-jit)
- )
- qt5-build_src_configure
-}
-
-src_install() {
- qt5-build_src_install
- qt5_symlink_binary_to_path qml 5
- qt5_symlink_binary_to_path qmleasing 5
- qt5_symlink_binary_to_path qmlpreview 5
- qt5_symlink_binary_to_path qmlscene 5
-}
diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.10.1.ebuild b/dev-qt/qtdeclarative/qtdeclarative-6.10.1-r1.ebuild
index eb34cbcde726..43c9a1f694de 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.10.1.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.10.1-r1.ebuild
@@ -32,6 +32,10 @@ BDEPEND="
~dev-qt/qtshadertools-${PV}:6
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-6.10.1-QTBUG-142331.patch
+)
+
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qmlls Qt6LanguageServerPrivate)