Backport qt5 packages

Backport qt5 packages since they are removed from the main gentoo repos.
This commit is contained in:
2026-07-03 09:40:07 +02:00
parent 2247967dd3
commit 8e4eee87b9
50 changed files with 1736 additions and 0 deletions

View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

View File

@ -0,0 +1,17 @@
<?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>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,23 @@
# Copyright 1999-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
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="Multi-threading concurrence support library for the Qt5 framework"
IUSE=""
DEPEND="=dev-qt/qtcore-${QT5_PV}*:5="
RDEPEND="${DEPEND}"
QT5_TARGET_SUBDIRS=(
src/concurrent
)

3
dev-qt/qtcore/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

View File

@ -0,0 +1,20 @@
<?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="old-kernel">Disable syscalls not available on Linux kernels older than 4.11</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,165 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Looking for Qt 6? It is packaged differently to Qt 5 with different
# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes
if [[ ${PV} != *9999* ]]; then
QT5_KDEPATCHSET_REV=1
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
QT5_MODULE="qtbase"
inherit linux-info flag-o-matic toolchain-funcs qt5-build
DESCRIPTION="Cross-platform application development framework"
SLOT=5/${QT5_PV}
IUSE="icu old-kernel"
DEPEND="
dev-libs/double-conversion:=
dev-libs/glib:2
dev-libs/libpcre2[pcre16,unicode]
virtual/zlib:=
icu? ( dev-libs/icu:= )
!icu? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
!<dev-qt/designer-${QT5_PV}:5
!<dev-qt/qt3d-${QT5_PV}:5
!<dev-qt/qtbluetooth-${QT5_PV}:5
!<dev-qt/qtcharts-${QT5_PV}:5
!<dev-qt/qtconcurrent-${QT5_PV}:5
!<dev-qt/qtdatavis3d-${QT5_PV}:5
!<dev-qt/qtdbus-${QT5_PV}:5
!<dev-qt/qtdeclarative-${QT5_PV}:5
!<dev-qt/qtgamepad-${QT5_PV}:5
!<dev-qt/qtgraphicaleffects-${QT5_PV}:5
!<dev-qt/qtgui-${QT5_PV}:5
!<dev-qt/qthelp-${QT5_PV}:5
!<dev-qt/qtimageformats-${QT5_PV}:5
!<dev-qt/qtlocation-${QT5_PV}:5
!<dev-qt/qtmultimedia-${QT5_PV}:5
!<dev-qt/qtnetwork-${QT5_PV}:5
!<dev-qt/qtnetworkauth-${QT5_PV}:5
!<dev-qt/qtopengl-${QT5_PV}:5
!<dev-qt/qtpositioning-${QT5_PV}:5
!<dev-qt/qtprintsupport-${QT5_PV}:5
!<dev-qt/qtquickcontrols-${QT5_PV}:5
!<dev-qt/qtquickcontrols2-${QT5_PV}:5
!<dev-qt/qtquicktimeline-${QT5_PV}:5
!<dev-qt/qtscript-${QT5_PV}:5
!<dev-qt/qtscxml-${QT5_PV}:5
!<dev-qt/qtsensors-${QT5_PV}:5
!<dev-qt/qtserialbus-${QT5_PV}:5
!<dev-qt/qtserialport-${QT5_PV}:5
!<dev-qt/qtspeech-${QT5_PV}:5
!<dev-qt/qtsql-${QT5_PV}:5
!<dev-qt/qtsvg-${QT5_PV}:5
!<dev-qt/qttest-${QT5_PV}:5
!<dev-qt/qtvirtualkeyboard-${QT5_PV}:5
!<dev-qt/qtwayland-${QT5_PV}:5
!<dev-qt/qtwebchannel-${QT5_PV}:5
!<dev-qt/qtwebengine-${QT5_PV}:5
!<dev-qt/qtwebsockets-${QT5_PV}:5
!<dev-qt/qtwebview-${QT5_PV}:5
!<dev-qt/qtwidgets-${QT5_PV}:5
!<dev-qt/qtx11extras-${QT5_PV}:5
!<dev-qt/qtxml-${QT5_PV}:5
!<dev-qt/qtxmlpatterns-${QT5_PV}:5
"
QT5_TARGET_SUBDIRS=(
src/tools/bootstrap
src/tools/moc
src/tools/rcc
src/corelib
src/tools/qlalr
doc
)
QT5_GENTOO_PRIVATE_CONFIG=(
!:network
!:sql
!:testlib
!:xml
)
pkg_pretend() {
use kernel_linux || return
get_running_version
if kernel_is -lt 4 11 && ! use old-kernel; then
ewarn "The running kernel is older than 4.11. USE=old-kernel is needed for"
ewarn "dev-qt/qtcore to function on this kernel properly. Bugs #669994, #672856"
fi
}
src_prepare() {
# don't add -O3 to CXXFLAGS, bug 549140
sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/corelib/corelib.pro || die
# fix missing qt_version_tag symbol w/ LTO, bug 674382
sed -i -e 's/^gcc:ltcg/gcc/' src/corelib/global/global.pri || die
# Broken with FORTIFY_SOURCE=3
#
# Our toolchain sets F_S=2 by default w/ >= -O2, so we need
# to unset F_S first, then explicitly set 2, to negate any default
# and anything set by the user if they're choosing 3 (or if they've
# modified GCC to set 3).
#
# Refs:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105078
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105709
# https://bugreports.qt.io/browse/QTBUG-103782
# bug #847145
if tc-enables-fortify-source ; then
# We can't unconditionally do this b/c we fortify needs
# some level of optimisation.
filter-flags -D_FORTIFY_SOURCE=3
# (Qt doesn't seem to respect CPPFLAGS?)
append-flags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
fi
qt5-build_src_prepare
# workaround for a79a370c (...Annotate-QMutex-...patch) adding a header
qt5_syncqt_version
}
src_configure() {
local myconf=(
$(qt_use icu)
$(qt_use !icu iconv)
)
use old-kernel && myconf+=(
-no-feature-renameat2 # needs Linux 3.16, bug 669994
-no-feature-getentropy # needs Linux 3.17, bug 669994
-no-feature-statx # needs Linux 4.11, bug 672856
)
qt5-build_src_configure
}
src_install() {
qt5-build_src_install
qt5_symlink_binary_to_path qmake 5
local flags=(
DBUS FREETYPE IMAGEFORMAT_JPEG IMAGEFORMAT_PNG
OPENGL OPENSSL SSL WIDGETS
)
for flag in ${flags[@]}; do
cat >> "${D}"/${QT5_HEADERDIR}/QtCore/qconfig.h <<- _EOF_ || die
#if defined(QT_NO_${flag}) && defined(QT_${flag})
# undef QT_NO_${flag}
#elif !defined(QT_NO_${flag}) && !defined(QT_${flag})
# define QT_NO_${flag}
#endif
_EOF_
done
}

3
dev-qt/qtdbus/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

View File

@ -0,0 +1,17 @@
<?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>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,45 @@
# Copyright 1999-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
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="Qt5 module for inter-process communication over the D-Bus protocol"
IUSE=""
DEPEND="
=dev-qt/qtcore-${QT5_PV}*:5=
sys-apps/dbus
"
RDEPEND="${DEPEND}"
QT5_TARGET_SUBDIRS=(
src/dbus
src/tools/qdbusxml2cpp
src/tools/qdbuscpp2xml
)
QT5_GENTOO_CONFIG=(
:dbus
:dbus-linked:
)
QT5_GENTOO_PRIVATE_CONFIG=(
:dbus
:dbus-linked
)
src_configure() {
local myconf=(
-dbus-linked
)
qt5-build_src_configure
}

View File

@ -0,0 +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.3.tar.xz 38084496 BLAKE2B acefeb2f998001cd811d4ca62799cb44ed57e743a1198f58fe4d84f920b438496e45bf2cd71d08da83cf566bde09c4b2c284fb655bbcc607fd1c29d4c1c9a809 SHA512 187a525b73595e7c4d89c98be657df4f480114957649813aa9ecd3fba23f56f20c8804f2ab507d83a5fb6120a2c6c36751fe5c80f43f9feb6c3479a733fb6684
DIST qtdeclarative-everywhere-src-6.11.1.tar.xz 38744644 BLAKE2B ea428a3930276dbf4db912f905aa885971de13f4b35034b6819c93af938d1d36d6b0cc13c3e54c1cd7bb8c375e4744bdd98af1ea9105ced5ad982e6aa550357a SHA512 91d657a33b3bf8fc79f1116561f125b3905b590e94504dcb3e4feead71f209b35b42a9da783d4568f756b22fd7a0e9802e1a9039553d400fe33417562776a1d6

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,22 @@
https://bugs.gentoo.org/973374
https://codereview.qt-project.org/c/qt%2Fqtdeclarative/+/733089
--- a/src/qml/qml/qqmltypecompiler.cpp
+++ b/src/qml/qml/qqmltypecompiler.cpp
@@ -919,12 +919,11 @@
// Apply the ordering in the IR
obj->setFirstAlias(ordered[0]);
- if (ordered[0] == defaultPropertyAlias)
- obj->indexOfDefaultPropertyOrAlias = 0;
- for (qsizetype i = 0, end = ordered.size() - 1; i < end; ++i) {
+ for (qsizetype i = 0, end = ordered.size() - 1; i < end; ++i)
ordered[i]->next = ordered[i + 1];
- if (ordered[i] == defaultPropertyAlias)
- obj->indexOfDefaultPropertyOrAlias = i;
- }
ordered.last()->next = nullptr;
+ if (defaultPropertyAlias) {
+ auto it = std::find(ordered.constBegin(), ordered.constEnd(), defaultPropertyAlias);
+ obj->indexOfDefaultPropertyOrAlias = std::distance(ordered.constBegin(), it);
+ }
return true;

View File

@ -0,0 +1,17 @@
https://codereview.qt-project.org/c/qt/qtdeclarative/+/723105
--- a/src/qmlcompiler/qqmlsa.cpp
+++ b/src/qmlcompiler/qqmlsa.cpp
@@ -1379,5 +1379,5 @@
QQmlJSScopesById::MostLikelyCallback<QQmlJSScope::ConstPtr> result;
PassManagerPrivate::visitor(*d->m_manager)->addressableScopes().possibleScopes(
- id.toString(), QQmlJSScope::scope(context), Default, result);
+ id.toString(), QQmlJSScope::scope(context), QQmlJSScopesByIdOption::Default, result);
return QQmlJSScope::createQQmlSAElement(result.result);
}
@@ -1391,5 +1391,5 @@
QQmlJSScopesById::MostLikelyCallback<QString> result;
PassManagerPrivate::visitor(*d->m_manager)->addressableScopes().possibleIds(
- QQmlJSScope::scope(element), QQmlJSScope::scope(context), Default, result);
+ QQmlJSScope::scope(element), QQmlJSScope::scope(context), QQmlJSScopesByIdOption::Default, result);
return result.result;
}

View File

@ -0,0 +1,73 @@
https://mail.kde.org/pipermail/distributions/2026-May/001692.html
https://bugs.kde.org/show_bug.cgi?id=520252
https://qt-project.atlassian.net/browse/QTBUG-146869
--- a/src/qmlmodels/qqmltableinstancemodel.cpp
+++ b/src/qmlmodels/qqmltableinstancemodel.cpp
@@ -166,24 +166,19 @@
Q_ASSERT(m_delegate);
- QQmlDelegateModelItem *modelItem = resolveModelItem(index, QModelIndex());
- if (!modelItem)
- return nullptr;
+ QModelIndex modelIndex;
+ if (const QAbstractItemModel *aim = abstractItemModel()) {
+ // A valid QModelIndex is needed for resolveModelItem() to match
+ // items in the release cache rather than just delegate type alone.
+ const int row = m_adaptorModel.rowAt(index);
+ const int column = m_adaptorModel.columnAt(index);
+ modelIndex = aim->index(row, column);
+ }
+
+ if (QQmlDelegateModelItem *modelItem = resolveModelItem(index, modelIndex)) {
+ // Return the incubated object, or start an async incubation task and return nullptr for now
+ return incubateModelItemIfNeeded(modelItem, incubationMode);
+ }
- // Return the incubated object, or start an async incubation task and return nullptr for now
- return incubateModelItemIfNeeded(modelItem, incubationMode);
-}
-
-QObject *QQmlTableInstanceModel::object(const QModelIndex &modelIndex, QQmlIncubator::IncubationMode incubationMode)
-{
- Q_ASSERT(m_delegate);
- Q_ASSERT(m_adaptorModel.adaptsAim());
-
- const int flatIndex = m_adaptorModel.indexAt(modelIndex.row(), modelIndex.column());
- QQmlDelegateModelItem *modelItem = resolveModelItem(flatIndex, modelIndex);
- if (!modelItem)
- return nullptr;
-
- // Return the incubated object, or start an async incubation task and return nullptr for now
- return incubateModelItemIfNeeded(modelItem, incubationMode);
+ return nullptr;
}
--- a/src/qmlmodels/qqmltableinstancemodel_p.h
+++ b/src/qmlmodels/qqmltableinstancemodel_p.h
@@ -87,5 +87,4 @@
QObject *object(int index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested) override;
- QObject *object(const QModelIndex &index, QQmlIncubator::IncubationMode incubationMode = QQmlIncubator::AsynchronousIfNested);
QObject *incubateModelItemIfNeeded(QQmlDelegateModelItem *modelItem, QQmlIncubator::IncubationMode incubationMode);
void restoreFromReleasedItemsCache(QQmlDelegateModelItem *item, int newFlatIndex);
--- a/src/quick/items/qquicktableview.cpp
+++ b/src/quick/items/qquicktableview.cpp
@@ -2827,17 +2827,9 @@
bool ownItem = false;
- QObject* object = nullptr;
- const QAbstractItemModel *aim = model->abstractItemModel();
const int modelRow = isTransposed ? logicalColumnIndex(cell.y()) : logicalRowIndex(cell.y());
const int modelColumn = isTransposed ? logicalRowIndex(cell.x()) : logicalColumnIndex(cell.x());
const int modelIndex = modelIndexAtCell(QPoint(modelColumn, modelRow));
- if (tableModel && aim) {
- // Prefer loading via QModelIndex so that QQmlTableInstanceModel can also
- // match recently released items by model index, not just by delegate type.
- object = tableModel->object(aim->index(modelRow, modelColumn), incubationMode);
- } else {
- object = model->object(modelIndex, incubationMode);
- }
+ QObject *object = model->object(modelIndex, incubationMode);
if (!object) {

View 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://qt-project.atlassian.net/</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>

View 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
}

View File

@ -0,0 +1,65 @@
# Copyright 2021-2026 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.10.3-unity-build.patch
"${FILESDIR}"/${PN}-6.10.3-QTBUG-144701.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
}

View File

@ -0,0 +1,64 @@
# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..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.11.1-QTBUG-146869.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
}

View File

@ -0,0 +1,60 @@
# 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
"
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
}

View File

@ -0,0 +1,60 @@
# Copyright 2021-2026 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
"
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
}

View File

@ -0,0 +1,60 @@
# 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
"
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
}

3
dev-qt/qtgui/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

28
dev-qt/qtgui/metadata.xml Normal file
View File

@ -0,0 +1,28 @@
<?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="eglfs">Build the EGL Full Screen/Single Surface platform plugin</flag>
<flag name="evdev">Enable support for input devices via evdev</flag>
<flag name="ibus">Build the IBus input method plugin</flag>
<flag name="libinput">Enable support for input devices via <pkg>dev-libs/libinput</pkg></flag>
<flag name="linuxfb">Enable Linux framebuffer support for embedded devices</flag>
<flag name="tslib">Enable support for touchscreen devices via <pkg>x11-libs/tslib</pkg></flag>
<flag name="tuio">Build plugin to receive touch events over the TUIO protocol</flag>
<flag name="wayland">Provide <pkg>dev-qt/qtwayland</pkg> to ensure Qt applications can be run as Wayland clients</flag>
<flag name="X">Build the XCB platform plugin and enable X11 integration</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,184 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Looking for Qt 6? It is packaged differently to Qt 5 with different
# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes
if [[ ${PV} != *9999* ]]; then
QT5_KDEPATCHSET_REV=1
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
SLOT=5/${QT5_PV} # bug 707658
IUSE="accessibility dbus egl eglfs evdev gles2-only ibus jpeg +libinput
linuxfb +png tslib tuio +udev vnc vulkan wayland +X"
REQUIRED_USE="
|| ( eglfs linuxfb vnc wayland X )
accessibility? ( dbus X )
eglfs? ( egl )
ibus? ( dbus )
libinput? ( udev )
X? ( gles2-only? ( egl ) )
"
RDEPEND="
dev-libs/glib:2
dev-libs/md4c
=dev-qt/qtcore-${QT5_PV}*:5=
dev-util/gtk-update-icon-cache
media-libs/fontconfig
media-libs/freetype:2
media-libs/harfbuzz:=
virtual/zlib:=
accessibility? ( app-accessibility/at-spi2-core:2 )
dbus? ( =dev-qt/qtdbus-${QT5_PV}* )
eglfs? (
media-libs/mesa[gbm(+)]
x11-libs/libdrm
)
evdev? ( sys-libs/mtdev )
jpeg? ( media-libs/libjpeg-turbo:= )
gles2-only? ( media-libs/libglvnd )
!gles2-only? ( media-libs/libglvnd[X] )
libinput? (
dev-libs/libinput:=
x11-libs/libxkbcommon
)
png? ( media-libs/libpng:= )
tslib? ( >=x11-libs/tslib-1.21 )
tuio? ( =dev-qt/qtnetwork-${QT5_PV}* )
udev? ( virtual/libudev:= )
vnc? ( =dev-qt/qtnetwork-${QT5_PV}* )
vulkan? ( dev-util/vulkan-headers )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libxkbcommon[X]
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
"
DEPEND="${RDEPEND}
evdev? ( sys-kernel/linux-headers )
linuxfb? ( sys-kernel/linux-headers )
udev? ( sys-kernel/linux-headers )
X? ( x11-base/xorg-proto )
"
PDEPEND="
ibus? ( app-i18n/ibus )
wayland? ( =dev-qt/qtwayland-${QT5_PV}* )
"
QT5_TARGET_SUBDIRS=(
src/tools/qvkgen
src/gui
src/openglextensions
src/platformheaders
src/platformsupport
src/plugins/generic
src/plugins/imageformats
src/plugins/platforms
src/plugins/platforminputcontexts
)
QT5_GENTOO_CONFIG=(
accessibility:accessibility-atspi-bridge
egl:egl:
eglfs:eglfs:
eglfs:eglfs_egldevice:
eglfs:eglfs_gbm:
evdev:evdev:
evdev:mtdev:
:fontconfig:
:system-freetype:FREETYPE
!:no-freetype:
gles2-only::OPENGL_ES
gles2-only:opengles2:OPENGL_ES_2
!:no-gui:
:system-harfbuzz:
!:no-harfbuzz:
jpeg:system-jpeg:IMAGEFORMAT_JPEG
!jpeg:no-jpeg:
libinput
libinput:xkbcommon:
:opengl
png:png:
png:system-png:IMAGEFORMAT_PNG
!png:no-png:
tslib:tslib:
udev:libudev:
vulkan:vulkan:
X:xcb:
X:xcb-glx:
X:xcb-plugin:
X:xcb-render:
X:xcb-sm:
X:xcb-xlib:
X:xcb-xinput:
)
QT5_GENTOO_PRIVATE_CONFIG=(
:gui
)
src_prepare() {
# don't add -O3 to CXXFLAGS, bug 549140
sed -i -e '/CONFIG\s*+=/s/optimize_full//' src/gui/gui.pro || die
# egl_x11 is activated when both egl and X are enabled
use egl && QT5_GENTOO_CONFIG+=(X:egl_x11:) || QT5_GENTOO_CONFIG+=(egl:egl_x11:)
qt_use_disable_config dbus dbus \
src/platformsupport/themes/genericunix/genericunix.pri
qt_use_disable_config tuio tuiotouch src/plugins/generic/generic.pro
qt_use_disable_mod ibus dbus \
src/plugins/platforminputcontexts/platforminputcontexts.pro
use vnc || sed -i -e '/SUBDIRS += vnc/d' \
src/plugins/platforms/platforms.pro || die
qt5-build_src_prepare
}
src_configure() {
local myconf=(
$(qt_use accessibility feature-accessibility-atspi-bridge)
$(usev dbus -dbus-linked)
$(qt_use egl)
$(qt_use eglfs)
$(usev eglfs '-gbm -kms')
$(qt_use evdev)
$(qt_use evdev mtdev)
-fontconfig
-system-freetype
-gui
-system-harfbuzz
$(qt_use jpeg libjpeg system)
$(qt_use libinput)
$(qt_use linuxfb)
-opengl $(usex gles2-only es2 desktop)
$(qt_use png libpng system)
$(qt_use tslib)
$(qt_use udev libudev)
$(qt_use vulkan)
$(qt_use X xcb)
$(usev X '-xcb-xlib')
)
if use libinput || use X; then
myconf+=( -xkbcommon )
fi
qt5-build_src_configure
}

View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

View File

@ -0,0 +1,22 @@
<?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="gssapi">Enable support for GSSAPI (<pkg>virtual/krb5</pkg>)</flag>
<flag name="libproxy">Use <pkg>net-libs/libproxy</pkg> for automatic
HTTP/SOCKS proxy configuration</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,62 @@
# Copyright 1999-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
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="Network abstraction library for the Qt5 framework"
IUSE="gssapi libproxy sctp +ssl"
DEPEND="
=dev-qt/qtcore-${QT5_PV}*:5=
virtual/zlib:=
gssapi? ( virtual/krb5 )
libproxy? ( net-libs/libproxy )
sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
ssl? ( >=dev-libs/openssl-1.1.1:0= )
"
RDEPEND="${DEPEND}"
QT5_TARGET_SUBDIRS=(
src/network
src/plugins/bearer/generic
)
QT5_GENTOO_CONFIG=(
libproxy:libproxy:
ssl::SSL
ssl::OPENSSL
ssl:openssl-linked:LINKED_OPENSSL
)
QT5_GENTOO_PRIVATE_CONFIG=(
:network
)
src_configure() {
local myconf=(
$(qt_use gssapi feature-gssapi)
$(qt_use libproxy)
$(qt_use sctp)
$(usev ssl -openssl-linked)
)
qt5-build_src_configure
}
src_install() {
qt5-build_src_install
# workaround for bug 652650
if use ssl; then
sed -e "/^#define QT_LINKED_OPENSSL/s/$/ true/" \
-i "${D}${QT5_HEADERDIR}"/Gentoo/${PN}-qconfig.h || die
fi
}

View File

@ -0,0 +1 @@
DIST qtquickcontrols-everywhere-opensource-src-5.15.18.tar.xz 5960964 BLAKE2B d380286f20257bacdf86a6aa97b8e935d9b5477bb25f54ddc97bbdf1adf208ab0ade48463dd9905b98eb2c99a05ef81b55fa452d75287235f58adef14cc16e80 SHA512 9bd2bcd119d162f8ef30b2e1f459776a66b504f5043809cc0846b7c4898ca464eb44f65d1c76d3857a12eef7126ec8a84f8ac3566b5c3200b65572a3ff9296f7

View File

@ -0,0 +1,20 @@
<?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="widgets">Enable QtWidgets support</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,33 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit qt5-build
DESCRIPTION="Set of Qt Quick controls to create complete user interfaces (deprecated)"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
IUSE="+widgets"
DEPEND="
=dev-qt/qtcore-${QT5_PV}*
=dev-qt/qtdeclarative-${QT5_PV}*
=dev-qt/qtgui-${QT5_PV}*
widgets? ( =dev-qt/qtwidgets-${QT5_PV}* )
"
RDEPEND="${DEPEND}"
src_prepare() {
qt_use_disable_mod widgets widgets \
src/src.pro \
src/controls/Private/private.pri \
tests/auto/activeFocusOnTab/activeFocusOnTab.pro \
tests/auto/controls/controls.pro \
tests/auto/testplugin/testplugin.pro
qt5-build_src_prepare
}

View File

@ -0,0 +1,2 @@
DIST qtquickcontrols2-5.15.18-gentoo-kde-1.tar.xz 6284 BLAKE2B 8a9aec66bb75cd45b4cc96162b6cd55a98f357938903d1544b72c9de120389f4c01314cc7c0e04cfcac5908c798695f9f50942ccf682e09d62dfff5c65a5ed86 SHA512 044d06524317aad9b234136a758cd0db0af514ba022a3cd7777544136579a7fcc52fe156cf1e9e11c5fdab7a980d78f088eb82f7a83ec3d660c760df7a580182
DIST qtquickcontrols2-everywhere-opensource-src-5.15.18.tar.xz 8272372 BLAKE2B 414255b06745b2ec8f7aaaf18ba0971e31f28d8f8756c744b64a5e2faa03f3b62c22c3f06b794f11e940275204166ec1d3d269c73ef5bd8df6a0649485ba88a6 SHA512 29d0904c949b4970eae576d20f94b5c92f1fcb71056bb085b6ea8421c894aa265ae9a5cdbd6e21ac849f14385833ed2961a18dcc2c66ea6ed8a28feb51bd7375

View File

@ -0,0 +1,20 @@
<?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="widgets">Enable QtWidgets support</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,32 @@
# Copyright 1999-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 ~loong ppc64 ~riscv x86"
fi
inherit qt5-build
DESCRIPTION="Set of next generation Qt Quick controls for the Qt5 framework"
IUSE="widgets"
DEPEND="
=dev-qt/qtcore-${QT5_PV}*
=dev-qt/qtdeclarative-${QT5_PV}*
=dev-qt/qtgui-${QT5_PV}*
widgets? ( =dev-qt/qtwidgets-${QT5_PV}* )
"
RDEPEND="${DEPEND}
=dev-qt/qtgraphicaleffects-${QT5_PV}*
"
src_prepare() {
qt_use_disable_mod widgets widgets \
src/imports/platform/platform.pro
qt5-build_src_prepare
}

3
dev-qt/qtsql/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

17
dev-qt/qtsql/metadata.xml Normal file
View File

@ -0,0 +1,17 @@
<?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>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,59 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Looking for Qt 6? It is packaged differently to Qt 5 with different
# package names: https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes
if [[ ${PV} != *9999* ]]; then
QT5_KDEPATCHSET_REV=1
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="SQL abstraction library for the Qt5 framework"
SLOT=5/${QT5_PV} # bug 639140
IUSE="freetds mysql oci8 odbc postgres +sqlite"
REQUIRED_USE="
|| ( freetds mysql oci8 odbc postgres sqlite )
"
DEPEND="
=dev-qt/qtcore-${QT5_PV}*:5=
freetds? ( dev-db/freetds )
mysql? ( dev-db/mysql-connector-c:= )
oci8? ( dev-db/oracle-instantclient:=[sdk] )
odbc? ( dev-db/unixODBC )
postgres? ( dev-db/postgresql:* )
sqlite? ( dev-db/sqlite:3 )
"
RDEPEND="${DEPEND}"
QT5_TARGET_SUBDIRS=(
src/sql
src/plugins/sqldrivers
)
QT5_GENTOO_PRIVATE_CONFIG=(
:sql
)
src_configure() {
local myconf=(
$(qt_use freetds sql-tds plugin)
$(qt_use mysql sql-mysql plugin)
$(qt_use oci8 sql-oci plugin)
$(qt_use odbc sql-odbc plugin)
$(qt_use postgres sql-psql plugin)
$(qt_use sqlite sql-sqlite plugin)
$(usev sqlite -system-sqlite)
)
use oci8 && myconf+=("-I${ORACLE_HOME}/include" "-L${ORACLE_HOME}/$(get_libdir)")
qt5-build_src_configure
}

View File

@ -0,0 +1,2 @@
DIST qtwebsockets-everywhere-src-6.10.3.tar.xz 447640 BLAKE2B 46544efcdeb266914c8933cadb95b4fb5cf6380b45d9810f4f57ce1c85f329da73be0b67245739fef6c95fcd8a9f15a00b1f64c3a988d7286dc06aaca3f41e97 SHA512 6e335c47b5d283d40f2a75f8b36a34524a9c7c18906007471cf12b8e4ea9a35fc7693aec1dc2c9c87921495806699ccab958d5ce6170ae1409de92bb643aad09
DIST qtwebsockets-everywhere-src-6.11.1.tar.xz 452228 BLAKE2B 0bd24edf8f20a70be52fcbd3cc4672c02d33445abe8153388e2023f8846411879819d3b29848caa1cb3dfd69161ab447442d0d2b9a3f988ccdfefaeb9efa013a SHA512 f6189482219e20b40bf7e4ac9d188d5184a25ca65c3978f51d3298bfd557ef49448b6bd3984f6cbf0d94897613cfc9ae16c63cec5149a432808fabaf56bd914a

View File

@ -0,0 +1,21 @@
<?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="qml">Build QML bindings</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
<remote-id type="github">qt/qtwebsockets</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>

View File

@ -0,0 +1,28 @@
# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit qt6-build
DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
IUSE="qml +ssl"
RDEPEND="
~dev-qt/qtbase-${PV}:6[network,ssl=]
qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
"
DEPEND="${RDEPEND}"
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
)
qt6-build_src_configure
}

View File

@ -0,0 +1,28 @@
# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit qt6-build
DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
IUSE="qml +ssl"
RDEPEND="
~dev-qt/qtbase-${PV}:6[network,ssl=]
qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
"
DEPEND="${RDEPEND}"
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
)
qt6-build_src_configure
}

View File

@ -0,0 +1,28 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit qt6-build
DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
IUSE="qml +ssl"
RDEPEND="
~dev-qt/qtbase-${PV}:6[network,ssl=]
qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
"
DEPEND="${RDEPEND}"
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
)
qt6-build_src_configure
}

View File

@ -0,0 +1,28 @@
# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit qt6-build
DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
IUSE="qml +ssl"
RDEPEND="
~dev-qt/qtbase-${PV}:6[network,ssl=]
qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
"
DEPEND="${RDEPEND}"
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
)
qt6-build_src_configure
}

View File

@ -0,0 +1,28 @@
# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit qt6-build
DESCRIPTION="Implementation of the WebSocket protocol for the Qt6 framework"
if [[ ${QT6_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
IUSE="qml +ssl"
RDEPEND="
~dev-qt/qtbase-${PV}:6[network,ssl=]
qml? ( ~dev-qt/qtdeclarative-${PV}:6 )
"
DEPEND="${RDEPEND}"
src_configure() {
local mycmakeargs=(
$(cmake_use_find_package qml Qt6Quick)
)
qt6-build_src_configure
}

View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

View File

@ -0,0 +1,20 @@
<?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="gtk">Build the GTK platform theme plugin</flag>
</use>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,63 @@
# Copyright 1999-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
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="Set of components for creating classic desktop-style UIs for the Qt5 framework"
# keep IUSE defaults in sync with qtgui
IUSE="dbus gles2-only gtk +png +X"
REQUIRED_USE="gtk? ( dbus )"
DEPEND="
=dev-qt/qtcore-${QT5_PV}*:5=
=dev-qt/qtgui-${QT5_PV}*:5=[gles2-only=,png=,X?]
dbus? ( =dev-qt/qtdbus-${QT5_PV}* )
gtk? (
dev-libs/glib:2
=dev-qt/qtgui-${QT5_PV}*:5=[dbus]
x11-libs/gtk+:3[X]
x11-libs/libX11
x11-libs/pango
)
"
RDEPEND="${DEPEND}"
QT5_TARGET_SUBDIRS=(
src/tools/uic
src/widgets
src/plugins/platformthemes
)
QT5_GENTOO_CONFIG=(
dbus:xdgdesktopportal:
gtk:gtk3:
::widgets
!:no-widgets:
)
QT5_GENTOO_PRIVATE_CONFIG=(
:widgets
)
src_configure() {
local myconf=(
-opengl $(usex gles2-only es2 desktop)
$(usev dbus -dbus-linked)
$(qt_use gtk)
-gui
$(qt_use png libpng system)
-widgets
$(qt_use X xcb)
$(usev X '-xcb-xlib -xkbcommon')
)
qt5-build_src_configure
}

3
dev-qt/qtxml/Manifest Normal file
View File

@ -0,0 +1,3 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.18-gentoo-kde-1.tar.xz 450532 BLAKE2B 172732fe6a2f7dd4718b224d8a8ba7b182ded24f74ee38545d20a17364757153b399cae82b40f425e72b2587ec432f024868078edfe95280242211a040ddd9f6 SHA512 e0257171cf723cb6208a06f28fc95fa07d1239ea9dd3daa79d362146aa53e008398c9e1d95443b84d6d71b835a3f010b957e748f3ec23b77a588d6b372fd0c47
DIST qtbase-everywhere-opensource-src-5.15.18.tar.xz 51492796 BLAKE2B a02f13f2ae8d3994fe5e3fa5b3751cb2981c3203cc4f3859dd4398d6a62101772885acb0c7b1f830ba8e9fbdd64ecfdb2a6074bfedd1bd372b4fc9ceb747467d SHA512 d39c831e6f3ddcd6a50f103ff60a0700b451f137782249508b7447a80066e3e9259c9b5038e6077ccf8df06b6afefec232c3c4dd331d85765089c92571708206

17
dev-qt/qtxml/metadata.xml Normal file
View File

@ -0,0 +1,17 @@
<?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>
<upstream>
<bugs-to>https://qt-project.atlassian.net/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
</subslots>
</slots>
</pkgmetadata>

View File

@ -0,0 +1,29 @@
# Copyright 1999-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
QT5_MODULE="qtbase"
inherit qt5-build
DESCRIPTION="Implementation of SAX and DOM for the Qt5 framework"
IUSE=""
RDEPEND="=dev-qt/qtcore-${QT5_PV}*:5="
DEPEND="${RDEPEND}
test? ( =dev-qt/qtnetwork-${QT5_PV}* )
"
QT5_TARGET_SUBDIRS=(
src/xml
)
QT5_GENTOO_PRIVATE_CONFIG=(
:xml
)