commit:     87418de51e6792ae2c60ad63256aeeddf557076a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  5 11:35:36 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Feb  5 13:54:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87418de5

dev-qt/qtcore: Bump to QT5_KDEPATCHSET_REV=5

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-qt/qtcore/Manifest                |   1 +
 dev-qt/qtcore/qtcore-5.15.8-r3.ebuild | 123 ++++++++++++++++++++++++++++++++++
 2 files changed, 124 insertions(+)

diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest
index 81c2b8f8d13e..1ba76bb0dd29 100644
--- a/dev-qt/qtcore/Manifest
+++ b/dev-qt/qtcore/Manifest
@@ -1,3 +1,4 @@
 DIST qtbase-5.15-gentoo-patchset-3.tar.xz 3856 BLAKE2B 
0752426f9bc2dfa1ab2bc246b29f5d00305df05175a7801d7d5eddacfa46fcb605d9a317547edc01d3ef339f6effc2fcee7549cb7aecced37f0098166c70dbe2
 SHA512 
2515bea53232e76ca3e40bdaf1dd52fdf452052a2f40002ee91360d1fcceea3c5c2f5a8d2a3bfc0f9c2bacd61460a632c5b351accd73fd37b64985593219148e
 DIST qtbase-5.15.8-gentoo-kde-3.tar.xz 782344 BLAKE2B 
115814a4d90ac286540cf6e50bd2b57baa8e0e327fc73c3ab06fe43ecd95e1e3739faecee5db112d95d17e4fb84494ad5557e70251f2c60142166715294bf366
 SHA512 
d50b0f02476ded9f053093ec15c5204a0ec664794dcc324996685f09400a2cbc76dc3fd0ebfc247ebd42fbe203b7d4c904e975fc985bf7928e43c6cd65f04f34
+DIST qtbase-5.15.8-gentoo-kde-5.tar.xz 793372 BLAKE2B 
f486a0275fdf4da28a88ba40b7e6f227267fa05e8f466f734f720e792de1796501d5f1fb4427a84ca2d709bfa07abd695ad59210f7fd11227b1bf465484736b8
 SHA512 
f51d7ee2d121acda1141b9816197afc57ac0176a12acc08a93c2a793694afb734f8f1ad280a5bf95170cf912e32edb4a6612befeb4198fec78a7e50bbb6a61cd
 DIST qtbase-everywhere-opensource-src-5.15.8.tar.xz 50259432 BLAKE2B 
cb1b790a384a5cad9a95fdc448e275d48a68c6ee2addf08b40f9963cc5762fd7ab15852dea8392dc76da39f1565c1e23ddb5875c280f0177e802082f4b4f7f2b
 SHA512 
29e8877bafdbc908072209f1b27a5040b022e2b71f17f4ab4cecd570adeae21597f9af7f1d38758760f3cb30376eeb15c5f066bf02c6e9a9e3a4d07f967046ce

diff --git a/dev-qt/qtcore/qtcore-5.15.8-r3.ebuild 
b/dev-qt/qtcore/qtcore-5.15.8-r3.ebuild
new file mode 100644
index 000000000000..7e19031cbe35
--- /dev/null
+++ b/dev-qt/qtcore/qtcore-5.15.8-r3.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+if [[ ${PV} != *9999* ]]; then
+       QT5_KDEPATCHSET_REV=5
+       KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc 
~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 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}"
+
+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 is-flagq '-O[23]' || is-flagq '-Ofast' ; 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
+
+       # Leads to miscompiled qtcore, bug #865339
+       tc-is-clang && append-flags -fno-stack-clash-protection
+
+       qt5-build_src_prepare
+
+       # workaround for 0148-Annotate-QMutex-...patch adding a header
+       perl bin/syncqt.pl -version ${PV} || die
+}
+
+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
+       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
+}

Reply via email to