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:
2026-07-03 09:45:00 +02:00
parent 2247967dd3
commit 10c6abe298
52 changed files with 1626 additions and 0 deletions

20
dev-qt/metadata.xml Normal file
View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The dev-qt category contains packages for the Qt framework modules and
directly related libraries and development applications from the upstream
Qt Project. Do not add other packages to this category.
</longdescription>
<longdescription lang="de">
Die Kategorie dev-qt enthält Pakete für die Qt-Framework-Module
sowie direkt zugehörige Bibliotheken und Entwicklungsanwendungen
des Qt-Upstream-Projekts. Zu dieser Kategorie sollen keine anderen
Pakete hinzugefügt werden.
</longdescription>
<longdescription lang="es">
La categoría dev-qt contiene paquetes para los módulos del marco de trabajo
Qt y las librerías y aplicaciones de desarrollo directamente relacionadas
del proyecto Qt. No añadir otros paquetes a esta categoría.
</longdescription>
</catmetadata>

View File

@ -0,0 +1,5 @@
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
EBUILD qtconcurrent-5.15.18.ebuild 460 BLAKE2B 0d71351b14357bd93c19707127b48ca52fb99cec04f81fe7fa29cf9c3eda3f96309b71eddee24486fb0cbfcc64c731b44bd0dd9c4325c1cc495e5cad95b7793b SHA512 700b1e1a9c056719be9135c2e8762a5f998e6b73260a3f947b5f14b364086a3fe055ca4459802464461d585216dd8d53e317dccb5958dc90878574bde87a1c1e
MISC metadata.xml 482 BLAKE2B 651a49dc4a07f5e5a9c21990868e666d98acdea7d7b0b2c0e4c98eafc3da72c803d380e4abda30f33250f7bbd7654df713833ccdddcb975cbad6f92e488f643b SHA512 192c670abd7da29645513bf1d9297d942efdc49f5cf170861e7689fda47f51daa47f10c7c81c3b045366e0259179c6839ff7747197c9d792e8d0fd1a5818973e

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://bugreports.qt.io/</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
)

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

@ -0,0 +1,6 @@
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
EBUILD qtcore-5.15.18.ebuild 4442 BLAKE2B 78a0242050819cb897991920838aa2f65f51702dee650021b81e232456bd5c8d33af5091ca9a5b2fde53c164533c7cf18ea3b5fe91ca3b88042f013512c8a4ca SHA512 e9567b248d57ffff2e639ccf12f693eb000e56e088cb254f594fafd1eba74df5a07650cc4d4f468c7bcd9863dc5be95aa517192fdf6386c53d3b1a5d886c4951
MISC Manifest.bak 1630 BLAKE2B 361d3508002a3a1e699943867eb2e6196eecd366d1c8e423cff21bf44e0f81d008b6213e0ceaa73511b996aeb3f05c587cdb49cdd69bd703575051f188dbb723 SHA512 40252d167f733b1eb0900631ca4e3380f6c13206051e0081bda5a2a36a1f932cd4d57a482e273faf2d0e28a4a67a9dfd904d93342c8ae8a95683008a0f0d08a7
MISC metadata.xml 594 BLAKE2B 0cefc88e620290c30db5f52e6804c43541617009ba05cc517a5c8b1c4039be9af9991e6e5b893577da3df52a83b70bd9f07a8061c518e9b52fdfdeb93a7df17f SHA512 73036ec739b85ea13025828f2526bce9d9fa6a3db3578925e4a4294be92a15dbe0f3af4db206690e3e786237312b3a23cb028a15abdd216e251db849a381a5be

View File

@ -0,0 +1,5 @@
DIST qtbase-5.15-gentoo-patchset-6.tar.xz 8288 BLAKE2B ad9695a528345dd3b8e9ce72b7bdfe8f744f16685a567bbc7862ba6c28e5a426260cb0b73e2573cb3a6f16f1785786898ffb44c90f5d75354b97e5756c7573db SHA512 97bc4d5375e1750a5578439ff320ee2e5e929df1dafe56b4e86f2de8ad26c91dc4002e45ad75d9f936347d49b9f54c0c42f8fc2cb7dfd4f54bf08a210b3bc720
DIST qtbase-5.15.16-gentoo-kde-1.tar.xz 319504 BLAKE2B 52675483f6be19a3efbddbe68335ee575852859137c51ca9e7cc219740a3529d270cb2af085eee8de1964c2171eab4f0c64b79c03f1bac453a4829748aff528d SHA512 0a38ce02b563f79364f3559fda4d4e13092ee79b820fb780db10e40af3bac158ee139e1a216f4de3c986eacbd933965e7ed8c261de7a65d487981887aed840dd
DIST qtbase-5.15.17-gentoo-kde-1.tar.xz 314280 BLAKE2B a13b0589fab0f43be9b2ba6a669845572ee499363cbe2a8c0975eaf193101960f11efc96f3324d8662a458e41bea42e6d706b3f099f4cfbbea585cab8c3f3f55 SHA512 4b12db534e9fa5f24f597f4e760c8b70d5a41e732b588a9a53f95f4e849cb07a5c8a7f4c3fb690c8b98986a13b1c972b9aac15cfe43ef5b8ab26492b8987169a
DIST qtbase-everywhere-opensource-src-5.15.16.tar.xz 51392072 BLAKE2B f7f83f18f91200350eff4d2d8d56769b537540290434a1c434d7c891b0b533d5a77000b5a670228a947d74c21f131f207b31aeb96f1f2ec867bbf608202c99b0 SHA512 190581c7df9763c2550466f884784d6f38817a087ab44fe57b99c1d1ac2ea3bae94ced8a6d0873a7999e523d63831d135cd7407812c8814ac4ef957840b7058e
DIST qtbase-everywhere-opensource-src-5.15.17.tar.xz 51478524 BLAKE2B 1700126de93ecfc2efd128056a295b8fdd2293e2df41e4fefa3d6f61c250d1ae8502a483192ffa85bd1fbd8d086cfd26612c951fb822c19bd0ec3f1b49241968 SHA512 8be592e27279d1009b596535fee95cb6fa8a379e991db5b0f3fa24fcddde7433d2cdfe2cd3fc5fff3f8e112110c5d8fa60c9efd9254053ea08ded5c3f9b73571

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://bugreports.qt.io/</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
}

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

@ -0,0 +1,5 @@
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
EBUILD qtdbus-5.15.18.ebuild 698 BLAKE2B 9ead6dcd645a7422c8297ad57e3c3cb549ad3f9d22fbfa5dd7d9d925ef2f69bc591bbc132c140dee40d72d40e237cf2a418ebe2ea6638579202505187ca0e7d6 SHA512 a0de38144a48f109c12ecabecc9e09c33d287dfa0dde2400ab8b7a8c9086cd7a7e2be6bfd845cc667a491a57661104f57ac67afd8c804d63182e6e20f91163cb
MISC metadata.xml 482 BLAKE2B 651a49dc4a07f5e5a9c21990868e666d98acdea7d7b0b2c0e4c98eafc3da72c803d380e4abda30f33250f7bbd7654df713833ccdddcb975cbad6f92e488f643b SHA512 192c670abd7da29645513bf1d9297d942efdc49f5cf170861e7689fda47f51daa47f10c7c81c3b045366e0259179c6839ff7747197c9d792e8d0fd1a5818973e

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://bugreports.qt.io/</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,6 @@
AUX qtdeclarative-5.14.2-QQuickItemView-fix-maxXY-extent.patch 1566 BLAKE2B b6436c9be0a7de092635e1fc3999c3142fc3e916cbcc69f472691bbd559f611b4d5741f3627c47162a5ac86126382507add72a25a121235e856b1de802ee19be SHA512 dd5193f8d8a051238dabf63306cc77e3a5696fc12241c27f35cadfd30763ddfeb2af7d640849dcc7a810b7087173b8e9af17341ea1b68440906f2c2f1f96fee3
AUX qtdeclarative-5.15.18-CVE-2025-12385.patch 4265 BLAKE2B fbe76a2dae5c8dc01bdd5453bad026d367fc18adc7d3a5c25af238d6562b069eba643eb3f68f8594bd62cd95a8e7cda4e53d006ac8d10812899a12cb0d812b3b SHA512 0bb3df9e215fcf8aa0b3eb016d0118dabb360446e5b080a0204fde55b1c880ab017f2085d934fbb9eae05fe1cd9bf4a4ef85cfa1f8ba75eb9fa52026a16c96cd
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
EBUILD qtdeclarative-5.15.18-r1.ebuild 1670 BLAKE2B 8a0b114fc36908c39acfa4d240df38f3707a56d761a2a546904fd3908e76eeda3e9884ac08f046ab711264f4883da54e1878ff82aa9ff66aab6033ea3151a5b5 SHA512 aca2e703c12551e68cdbe992dde667f8a38e85b66b929e57a614dac3563e2fd59b14f4fe200105d7e0ed4202f601bdc90827a9a526228188dce57bb33cd3aaa2
MISC metadata.xml 945 BLAKE2B 8a5d26ab3274cb9ca8b7cf3dceddcd33d9690cd20194adc63b80cd5e13e11d222d48473232b4e2cb41cecf1f51b33df4458811b6fb622a41519f0f3f0223b578 SHA512 a4c587afdbb0320e0f23f47a3ae58e2f69e86a0f539bf613c275ab0be7b9490d33d9c9de35ace02d3cfef903f3e6c7caf492cfdfa53c989b2d56e6c7288f4552

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

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,3 @@
DIST qtgraphicaleffects-everywhere-opensource-src-5.15.18.tar.xz 14021560 BLAKE2B 20c197be8ef578bc06bbf229daa0f62061f379728a064acf18d447e51df5f4e51d06d9a61f00ac7c39a582c906a1874576f8f3787595f7fe0cfb90a190e2d12e SHA512 6fff9181d8d0a4f55987e2b219d35adf4db28429206e4ec0572a03664c155aea046a08a1d820fbc5d27f9f3ec4c60768823959c5839766ab2768f64c440273da
EBUILD qtgraphicaleffects-5.15.18.ebuild 473 BLAKE2B b3a02acf8de8e202f39fcb8a782b8769de159091cddedb5bf1a8a9387ac924593b823b6faab747ec19d49dea1291591333494d030c7f0b8b668a2dd59ee2b147 SHA512 799a821796fdfbc26e8f12df54ee799dd2eec3caa5e3b722e9ed8e2379f24cf5c51c545443024cf3aeb8b3f03e9b8a3b9794d3546aebd5fc53de87f41f076bcd
MISC metadata.xml 482 BLAKE2B 651a49dc4a07f5e5a9c21990868e666d98acdea7d7b0b2c0e4c98eafc3da72c803d380e4abda30f33250f7bbd7654df713833ccdddcb975cbad6f92e488f643b SHA512 192c670abd7da29645513bf1d9297d942efdc49f5cf170861e7689fda47f51daa47f10c7c81c3b045366e0259179c6839ff7747197c9d792e8d0fd1a5818973e

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://bugreports.qt.io/</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,22 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
VIRTUALX_REQUIRED="test"
inherit qt5-build
DESCRIPTION="Set of QML types for adding visual effects to user interfaces"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="amd64 ~arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
IUSE=""
RDEPEND="
=dev-qt/qtcore-${QT5_PV}*
=dev-qt/qtdeclarative-${QT5_PV}*
=dev-qt/qtgui-${QT5_PV}*
"
DEPEND="${RDEPEND}"

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

@ -0,0 +1,5 @@
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
EBUILD qtgui-5.15.18-r1.ebuild 4141 BLAKE2B 69d500e87c6ccdb77a4efb6a87a67b977ab2cf471682bca0bd0b3a63ab3d1dbbaf7d9a5b90739815515fa951242f060d24d864fb74c425a1bc71bf3985abb2b3 SHA512 007913d316a191d2f69b02493168f0a8050061fc4d279000d25bc699427b07d97f8be966795376674b06b6d6d9751a08f6665213c0b6e30d19e2fcde42dc52b7
MISC metadata.xml 1283 BLAKE2B 2d4873f1b7011f5766810866933cd897a68a89d93183b93c19008b9b956aa10e882ebc061f0a86c81d68308bb267d28f324f2cddc52b55d94c4201a7b97ce889 SHA512 551b643e0dec5fcfd934029e36f35d8e14479e7d426dc74d4b48522c6e06d989ae70db7c4cd0a67594551916ec59036f3d1db91afa929e454614a947464ed19c

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://bugreports.qt.io/</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,5 @@
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
EBUILD qtnetwork-5.15.18.ebuild 1176 BLAKE2B 802eee24795265f02b13a4b44ebdd83d7abb4d1bb9a5ff9351102678dd47d2bcb0ff16649f1582943d1cdf12db301184eff407cfadbff3f03c4e3ce9276a0392 SHA512 fe26e1ec9724b6db5a14585bef7c38d1eb945a0cdcbaf0188420fc70a544fc34e3b99f6064397b85a831e0ed984f622df2a23fbe45a8b97f51e10fcc612956cf
MISC metadata.xml 690 BLAKE2B 3e1cccd88cb778d868aa5aa650d9114a79eaf7b5961dc6222b2da3e5c7536a43c7481b6d56bb9176b36ed2560ccb0712635146872f370fdc1e319286133a1651 SHA512 e402ad3b586e305a6f7ee99f24edd505b1e76f7a957108fc252a4a1af8978ac113b9b1c56e4fb0bfb696bcf29a1295f52af6614924f0e3ae2d7f71810a3be707

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://bugreports.qt.io/</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,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://bugreports.qt.io/</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,3 @@
DIST qtquickcontrols-everywhere-opensource-src-5.15.18.tar.xz 5960964 BLAKE2B d380286f20257bacdf86a6aa97b8e935d9b5477bb25f54ddc97bbdf1adf208ab0ade48463dd9905b98eb2c99a05ef81b55fa452d75287235f58adef14cc16e80 SHA512 9bd2bcd119d162f8ef30b2e1f459776a66b504f5043809cc0846b7c4898ca464eb44f65d1c76d3857a12eef7126ec8a84f8ac3566b5c3200b65572a3ff9296f7
EBUILD qtquickcontrols-5.15.18.ebuild 772 BLAKE2B 0975fb966853a24dd19081cc3cf4af8522200e21acebf880c9d8ea7db6dd4b1cee00c924d7b9aab95d75a3acf8636deeb92fdb4a95dc36316992be2a0ace275e SHA512 cdcada4e6a1f6b8d28506afe8656c27c89bb6b00c0ac4eba74681e4f0ac5ebc064d257d5d7236751a12b236598a89cb8c071f513503d0f6c1929b8291852c838
MISC metadata.xml 552 BLAKE2B 8294b8e326a177905eb8b0510295d6b3cc97818c836b6b5d2940b78a5ecccc743c8818436fee3f3a61b2f984560c6fe6346d44e1e6b4fa27a7cf5a9a84f20dd4 SHA512 25f93b07946f9319e9762b9ba6c9adb5ca6348a71ebd5710c0f1690a75ca7f93af8967f323a9e11e7af04fd970a92fedf3ec30d962f85516c7b44f1ea749dbbf

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://bugreports.qt.io/</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,4 @@
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
EBUILD qtquickcontrols2-5.15.18.ebuild 655 BLAKE2B 00edc152f1267317f27771fc48bf90c7cad2933ddf22694efab375d34e77a400d4e9f5fea2195f2cc65aa93a7b7240048236c1bb671d012d522140e24af4fa25 SHA512 ec730a423ea9f3900d76721b49e02b7b320ca45efbb11cf2f1a17ed5068218ba407548bf7fbea36d7fd9cd07bb5efdca743b481be83f1593c96b5ebc63f46952
MISC metadata.xml 552 BLAKE2B 8294b8e326a177905eb8b0510295d6b3cc97818c836b6b5d2940b78a5ecccc743c8818436fee3f3a61b2f984560c6fe6346d44e1e6b4fa27a7cf5a9a84f20dd4 SHA512 25f93b07946f9319e9762b9ba6c9adb5ca6348a71ebd5710c0f1690a75ca7f93af8967f323a9e11e7af04fd970a92fedf3ec30d962f85516c7b44f1ea749dbbf

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://bugreports.qt.io/</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
}

View File

@ -0,0 +1,18 @@
<?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://bugreports.qt.io/</bugs-to>
<doc>https://doc.qt.io/</doc>
<remote-id type="github">qt/qtshadertools</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>

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

@ -0,0 +1,5 @@
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
EBUILD qtsql-5.15.18.ebuild 1401 BLAKE2B 98f1872d09465863d856eb067ff3822fbeda1af55107287db98b692554a67cda6546cb65f08c189d80843da1ceb40d21b20fdb97a41a08af46e386fbb6753d28 SHA512 e56e141f1688346c0773a243ce45085c08d624c825f77b7552d9a5010aed2891b4d2d963e03d622ebfd3a434014e6e7b2fb7a80b1d45c8623b06f326ef11d8f3
MISC metadata.xml 482 BLAKE2B 651a49dc4a07f5e5a9c21990868e666d98acdea7d7b0b2c0e4c98eafc3da72c803d380e4abda30f33250f7bbd7654df713833ccdddcb975cbad6f92e488f643b SHA512 192c670abd7da29645513bf1d9297d942efdc49f5cf170861e7689fda47f51daa47f10c7c81c3b045366e0259179c6839ff7747197c9d792e8d0fd1a5818973e

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://bugreports.qt.io/</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
}

5
dev-qt/qttest/Manifest Normal file
View File

@ -0,0 +1,5 @@
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
EBUILD qttest-5.15.18.ebuild 568 BLAKE2B b874576e281b5c6b42421078b76903587c51cd9ceaa0e7d3baf2017f608cc8d75ffe4e9c427e7c4b71c92912ab4f18b8995985ecef61c310a82fc070350c2779 SHA512 50b2d7cd13409edcb2b15c19a92a70e3ff9e8ccc873100585dfdf5d544fd0496b1938f8cb098ffe36ac4263c868fbfaf56b362ab447a001d10d0bd2f204d805b
MISC metadata.xml 482 BLAKE2B 651a49dc4a07f5e5a9c21990868e666d98acdea7d7b0b2c0e4c98eafc3da72c803d380e4abda30f33250f7bbd7654df713833ccdddcb975cbad6f92e488f643b SHA512 192c670abd7da29645513bf1d9297d942efdc49f5cf170861e7689fda47f51daa47f10c7c81c3b045366e0259179c6839ff7747197c9d792e8d0fd1a5818973e

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://bugreports.qt.io/</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
if [[ ${PV} != *9999* ]]; then
QT5_KDEPATCHSET_REV=1
KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv x86"
fi
QT5_MODULE="qtbase"
VIRTUALX_REQUIRED="test"
inherit qt5-build
DESCRIPTION="Unit testing library for the Qt5 framework"
IUSE=""
RDEPEND="=dev-qt/qtcore-${QT5_PV}*:5="
DEPEND="${RDEPEND}
test? (
=dev-qt/qtgui-${QT5_PV}*
=dev-qt/qtxml-${QT5_PV}*
)
"
QT5_TARGET_SUBDIRS=(
src/testlib
)
QT5_GENTOO_PRIVATE_CONFIG=(
:testlib
)

View File

@ -0,0 +1,4 @@
DIST qtwayland-5.15.18-gentoo-kde-1.tar.xz 45732 BLAKE2B e9498684aad8205487a8beb6c6408851009b9eeb7ed8e5ae809f26bbb4e1ce5970bdabd0fc79562747b7af6acf5f77e0faea854a646e0039889c3ae7001afb8f SHA512 65851f53e2a534cb6aab8d547543a1864243a7dd07f8766cf68ba0bbfd2fca6e011f6b9a68beabf0f2b806eacd48adacf876f8ba571c7747dcfce6a5687bee7b
DIST qtwayland-everywhere-opensource-src-5.15.18.tar.xz 547760 BLAKE2B e41148764c0926109a35ef62bdfd59b031c42ed245783400a139da872ee6a83f9e4480e357ebd7561c3eeacb4cac612e94d0817f4bbe5a66131fab3a5a3596d7 SHA512 9e0d07a4a91eb6dd1bde6b211bae2b64f2035a28176c277adb86ab5d3a281c7740930dc304db94990c1d2277ef54d17b934f99326413719626fb161b612c033f
EBUILD qtwayland-5.15.18.ebuild 1355 BLAKE2B f0695c3fd47f83c913d9955644357c27c5c7baeb5f59e77bef39f69915d8d6d33cce27a2ce80c365e2ffd1b8d586c4aa7becdba36ea52514f2247662b234ef1d SHA512 ad8e8beecbd93c7f05848e9d24145df5019bb3b98f2dc74990a35b1badf55ef94b490c72cf2d727aa5c91577f4488e43ac4dcb28fcf0dbea120e943552ad4d1d
MISC metadata.xml 888 BLAKE2B b893520d74518b0ea0d104d72545925ac37c818ef52d29a5551a2e3406ded90bc4f6c3d53b64868f2b39919cab783ed124af13f63704e7ee66c534c21dfdfb23 SHA512 9861bb9cf35100d7464d88f86614511522fc4cf7e2ef5d09b9ea95cdb168d61f645614104aacad24fcebc8ecfc2c98601b26f434059bffe169513fd097b12aec

View File

@ -0,0 +1,24 @@
<?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="compositor">Enable support for the wayland compositor / server APIs</flag>
<flag name="gnome">Build the GNOME-like decoration plugin (loaded by default with GNOME)</flag>
<flag name="qml">Build QML/QtQuick bindings and imports</flag>
<flag name="vulkan">Enable support for Vulkan-based server buffer integration</flag>
</use>
<upstream>
<bugs-to>https://bugreports.qt.io/</bugs-to>
<doc>https://doc.qt.io/</doc>
<remote-id type="github">qt/qtwayland</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,55 @@
# 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
inherit qt5-build
DESCRIPTION="Wayland platform plugin for Qt"
SLOT=5/${QT5_PV} # bug 815646
IUSE="compositor vulkan"
RDEPEND="
dev-libs/wayland
=dev-qt/qtcore-${QT5_PV}*:5=
=dev-qt/qtgui-${QT5_PV}*:5=[egl,libinput,vulkan=]
media-libs/libglvnd
x11-libs/libxkbcommon
compositor? ( =dev-qt/qtdeclarative-${QT5_PV}*:5= )
"
DEPEND="${RDEPEND}
vulkan? ( dev-util/vulkan-headers )
"
BDEPEND="dev-util/wayland-scanner"
src_configure() {
local myqmakeargs=(
--
-no-feature-xcomposite-egl
-no-feature-xcomposite-glx
$(qt_use compositor feature-wayland-server)
$(qt_use compositor feature-wayland-dmabuf-server-buffer)
$(qt_use compositor feature-wayland-drm-egl-server-buffer)
$(qt_use compositor feature-wayland-shm-emulation-server-buffer)
)
use compositor && myqmakeargs+=(
$(qt_use vulkan feature-wayland-vulkan-server-buffer)
)
qt5-build_src_configure
}
src_install() {
qt5-build_src_install
rm "${D}${QT5_BINDIR}"/qtwaylandscanner || die
}

View File

@ -0,0 +1,4 @@
DIST qtwebsockets-5.15.18-gentoo-kde-1.tar.xz 1512 BLAKE2B ca68fa5d4525ae032603afe3443824dd18840074ba1738bdc063d0ef25f88bca3728baa787aadd887cccc0823b2fbcbd0f178c297d59003e5d7501379c585c78 SHA512 0fbcf7771b238716ce1712bbfd3b20ceecc5a2ed57fcde715b4c849588d50f34ab197c4d8a2dd53974fea0d433bbcd40fdd6a6af83df419cbd2d1fb61813a57c
DIST qtwebsockets-everywhere-opensource-src-5.15.18.tar.xz 239240 BLAKE2B 590920e46bc0891eeefa6715392c114ae35156239bbf40c3bc64a40d855aa1ed05870a54a1c69bbb61a465ae3a117e6fe54c955c50833d02adb9f4e07ca2d8e8 SHA512 29b59fe6681030150b87d18a052f00f05ac17db17203279d794a8161783d739938e9ea659519f7b7c76f3d7e40009ea1797e255ae464a1cd641caa6c039d4777
EBUILD qtwebsockets-5.15.18.ebuild 570 BLAKE2B 40d35d566bbedafbd4839f45555a10deaeb3e6f84bfa6a33cb30057a3f04cd779b8785ab5689465f0d800107d2d89383ffd7cdbd11605055a0cefa895c07ce53 SHA512 90125100dc853f70d92defe9b5298e6936acdf2555fc02bafc58e8105e15b7b2a7c20622c31f5aafbbfa93061a852c89f4a06f7753ab85e2af4489b9b6fb9582
MISC metadata.xml 597 BLAKE2B 9cd42a9c56fb752ea155093f8f9222b8abecc3219bc770c4746ac45bb5b741b829688d8363b2c3580125ac43a31420522ba83949534a0c16aef7386bb46648b3 SHA512 55df60c57864187551629b4f6d83803d29154d4c685b50151e89ce9aae733a6cb3a0930c482cdad40b1880904f9c2c0ec21483ac7b801932086ba0186dfeb1de

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://bugreports.qt.io/</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,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
inherit qt5-build
DESCRIPTION="Implementation of the WebSocket protocol for the Qt5 framework"
IUSE="qml +ssl"
DEPEND="
=dev-qt/qtcore-${QT5_PV}*
=dev-qt/qtnetwork-${QT5_PV}*[ssl=]
qml? ( =dev-qt/qtdeclarative-${QT5_PV}* )
"
RDEPEND="${DEPEND}"
src_prepare() {
qt_use_disable_mod qml quick src/src.pro
qt5-build_src_prepare
}

View File

@ -0,0 +1,5 @@
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
EBUILD qtwidgets-5.15.18.ebuild 1196 BLAKE2B d27a2e5133f0434f648499700fc434fcd4e1f8cc03341aea7a59d008ffebdf8dbc882ef0476f4e8a2ba505834206d96ab71f4e948c00e2ac81102f3a753bb954 SHA512 5d22723e4b7c7dea59533d5baafaded8a1f6eeb036d74c4a4cc82ebbded1147691e54af16ecf82ab66b2a43d4e260183e2dc0383076c7196982aab4991f5ab68
MISC metadata.xml 559 BLAKE2B 3ea80a5e419db32987d68d7e5033fa75fa0ff22b31b0842fd7ead902172cbe83650b0bbdf8657a57e428726e7cdf114d9011bd16066c080bc5f6ecb3f691d42c SHA512 51172365a186fbca09651bfd751284960dda4036390af2afab9812a7ae3fabdd9d60a336dee3cfc5e3d133a0216bf77e29660b9cdee2f0bcd2ce43c27297bdb1

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://bugreports.qt.io/</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
}

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

@ -0,0 +1,6 @@
AUX qtxml-5.15.16-CVE-2025-30348.patch 6107 BLAKE2B 8ab8bc0dfd9adacfec736259cf88519f12eb9dfae815838b4cf2e73e20854885f724081488194768a958d4646b6fdadf6cfa9fd28b652bfb5108af729a430043 SHA512 a351976aca39e5b52a2acad8c8a59df49584b73e3d591b18c68125f2bb96debfdbb5954502c59043be03f21e062fcb0956f84e6680ab0f8cfa1e2d967c428b6d
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
EBUILD qtxml-5.15.18.ebuild 518 BLAKE2B e71204d5146384be83cf72d6135785e1c84262e5371ad8f05781756fb3e1adc79e4a9dcfa47617defbc79507c6234017cd50722ef844b66e7a88699130db805a SHA512 a48109b6d60b3457a9a4a4f2cfc17fedd525d394ace73f4d5763ecc7ac6ce8c305d5f527e753e62ed2de9bf7822ee774bae07724eefa268ab1c52bd0340536e7
MISC metadata.xml 482 BLAKE2B 651a49dc4a07f5e5a9c21990868e666d98acdea7d7b0b2c0e4c98eafc3da72c803d380e4abda30f33250f7bbd7654df713833ccdddcb975cbad6f92e488f643b SHA512 192c670abd7da29645513bf1d9297d942efdc49f5cf170861e7689fda47f51daa47f10c7c81c3b045366e0259179c6839ff7747197c9d792e8d0fd1a5818973e

View File

@ -0,0 +1,156 @@
From 16918c1df3e709df2a97281e3825d94c84edb668 Mon Sep 17 00:00:00 2001
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Date: Tue, 06 Aug 2024 22:39:44 +0200
Subject: [PATCH] XML/QDom: speedup encodeText()
The code copied the whole string, then replaced parts inline, at
the cost of relocating everything beyond, at each replacement.
Instead, copy character by character (in chunks where possible)
and append replacements as we skip what they replace.
Manual conflict resolution for 6.5:
- This is a manual cherry-pick. The original change was only
picked to 6.8, but the quadratic behavior is present in Qt 5, too.
- Changed Task-number to Fixes: because this is the real fix;
the QString change, 315210de916d060c044c01e53ff249d676122b1b,
was unrelated to the original QTBUG-127549.
Manual conflcit resolution for 5.15:
- Kept/re-added QTextCodec::canEncode() check
- Ported from Qt 6 to 5, to wit:
- qsizetype -> int
- QStringView::first/sliced(n) -> left/mid(n)
(these functions are clearly called in-range, so the widened
contract of the Qt 5 functions doesn't matter)
- Ported from C++17- and C++14-isms to C++11:
- replaced polymorphic lambda with a normal one (this requires
rewriting the !canEncode() branch to use QByteArray/QLatin1String
instead of QString)
- As a drive-by, corrected the indentation of the case labels to
horizontally align existing code (and follow Qt style)
Fixes: QTBUG-127549
Change-Id: I368482859ed0c4127f1eec2919183711b5488ada
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 2ce08e3671b8d18b0284447e5908ce15e6e8f80f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 225e235cf966a44af23dbe9aaaa2fd20ab6430ee)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 905a5bd421efff6a1d90b6140500d134d32ca745)
---
diff --git a/src/xml/dom/qdom.cpp b/src/xml/dom/qdom.cpp
index 872221c..bf70477 100644
--- a/src/xml/dom/qdom.cpp
+++ b/src/xml/dom/qdom.cpp
@@ -3676,59 +3676,67 @@
const QTextCodec *const codec = s.codec();
Q_ASSERT(codec);
#endif
- QString retval(str);
- int len = retval.length();
- int i = 0;
+ QString retval;
+ int start = 0;
+ auto appendToOutput = [&](int cur, QLatin1String replacement)
+ {
+ if (start < cur) {
+ retval.reserve(str.size() + replacement.size());
+ retval.append(QStringView(str).left(cur).mid(start));
+ }
+ // Skip over str[cur], replaced by replacement
+ start = cur + 1;
+ retval.append(replacement);
+ };
- while (i < len) {
- const QChar ati(retval.at(i));
-
- if (ati == QLatin1Char('<')) {
- retval.replace(i, 1, QLatin1String("&lt;"));
- len += 3;
- i += 4;
- } else if (encodeQuotes && (ati == QLatin1Char('"'))) {
- retval.replace(i, 1, QLatin1String("&quot;"));
- len += 5;
- i += 6;
- } else if (ati == QLatin1Char('&')) {
- retval.replace(i, 1, QLatin1String("&amp;"));
- len += 4;
- i += 5;
- } else if (ati == QLatin1Char('>') && i >= 2 && retval[i - 1] == QLatin1Char(']') && retval[i - 2] == QLatin1Char(']')) {
- retval.replace(i, 1, QLatin1String("&gt;"));
- len += 3;
- i += 4;
- } else if (performAVN &&
- (ati == QChar(0xA) ||
- ati == QChar(0xD) ||
- ati == QChar(0x9))) {
- const QString replacement(QLatin1String("&#x") + QString::number(ati.unicode(), 16) + QLatin1Char(';'));
- retval.replace(i, 1, replacement);
- i += replacement.length();
- len += replacement.length() - 1;
- } else if (encodeEOLs && ati == QChar(0xD)) {
- retval.replace(i, 1, QLatin1String("&#xd;")); // Replace a single 0xD with a ref for 0xD
- len += 4;
- i += 5;
- } else {
+ const int len = str.size();
+ for (int cur = 0; cur < len; ++cur) {
+ switch (const char16_t ati = str[cur].unicode()) {
+ case u'<':
+ appendToOutput(cur, QLatin1String("&lt;"));
+ break;
+ case u'"':
+ if (encodeQuotes)
+ appendToOutput(cur, QLatin1String("&quot;"));
+ break;
+ case u'&':
+ appendToOutput(cur, QLatin1String("&amp;"));
+ break;
+ case u'>':
+ if (cur >= 2 && str[cur - 1] == u']' && str[cur - 2] == u']')
+ appendToOutput(cur, QLatin1String("&gt;"));
+ break;
+ case u'\r':
+ if (performAVN || encodeEOLs)
+ appendToOutput(cur, QLatin1String("&#xd;")); // \r == 0x0d
+ break;
+ case u'\n':
+ if (performAVN)
+ appendToOutput(cur, QLatin1String("&#xa;")); // \n == 0x0a
+ break;
+ case u'\t':
+ if (performAVN)
+ appendToOutput(cur, QLatin1String("&#x9;")); // \t == 0x09
+ break;
+ default:
#if QT_CONFIG(textcodec)
if(codec->canEncode(ati))
- ++i;
+ ; // continue
else
#endif
{
// We have to use a character reference to get it through.
- const ushort codepoint(ati.unicode());
- const QString replacement(QLatin1String("&#x") + QString::number(codepoint, 16) + QLatin1Char(';'));
- retval.replace(i, 1, replacement);
- i += replacement.length();
- len += replacement.length() - 1;
+ const QByteArray replacement = "&#x" + QByteArray::number(uint{ati}, 16) + ';';
+ appendToOutput(cur, QLatin1String{replacement});
}
+ break;
}
}
-
- return retval;
+ if (start > 0) {
+ retval.append(QStringView(str).left(len).mid(start));
+ return retval;
+ }
+ return str;
}
void QDomAttrPrivate::save(QTextStream& s, int, int) const

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://bugreports.qt.io/</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
)