summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-04-02 11:34:53 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-04-02 11:50:05 -0400
commited529e6ecf83a74ca626dcdff04a133b6675c188 (patch)
tree5dead2733377fa7b936fdecd85b6e955ee3951b3
parentsci-mathematics/singular: backport strict-aliasing/lto fix (diff)
downloadgentoo-ed529e6ecf83a74ca626dcdff04a133b6675c188.tar.gz
gentoo-ed529e6ecf83a74ca626dcdff04a133b6675c188.tar.bz2
gentoo-ed529e6ecf83a74ca626dcdff04a133b6675c188.zip
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@gentoo.org>
-rw-r--r--dev-qt/qt-creator/metadata.xml3
-rw-r--r--dev-qt/qt-creator/qt-creator-12.0.2.ebuild12
-rw-r--r--dev-qt/qt-creator/qt-creator-9999.ebuild12
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() {