# Copyright 1999-2024 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 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] sys-libs/zlib:= icu? ( dev-libs/icu:= ) !icu? ( virtual/libiconv ) " RDEPEND="${DEPEND} != -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 }