Add dev-qt from an older version of the gentoo repo
Qt5 has been removed, we restore it since we still use it.
This commit is contained in:
7
dev-qt/qtdeclarative/Manifest
Normal file
7
dev-qt/qtdeclarative/Manifest
Normal file
@ -0,0 +1,7 @@
|
||||
DIST qtdeclarative-5.15.16-gentoo-kde-1.tar.xz 19148 BLAKE2B ebdc17253887c5b22816c3bdcd07f30274c3aa4680088ceee7abce8896a17aff7272e5a4bba576e1ad0372b7d1d80322c6890e1b5343eaab915a5355da659c5b SHA512 3fbbb7b06c67d31a9074737f68437a9e920e4b816c78c78dec2e700e339f6f8ad0b244a1eb78d7521133873b17015861a84057a890887d4dfbef91699428d8c6
|
||||
DIST qtdeclarative-5.15.17-gentoo-kde-1.tar.xz 18464 BLAKE2B e72479cd8ace4ef3be544ebbc9cd812091627b0ea7d62543ce93db14a1f6c6e209102467c56189b3ca60cc7bedebe89b000fb4070566e6fa199cd80e53a015dd SHA512 eca93160d02359038ad838acd1034cd415f8282e974ddde9a1118e79a27f06b9f817eab69385c346c42b5202a8be8e62110dfa934fb0625c5be8ffb154d50e20
|
||||
DIST qtdeclarative-everywhere-opensource-src-5.15.16.tar.xz 21599596 BLAKE2B 7f69370eab4909891beb27a730e7082030715f1fcbd9faf87bdd8f3d7d3e469c56b609f58a1cf769bdb22303829d573d30fd9aaff4824456778d11ae46f7ddaa SHA512 be492d95d11ab13e13d27ca2024b5b5860d515d0b66c6d1c201bdba155841996bfdb3b813313dc75578228b6d3e661220dcc5db037624fe73d6e5e1c3ec84aa7
|
||||
DIST qtdeclarative-everywhere-opensource-src-5.15.17.tar.xz 21605592 BLAKE2B 44cc5d5355028c927a0d7dca5c48466db0bf2b13040b4c384b0a5fb9570fe439fc2fd8813fc612a7b9fa9109c2703c6f67ec3b81c6a9dbc468ebf25ffb8c3944 SHA512 854d2b1aeb4b8b858c9ec5c33dc63e53823ef4391cf6953c715192d909d315c87fe859872c1d2c4f20cda22f43f400cb1c7a8d8500c1afd3ea0af9afe2800826
|
||||
DIST qtdeclarative-everywhere-src-6.8.2.tar.xz 36485320 BLAKE2B 9d12d40450c6a5e6771c1e48e4c0a00d33aec269aec1050a4f1e689350d70f5208b0fc0c2fe2c0e8671989e392132ef3c7e7062483703ce5206ffdb66ebdc25c SHA512 0dbb8c96974424a18f047fe27124a3c87fb4a485094a2515aadefde92a0554b0da34fd67cff2c8ab5a3d93da7829a745a39713676702cd7470561eb776c72d95
|
||||
DIST qtdeclarative-everywhere-src-6.8.3.tar.xz 36503988 BLAKE2B 5c155c9a09facc6ef10653af313a65854fa4ffff2cdc782ddc18417e94f85abafa2e2e312eda36a640131d3667c0876ab620d3faeeab0ee6838d178ef85ca83f SHA512 75c9fdc8ba26ef95ae8ff0c82b18589b74d7ff3065e86e5bd8427bc36336e569eaa22fa07863f99d0592eec0c1a69c3409c7b3941eae14361ff523c058e56084
|
||||
DIST qtdeclarative-everywhere-src-6.9.0.tar.xz 36835960 BLAKE2B ec6c53ad9f1d66b7b655d92bd8a9c233ef5f67a8ee4ed8af739c5e9b237a3634677d930e1bc75aecbf62844b8290864aefdff7c7718c90ba2259a89803334d2a SHA512 51f216af71019d845b19e675d7eb8e11d9ab6a8b5f254fe31db4d0f0033272ffda053e597792447045bfc4c9e111a08d19eb4b85e1b401b0242b03b0086b2755
|
||||
@ -0,0 +1,42 @@
|
||||
From cc5387ad22ca503d167fd66e2429107d45b937af Mon Sep 17 00:00:00 2001
|
||||
From: David Redondo <qt@david-redondo.de>
|
||||
Date: Wed, 13 May 2020 11:04:23 +0200
|
||||
Subject: [PATCH] QQuickItemView: Fix max(X/Y)Extent()
|
||||
|
||||
QQuickFlickable maxXExtent() and maxYExtent() return the amount of space
|
||||
that is not shown when inside a ScrollView. QQuickItemView however just
|
||||
returned width() if vertical and height() if horizontal. In these cases
|
||||
just defer to the QQuickFlickable base implementation like minXExtent()
|
||||
and minYExtent() already do.
|
||||
|
||||
Fixes: QTBUG-83890
|
||||
Pick-to: 5.15
|
||||
Change-Id: I7f4060c2f46ae07611bedceca0d322c5f7f6affb
|
||||
---
|
||||
src/quick/items/qquickitemview.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
|
||||
index 7fb392233e4..ab130ac6857 100644
|
||||
--- a/src/quick/items/qquickitemview.cpp
|
||||
+++ b/src/quick/items/qquickitemview.cpp
|
||||
@@ -1393,7 +1393,7 @@ qreal QQuickItemView::maxYExtent() const
|
||||
{
|
||||
Q_D(const QQuickItemView);
|
||||
if (d->layoutOrientation() == Qt::Horizontal)
|
||||
- return height();
|
||||
+ return QQuickFlickable::maxYExtent();
|
||||
|
||||
if (d->vData.maxExtentDirty) {
|
||||
d->maxExtent = d->maxExtentForAxis(d->vData, false);
|
||||
@@ -1421,7 +1421,7 @@ qreal QQuickItemView::maxXExtent() const
|
||||
{
|
||||
Q_D(const QQuickItemView);
|
||||
if (d->layoutOrientation() == Qt::Vertical)
|
||||
- return width();
|
||||
+ return QQuickFlickable::maxXExtent();
|
||||
|
||||
if (d->hData.maxExtentDirty) {
|
||||
d->maxExtent = d->maxExtentForAxis(d->hData, true);
|
||||
--
|
||||
2.16.3
|
||||
@ -0,0 +1,91 @@
|
||||
From f78bc0b2c6884fd730bf34a931870d67936cf01d Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Sun, 7 Dec 2025 11:44:35 +0100
|
||||
Subject: [PATCH] Increase robustness of <img> tag in Text component
|
||||
|
||||
For Text.StyledText, there was no protection against <img> tags
|
||||
with very large widths or heights. This could cause an application
|
||||
to spend a very long time processing a layout and sometimes crash
|
||||
if the size was too large.
|
||||
|
||||
We reuse the internal coord limit in QPainter as our maximum size
|
||||
here, similar to what we do in Qt Svg for instance.
|
||||
|
||||
For Text.RichText, there were no issues in release builds, but in
|
||||
debug builds, you could trigger an overflow assert when rounding
|
||||
the number if it exceeded INT_MAX. For this, we simply cap the
|
||||
width and height at INT_MAX.
|
||||
|
||||
Fixes: QTBUG-141515
|
||||
Pick-to: 5.15
|
||||
Change-Id: I4bcba16158f5f495a0de38963316effc4c46aae1
|
||||
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
||||
(cherry picked from commit 4aaf9bf21f7cc69d73066785e254b664fcc82025)
|
||||
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
||||
(cherry picked from commit 907c7ceb7b27586039262567273efd5ec79e6202)
|
||||
(cherry picked from commit c4b74f27058b302a101befc2c1967f8c00b41be7)
|
||||
|
||||
This is actually a manual patch based on
|
||||
https://download.qt.io/official_releases/qt/6.5/CVE-2025-12385-qtdeclarative-6.5-0002.diff
|
||||
---
|
||||
src/quick/items/qquicktextdocument.cpp | 4 ++--
|
||||
src/quick/util/qquickstyledtext.cpp | 19 +++++++++++++++++--
|
||||
2 files changed, 19 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/quick/items/qquicktextdocument.cpp b/src/quick/items/qquicktextdocument.cpp
|
||||
index 021bbca0f6..67ed63d0de 100644
|
||||
--- a/src/quick/items/qquicktextdocument.cpp
|
||||
+++ b/src/quick/items/qquicktextdocument.cpp
|
||||
@@ -138,9 +138,9 @@ QSizeF QQuickTextDocumentWithImageResources::intrinsicSize(
|
||||
if (format.isImageFormat()) {
|
||||
QTextImageFormat imageFormat = format.toImageFormat();
|
||||
|
||||
- const int width = qRound(imageFormat.width());
|
||||
+ int width = qRound(qBound(qreal(INT_MIN), imageFormat.width(), qreal(INT_MAX)));
|
||||
const bool hasWidth = imageFormat.hasProperty(QTextFormat::ImageWidth) && width > 0;
|
||||
- const int height = qRound(imageFormat.height());
|
||||
+ const int height = qRound(qBound(qreal(INT_MIN), imageFormat.height(), qreal(INT_MAX)));
|
||||
const bool hasHeight = imageFormat.hasProperty(QTextFormat::ImageHeight) && height > 0;
|
||||
|
||||
QSizeF size(width, height);
|
||||
diff --git a/src/quick/util/qquickstyledtext.cpp b/src/quick/util/qquickstyledtext.cpp
|
||||
index a25af90414..120a2593d3 100644
|
||||
--- a/src/quick/util/qquickstyledtext.cpp
|
||||
+++ b/src/quick/util/qquickstyledtext.cpp
|
||||
@@ -45,6 +45,11 @@
|
||||
#include <qmath.h>
|
||||
#include "qquickstyledtext_p.h"
|
||||
#include <QQmlContext>
|
||||
+#include <QtGui/private/qoutlinemapper_p.h>
|
||||
+
|
||||
+#ifndef QQUICKSTYLEDPARSER_COORD_LIMIT
|
||||
+# define QQUICKSTYLEDPARSER_COORD_LIMIT QT_RASTER_COORD_LIMIT
|
||||
+#endif
|
||||
|
||||
Q_LOGGING_CATEGORY(lcStyledText, "qt.quick.styledtext")
|
||||
|
||||
@@ -694,9 +699,19 @@ void QQuickStyledTextPrivate::parseImageAttributes(const QChar *&ch, const QStri
|
||||
if (attr.first == QLatin1String("src")) {
|
||||
image->url = QUrl(attr.second.toString());
|
||||
} else if (attr.first == QLatin1String("width")) {
|
||||
- image->size.setWidth(attr.second.toString().toInt());
|
||||
+ bool ok;
|
||||
+ int v = attr.second.toString().toInt(&ok);
|
||||
+ if (ok && v <= QQUICKSTYLEDPARSER_COORD_LIMIT)
|
||||
+ image->size.setWidth(v);
|
||||
+ else
|
||||
+ qCWarning(lcStyledText) << "Invalid width provided for <img>";
|
||||
} else if (attr.first == QLatin1String("height")) {
|
||||
- image->size.setHeight(attr.second.toString().toInt());
|
||||
+ bool ok;
|
||||
+ int v = attr.second.toString().toInt(&ok);
|
||||
+ if (ok && v <= QQUICKSTYLEDPARSER_COORD_LIMIT)
|
||||
+ image->size.setHeight(v);
|
||||
+ else
|
||||
+ qCWarning(lcStyledText) << "Invalid height provided for <img>";
|
||||
} else if (attr.first == QLatin1String("align")) {
|
||||
if (attr.second.toString() == QLatin1String("top")) {
|
||||
image->align = QQuickStyledTextImgTag::Top;
|
||||
--
|
||||
2.52.0
|
||||
|
||||
26
dev-qt/qtdeclarative/metadata.xml
Normal file
26
dev-qt/qtdeclarative/metadata.xml
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>qt@gentoo.org</email>
|
||||
<name>Gentoo Qt Project</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="localstorage">Build the LocalStorage import for QtQuick (requires QtSql)</flag>
|
||||
<flag name="network">Enable QtNetwork support</flag>
|
||||
<flag name="opengl">Enable OpenGL support</flag>
|
||||
<flag name="qmlls">Build the qmlls tool using <pkg>dev-qt/qtlanguageserver</pkg></flag>
|
||||
<flag name="sql">Enable QtSQL support</flag>
|
||||
<flag name="widgets">Enable QtWidgets support</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<bugs-to>https://bugreports.qt.io/</bugs-to>
|
||||
<doc>https://doc.qt.io/</doc>
|
||||
<remote-id type="github">qt/qtdeclarative</remote-id>
|
||||
</upstream>
|
||||
<slots>
|
||||
<subslots>
|
||||
Must only be used by packages that are known to use private parts of the Qt API.
|
||||
</subslots>
|
||||
</slots>
|
||||
</pkgmetadata>
|
||||
67
dev-qt/qtdeclarative/qtdeclarative-5.15.16.ebuild
Normal file
67
dev-qt/qtdeclarative/qtdeclarative-5.15.16.ebuild
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 2009-2024 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_{8..13} )
|
||||
inherit flag-o-matic python-any-r1 qt5-build
|
||||
|
||||
DESCRIPTION="The QML and Quick modules for the Qt5 framework"
|
||||
|
||||
IUSE="gles2-only +jit localstorage vulkan +widgets"
|
||||
|
||||
# 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
|
||||
}
|
||||
67
dev-qt/qtdeclarative/qtdeclarative-5.15.17.ebuild
Normal file
67
dev-qt/qtdeclarative/qtdeclarative-5.15.17.ebuild
Normal file
@ -0,0 +1,67 @@
|
||||
# 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_{8..13} )
|
||||
inherit flag-o-matic python-any-r1 qt5-build
|
||||
|
||||
DESCRIPTION="The QML and Quick modules for the Qt5 framework"
|
||||
|
||||
IUSE="gles2-only +jit localstorage vulkan +widgets"
|
||||
|
||||
# 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
|
||||
}
|
||||
69
dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild
Normal file
69
dev-qt/qtdeclarative/qtdeclarative-5.15.18-r1.ebuild
Normal file
@ -0,0 +1,69 @@
|
||||
# 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
|
||||
"${FILESDIR}/${P}-CVE-2025-12385.patch" # bug 966269, QTBUG-141515
|
||||
)
|
||||
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user