commit:     398ed013b2696972380ff682624ab1828bd68f0e
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  3 03:12:10 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Oct  3 03:44:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=398ed013

dev-qt/qtdeclarative: guard against incomplete installs (qt6)

The guard can be tested by doing:
  emerge -C qtshadertools:6
  emerge -O qtdeclarative:6
Then qtdeclarative will ignore the missing dep and try to install
without QtQuickControls2 (for one), and guard should stop it.

Bit wasteful, but revbump to ensure everyone has a working copy.
fwiw skipping 6.7.2 given afaik issue only happen on upgrades
and 6.7.2 is old and kind of a well established install by now.

Bug: https://bugs.gentoo.org/940675
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 ...larative-6.7.3.ebuild => qtdeclarative-6.7.3-r1.ebuild} | 14 ++++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-6.7.9999.ebuild         | 14 ++++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-6.8.9999.ebuild         | 14 ++++++++++++++
 dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild           | 14 ++++++++++++++
 4 files changed, 56 insertions(+)

diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.7.3.ebuild 
b/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r1.ebuild
similarity index 67%
rename from dev-qt/qtdeclarative/qtdeclarative-6.7.3.ebuild
rename to dev-qt/qtdeclarative/qtdeclarative-6.7.3-r1.ebuild
index 347c469cee90..724f992b0453 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.7.3.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.7.3-r1.ebuild
@@ -45,3 +45,17 @@ src_configure() {
 
        qt6-build_src_configure
 }
+
+src_install() {
+       qt6-build_src_install
+
+       if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675
+               eerror "${CATEGORY}/${PF} seems to have been improperly built 
and"
+               eerror "install was aborted to protect the system. Possibly(?) 
due"
+               eerror "to a rare portage ordering bug. If using portage, try:"
+               eerror "    emerge -1 qtshadertools:6 qtdeclarative:6"
+               eerror "If that did not resolve the issue, please provide 
build.log"
+               eerror "on https://bugs.gentoo.org/940675";
+               die "aborting due to incomplete/broken build (see above)"
+       fi
+}

diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.7.9999.ebuild 
b/dev-qt/qtdeclarative/qtdeclarative-6.7.9999.ebuild
index 347c469cee90..724f992b0453 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.7.9999.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.7.9999.ebuild
@@ -45,3 +45,17 @@ src_configure() {
 
        qt6-build_src_configure
 }
+
+src_install() {
+       qt6-build_src_install
+
+       if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675
+               eerror "${CATEGORY}/${PF} seems to have been improperly built 
and"
+               eerror "install was aborted to protect the system. Possibly(?) 
due"
+               eerror "to a rare portage ordering bug. If using portage, try:"
+               eerror "    emerge -1 qtshadertools:6 qtdeclarative:6"
+               eerror "If that did not resolve the issue, please provide 
build.log"
+               eerror "on https://bugs.gentoo.org/940675";
+               die "aborting due to incomplete/broken build (see above)"
+       fi
+}

diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.8.9999.ebuild 
b/dev-qt/qtdeclarative/qtdeclarative-6.8.9999.ebuild
index 347c469cee90..724f992b0453 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.8.9999.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.8.9999.ebuild
@@ -45,3 +45,17 @@ src_configure() {
 
        qt6-build_src_configure
 }
+
+src_install() {
+       qt6-build_src_install
+
+       if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675
+               eerror "${CATEGORY}/${PF} seems to have been improperly built 
and"
+               eerror "install was aborted to protect the system. Possibly(?) 
due"
+               eerror "to a rare portage ordering bug. If using portage, try:"
+               eerror "    emerge -1 qtshadertools:6 qtdeclarative:6"
+               eerror "If that did not resolve the issue, please provide 
build.log"
+               eerror "on https://bugs.gentoo.org/940675";
+               die "aborting due to incomplete/broken build (see above)"
+       fi
+}

diff --git a/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild 
b/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild
index 347c469cee90..724f992b0453 100644
--- a/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild
+++ b/dev-qt/qtdeclarative/qtdeclarative-6.9999.ebuild
@@ -45,3 +45,17 @@ src_configure() {
 
        qt6-build_src_configure
 }
+
+src_install() {
+       qt6-build_src_install
+
+       if [[ ! -e ${D}${QT6_LIBDIR}/libQt6QuickControls2.so.6 ]]; then #940675
+               eerror "${CATEGORY}/${PF} seems to have been improperly built 
and"
+               eerror "install was aborted to protect the system. Possibly(?) 
due"
+               eerror "to a rare portage ordering bug. If using portage, try:"
+               eerror "    emerge -1 qtshadertools:6 qtdeclarative:6"
+               eerror "If that did not resolve the issue, please provide 
build.log"
+               eerror "on https://bugs.gentoo.org/940675";
+               die "aborting due to incomplete/broken build (see above)"
+       fi
+}

Reply via email to