summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-qt/qdoc/qdoc-5.15.2-r1.ebuild32
-rw-r--r--dev-qt/qt3d/Manifest1
-rw-r--r--dev-qt/qt3d/qt3d-5.15.2-r10.ebuild38
-rw-r--r--dev-qt/qtchooser/qtchooser-66-r1.ebuild73
-rw-r--r--dev-qt/qtconcurrent/Manifest1
-rw-r--r--dev-qt/qtconcurrent/qtconcurrent-5.15.2-r10.ebuild25
-rw-r--r--dev-qt/qtcore/Manifest1
-rw-r--r--dev-qt/qtcore/files/qtcore-5.15.2-revert-3a273ac4.patch56
-rw-r--r--dev-qt/qtcore/qtcore-5.15.2-r10.ebuild107
-rw-r--r--dev-qt/qtdbus/Manifest1
-rw-r--r--dev-qt/qtdbus/qtdbus-5.15.2-r10.ebuild45
-rw-r--r--dev-qt/qtdeclarative/Manifest1
-rw-r--r--dev-qt/qtdeclarative/qtdeclarative-5.15.2-r10.ebuild58
-rw-r--r--dev-qt/qtgamepad/qtgamepad-5.15.2-r1.ebuild36
-rw-r--r--dev-qt/qtgui/Manifest1
-rw-r--r--dev-qt/qtgui/metadata.xml1
-rw-r--r--dev-qt/qtgui/qtgui-5.15.2-r10.ebuild184
-rw-r--r--dev-qt/qtimageformats/Manifest1
-rw-r--r--dev-qt/qtimageformats/qtimageformats-5.15.2-r10.ebuild32
-rw-r--r--dev-qt/qtlocation/Manifest1
-rw-r--r--dev-qt/qtlocation/qtlocation-5.15.2-r10.ebuild49
-rw-r--r--dev-qt/qtnetwork/Manifest1
-rw-r--r--dev-qt/qtnetwork/qtnetwork-5.15.2-r10.ebuild73
-rw-r--r--dev-qt/qtopengl/Manifest1
-rw-r--r--dev-qt/qtopengl/qtopengl-5.15.2-r10.ebuild36
-rw-r--r--dev-qt/qtplugininfo/qtplugininfo-5.15.2-r1.ebuild23
-rw-r--r--dev-qt/qtprintsupport/Manifest1
-rw-r--r--dev-qt/qtprintsupport/qtprintsupport-5.15.2-r10.ebuild44
-rw-r--r--dev-qt/qtquickcontrols2/Manifest1
-rw-r--r--dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.2-r10.ebuild32
-rw-r--r--dev-qt/qtspeech/metadata.xml3
-rw-r--r--dev-qt/qtspeech/qtspeech-5.15.2-r1.ebuild35
-rw-r--r--dev-qt/qtsql/Manifest1
-rw-r--r--dev-qt/qtsql/qtsql-5.15.2-r10.ebuild57
-rw-r--r--dev-qt/qtsvg/Manifest1
-rw-r--r--dev-qt/qtsvg/qtsvg-5.15.2-r10.ebuild25
-rw-r--r--dev-qt/qttest/Manifest1
-rw-r--r--dev-qt/qttest/qttest-5.15.2-r10.ebuild35
-rw-r--r--dev-qt/qtvirtualkeyboard/Manifest1
-rw-r--r--dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-5.15.2-r10.ebuild44
-rw-r--r--dev-qt/qtwayland/Manifest1
-rw-r--r--dev-qt/qtwayland/qtwayland-5.15.2-r10.ebuild41
-rw-r--r--dev-qt/qtwebsockets/Manifest1
-rw-r--r--dev-qt/qtwebsockets/qtwebsockets-5.15.2-r10.ebuild29
-rw-r--r--dev-qt/qtwidgets/Manifest1
-rw-r--r--dev-qt/qtwidgets/qtwidgets-5.15.2-r10.ebuild58
-rw-r--r--dev-qt/qtxml/Manifest1
-rw-r--r--dev-qt/qtxml/qtxml-5.15.2-r10.ebuild31
-rw-r--r--eclass/qt5-build.eclass140
-rw-r--r--www-client/opera/Manifest1
-rw-r--r--www-client/opera/opera-78.0.4093.184.ebuild133
-rw-r--r--x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch23
-rw-r--r--x11-misc/sddm/sddm-0.18.1-r5.ebuild2
53 files changed, 1543 insertions, 78 deletions
diff --git a/dev-qt/qdoc/qdoc-5.15.2-r1.ebuild b/dev-qt/qdoc/qdoc-5.15.2-r1.ebuild
new file mode 100644
index 000000000000..09d86b11c1d4
--- /dev/null
+++ b/dev-qt/qdoc/qdoc-5.15.2-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+QT5_MODULE="qttools"
+inherit qt5-build
+
+DESCRIPTION="Qt documentation generator"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+IUSE="qml"
+
+RDEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+ sys-devel/clang:=
+ qml? ( ~dev-qt/qtdeclarative-${PV} )
+"
+# TODO: we know it is bogus, figure out how to disable checks, bug 802492
+DEPEND="${RDEPEND}
+ ~dev-qt/qtxml-${PV}
+"
+
+src_prepare() {
+ qt_use_disable_mod qml qmldevtools-private \
+ src/qdoc/qdoc.pro
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qt3d/Manifest b/dev-qt/qt3d/Manifest
index c089dc49562c..93455e940add 100644
--- a/dev-qt/qt3d/Manifest
+++ b/dev-qt/qt3d/Manifest
@@ -1 +1,2 @@
+DIST qt3d-5.15.2-7edec6e0.tar.gz 86196121 BLAKE2B c6009fa8b94da1a498e14f61680be40cbc5e32e390d89911b5a7b7d19bae7c66e048101e6f3b6c1f7e5cc4e64da7ea801f4bf95c346b35d28a49866d9541e146 SHA512 73941c2052aeb9611cf24bbb7b3ba317e53207c080070bb5d602c9f2725d2ab305674e0f29b737ea62ff7a285b362ec53b3588b31c18635e250bc90081d9b5e7
DIST qt3d-everywhere-src-5.15.2.tar.xz 81925416 BLAKE2B 358a071f775d460d794ce3451ea6904f9d1ac0a388176ba62f7d6c7c574621cdcd3db8f7af3aaa361e5ac172056e8e8a32b894b401720e93ae2a2cfad4282da3 SHA512 38da6886b887f6d315dcb17192322efe184950716fdd0030df6c7d7c454ea43dc0250a201285da27683ce29768da6be41d4168e4f63c20adb0b5f26ae0934c1b
diff --git a/dev-qt/qt3d/qt3d-5.15.2-r10.ebuild b/dev-qt/qt3d/qt3d-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..b8fd6b8313f6
--- /dev/null
+++ b/dev-qt/qt3d/qt3d-5.15.2-r10.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=7edec6e014de27b9dd03f63875c471aac606a918
+inherit qt5-build
+
+DESCRIPTION="3D rendering module for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+# TODO: tools
+IUSE="gamepad gles2-only qml vulkan"
+
+RDEPEND="
+ ~dev-qt/qtconcurrent-${PV}
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtgui-${PV}:5=[vulkan=]
+ ~dev-qt/qtnetwork-${PV}
+ >=media-libs/assimp-4.0.0
+ gamepad? ( ~dev-qt/qtgamepad-${PV} )
+ qml? ( ~dev-qt/qtdeclarative-${PV}[gles2-only=] )
+"
+DEPEND="${RDEPEND}
+ vulkan? ( dev-util/vulkan-headers )
+"
+
+src_prepare() {
+ rm -r src/3rdparty/assimp/{code,contrib,include} || die
+
+ qt_use_disable_mod gamepad gamepad src/input/frontend/frontend.pri
+ qt_use_disable_mod qml quick src/src.pro
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtchooser/qtchooser-66-r1.ebuild b/dev-qt/qtchooser/qtchooser-66-r1.ebuild
new file mode 100644
index 000000000000..46e2087883e4
--- /dev/null
+++ b/dev-qt/qtchooser/qtchooser-66-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils toolchain-funcs
+
+DESCRIPTION="Tool to quickly switch between multiple Qt installations"
+HOMEPAGE="https://code.qt.io/cgit/qtsdk/qtchooser.git/"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://code.qt.io/qtsdk/qtchooser.git"
+ inherit git-r3
+else
+ SRC_URI="http://download.qt.io/official_releases/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="|| ( LGPL-2.1 GPL-3 )"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="test? (
+ dev-qt/qtcore:5
+ dev-qt/qttest:5
+ )"
+RDEPEND="
+ !<dev-qt/qtcore-5.15.2-r10:5
+"
+
+qtchooser_make() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ LFLAGS="${LDFLAGS}" \
+ prefix="${EPREFIX}/usr" \
+ "$@"
+}
+
+src_compile() {
+ qtchooser_make
+}
+
+src_test() {
+ pushd tests/auto >/dev/null || die
+ eqmake5
+ popd >/dev/null || die
+
+ qtchooser_make check
+}
+
+src_install() {
+ qtchooser_make INSTALL_ROOT="${D}" install
+
+ # install configuration file
+ cat > "${T}/qt5-${CHOST}.conf" <<-_EOF_ || die
+ $(qt5_get_bindir)
+ $(qt5_get_libdir)
+ _EOF_
+
+ (
+ insinto /etc/xdg/qtchooser
+ doins "${T}/qt5-${CHOST}.conf"
+ )
+
+ # convenience symlinks
+ dosym qt5-"${CHOST}".conf /etc/xdg/qtchooser/5.conf
+ dosym qt5-"${CHOST}".conf /etc/xdg/qtchooser/qt5.conf
+ dosym qt5.conf /etc/xdg/qtchooser/default.conf
+
+ # TODO: bash and zsh completion
+ # newbashcomp scripts/${PN}.bash ${PN}
+}
diff --git a/dev-qt/qtconcurrent/Manifest b/dev-qt/qtconcurrent/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtconcurrent/Manifest
+++ b/dev-qt/qtconcurrent/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtconcurrent/qtconcurrent-5.15.2-r10.ebuild b/dev-qt/qtconcurrent/qtconcurrent-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..1cff28e1874a
--- /dev/null
+++ b/dev-qt/qtconcurrent/qtconcurrent-5.15.2-r10.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Multi-threading concurrence support library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE=""
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+"
+RDEPEND="${DEPEND}"
+
+QT5_TARGET_SUBDIRS=(
+ src/concurrent
+)
diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtcore/Manifest
+++ b/dev-qt/qtcore/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtcore/files/qtcore-5.15.2-revert-3a273ac4.patch b/dev-qt/qtcore/files/qtcore-5.15.2-revert-3a273ac4.patch
new file mode 100644
index 000000000000..a29e1b5256d4
--- /dev/null
+++ b/dev-qt/qtcore/files/qtcore-5.15.2-revert-3a273ac4.patch
@@ -0,0 +1,56 @@
+From d9a85af5f24d0608c79b2d87b01213833bee01e5 Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Thu, 19 Aug 2021 15:07:13 +0200
+Subject: [PATCH] Revert "QString::lastIndexOf: fix off-by-one for zero length
+ matches"
+
+This reverts commit 3a273ac47f20e82a1f2f63411b210025ca0f4495.
+
+See QTBUG-94215
+
+6cee204d56205e250b0675c9c6d4dd8a2367f3c4 for qtbase/dev changes the
+behaviour even further, I'm pretty sure we don't want that in Qt 5.15.x,
+see discussion in https://codereview.qt-project.org/c/qt/qtbase/+/365179.
+
+Change-Id: I663d74e0d44ebf46291fe0e8a7dc609be82eedc6
+---
+ src/corelib/text/qstring.cpp | 4 ++--
+ tests/auto/corelib/text/qstring/tst_qstring.cpp | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp
+index 02a9fe3a30..e6e7cbaad4 100644
+--- a/src/corelib/text/qstring.cpp
++++ b/src/corelib/text/qstring.cpp
+@@ -4558,13 +4558,13 @@ int QString::lastIndexOf(const QRegularExpression &re, int from, QRegularExpress
+ return -1;
+ }
+
+- int endpos = (from < 0) ? (size() + from + 1) : (from);
++ int endpos = (from < 0) ? (size() + from + 1) : (from + 1);
+ QRegularExpressionMatchIterator iterator = re.globalMatch(*this);
+ int lastIndex = -1;
+ while (iterator.hasNext()) {
+ QRegularExpressionMatch match = iterator.next();
+ int start = match.capturedStart();
+- if (start <= endpos) {
++ if (start < endpos) {
+ lastIndex = start;
+ if (rmatch)
+ *rmatch = std::move(match);
+diff --git a/tests/auto/corelib/text/qstring/tst_qstring.cpp b/tests/auto/corelib/text/qstring/tst_qstring.cpp
+index 8f53824050..4c4a8f0416 100644
+--- a/tests/auto/corelib/text/qstring/tst_qstring.cpp
++++ b/tests/auto/corelib/text/qstring/tst_qstring.cpp
+@@ -1674,7 +1674,7 @@ void tst_QString::lastIndexOf()
+ QCOMPARE(haystack.lastIndexOf(needle.toLatin1(), from, cs), expected);
+ QCOMPARE(haystack.lastIndexOf(needle.toLatin1().data(), from, cs), expected);
+
+- if (from >= -1 && from < haystack.size() && needle.size() > 0) {
++ if (from >= -1 && from < haystack.size()) {
+ // unfortunately, QString and QRegExp don't have the same out of bound semantics
+ // I think QString is wrong -- See file log for contact information.
+ {
+--
+GitLab
+
diff --git a/dev-qt/qtcore/qtcore-5.15.2-r10.ebuild b/dev-qt/qtcore/qtcore-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..d8791013a67c
--- /dev/null
+++ b/dev-qt/qtcore/qtcore-5.15.2-r10.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit linux-info qt5-build
+
+DESCRIPTION="Cross-platform application development framework"
+SLOT=5/$(ver_cut 1-3)
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="icu old-kernel systemd"
+
+DEPEND="
+ dev-libs/double-conversion:=
+ dev-libs/glib:2
+ dev-libs/libpcre2[pcre16,unicode]
+ sys-libs/zlib:=
+ icu? ( dev-libs/icu:= )
+ !icu? ( virtual/libiconv )
+ systemd? ( sys-apps/systemd:= )
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qtchooser-66-r1
+"
+
+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
+)
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.14.1-cmake-macro-backward-compat.patch # bug 703306
+ "${FILESDIR}"/${PN}-5.15.1-timezone-{1,2}.patch # bug 737914
+ # Revert to 5.15.2 (upstream Qt release) behavior, QTBUG-94215
+ # See also: https://invent.kde.org/qt/qt/qtbase/-/merge_requests/46
+ "${FILESDIR}"/${P}-revert-3a273ac4.patch
+)
+
+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
+
+ qt5-build_src_prepare
+}
+
+src_configure() {
+ local myconf=(
+ $(qt_use icu)
+ $(qt_use !icu iconv)
+ $(qt_use systemd journald)
+ )
+ 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
+
+ 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
+}
diff --git a/dev-qt/qtdbus/Manifest b/dev-qt/qtdbus/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtdbus/Manifest
+++ b/dev-qt/qtdbus/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtdbus/qtdbus-5.15.2-r10.ebuild b/dev-qt/qtdbus/qtdbus-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..23d8e42b7219
--- /dev/null
+++ b/dev-qt/qtdbus/qtdbus-5.15.2-r10.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Qt5 module for inter-process communication over the D-Bus protocol"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE=""
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+ >=sys-apps/dbus-1.4.20
+"
+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
+}
diff --git a/dev-qt/qtdeclarative/Manifest b/dev-qt/qtdeclarative/Manifest
index 71839bb30c0d..2fa48c8a57ef 100644
--- a/dev-qt/qtdeclarative/Manifest
+++ b/dev-qt/qtdeclarative/Manifest
@@ -1 +1,2 @@
+DIST qtdeclarative-5.15.2-92225b72.tar.gz 24341895 BLAKE2B 049220433ac3339b41a4c43267b54b02c2383571c5abc9e77377d7d404a95c081b874ad906340ccd408ca491c04e7c017dcb7dd1dd7794f73bde7d729f64e06a SHA512 b83345747c87ddadea6581ed2803f15900678ee004dc43078529771eb9de12d643567b9349bb531d54d086097d80f7bdd7a88b604b347e8bfea89039b211f026
DIST qtdeclarative-everywhere-src-5.15.2.tar.xz 21559880 BLAKE2B 07fa82a55f79c081cf3cb713e6b90274f2b2c420eba958042f58989502e2ae572294c4cd02eb73767e87d84c9173fb154e45370c043f6adfc7fb1a93377e2edc SHA512 a084e4ace0d6868668c95f1b62598a7dd0f455bfb0943ac8956802d7041436686f20c7ccdde7d6fd6c4b8173c936dd8600cf3b87bf8575f55514edfbb51111d3
diff --git a/dev-qt/qtdeclarative/qtdeclarative-5.15.2-r10.ebuild b/dev-qt/qtdeclarative/qtdeclarative-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..fd87062686a7
--- /dev/null
+++ b/dev-qt/qtdeclarative/qtdeclarative-5.15.2-r10.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2009-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=92225b72b9ca6b1efc9bc7bb0c12dd7487e900a7
+PYTHON_COMPAT=( python3_{8..10} )
+inherit python-any-r1 qt5-build
+
+DESCRIPTION="The QML and Quick modules for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="gles2-only +jit localstorage vulkan +widgets"
+
+BDEPEND="${PYTHON_DEPS}"
+# qtgui[gles2-only=] is needed because of bug 504322
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtgui-${PV}:5=[gles2-only=,vulkan=]
+ ~dev-qt/qtnetwork-${PV}
+ ~dev-qt/qttest-${PV}
+ localstorage? ( ~dev-qt/qtsql-${PV} )
+ widgets? ( ~dev-qt/qtwidgets-${PV}[gles2-only=] )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.14.2-QQuickItemView-fix-maxXY-extent.patch" # QTBUG-83890
+ "${FILESDIR}/${PN}-5.15.2-riscv-atomic.patch" # bug 790689
+)
+
+src_prepare() {
+ use jit || PATCHES+=( "${FILESDIR}/${PN}-5.4.2-disable-jit.patch" )
+
+ 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() {
+ local myqmakeargs=(
+ --
+ -qml-debug
+ )
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtgamepad/qtgamepad-5.15.2-r1.ebuild b/dev-qt/qtgamepad/qtgamepad-5.15.2-r1.ebuild
new file mode 100644
index 000000000000..70434d09b66a
--- /dev/null
+++ b/dev-qt/qtgamepad/qtgamepad-5.15.2-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qt5-build
+
+DESCRIPTION="Qt module to support gamepad hardware"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+IUSE="evdev qml sdl"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtgui-${PV}[evdev?]
+ evdev? ( virtual/libudev:= )
+ qml? ( ~dev-qt/qtdeclarative-${PV} )
+ sdl? ( media-libs/libsdl2 )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ qt_use_disable_mod qml quick \
+ src/src.pro
+
+ qt_use_disable_config evdev evdev \
+ src/plugins/gamepads/gamepads.pro
+
+ qt_use_disable_config sdl sdl2 \
+ src/plugins/gamepads/gamepads.pro
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtgui/Manifest b/dev-qt/qtgui/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtgui/Manifest
+++ b/dev-qt/qtgui/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtgui/metadata.xml b/dev-qt/qtgui/metadata.xml
index cfa040fbec83..4efe433f2c84 100644
--- a/dev-qt/qtgui/metadata.xml
+++ b/dev-qt/qtgui/metadata.xml
@@ -11,6 +11,7 @@
<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="vulkan">Enable support for Vulkan</flag>
diff --git a/dev-qt/qtgui/qtgui-5.15.2-r10.ebuild b/dev-qt/qtgui/qtgui-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..010d71704eb4
--- /dev/null
+++ b/dev-qt/qtgui/qtgui-5.15.2-r10.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="The GUI module and platform plugins for the Qt5 framework"
+SLOT=5/$(ver_cut 1-3) # bug 707658
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="accessibility dbus egl eglfs evdev +gif gles2-only ibus jpeg
+ +libinput linuxfb +png tslib tuio +udev vnc vulkan wayland +X"
+REQUIRED_USE="
+ || ( eglfs X )
+ accessibility? ( dbus X )
+ eglfs? ( egl )
+ ibus? ( dbus )
+ libinput? ( udev )
+ X? ( gles2-only? ( egl ) )
+"
+
+RDEPEND="
+ dev-libs/glib:2
+ ~dev-qt/qtcore-${PV}:5=
+ dev-util/gtk-update-icon-cache
+ media-libs/fontconfig
+ >=media-libs/freetype-2.6.1:2
+ >=media-libs/harfbuzz-1.6.0:=
+ sys-libs/zlib:=
+ dbus? ( ~dev-qt/qtdbus-${PV} )
+ egl? ( media-libs/mesa[egl] )
+ eglfs? (
+ media-libs/mesa[gbm]
+ x11-libs/libdrm
+ )
+ evdev? ( sys-libs/mtdev )
+ gles2-only? ( media-libs/mesa[gles2] )
+ !gles2-only? ( virtual/opengl )
+ jpeg? ( virtual/jpeg:0 )
+ libinput? (
+ dev-libs/libinput:=
+ >=x11-libs/libxkbcommon-0.5.0
+ )
+ png? ( media-libs/libpng:0= )
+ tslib? ( >=x11-libs/tslib-1.21 )
+ tuio? ( ~dev-qt/qtnetwork-${PV} )
+ udev? ( virtual/libudev:= )
+ vnc? ( ~dev-qt/qtnetwork-${PV} )
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ >=x11-libs/libxcb-1.12:=[xkb]
+ >=x11-libs/libxkbcommon-0.5.0[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 )
+ udev? ( sys-kernel/linux-headers )
+"
+PDEPEND="
+ ibus? ( app-i18n/ibus )
+ wayland? ( ~dev-qt/qtwayland-${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:
+ !gif:no-gif:
+ 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
+)
+
+PATCHES=(
+ "${FILESDIR}/qt-5.12-gcc-avx2.patch" # bug 672946
+ "${FILESDIR}/${PN}-5.14.1-cmake-macro-backward-compat.patch" # bug 703306
+)
+
+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=(
+ $(usex dbus -dbus-linked '')
+ $(qt_use egl)
+ $(qt_use eglfs)
+ $(usex eglfs '-gbm -kms' '')
+ $(qt_use evdev)
+ $(qt_use evdev mtdev)
+ -fontconfig
+ -system-freetype
+ $(usex gif '' -no-gif)
+ -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)
+ $(usex X '-xcb-xlib' '')
+ )
+ if use libinput || use X; then
+ myconf+=( -xkbcommon )
+ fi
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtimageformats/Manifest b/dev-qt/qtimageformats/Manifest
index d804150e2318..cbf4440eac73 100644
--- a/dev-qt/qtimageformats/Manifest
+++ b/dev-qt/qtimageformats/Manifest
@@ -1 +1,2 @@
+DIST qtimageformats-5.15.2-cb82c743.tar.gz 2366626 BLAKE2B 76edd4d0fc2908d466e4b7f9af1e93c50cae086c1da1144d4b8230d19163e2c43704365e396769d9ba10d48f46b42a1ce793e49686d6757790c32a1c0ff4db2b SHA512 f202f3abcdea0b49ae4f286fd50c1855c8b84d502b89f8350666828c6e29c4fa0bafd72b891513330e2541dc407d298076ffb519a030b4bb50517b5196ff9a3f
DIST qtimageformats-everywhere-src-5.15.2.tar.xz 1806740 BLAKE2B 11da7926a50c17d5a36259d15a5c7e6af68f9f2e7e26626b7e04a031ae428a8d220daa8fa4461efd4b8db85bcbaa1ccf24b72271f3599c7298a4d1a49c25f9c3 SHA512 3c821fac83b8d6177af256dc1d68aca14ae6d5cbdedb8d8665158ebcec0f6e6fb790b5d210a1aa8b0679ecff60fafd4e5d1387c6954498b41409ea44177e0d7e
diff --git a/dev-qt/qtimageformats/qtimageformats-5.15.2-r10.ebuild b/dev-qt/qtimageformats/qtimageformats-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..4931c3669313
--- /dev/null
+++ b/dev-qt/qtimageformats/qtimageformats-5.15.2-r10.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=cb82c74310837fe4e832c8ab72176a5d63e4355f
+inherit qt5-build
+
+DESCRIPTION="Additional format plugins for the Qt image I/O system"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="mng"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtgui-${PV}
+ media-libs/libwebp:=
+ media-libs/tiff:0
+ mng? ( media-libs/libmng:= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ sed -e 's/qtConfig(jasper)/false:/' \
+ -i src/plugins/imageformats/imageformats.pro || die
+ qt_use_disable_config mng mng src/plugins/imageformats/imageformats.pro
+
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtlocation/Manifest b/dev-qt/qtlocation/Manifest
index d6548eb5847d..2cf39e97ff8e 100644
--- a/dev-qt/qtlocation/Manifest
+++ b/dev-qt/qtlocation/Manifest
@@ -1 +1,2 @@
+DIST qtlocation-5.15.2-861e372b.tar.gz 5431120 BLAKE2B c66e81f7e726b53000a0f8a4eafa9a4a6168aa08c89d4d0e2ef11b02e3598fd0b3f30dbd21e6c5436814bb88fa69c96d141b0d0d79f13239ec61396269af089a SHA512 b7cac8cd42185504c6140f1dcd4e8c0c749e3d8f22bf9977e97268e0ad6fbd3733e571a255ab7824eba31e30e707e804b07317f2ec9b7be15a4a5756c78c9e41
DIST qtlocation-everywhere-src-5.15.2.tar.xz 6556764 BLAKE2B a322f35ece266fff6428da9090f02c0d5749a4750ff0655ef09695f147d88d667b5917335e44d0f8721cc56f425c171fb11d0f34342aff005327518e9c1d6db8 SHA512 6192922506b3ea354e85431df83c19d7cc9aebb17549c6a1de48f625bf8365ff3db3161080dde254a5fb9199d99c3c5dc8e1533429150be55df96ddb7d6ce16f
diff --git a/dev-qt/qtlocation/qtlocation-5.15.2-r10.ebuild b/dev-qt/qtlocation/qtlocation-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..f5324144a067
--- /dev/null
+++ b/dev-qt/qtlocation/qtlocation-5.15.2-r10.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=861e372b6ad81570d4f496e42fb25a6699b72f2f
+inherit qt5-build
+
+DESCRIPTION="Location (places, maps, navigation) library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+fi
+
+IUSE=""
+
+RDEPEND="
+ dev-libs/icu:=
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtnetwork-${PV}
+ ~dev-qt/qtpositioning-${PV}[qml]
+ ~dev-qt/qtsql-${PV}
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ ~dev-qt/qtconcurrent-${PV}
+"
+
+QT5_TARGET_SUBDIRS=(
+ src/3rdparty/clipper
+ src/3rdparty/poly2tri
+ src/3rdparty/clip2tri
+ src/3rdparty/mapbox-gl-native
+ src/location
+ src/imports/location
+ src/imports/locationlabs
+ src/plugins/geoservices
+)
+
+src_configure() {
+ # src/plugins/geoservices requires files that are only generated when
+ # qmake is run in the root directory. Bug 633776.
+ mkdir -p "${QT5_BUILD_DIR}"/src/location || die
+ qt5_qmake "${QT5_BUILD_DIR}"
+ cp "${S}"/src/location/qtlocation-config.pri "${QT5_BUILD_DIR}"/src/location || die
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtnetwork/Manifest b/dev-qt/qtnetwork/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtnetwork/Manifest
+++ b/dev-qt/qtnetwork/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtnetwork/qtnetwork-5.15.2-r10.ebuild b/dev-qt/qtnetwork/qtnetwork-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..15b485299326
--- /dev/null
+++ b/dev-qt/qtnetwork/qtnetwork-5.15.2-r10.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Network abstraction library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="bindist connman gssapi libproxy networkmanager sctp +ssl"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+ sys-libs/zlib:=
+ connman? ( ~dev-qt/qtdbus-${PV} )
+ gssapi? ( virtual/krb5 )
+ libproxy? ( net-libs/libproxy )
+ networkmanager? ( ~dev-qt/qtdbus-${PV} )
+ sctp? ( kernel_linux? ( net-misc/lksctp-tools ) )
+ ssl? ( >=dev-libs/openssl-1.1.1:0=[bindist(-)=] )
+"
+RDEPEND="${DEPEND}
+ connman? ( net-misc/connman )
+ networkmanager? ( net-misc/networkmanager )
+"
+
+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
+)
+
+pkg_setup() {
+ use connman && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/connman)
+ use networkmanager && QT5_TARGET_SUBDIRS+=(src/plugins/bearer/networkmanager)
+}
+
+src_configure() {
+ local myconf=(
+ $(usev connman -dbus-linked)
+ $(usex gssapi -feature-gssapi -no-feature-gssapi)
+ $(qt_use libproxy)
+ $(usev networkmanager -dbus-linked)
+ $(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
+}
diff --git a/dev-qt/qtopengl/Manifest b/dev-qt/qtopengl/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtopengl/Manifest
+++ b/dev-qt/qtopengl/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtopengl/qtopengl-5.15.2-r10.ebuild b/dev-qt/qtopengl/qtopengl-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..f17a22b05e76
--- /dev/null
+++ b/dev-qt/qtopengl/qtopengl-5.15.2-r10.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+VIRTUALX_REQUIRED="test"
+inherit qt5-build
+
+DESCRIPTION="OpenGL support library for the Qt5 framework (deprecated)"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="gles2-only"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+ ~dev-qt/qtgui-${PV}[gles2-only=]
+ ~dev-qt/qtwidgets-${PV}[gles2-only=]
+ !gles2-only? ( virtual/opengl )
+"
+RDEPEND="${DEPEND}"
+
+QT5_TARGET_SUBDIRS=(
+ src/opengl
+)
+
+src_configure() {
+ local myconf=(
+ -opengl $(usex gles2-only es2 desktop)
+ )
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtplugininfo/qtplugininfo-5.15.2-r1.ebuild b/dev-qt/qtplugininfo/qtplugininfo-5.15.2-r1.ebuild
new file mode 100644
index 000000000000..064b136fc6ac
--- /dev/null
+++ b/dev-qt/qtplugininfo/qtplugininfo-5.15.2-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+QT5_MODULE="qttools"
+inherit qt5-build
+
+DESCRIPTION="Qt5 plugin metadata dumper"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~x86"
+fi
+
+IUSE=""
+
+RDEPEND="
+ ~dev-qt/qtcore-${PV}
+"
+# TODO: we know it is bogus, figure out how to disable checks, bug 795237
+DEPEND="${RDEPEND}
+ ~dev-qt/qtxml-${PV}
+"
diff --git a/dev-qt/qtprintsupport/Manifest b/dev-qt/qtprintsupport/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtprintsupport/Manifest
+++ b/dev-qt/qtprintsupport/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtprintsupport/qtprintsupport-5.15.2-r10.ebuild b/dev-qt/qtprintsupport/qtprintsupport-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..d0d45ab1e674
--- /dev/null
+++ b/dev-qt/qtprintsupport/qtprintsupport-5.15.2-r10.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+VIRTUALX_REQUIRED="test"
+inherit qt5-build
+
+DESCRIPTION="Printing support library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="cups gles2-only"
+
+RDEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+ ~dev-qt/qtgui-${PV}[gles2-only=]
+ ~dev-qt/qtwidgets-${PV}[gles2-only=]
+ cups? ( >=net-print/cups-1.4 )
+"
+DEPEND="${RDEPEND}
+ test? ( ~dev-qt/qtnetwork-${PV} )
+"
+
+QT5_TARGET_SUBDIRS=(
+ src/printsupport
+ src/plugins/printsupport
+)
+
+QT5_GENTOO_CONFIG=(
+ cups
+)
+
+src_configure() {
+ local myconf=(
+ $(qt_use cups)
+ -opengl $(usex gles2-only es2 desktop)
+ )
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtquickcontrols2/Manifest b/dev-qt/qtquickcontrols2/Manifest
index 203c90e379ab..136e7dd6a8b9 100644
--- a/dev-qt/qtquickcontrols2/Manifest
+++ b/dev-qt/qtquickcontrols2/Manifest
@@ -1 +1,2 @@
+DIST qtquickcontrols2-5.15.2-a2593ff9.tar.gz 9243099 BLAKE2B 56a3b57e4f70ae18fd91afae6bd1a5242e0a582aa386ecce2d9b682dd97f8d044e2bec23295a7945206aa4346344cc294eace0f5ceed1e8654af2de5a79f2759 SHA512 915b873850d042580c3de1641d916f778da89f4b0dd7763254891fb48c99daece1c1c6888f9f8560d73617edce41e7ef4e712af965f12d29179a0bc70627556b
DIST qtquickcontrols2-everywhere-src-5.15.2.tar.xz 8284692 BLAKE2B c5c4550ff75bf655969b8601f36c38a0d5a6c9dbe406bc03d431c133f8f0b83a89098c3a64afa4073e4810ee73016a19e11fde1685732c3a9124ddaa2b21393f SHA512 5af506fd5842c505ae5fbd04fdd2a467c5b6a9547b4cea80c9cf051e9dea49bbf17843d8bc12e69e95810e70119c2843c24171c84e0f5df62dd2f59a39903c8f
diff --git a/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.2-r10.ebuild b/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..eb0d955e9421
--- /dev/null
+++ b/dev-qt/qtquickcontrols2/qtquickcontrols2-5.15.2-r10.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=a2593ff9cf5d0af885c20c2e9f9faa6ca4f1c1a3
+inherit qt5-build
+
+DESCRIPTION="Set of next generation Qt Quick controls for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+IUSE="widgets"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}
+ widgets? ( ~dev-qt/qtwidgets-${PV} )
+"
+RDEPEND="${DEPEND}
+ ~dev-qt/qtgraphicaleffects-${PV}
+"
+
+src_prepare() {
+ qt_use_disable_mod widgets widgets \
+ src/imports/platform/platform.pro
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtspeech/metadata.xml b/dev-qt/qtspeech/metadata.xml
index 32568f62fb8e..020b892fa8e6 100644
--- a/dev-qt/qtspeech/metadata.xml
+++ b/dev-qt/qtspeech/metadata.xml
@@ -9,6 +9,9 @@
<bugs-to>https://bugreports.qt.io/</bugs-to>
<doc>https://doc.qt.io/</doc>
</upstream>
+ <use>
+ <flag name="flite">Enable text-to-speech synthesizer plugin using <pkg>app-accessibility/flite</pkg> engine</flag>
+ </use>
<slots>
<subslots>
Must only be used by packages that are known to use private parts of the Qt API.
diff --git a/dev-qt/qtspeech/qtspeech-5.15.2-r1.ebuild b/dev-qt/qtspeech/qtspeech-5.15.2-r1.ebuild
new file mode 100644
index 000000000000..c2273fe433d1
--- /dev/null
+++ b/dev-qt/qtspeech/qtspeech-5.15.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qt5-build
+
+DESCRIPTION="Text-to-speech library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+IUSE="alsa flite"
+
+RDEPEND="
+ >=app-accessibility/speech-dispatcher-0.8.7
+ ~dev-qt/qtcore-${PV}
+ flite? (
+ >=app-accessibility/flite-2[alsa?]
+ ~dev-qt/qtmultimedia-${PV}[alsa?]
+ alsa? ( media-libs/alsa-lib )
+ )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ qt_use_disable_config flite flite \
+ src/plugins/tts/tts.pro
+
+ qt_use_disable_config alsa flite_alsa \
+ src/plugins/tts/flite/flite.pro
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtsql/Manifest b/dev-qt/qtsql/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtsql/Manifest
+++ b/dev-qt/qtsql/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtsql/qtsql-5.15.2-r10.ebuild b/dev-qt/qtsql/qtsql-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..9d3b4783f467
--- /dev/null
+++ b/dev-qt/qtsql/qtsql-5.15.2-r10.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="SQL abstraction library for the Qt5 framework"
+SLOT=5/$(ver_cut 1-3) # bug 639140
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="freetds mysql oci8 odbc postgres +sqlite"
+
+REQUIRED_USE="
+ || ( freetds mysql oci8 odbc postgres sqlite )
+"
+
+DEPEND="
+ ~dev-qt/qtcore-${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
+}
diff --git a/dev-qt/qtsvg/Manifest b/dev-qt/qtsvg/Manifest
index 84e4dea0c65d..9b22bd9e6f4b 100644
--- a/dev-qt/qtsvg/Manifest
+++ b/dev-qt/qtsvg/Manifest
@@ -1 +1,2 @@
+DIST qtsvg-5.15.2-cfc61697.tar.gz 2779382 BLAKE2B cd75575741b05cb1ec1b206d1d338c011c718923339d1cb169f0f537f21931e32042f10574e70b5c64d4fc352dfa56adc8b852dafa5131198630afe6bb806580 SHA512 1f8b52c713b4c6d4974af46ebe6519ea597f72ac0c4b80e061f714ff30449e6fdae94eb9705f3c1b857c5ad0647e5875260ee40051cec78321caf7b944fd3d70
DIST qtsvg-everywhere-src-5.15.2.tar.xz 1886268 BLAKE2B fee60a9d769e4c8962d084e98cd4c1a958ba926c8b4482f5b60b596a34944576cddfb46c4e04bd4a67cba7dfbdc7e29e61d8b5025cc7d2a1ae063f81eb31a114 SHA512 101e9c8fc05b1bb9c4e869564bff8e5723dd35f0ef557185e56e9dc12fdce74c531522c9642cdff639900eccf7ed0e04bfa48142741259697dded990fb481730
diff --git a/dev-qt/qtsvg/qtsvg-5.15.2-r10.ebuild b/dev-qt/qtsvg/qtsvg-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..8ec99ee64424
--- /dev/null
+++ b/dev-qt/qtsvg/qtsvg-5.15.2-r10.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=cfc616978b52a396b2ef6900546f7fc086d7cab3
+inherit qt5-build
+
+DESCRIPTION="SVG rendering library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE=""
+
+RDEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtwidgets-${PV}
+ sys-libs/zlib:=
+"
+DEPEND="${RDEPEND}
+ test? ( ~dev-qt/qtxml-${PV} )
+"
diff --git a/dev-qt/qttest/Manifest b/dev-qt/qttest/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qttest/Manifest
+++ b/dev-qt/qttest/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qttest/qttest-5.15.2-r10.ebuild b/dev-qt/qttest/qttest-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..877cc61a3040
--- /dev/null
+++ b/dev-qt/qttest/qttest-5.15.2-r10.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+VIRTUALX_REQUIRED="test"
+inherit qt5-build
+
+DESCRIPTION="Unit testing library for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE=""
+
+RDEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+"
+DEPEND="${RDEPEND}
+ test? (
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtxml-${PV}
+ )
+"
+
+QT5_TARGET_SUBDIRS=(
+ src/testlib
+)
+
+QT5_GENTOO_PRIVATE_CONFIG=(
+ :testlib
+)
diff --git a/dev-qt/qtvirtualkeyboard/Manifest b/dev-qt/qtvirtualkeyboard/Manifest
index 963bafeb15dd..d2486c60cbc3 100644
--- a/dev-qt/qtvirtualkeyboard/Manifest
+++ b/dev-qt/qtvirtualkeyboard/Manifest
@@ -1 +1,2 @@
+DIST qtvirtualkeyboard-5.15.2-2f0e9f98.tar.gz 13693484 BLAKE2B 88cd048af73c208772115a10b7c4eb7fb78f8598bcb4ecea297e5b7115aa5eda21e47ee062c26c810781de22af4e9abeec67a55761443a89cf381fcce3ee4df8 SHA512 67afa86666aa6f55263053f9b9e76fde94232cd65c44b0edcc91f4f2c1866f699f60122b31a97d5e577b1d9986211fa5e1e0bc0b2ea86cec488a07a462e88e40
DIST qtvirtualkeyboard-everywhere-src-5.15.2.tar.xz 10955076 BLAKE2B 629068b92f58e825060410c84906edbcb9d83f942f1d4acfc1aab9404eb69e0ffeca0b5ca69a3d4b07033efb80ef161f23474e0a19ae6d9c4efb7698ba0a0d75 SHA512 3ba04d171756a5434424833c5198a23e0df53eeebe9ea542047e094f83f38492d93f901cac67cf7e55aca6a71289ce3c6f5d8ac10a8d051b291155ebb8432016
diff --git a/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-5.15.2-r10.ebuild b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..5b16d81a99bc
--- /dev/null
+++ b/dev-qt/qtvirtualkeyboard/qtvirtualkeyboard-5.15.2-r10.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=2f0e9f98c6c6fdac09f762d41fddcc114f64b28a
+inherit qt5-build
+
+DESCRIPTION="Customizable input framework and virtual keyboard for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+# TODO: unbundle libraries for more layouts
+IUSE="handwriting +spell +X"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtsvg-${PV}
+ spell? ( app-text/hunspell:= )
+ X? ( x11-libs/libxcb:= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myqmakeargs=(
+ $(usex handwriting CONFIG+=lipi-toolkit '')
+ $(usex spell '' CONFIG+=disable-hunspell)
+ $(usex X '' CONFIG+=disable-desktop)
+ CONFIG+="lang-ar_AR lang-bg_BG lang-cs_CZ lang-da_DK lang-de_DE \
+ lang-el_GR lang-en_GB lang-en_US lang-es_ES lang-es_MX \
+ lang-et_EE lang-fa_FA lang-fi_FI lang-fr_CA lang-fr_FR \
+ lang-he_IL lang-hi_IN lang-hr_HR lang-hu_HU lang-id_ID \
+ lang-it_IT lang-ms_MY lang-nb_NO lang-nl_NL lang-pl_PL \
+ lang-pt_BR lang-pt_PT lang-ro_RO lang-ru_RU lang-sk_SK \
+ lang-sl_SI lang-sq_AL lang-sr_SP lang-sv_SE lang-tr_TR \
+ lang-uk_UA lang-vi_VN"
+ )
+
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest
index d2833c8905df..856cb35413b6 100644
--- a/dev-qt/qtwayland/Manifest
+++ b/dev-qt/qtwayland/Manifest
@@ -1 +1,2 @@
+DIST qtwayland-5.15.2-d4c41797.tar.gz 829183 BLAKE2B 2a185e724dc4bb409d588664adf956fc16ab2115f5f2a5217c7654312f320402ef5b247aae44ec021c274b2a070698b2e6771135d604baf8308d8d33deffc55f SHA512 2e8e6149f6ffd5379075c235ea334aac0663e1c888291a564467c46f8073503d6b6c3c0cf9080cfa98c1d8742a6295c9b9aff877afcf06e8efccd0b54b1b9389
DIST qtwayland-everywhere-src-5.15.2.tar.xz 564884 BLAKE2B 472effd3e9f3fd5470e0449703a52d45f2fd823770880b5ad15d8bf99196eee5d8511ca2bc9e23df6e27c933551d1853928ba79b4b1e5fa6e53334c54c04a463 SHA512 e8657ed676873da7b949e6a1605d025918a03336af9c68f32741945ec3c71a604def55bb00737ba4d97b91c00d0e2df1a83cdcedcf5795c6b2a1ef2caa21c91c
diff --git a/dev-qt/qtwayland/qtwayland-5.15.2-r10.ebuild b/dev-qt/qtwayland/qtwayland-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..a93d716f58e2
--- /dev/null
+++ b/dev-qt/qtwayland/qtwayland-5.15.2-r10.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=d4c41797b61a5a8da47c5821711aca72e756dcbf
+inherit qt5-build
+
+DESCRIPTION="Wayland platform plugin for Qt"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="vulkan X"
+
+DEPEND="
+ dev-libs/wayland
+ ~dev-qt/qtcore-${PV}:5=
+ ~dev-qt/qtdeclarative-${PV}:5=
+ ~dev-qt/qtgui-${PV}:5=[egl,libinput,vulkan=]
+ media-libs/mesa[egl]
+ >=x11-libs/libxkbcommon-0.2.0
+ vulkan? ( dev-util/vulkan-headers )
+ X? (
+ ~dev-qt/qtgui-${PV}[-gles2-only]
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local myqmakeargs=(
+ --
+ $(qt_use vulkan feature-wayland-vulkan-server-buffer)
+ $(qt_use X feature-xcomposite-egl)
+ $(qt_use X feature-xcomposite-glx)
+ )
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtwebsockets/Manifest b/dev-qt/qtwebsockets/Manifest
index dcfc0f25c2fe..a8db798d5104 100644
--- a/dev-qt/qtwebsockets/Manifest
+++ b/dev-qt/qtwebsockets/Manifest
@@ -1 +1,2 @@
+DIST qtwebsockets-5.15.2-e7883bc6.tar.gz 434705 BLAKE2B f8c8fbb0e369ad5ceed40ca62c2a7d6d2cdb3cb74037e9ecb487b0ec31757aae10ed6f61790c566e4431b59585fee423047c4687b41cdfc08e96dd46c2f964b6 SHA512 35b1caed6462083014bbb83c6aa81b441f67da7f0e3813fc47997ca4fecfe5423eaef5dd4ed3c37f42dd311eded0e6b36cce6725c7028047ca21b454ded9257f
DIST qtwebsockets-everywhere-src-5.15.2.tar.xz 259000 BLAKE2B 1bbc4d5451e70a94b6fb8377a60e43e2fa1aeb0d1224dd04486fcafd7821c3918a887297860e7cfcd18f3afd8dd02a903cf16fb69aeb48a52557af539c79458e SHA512 1b23b79bff4289e785daf51441daaecf6de66ca5a3febfdd8fdb8ce871471bca4faf7663d68b23aaf562b1ebd6e9c8c27b3074f4b93bc9fcd3a0c54f7f79a9c4
diff --git a/dev-qt/qtwebsockets/qtwebsockets-5.15.2-r10.ebuild b/dev-qt/qtwebsockets/qtwebsockets-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..5910e9c5d92c
--- /dev/null
+++ b/dev-qt/qtwebsockets/qtwebsockets-5.15.2-r10.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=e7883bc64440b1ff4666272ac6eb710ee4bc221b
+inherit qt5-build
+
+DESCRIPTION="Implementation of the WebSocket protocol for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE="qml +ssl"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtnetwork-${PV}[ssl=]
+ qml? ( ~dev-qt/qtdeclarative-${PV} )
+
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ qt_use_disable_mod qml quick src/src.pro
+
+ qt5-build_src_prepare
+}
diff --git a/dev-qt/qtwidgets/Manifest b/dev-qt/qtwidgets/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtwidgets/Manifest
+++ b/dev-qt/qtwidgets/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtwidgets/qtwidgets-5.15.2-r10.ebuild b/dev-qt/qtwidgets/qtwidgets-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..ebc81a5c757a
--- /dev/null
+++ b/dev-qt/qtwidgets/qtwidgets-5.15.2-r10.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Set of components for creating classic desktop-style UIs for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+# keep IUSE defaults in sync with qtgui
+IUSE="gles2-only gtk +png +X"
+
+DEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+ ~dev-qt/qtgui-${PV}[gles2-only=,png=,X?]
+ gtk? (
+ ~dev-qt/qtgui-${PV}[dbus]
+ x11-libs/gtk+:3
+ x11-libs/libX11
+ x11-libs/pango
+ )
+"
+RDEPEND="${DEPEND}"
+
+QT5_TARGET_SUBDIRS=(
+ src/tools/uic
+ src/widgets
+ src/plugins/platformthemes
+)
+
+QT5_GENTOO_CONFIG=(
+ gtk:gtk3:
+ ::widgets
+ !:no-widgets:
+)
+
+QT5_GENTOO_PRIVATE_CONFIG=(
+ :widgets
+)
+
+src_configure() {
+ local myconf=(
+ -opengl $(usex gles2-only es2 desktop)
+ $(qt_use gtk)
+ -gui
+ $(qt_use png libpng system)
+ -widgets
+ $(qt_use X xcb)
+ $(usev X '-xcb-xlib -xkbcommon')
+ )
+ qt5-build_src_configure
+}
diff --git a/dev-qt/qtxml/Manifest b/dev-qt/qtxml/Manifest
index c298c0aa243b..6ec5cdd58fde 100644
--- a/dev-qt/qtxml/Manifest
+++ b/dev-qt/qtxml/Manifest
@@ -1,2 +1,3 @@
+DIST qtbase-5.15.2-c2ea67ec.tar.gz 67964503 BLAKE2B 2f55d1913d840a9150912074e81b7ebc38d86dbe259a51f65924868d97ed0cd5852fd6387e85933e956b0bd80404284b9e0f01506080f154751c0e1cf27ba398 SHA512 40eeaca1698613ab0c756053b58737cbef9fceed7cf7007aec5b558f992675a25d304ec83afdc7eab34bb854149d4e0ce61f2cc03003b553b4fc8a786f258e17
DIST qtbase-5.15.2-gcc11.patch.xz 1208 BLAKE2B a2e5764b723adda991eca5b84cf8e15437a4832febd12e3c93cdc394931af666e17c01e229e9be7e0efc446a955cc26388c0f93cadfcabd93cc6b6f03bb41eb0 SHA512 da3a41ea5d9573a029946d26b26d51d6dce9c8b91db6d78ca71d8343d3ceb5010d21750dcb45abb663e227b5f068985ff4ed51da07efd17c64cc8dd5aef8f3e4
DIST qtbase-everywhere-src-5.15.2.tar.xz 50179672 BLAKE2B 0e4bdaab43cf59664bde89f87ea260c39acc2ef866d8629d41d9c326cab0ab68bcd943c86a472ae74bc9fb0b7ad50795ccb66275bb6b77d1fcf0a38b5662cb42 SHA512 a549bfaf867d746ff744ab224eb65ac1bdcdac7e8457dfa379941b2b225a90442fcfc1e1175b9afb1f169468f8130b7ab917c67be67156520a4bfb5c92d304f9
diff --git a/dev-qt/qtxml/qtxml-5.15.2-r10.ebuild b/dev-qt/qtxml/qtxml-5.15.2-r10.ebuild
new file mode 100644
index 000000000000..20df4c58c38a
--- /dev/null
+++ b/dev-qt/qtxml/qtxml-5.15.2-r10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=c2ea67ecefe049f6e9bb8f910d7f9c60319d8619
+QT5_MODULE="qtbase"
+inherit qt5-build
+
+DESCRIPTION="Implementation of SAX and DOM for the Qt5 framework"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+IUSE=""
+
+RDEPEND="
+ ~dev-qt/qtcore-${PV}:5=
+"
+DEPEND="${RDEPEND}
+ test? ( ~dev-qt/qtnetwork-${PV} )
+"
+
+QT5_TARGET_SUBDIRS=(
+ src/xml
+)
+
+QT5_GENTOO_PRIVATE_CONFIG=(
+ :xml
+)
diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass
index bc5928d33140..2765fc46081f 100644
--- a/eclass/qt5-build.eclass
+++ b/eclass/qt5-build.eclass
@@ -6,7 +6,7 @@
# qt@gentoo.org
# @AUTHOR:
# Davide Pesavento <pesa@gentoo.org>
-# @SUPPORTED_EAPIS: 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Eclass for Qt5 split ebuilds.
# @DESCRIPTION:
# This eclass contains various functions that are used when building Qt5.
@@ -16,10 +16,20 @@ if [[ ${CATEGORY} != dev-qt ]]; then
fi
case ${EAPI} in
- 7) ;;
+ 7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
+# @ECLASS-VARIABLE: QT5_BUILD_TYPE
+# @DESCRIPTION:
+# Default value is "release".
+# If PV matches "*9999*", this is automatically set to "live".
+QT5_BUILD_TYPE=release
+if [[ ${PV} == *9999* ]]; then
+ QT5_BUILD_TYPE=live
+fi
+readonly QT5_BUILD_TYPE
+
# @ECLASS-VARIABLE: QT5_MODULE
# @PRE_INHERIT
# @DESCRIPTION:
@@ -27,6 +37,13 @@ esac
# SRC_URI and EGIT_REPO_URI. Must be set before inheriting the eclass.
: ${QT5_MODULE:=${PN}}
+# @ECLASS-VARIABLE: _QT5_P
+# @INTERNAL
+# @DESCRIPTION:
+# The upstream package name of the module this package belongs to.
+# Used for SRC_URI and S.
+_QT5_P=${QT5_MODULE}-everywhere-src-${PV}
+
# @ECLASS-VARIABLE: QT5_TARGET_SUBDIRS
# @DEFAULT_UNSET
# @DESCRIPTION:
@@ -59,41 +76,17 @@ esac
inherit estack flag-o-matic toolchain-funcs virtualx
-HOMEPAGE="https://www.qt.io/"
-LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
-SLOT=5/$(ver_cut 1-2)
-
-QT5_MINOR_VERSION=$(ver_cut 2)
-readonly QT5_MINOR_VERSION
-
-case ${PV} in
- 5.??.9999)
- # git stable branch
- QT5_BUILD_TYPE="live"
- EGIT_BRANCH=${PV%.9999}
- ;;
- *_alpha*|*_beta*|*_rc*)
- # development release
- QT5_BUILD_TYPE="release"
- MY_P=${QT5_MODULE}-everywhere-src-${PV/_/-}
- SRC_URI="https://download.qt.io/development_releases/qt/${PV%.*}/${PV/_/-}/submodules/${MY_P}.tar.xz"
- S=${WORKDIR}/${MY_P}
- ;;
- *)
+if [[ ${PN} != qtwebengine ]]; then
+ if [[ ${QT5_BUILD_TYPE} == live ]] || [[ -n ${KDE_ORG_COMMIT} ]]; then
+ # KDE Qt5PatchCollection
+ inherit kde.org
+ else
# official stable release
- QT5_BUILD_TYPE="release"
- MY_P=${QT5_MODULE}-everywhere-src-${PV}
- SRC_URI="https://download.qt.io/official_releases/qt/${PV%.*}/${PV}/submodules/${MY_P}.tar.xz"
- S=${WORKDIR}/${MY_P}
- ;;
-esac
-readonly QT5_BUILD_TYPE
-
-EGIT_REPO_URI=(
- "https://code.qt.io/qt/${QT5_MODULE}.git"
- "https://github.com/qt/${QT5_MODULE}.git"
-)
-[[ ${QT5_BUILD_TYPE} == live ]] && inherit git-r3
+ HOMEPAGE="https://www.qt.io/"
+ SRC_URI="https://download.qt.io/official_releases/qt/${PV%.*}/${PV}/submodules/${_QT5_P}.tar.xz"
+ S=${WORKDIR}/${_QT5_P}
+ fi
+fi
# @ECLASS-VARIABLE: QT5_BUILD_DIR
# @OUTPUT_VARIABLE
@@ -101,6 +94,8 @@ EGIT_REPO_URI=(
# Build directory for out-of-source builds.
: ${QT5_BUILD_DIR:=${S}_build}
+LICENSE="|| ( GPL-2 GPL-3 LGPL-3 ) FDL-1.3"
+SLOT=5/$(ver_cut 1-2)
IUSE="debug test"
if [[ ${QT5_BUILD_TYPE} == release ]]; then
@@ -119,30 +114,7 @@ fi
###### Phase functions ######
-EXPORT_FUNCTIONS src_unpack src_prepare src_configure src_compile src_install src_test pkg_postinst pkg_postrm
-
-# @FUNCTION: qt5-build_src_unpack
-# @DESCRIPTION:
-# Unpacks the sources.
-qt5-build_src_unpack() {
- # bug 307861
- if [[ ${PN} == qtwebengine ]]; then
- eshopts_push -s extglob
- if is-flagq '-g?(gdb)?([1-9])'; then
- ewarn
- ewarn "You have enabled debug info (probably have -g or -ggdb in your CFLAGS/CXXFLAGS)."
- ewarn "You may experience really long compilation times and/or increased memory usage."
- ewarn "If compilation fails, please try removing -g/-ggdb before reporting a bug."
- ewarn
- fi
- eshopts_pop
- fi
-
- case ${QT5_BUILD_TYPE} in
- live) git-r3_src_unpack ;&
- release) default ;;
- esac
-}
+EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test pkg_postinst pkg_postrm
# @FUNCTION: qt5-build_src_prepare
# @DESCRIPTION:
@@ -150,6 +122,15 @@ qt5-build_src_unpack() {
qt5-build_src_prepare() {
qt5_prepare_env
+ if [[ -n ${KDE_ORG_COMMIT} ]]; then
+ # Upstream bumped version in 5.15 branch after 5.15.2 release but their
+ # 5.15.3 release is closed and this will never be more than a Qt 5.15.2
+ # with patches on top.
+ einfo "Preparing KDE Qt5PatchCollection snapshot at ${KDE_ORG_COMMIT}"
+ sed -e "/^MODULE_VERSION/s/5\.15\.3/5\.15\.2/" -i .qmake.conf || die
+ mkdir -p .git || die # need to fake a git repository for configure
+ fi
+
if [[ ${QT5_MODULE} == qtbase ]]; then
qt5_symlink_tools_to_build_dir
@@ -258,22 +239,23 @@ qt5-build_src_install() {
"${D}${QT5_HEADERDIR}"/QtCore/qconfig.h \
|| die "sed failed (qconfig.h)"
- # install qtchooser configuration file
- cat > "${T}/qt5-${CHOST}.conf" <<-_EOF_ || die
- ${QT5_BINDIR}
- ${QT5_LIBDIR}
- _EOF_
-
- (
- insinto /etc/xdg/qtchooser
- doins "${T}/qt5-${CHOST}.conf"
- )
-
- # convenience symlinks
- dosym qt5-"${CHOST}".conf /etc/xdg/qtchooser/5.conf
- dosym qt5-"${CHOST}".conf /etc/xdg/qtchooser/qt5.conf
- # TODO bug 522646: write an eselect module to manage default.conf
- dosym qt5.conf /etc/xdg/qtchooser/default.conf
+ if ver_test -lt 5.15.2-r10; then
+ # install qtchooser configuration file
+ cat > "${T}/qt5-${CHOST}.conf" <<-_EOF_ || die
+ ${QT5_BINDIR}
+ ${QT5_LIBDIR}
+ _EOF_
+
+ (
+ insinto /etc/xdg/qtchooser
+ doins "${T}/qt5-${CHOST}.conf"
+ )
+
+ # convenience symlinks
+ dosym qt5-"${CHOST}".conf /etc/xdg/qtchooser/5.conf
+ dosym qt5-"${CHOST}".conf /etc/xdg/qtchooser/qt5.conf
+ dosym qt5.conf /etc/xdg/qtchooser/default.conf
+ fi
fi
qt5_install_module_config
@@ -647,9 +629,11 @@ qt5_base_configure() {
# a forwarding header is no longer created since 5.8, causing the system
# config to always be used. bug 599636
- # ${S}/include does not exist in live sources
+ # ${S}/include does not exist in live sources or kde.org snapshots
local basedir="${S}/"
- [[ ${QT5_BUILD_TYPE} == live ]] && basedir=""
+ if [[ ${QT5_BUILD_TYPE} == live ]] || [[ -n ${KDE_ORG_COMMIT} ]]; then
+ basedir=""
+ fi
cp src/corelib/global/qconfig.h "${basedir}"include/QtCore/ || die
popd >/dev/null || die
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest
index c22143efc89d..a7862a224740 100644
--- a/www-client/opera/Manifest
+++ b/www-client/opera/Manifest
@@ -1,2 +1,3 @@
DIST opera-ffmpeg-codecs-92.0.4515.20.tar.xz 1382256 BLAKE2B 1e00bb4ee655573ac7b6c2f04ae2ae9a073f839ff6deeba3e3c4c2c58a10b1152068f0549fb3c6de758628317ad7c568cf5d3031294208800b470e3ed00c938b SHA512 6aeec66a9fcea1fcf5ecfd23b56589598f5e612e788b4e417037250470b83f91e461e3b0c20caf7853677d314053ca9d489983736708f15d21a82d68d2cdd5c2
DIST opera-stable_78.0.4093.147_amd64.deb 77024096 BLAKE2B 539c2ee2e8e26a54ec307f9111f39403dd0dd57ac3a0f0d3e25266b7bdca564d9b4fff6da8612cdb1c7a89493dd8723e92f52e69763675b9dbec85bcf037e4a4 SHA512 75f37ffe4488d9420a9345133acbe128b710817b836ba968bd83ec77b971e2b87a0d92c3b6ead1a1b90b83019c32642e500d13a5261e3f5eba7b64198f4f7141
+DIST opera-stable_78.0.4093.184_amd64.deb 77080724 BLAKE2B 72166332c29711611b41c056add5f149ffd3ed224657d5ada1a555a4f19e13b77308b91ccead33918abf4a867cb29b4387d0393a8b4e6ecd08cde789f5766ddb SHA512 cbb3b14d8fee419c5a0bec71cc4891fb490ffa788e2176d1be319699112d4f53db1def179d522f8aae1f65070c9e3299ebfb0798f1ef888a245bd661551a9d14
diff --git a/www-client/opera/opera-78.0.4093.184.ebuild b/www-client/opera/opera-78.0.4093.184.ebuild
new file mode 100644
index 000000000000..594149daa386
--- /dev/null
+++ b/www-client/opera/opera-78.0.4093.184.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CHROMIUM_LANGS="
+ be bg bn ca cs da de el en-GB en-US es-419 es fil fi fr-CA fr hi hr hu id
+ it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi
+ zh-CN zh-TW
+"
+inherit chromium-2 multilib pax-utils unpacker xdg
+
+DESCRIPTION="A fast and secure web browser"
+HOMEPAGE="https://www.opera.com/"
+LICENSE="OPERA-2018"
+SLOT="0"
+
+SRC_URI_BASE=(
+ "https://download1.operacdn.com/pub/${PN}"
+ "https://download2.operacdn.com/pub/${PN}"
+ "https://download3.operacdn.com/pub/${PN}"
+ "https://download4.operacdn.com/pub/${PN}"
+)
+
+if [[ ${PN} == opera ]]; then
+ MY_PN=${PN}-stable
+ SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" )
+else
+ MY_PN=${PN}
+fi
+
+KEYWORDS="-* ~amd64"
+
+FFMPEG_VERSION="92.0.4515.20"
+
+SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.deb}
+ proprietary-codecs? (
+ https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz
+ )"
+
+IUSE="+proprietary-codecs suid"
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+ app-accessibility/at-spi2-atk:2
+ app-accessibility/at-spi2-core:2
+ dev-libs/atk
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ gnome-base/gsettings-desktop-schemas
+ media-libs/alsa-lib
+ media-libs/mesa[gbm(+)]
+ net-misc/curl
+ net-print/cups
+ sys-apps/dbus
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/libdrm
+ x11-libs/libxcb
+ x11-libs/libxkbcommon
+ x11-libs/libxshmfence
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/pango
+"
+
+QA_PREBUILT="*"
+S=${WORKDIR}
+OPERA_HOME="opt/opera${PN#opera}"
+
+pkg_pretend() {
+ # Protect against people using autounmask overzealously
+ use amd64 || die "opera only works on amd64"
+}
+
+pkg_setup() {
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_unpack() {
+ :
+}
+
+src_install() {
+ dodir /
+ cd "${ED}" || die
+ unpacker
+
+ # move to /opt, bug #573052
+ mkdir -p "${OPERA_HOME%${PN}}"
+ mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die
+ rm -r "usr/lib" || die
+
+ # disable auto update
+ rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die
+
+ rm -r "usr/share/lintian" || die
+
+ # fix docs
+ mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die
+ gzip -d usr/share/doc/${PF}/changelog.gz || die
+
+ # fix desktop file
+ sed -i \
+ -e 's|^TargetEnvironment|X-&|g' \
+ usr/share/applications/${PN}.desktop || die
+
+ # remove unused language packs
+ pushd "${OPERA_HOME}/localization" > /dev/null || die
+ chromium_remove_language_paks
+ popd > /dev/null || die
+
+ # setup opera symlink
+ rm "usr/bin/${PN}" || die
+ dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}"
+
+ # install proprietary codecs
+ rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die
+ if use proprietary-codecs; then
+ mv lib_extra "${OPERA_HOME}"
+ fi
+
+ # pax mark opera, bug #562038
+ pax-mark m "${OPERA_HOME}/opera"
+ # enable suid sandbox if requested
+ use suid && fperms 4711 "${OPERA_HOME}/opera_sandbox"
+}
diff --git a/x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch b/x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch
new file mode 100644
index 000000000000..7179d14e4c1e
--- /dev/null
+++ b/x11-misc/sddm/files/sddm-0.18.1-qt-5.15.2.patch
@@ -0,0 +1,23 @@
+From e93bf95c54ad8c2a1604f8d7be05339164b19308 Mon Sep 17 00:00:00 2001
+From: "aacid@kde.org" <aacid@kde.org>
+Date: Thu, 12 Nov 2020 23:42:48 +0100
+Subject: [PATCH] Fix compilation once QTBUG-88431 gets fixed
+
+And also comes closes to Qt6 compatibility
+---
+ src/daemon/XorgDisplayServer.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
+index 5f93a1b3..d5f29a94 100644
+--- a/src/daemon/XorgDisplayServer.cpp
++++ b/src/daemon/XorgDisplayServer.cpp
+@@ -65,7 +65,7 @@ namespace SDDM {
+ // create a random hexadecimal number
+ const char *digits = "0123456789abcdef";
+ for (int i = 0; i < 32; ++i)
+- m_cookie[i] = digits[dis(gen)];
++ m_cookie[i] = QLatin1Char(digits[dis(gen)]);
+ }
+
+ XorgDisplayServer::~XorgDisplayServer() {
diff --git a/x11-misc/sddm/sddm-0.18.1-r5.ebuild b/x11-misc/sddm/sddm-0.18.1-r5.ebuild
index 8f888089fe3c..20b127562993 100644
--- a/x11-misc/sddm/sddm-0.18.1-r5.ebuild
+++ b/x11-misc/sddm/sddm-0.18.1-r5.ebuild
@@ -54,6 +54,8 @@ PATCHES=(
# TODO: fix properly
"${FILESDIR}/${PN}-0.16.0-ck2-revert.patch" # bug 633920
"${FILESDIR}/pam-1.4-substack.patch"
+ # upstream git develop branch:
+ "${FILESDIR}/${P}-qt-5.15.2.patch"
)
src_prepare() {