diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 37530 -> 37530 bytes | |||
-rw-r--r-- | eclass/ecm.eclass | 21 | ||||
-rw-r--r-- | eclass/qt5-build.eclass | 20 |
3 files changed, 34 insertions, 7 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 553af103e59b..88b76b4a5936 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/ecm.eclass b/eclass/ecm.eclass index 47992dbc86ca..c2d91a2cb851 100644 --- a/eclass/ecm.eclass +++ b/eclass/ecm.eclass @@ -218,13 +218,32 @@ case ${ECM_HANDBOOK} in ;; esac +# Unfortunately, Portage has no concept of BDEPEND=dev-qt/qthelp being broken +# by having only partially updated Qt dependencies, which means it will order +# dev-qt/qthelp revdeps in build queue before its own Qt dependencies, leaving +# qhelpgenerator broken. This is an attempt to help with that. Bug #836726 case ${ECM_QTHELP} in true) IUSE+=" doc" COMMONDEPEND+=" doc? ( dev-qt/qt-docs:${KFSLOT} )" BDEPEND+=" doc? ( >=app-doc/doxygen-1.8.13-r1 - dev-qt/qthelp:${KFSLOT} + || ( + ( + =dev-qt/qtcore-5.15.7*:5 + =dev-qt/qtgui-5.15.7*:5 + =dev-qt/qthelp-5.15.7*:5 + =dev-qt/qtsql-5.15.7*:5 + =dev-qt/qtwidgets-5.15.7*:5 + ) + ( + =dev-qt/qtcore-5.15.5*:5 + =dev-qt/qtgui-5.15.5*:5 + =dev-qt/qthelp-5.15.5*:5 + =dev-qt/qtsql-5.15.5*:5 + =dev-qt/qtwidgets-5.15.5*:5 + ) + ) )" ;; false) ;; diff --git a/eclass/qt5-build.eclass b/eclass/qt5-build.eclass index c6cb5dd3682e..d4b1d0f716a3 100644 --- a/eclass/qt5-build.eclass +++ b/eclass/qt5-build.eclass @@ -112,10 +112,6 @@ if [[ ${PN} != qtwebengine ]]; then _QT5_P=${QT5_MODULE}-everywhere-opensource-src-${PV} HOMEPAGE="https://www.qt.io/" SRC_URI="https://download.qt.io/official_releases/qt/${PV%.*}/${PV}/submodules/${_QT5_P}.tar.xz" - if [[ ${QT5_MODULE} == qtbase ]]; then - _QT5_GENTOOPATCHSET_REV=1 - SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}.tar.xz" - fi # KDE Qt5PatchCollection on top of tag v${PV}-lts-lgpl if [[ -n ${QT5_KDEPATCHSET_REV} ]]; then HOMEPAGE+=" https://invent.kde.org/qt/qt/${QT5_MODULE} https://community.kde.org/Qt5PatchCollection" @@ -126,6 +122,18 @@ if [[ ${PN} != qtwebengine ]]; then esac fi +if [[ ${QT5_MODULE} == qtbase ]]; then + case ${PV} in + 5.15.5) + _QT5_GENTOOPATCHSET_REV=1 + ;; + *) + _QT5_GENTOOPATCHSET_REV=2 + ;; + esac + SRC_URI+=" https://dev.gentoo.org/~asturm/distfiles/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}.tar.xz" +fi + # @ECLASS_VARIABLE: QT5_BUILD_DIR # @OUTPUT_VARIABLE # @DESCRIPTION: @@ -181,6 +189,8 @@ qt5-build_src_prepare() { if [[ ${QT5_MODULE} == qtbase ]]; then qt5_symlink_tools_to_build_dir + [[ -n ${_QT5_GENTOOPATCHSET_REV} ]] && eapply "${WORKDIR}/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}" + # Avoid unnecessary qmake recompilations sed -i -e "/Creating qmake/i if [ '!' -e \"\$outpath/bin/qmake\" ]; then" \ -e '/echo "Done."/a fi' configure || die "sed failed (skip qmake bootstrap)" @@ -200,8 +210,6 @@ qt5-build_src_prepare() { # Respect build variables in configure tests (bug #639494) sed -i -e "s|\"\$outpath/bin/qmake\" \"\$relpathMangled\" -- \"\$@\"|& $(qt5_qmake_args) |" configure || die - - [[ -n ${_QT5_GENTOOPATCHSET_REV} ]] && eapply "${WORKDIR}/qtbase-5.15-gentoo-patchset-${_QT5_GENTOOPATCHSET_REV}" fi [[ -n ${QT5_KDEPATCHSET_REV} ]] && eapply "${WORKDIR}/${QT5_MODULE}-${PV}-gentoo-kde-${QT5_KDEPATCHSET_REV}" |