diff options
Diffstat (limited to 'dev-qt/qtcore')
-rw-r--r-- | dev-qt/qtcore/Manifest | 1 | ||||
-rw-r--r-- | dev-qt/qtcore/qtcore-5.15.10-r2.ebuild | 121 |
2 files changed, 122 insertions, 0 deletions
diff --git a/dev-qt/qtcore/Manifest b/dev-qt/qtcore/Manifest index 7044769a0306..45a854011c1a 100644 --- a/dev-qt/qtcore/Manifest +++ b/dev-qt/qtcore/Manifest @@ -1,3 +1,4 @@ DIST qtbase-5.15-gentoo-patchset-4.tar.xz 4884 BLAKE2B ef1f11ea63084b834e19a9bd4c4a146e0d47f10e6c1f540a23db64ba6b0d42f46d63f54f93587deae9ac528f6824fa0e88177fe109a53aaee7d8328d49e364cd SHA512 1ae6630cef6bead9187aaaf7c420566b2c1f946bfa22cb983c52267c098e9b1c7b82c99204cbd3eed5eb6ebde0359726e260fd449618802735af465ca39f0a1d DIST qtbase-5.15.10-gentoo-kde-2.tar.xz 740184 BLAKE2B 0b76c6515425b45de65993a54e6b72afc620300c711e75720fd1283b964aee564a780845f52c033794f6fdca9a13ca863e52a91f7eda5d436f9a668356af82b2 SHA512 474fd27c13cd1b58c688c063ca119769cda9a5de8c97ae04fba81cba9e176126ac71107c6536cf825617c27aadcaf53732d4181c772fbae3c04988f85490fd74 +DIST qtbase-5.15.10-gentoo-kde-3.tar.xz 747604 BLAKE2B 1d0f0be400504ef5e6f3c9cb5284ed85bf5bbf8b83f7d631fc06fb1622ef1b9750da9bda25b05e9426f64dabdad242181789785bbcdcf25c05abb931170e142a SHA512 6a65d717a9bfda7707c4b92bb42c9a7c4b587a31683cb911f6972bb0f149c83cdd827c25a6b0af791368f2c1b2471aab98618006d02b82ead10bd6bfe51f08f5 DIST qtbase-everywhere-opensource-src-5.15.10.tar.xz 50422688 BLAKE2B 2a625296967bef17d491a3ec8fbb4a3beaf00180a2cda728e485f796c801241798bd85dd06d57ca9fef26c591fe9910a2fcb83a67bbc17640b7393d280b9ce53 SHA512 94ac739d76dd9fff54cde46e818fee6c6763f8b207b759108455febff84c9dfeb48ea7807451d7248cbfd8af24c2a1263c34dcbd2be055136e39325e32725eef diff --git a/dev-qt/qtcore/qtcore-5.15.10-r2.ebuild b/dev-qt/qtcore/qtcore-5.15.10-r2.ebuild new file mode 100644 index 000000000000..fb5373a8bff2 --- /dev/null +++ b/dev-qt/qtcore/qtcore-5.15.10-r2.ebuild @@ -0,0 +1,121 @@ +# 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=3 + 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 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 (...0090-Annotate-QMutex-...patch) adding a header + qt5_syncqt_version +} + +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 +} |