summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin37530 -> 37530 bytes
-rw-r--r--eclass/ecm.eclass21
-rw-r--r--eclass/qt5-build.eclass20
3 files changed, 34 insertions, 7 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 553af103e59b..88b76b4a5936 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
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}"