commit: ed529e6ecf83a74ca626dcdff04a133b6675c188 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Tue Apr 2 15:34:53 2024 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Tue Apr 2 15:50:05 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed529e6e
dev-qt/qt-creator: install Devel component with IUSE=plugin-dev Tried to compile Qt Creator's HelloWorld plugin externally and it built fine with the USE enabled. Debated installing unconditionally, but it installs quite a lot of extras. Unsure about the IUSE name choice but it should hopefully do (did feel IUSE=devel would be a bit too generic sounding). Went for a bit hacky solution (for now) given --component integrates poorly with cmake.eclass and does not seem(?) other ebuilds have needed to do this yet in ::gentoo for ideas. Closes: https://bugs.gentoo.org/928423 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> dev-qt/qt-creator/metadata.xml | 3 ++- dev-qt/qt-creator/qt-creator-12.0.2.ebuild | 12 ++++++++++-- dev-qt/qt-creator/qt-creator-9999.ebuild | 12 ++++++++++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml index fcd44daa8386..89e60ab1d919 100644 --- a/dev-qt/qt-creator/metadata.xml +++ b/dev-qt/qt-creator/metadata.xml @@ -13,8 +13,9 @@ <flag name="clang">Build clang-based plugins for C/C++ development (code model, formatting, static analysis)</flag> <flag name="designer">Enable designer for QtWidgets-based UIs</flag> <flag name="help">Enable the integrated <pkg>dev-qt/qt-docs</pkg> viewer (also needed for examples)</flag> - <flag name="serialterminal">Build the serial terminal plugin</flag> + <flag name="plugin-dev">Install the 'Devel' component needed to build external Qt Creator plugins</flag> <flag name="qmldesigner">Build QmlDesigner and related plugins (Insight, StudioWelcome)</flag> + <flag name="serialterminal">Build the serial terminal plugin</flag> <flag name="tracing">Build plugins requiring tracing capabilities (CtfVisualizer, PerfProfiler, QmlProfiler)</flag> <flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> with the help USE rather than bundled litehtml</flag> </use> diff --git a/dev-qt/qt-creator/qt-creator-12.0.2.ebuild b/dev-qt/qt-creator/qt-creator-12.0.2.ebuild index 9e674d8b1aa3..84a477ae119f 100644 --- a/dev-qt/qt-creator/qt-creator-12.0.2.ebuild +++ b/dev-qt/qt-creator/qt-creator-12.0.2.ebuild @@ -34,8 +34,8 @@ HOMEPAGE="https://www.qt.io/product/development-tools" LICENSE="GPL-3" SLOT="0" IUSE=" - +clang +designer doc +help qmldesigner serialterminal - +svg test +tracing webengine + +clang +designer doc +help plugin-dev qmldesigner + serialterminal +svg test +tracing webengine " REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" RESTRICT="!test? ( test )" @@ -97,6 +97,14 @@ src_prepare() { # needed for finding docs at runtime in PF sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ -i cmake/QtCreatorAPIInternal.cmake || die + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi } src_configure() { diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild index 017a06e30b56..f28f40dcec29 100644 --- a/dev-qt/qt-creator/qt-creator-9999.ebuild +++ b/dev-qt/qt-creator/qt-creator-9999.ebuild @@ -34,8 +34,8 @@ HOMEPAGE="https://www.qt.io/product/development-tools" LICENSE="GPL-3" SLOT="0" IUSE=" - +clang designer doc +help qmldesigner serialterminal - +svg test +tracing webengine + +clang designer doc +help plugin-dev qmldesigner + serialterminal +svg test +tracing webengine " REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" RESTRICT="!test? ( test )" @@ -97,6 +97,14 @@ src_prepare() { # needed for finding docs at runtime in PF sed -e "/_IDE_DOC_PATH/s/qtcreator/${PF}/" \ -i cmake/QtCreatorAPIInternal.cmake || die + + if use plugin-dev; then #928423 + # cmake --install --component integrates poorly with the cmake + # eclass and the install targets are otherwise missing, so strip + # out EXCLUDE_FROM_ALL until figure out a better solution + find . \( -name CMakeLists.txt -o -name '*.cmake' \) -exec sed -i -zE \ + 's/COMPONENT[[:space:]]+Devel[[:space:]]+EXCLUDE_FROM_ALL//g' {} + || die + fi } src_configure() {
