1 |
commit: 157b590574f3ca93b77040d9cc788e367d02c51b |
2 |
Author: Peter Levine <plevine457 <AT> gmail <DOT> com> |
3 |
AuthorDate: Sat Aug 6 04:55:16 2022 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Oct 29 15:07:21 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=157b5905 |
7 |
|
8 |
dev-qt/qt-creator: add 8.0.1 |
9 |
|
10 |
Switched from the qmake to cmake buildsystem. Added support for the |
11 |
Coco code coverage tool. The 'git' USE flag now also builds the gitlab |
12 |
plugin. The 'wayland' flag was added to enforce built-with-use |
13 |
dependency. 'imageviewer' flag is added for conditional dependence on |
14 |
dev-qt/qtsvg. clangd functionality now depends on >=clang-14.*. |
15 |
|
16 |
Bug: https://bugs.gentoo.org/828071 |
17 |
Bug: https://bugs.gentoo.org/846947 |
18 |
Closes: https://bugs.gentoo.org/876169 |
19 |
Signed-off-by: Peter Levine <plevine457 <AT> gmail.com> |
20 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
21 |
|
22 |
dev-qt/qt-creator/Manifest | 1 + |
23 |
dev-qt/qt-creator/metadata.xml | 2 + |
24 |
dev-qt/qt-creator/qt-creator-8.0.1.ebuild | 440 ++++++++++++++++++++++++++++++ |
25 |
3 files changed, 443 insertions(+) |
26 |
|
27 |
diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest |
28 |
index 8613fc7c9b88..2ff50efd4154 100644 |
29 |
--- a/dev-qt/qt-creator/Manifest |
30 |
+++ b/dev-qt/qt-creator/Manifest |
31 |
@@ -1 +1,2 @@ |
32 |
DIST qt-creator-opensource-src-6.0.0.tar.xz 44361156 BLAKE2B 8853b69036b969233981d31236535b2bbb74e9cf9293f0100c5caf614a5e8e80c83b0a4b038ebbefa64a4fe0cb75728d5ed34f45d8ab9cd1e283dae943fbb348 SHA512 4d97b18cb5ad8388f3ea0f1cff3b4d0cb04251d2dba22770a7d9f387efbe670b9461a8d83e08a92aefb6472c36e19d0902ff42fd85fd224318b99c66d2526bbb |
33 |
+DIST qt-creator-opensource-src-8.0.1.tar.xz 46918596 BLAKE2B 07ab50ae9ee77372c2d79a472da8cb3c65b269b8def670f66426daf9875ca44f2a66bb2ab0c01d8591420d6c43b7ca57f6ac2a6b8443cc8a5af7c89599e3966d SHA512 ffef39e8d0694b38549f301a143dec6e2fe026a1e6098acc41bd8f9c80c93d1dbb60616042901093bdaa13380034b9dd8234d82300b1fa89ab9bce81bd3f1672 |
34 |
|
35 |
diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml |
36 |
index 51e112b750a3..dc11e329b879 100644 |
37 |
--- a/dev-qt/qt-creator/metadata.xml |
38 |
+++ b/dev-qt/qt-creator/metadata.xml |
39 |
@@ -20,6 +20,7 @@ |
40 |
<flag name="clang">Build clang-based plugins for C/C++ development (code model, formatting, static analysis)</flag> |
41 |
<flag name="clearcase">Add support for IBM ClearCase version control system (requires manual installation of ClearCase client)</flag> |
42 |
<flag name="cmake">Build plugin for CMake-based projects</flag> |
43 |
+ <flag name="coco">Build plugin to support Coco code coverage tool</flag> |
44 |
<flag name="conan">Build plugin to integrate with the Conan package manager</flag> |
45 |
<flag name="cppcheck">Enable integration with <pkg>dev-util/cppcheck</pkg></flag> |
46 |
<flag name="ctfvisualizer">Build the Chrome Trace Format visualizer plugin</flag> |
47 |
@@ -27,6 +28,7 @@ |
48 |
<flag name="docker">Build plugin for Docker support</flag> |
49 |
<flag name="glsl">Build the GLSL editor plugin</flag> |
50 |
<flag name="help">Enable the integrated documentation viewer</flag> |
51 |
+ <flag name="imageviewer">Build plugin to open and view image files</flag> |
52 |
<flag name="incredibuild">Enable integration with Incredibuild</flag> |
53 |
<flag name="lsp">Add support for the Language Server Protocol (LSP)</flag> |
54 |
<flag name="mcu">Build plugin for MCU devices</flag> |
55 |
|
56 |
diff --git a/dev-qt/qt-creator/qt-creator-8.0.1.ebuild b/dev-qt/qt-creator/qt-creator-8.0.1.ebuild |
57 |
new file mode 100644 |
58 |
index 000000000000..f03c7c4f74e0 |
59 |
--- /dev/null |
60 |
+++ b/dev-qt/qt-creator/qt-creator-8.0.1.ebuild |
61 |
@@ -0,0 +1,440 @@ |
62 |
+# Copyright 1999-2022 Gentoo Authors |
63 |
+# Distributed under the terms of the GNU General Public License v2 |
64 |
+ |
65 |
+EAPI=8 |
66 |
+LLVM_MAX_SLOT=14 |
67 |
+PLOCALES="cs da de fr hr ja pl ru sl uk zh-CN zh-TW" |
68 |
+ |
69 |
+inherit cmake llvm optfeature virtualx xdg |
70 |
+ |
71 |
+DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" |
72 |
+HOMEPAGE="https://doc.qt.io/qtcreator/" |
73 |
+ |
74 |
+if [[ ${PV} == *9999 ]]; then |
75 |
+ inherit git-r3 |
76 |
+ EGIT_REPO_URI="https://code.qt.io/${PN}/${PN}.git" |
77 |
+ EGIT_SUBMODULES=( |
78 |
+ perfparser |
79 |
+ qtscript # Need the dev branch |
80 |
+ src/libs/qlitehtml |
81 |
+ src/libs/qlitehtml/src/3rdparty/litehtml |
82 |
+ ) |
83 |
+else |
84 |
+ MY_PV=${PV/_/-} |
85 |
+ MY_P=${PN}-opensource-src-${MY_PV} |
86 |
+ [[ ${MY_PV} == ${PV} ]] && MY_REL=official || MY_REL=development |
87 |
+ SRC_URI="https://download.qt.io/${MY_REL}_releases/${PN/-}/$(ver_cut 1-2)/${MY_PV}/${MY_P}.tar.xz" |
88 |
+ S="${WORKDIR}"/${MY_P} |
89 |
+ KEYWORDS="~amd64 ~arm ~x86" |
90 |
+fi |
91 |
+ |
92 |
+LICENSE="GPL-3" |
93 |
+SLOT="0" |
94 |
+ |
95 |
+QTCREATOR_PLUGINS=( |
96 |
+ # Misc |
97 |
+ +autotest beautifier coco conan cppcheck ctfvisualizer +designer docker |
98 |
+ +help imageviewer modeling perfprofiler qmlprofiler scxml serialterminal |
99 |
+ silversearcher valgrind |
100 |
+ |
101 |
+ # Buildsystems |
102 |
+ autotools +cmake incredibuild meson qbs +qmake |
103 |
+ |
104 |
+ # Languages |
105 |
+ glsl +lsp nim python |
106 |
+ |
107 |
+ # Platforms |
108 |
+ android baremetal boot2qt mcu qnx remotelinux webassembly |
109 |
+ |
110 |
+ # VCS |
111 |
+ bazaar clearcase cvs +git mercurial perforce subversion |
112 |
+) |
113 |
+ |
114 |
+IUSE="+clang debug doc +qml systemd test wayland webengine |
115 |
+ ${QTCREATOR_PLUGINS[@]}" |
116 |
+ |
117 |
+REQUIRED_USE=" |
118 |
+ android? ( lsp ) |
119 |
+ boot2qt? ( remotelinux ) |
120 |
+ clang? ( lsp ) |
121 |
+ coco? ( lsp ) |
122 |
+ mcu? ( baremetal cmake ) |
123 |
+ python? ( lsp ) |
124 |
+ qml? ( qmake ) |
125 |
+ qnx? ( remotelinux ) |
126 |
+ test? ( qbs qmake ) |
127 |
+" |
128 |
+ |
129 |
+# minimum Qt version required |
130 |
+QT_PV="5.15.2:5" |
131 |
+ |
132 |
+BDEPEND=" |
133 |
+ >=dev-qt/linguist-tools-${QT_PV} |
134 |
+ doc? ( >=dev-qt/qdoc-${QT_PV} ) |
135 |
+" |
136 |
+CDEPEND=" |
137 |
+ clang? ( |
138 |
+ >=dev-cpp/yaml-cpp-0.6.2:= |
139 |
+ sys-devel/clang:14= |
140 |
+ ) |
141 |
+ >=dev-qt/qtconcurrent-${QT_PV} |
142 |
+ >=dev-qt/qtcore-${QT_PV} |
143 |
+ >=dev-qt/qtdeclarative-${QT_PV}[widgets] |
144 |
+ >=dev-qt/qtgui-${QT_PV} |
145 |
+ >=dev-qt/qtnetwork-${QT_PV}[ssl] |
146 |
+ >=dev-qt/qtprintsupport-${QT_PV} |
147 |
+ >=dev-qt/qtquickcontrols-${QT_PV} |
148 |
+ >=dev-qt/qtsql-${QT_PV}[sqlite] |
149 |
+ >=dev-qt/qtwidgets-${QT_PV} |
150 |
+ >=dev-qt/qtxml-${QT_PV} |
151 |
+ >=kde-frameworks/syntax-highlighting-5.87:5 |
152 |
+ |
153 |
+ designer? ( >=dev-qt/designer-${QT_PV} ) |
154 |
+ help? ( |
155 |
+ >=dev-qt/qthelp-${QT_PV} |
156 |
+ webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] ) |
157 |
+ !webengine? ( dev-libs/gumbo ) |
158 |
+ ) |
159 |
+ imageviewer? ( >=dev-qt/qtsvg-${QT_PV} ) |
160 |
+ perfprofiler? ( |
161 |
+ app-arch/zstd |
162 |
+ dev-libs/elfutils |
163 |
+ ) |
164 |
+ serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) |
165 |
+ systemd? ( sys-apps/systemd:= ) |
166 |
+ test? ( mcu? ( dev-cpp/gtest:= ) ) |
167 |
+" |
168 |
+DEPEND=" |
169 |
+ ${CDEPEND} |
170 |
+ test? ( |
171 |
+ dev-cpp/benchmark |
172 |
+ dev-cpp/eigen |
173 |
+ dev-cpp/gtest |
174 |
+ dev-libs/boost |
175 |
+ >=dev-qt/qttest-${QT_PV} |
176 |
+ ) |
177 |
+" |
178 |
+RDEPEND=" |
179 |
+ ${CDEPEND} |
180 |
+ qml? ( >=dev-qt/qtquicktimeline-${QT_PV} ) |
181 |
+ wayland? ( >=dev-qt/qtgui-${QT_PV}[wayland] ) |
182 |
+" |
183 |
+ |
184 |
+# qt translations must also be installed or qt-creator translations won't be loaded |
185 |
+for x in ${PLOCALES}; do |
186 |
+ IUSE+=" l10n_${x}" |
187 |
+ RDEPEND+=" l10n_${x}? ( >=dev-qt/qttranslations-${QT_PV} )" |
188 |
+done |
189 |
+unset x |
190 |
+ |
191 |
+# FUNCTION: cmake_use_remove_addsubdirectory |
192 |
+# USAGE: <flag> <subdir> <files...> |
193 |
+# DESCRIPTION: |
194 |
+# <flag> is the name of a flag in IUSE. |
195 |
+# <subdir> is the name of a directory called with add_subdirectory(). |
196 |
+# <files...> is a list of one or more qmake project files. |
197 |
+# |
198 |
+# This function patches <files> to remove add_subdirectory(<subdir>) from cmake |
199 |
+# when <flag> is disabled, otherwise it does nothing. This can be useful to |
200 |
+# avoid an automagic dependency when a subdirectory is added in cmake but the |
201 |
+# corresponding feature USE flag is disabled. Similar to qt_use_disable_config() |
202 |
+# from /qt5-build.eclass |
203 |
+cmake_use_remove_addsubdirectory() { |
204 |
+ [[ $# -ge 3 ]] || die "${FUNCNAME}() requires at least three arguments" |
205 |
+ local flag=$1 |
206 |
+ local subdir=$2 |
207 |
+ shift 2 |
208 |
+ |
209 |
+ if ! use "${flag}"; then |
210 |
+ echo "$@" | xargs sed -i -e "/add_subdirectory(${subdir})/d" || die |
211 |
+ fi |
212 |
+} |
213 |
+ |
214 |
+llvm_check_deps() { |
215 |
+ has_version -d "sys-devel/clang:${LLVM_SLOT}" |
216 |
+} |
217 |
+ |
218 |
+pkg_setup() { |
219 |
+ if use clang; then |
220 |
+ llvm_pkg_setup |
221 |
+ export CLANG_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})" |
222 |
+ fi |
223 |
+} |
224 |
+ |
225 |
+src_prepare() { |
226 |
+ cmake_src_prepare |
227 |
+ |
228 |
+ # Remove automagic dep for qt5/qt6 |
229 |
+ sed -e "/^find_package(Qt6/,/else()/ s|if (NOT Qt6_FOUND)|if (1)|" \ |
230 |
+ -i cmake/FindQt5.cmake || die |
231 |
+ |
232 |
+ # PLUGIN_RECOMMENDS is treated like a hard-dependency |
233 |
+ sed -i -e '/PLUGIN_RECOMMENDS /d' \ |
234 |
+ src/plugins/*/CMakeLists.txt || die |
235 |
+ |
236 |
+ cmake_use_remove_addsubdirectory glsl glsl src/libs/CMakeLists.txt |
237 |
+ cmake_use_remove_addsubdirectory lsp languageserverprotocol \ |
238 |
+ src/libs/CMakeLists.txt tests/auto/CMakeLists.txt |
239 |
+ cmake_use_remove_addsubdirectory modeling modelinglib \ |
240 |
+ src/libs/CMakeLists.txt |
241 |
+ cmake_use_remove_addsubdirectory qml advanceddockingsystem \ |
242 |
+ src/libs/CMakeLists.txt |
243 |
+ cmake_use_remove_addsubdirectory test test \ |
244 |
+ src/plugins/mcusupport/CMakeLists.txt |
245 |
+ |
246 |
+ # fix translations |
247 |
+ local languages=() |
248 |
+ for lang in ${PLOCALES}; do |
249 |
+ use l10n_${lang} && languages+=( "${lang/-/_}" ) |
250 |
+ done |
251 |
+ sed -i -e "s|^set(languages.*|set(languages ${languages[*]})|" \ |
252 |
+ share/qtcreator/translations/CMakeLists.txt || die |
253 |
+ |
254 |
+ # remove bundled yaml-cpp |
255 |
+ rm -r src/libs/3rdparty/yaml-cpp || die |
256 |
+ |
257 |
+ # remove bundled qbs |
258 |
+ rm -r src/shared/qbs || die |
259 |
+ |
260 |
+ # qt-creator hardcodes the CLANG_INCLUDE_DIR to the default. |
261 |
+ # However, in sys-devel/clang, the directory changes with respect to |
262 |
+ # -DCLANG_RESOURCE_DIR. We sed in the correct include dir. |
263 |
+ if use clang; then |
264 |
+ local res_dir="$(${CLANG_PREFIX}/bin/clang -print-resource-dir || die)" |
265 |
+ sed -i -e "/\w*CLANG_INCLUDE_DIR=/s|=.*|=\"${res_dir}/include\"|" \ |
266 |
+ src/plugins/clangtools/CMakeLists.txt || die |
267 |
+ fi |
268 |
+ |
269 |
+ if use doc; then |
270 |
+ # Fix doc install path |
271 |
+ sed -i -e "/set(_IDE_DOC_PATH/s|qtcreator|${PF}|" \ |
272 |
+ cmake/QtCreatorAPIInternal.cmake || die |
273 |
+ fi |
274 |
+ |
275 |
+ if use help && ! use webengine; then |
276 |
+ # unbundled gumbo doesn't use cmake |
277 |
+ local gumbo_dep='pkg_check_modules(gumbo REQUIRED IMPORTED_TARGET gumbo)\n' |
278 |
+ sed -i -e '/^\s*gumbo/s|gumbo|PkgConfig::gumbo|' \ |
279 |
+ -e "/^find_package(litehtml/s|^|${gumbo_dep}|" \ |
280 |
+ src/libs/qlitehtml/src/CMakeLists.txt || die |
281 |
+ fi |
282 |
+ |
283 |
+ if use test; then |
284 |
+ # Find "GoogleBenchmark" as "benchmark" and change bundled "Googletest" |
285 |
+ # to external "GTest" |
286 |
+ find "${S}" -type f -name CMakeLists.txt -exec \ |
287 |
+ xargs sed -i -e 's|TARGET GoogleBenchmark|benchmark_FOUND|g' \ |
288 |
+ -e 's|GoogleBenchmark\( MODULE\)\?|benchmark|g' \ |
289 |
+ -e 's|Googletest\( MODULE\)\?|GTest|g' {} \; || die |
290 |
+ # For mcu, also link to gmock to prevent an unknown symbol |
291 |
+ # error at runtime. |
292 |
+ sed -i -e 's|if(TARGET GTest)|if(GTest_FOUND)|' \ |
293 |
+ -e 's|DEPENDS GTest|DEPENDS gtest gmock|' \ |
294 |
+ src/plugins/mcusupport/test/CMakeLists.txt || die |
295 |
+ fi |
296 |
+} |
297 |
+ |
298 |
+src_configure() { |
299 |
+ mycmakeargs+=( |
300 |
+ -DWITH_TESTS=$(usex test) |
301 |
+ -DWITH_DEBUG_CMAKE=$(usex debug) |
302 |
+ |
303 |
+ # Don't use SANITIZE_FLAGS to pass extra CXXFLAGS |
304 |
+ -DWITH_SANITIZE=NO |
305 |
+ |
306 |
+ # Don't build bundled ksyntaxhighlighting |
307 |
+ -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=NO |
308 |
+ |
309 |
+ -DWITH_DOCS=$(usex doc) |
310 |
+ -DBUILD_DEVELOPER_DOCS=$(usex doc) |
311 |
+ |
312 |
+ # Install failure. Disable for now |
313 |
+ -DWITH_ONLINE_DOCS=NO |
314 |
+ |
315 |
+ # Force enable plugins that pride basic, neccessary IDE functionality |
316 |
+ # and small, simple plugins |
317 |
+ -DBUILD_PLUGIN_BINEDITOR=YES |
318 |
+ -DBUILD_PLUGIN_BOOKMARKS=YES |
319 |
+ -DBUILD_PLUGIN_CLASSVIEW=YES |
320 |
+ -DBUILD_PLUGIN_CODEPASTER=YES |
321 |
+ -DBUILD_PLUGIN_COMPILATIONDATABASEPROJECTMANAGER=YES |
322 |
+ -DBUILD_PLUGIN_CORE=YES |
323 |
+ -DBUILD_PLUGIN_CPPEDITOR=YES |
324 |
+ -DBUILD_PLUGIN_DEBUGGER=YES |
325 |
+ -DBUILD_PLUGIN_DIFFEDITOR=YES |
326 |
+ -DBUILD_PLUGIN_EMACSKEYS=YES |
327 |
+ -DBUILD_PLUGIN_FAKEVIM=YES |
328 |
+ -DBUILD_PLUGIN_GENERICPROJECTMANAGER=YES |
329 |
+ -DBUILD_PLUGIN_MACROS=YES |
330 |
+ -DBUILD_PLUGIN_MARKETPLACE=YES |
331 |
+ -DBUILD_PLUGIN_PROJECTEXPLORER=YES |
332 |
+ -DBUILD_PLUGIN_QMLJSTOOLS=YES |
333 |
+ -DBUILD_PLUGIN_QTSUPPORT=YES |
334 |
+ -DBUILD_PLUGIN_RESOURCEEDITOR=YES |
335 |
+ -DBUILD_PLUGIN_TASKLIST=YES |
336 |
+ -DBUILD_PLUGIN_TEXTEDITOR=YES |
337 |
+ -DBUILD_PLUGIN_TODO=YES |
338 |
+ -DBUILD_PLUGIN_VCSBASE=YES |
339 |
+ -DBUILD_PLUGIN_WELCOME=YES |
340 |
+ |
341 |
+ # Misc |
342 |
+ -DBUILD_PLUGIN_AUTOTEST=$(usex autotest) |
343 |
+ -DBUILD_PLUGIN_BEAUTIFIER=$(usex beautifier) |
344 |
+ -DBUILD_PLUGIN_COCO=$(usex coco) |
345 |
+ -DBUILD_PLUGIN_CONAN=$(usex conan) |
346 |
+ -DBUILD_PLUGIN_CPPCHECK=$(usex cppcheck) |
347 |
+ -DBUILD_PLUGIN_CTFVISUALIZER=$(usex ctfvisualizer) |
348 |
+ -DBUILD_PLUGIN_DESIGNER=$(usex designer) |
349 |
+ -DBUILD_PLUGIN_DOCKER=$(usex docker) |
350 |
+ -DBUILD_PLUGIN_HELP=$(usex help) |
351 |
+ -DBUILD_PLUGIN_IMAGEVIEWER=$(usex imageviewer) |
352 |
+ -DBUILD_PLUGIN_MODELEDITOR=$(usex modeling) |
353 |
+ -DBUILD_PLUGIN_PERFPROFILER=$(usex perfprofiler) |
354 |
+ -DBUILD_PLUGIN_QMLPROFILER=$(usex qmlprofiler) |
355 |
+ -DBUILD_PLUGIN_SCXMLEDITOR=$(usex scxml) |
356 |
+ -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) |
357 |
+ -DBUILD_PLUGIN_SILVERSEARCHER=$(usex silversearcher) |
358 |
+ -DBUILD_PLUGIN_VALGRIND=$(usex valgrind) |
359 |
+ |
360 |
+ # Buildsystems |
361 |
+ -DBUILD_PLUGIN_AUTOTOOLSPROJECTMANAGER=$(usex autotools) |
362 |
+ -DBUILD_PLUGIN_CMAKEPROJECTMANAGER=$(usex cmake) |
363 |
+ -DBUILD_PLUGIN_MESONPROJECTMANAGER=$(usex meson) |
364 |
+ -DBUILD_PLUGIN_QBSPROJECTMANAGER=$(usex qbs) |
365 |
+ -DBUILD_PLUGIN_QMAKEPROJECTMANAGER=$(usex qmake) |
366 |
+ |
367 |
+ # Languages |
368 |
+ -DBUILD_PLUGIN_GLSLEDITOR=$(usex glsl) |
369 |
+ -DBUILD_PLUGIN_LANGUAGECLIENT=$(usex lsp) |
370 |
+ -DBUILD_PLUGIN_NIM=$(usex nim) |
371 |
+ -DBUILD_PLUGIN_PYTHON=$(usex python) |
372 |
+ |
373 |
+ # Platforms |
374 |
+ -DBUILD_PLUGIN_ANDROID=$(usex android) |
375 |
+ -DBUILD_PLUGIN_BAREMETAL=$(usex baremetal) |
376 |
+ -DBUILD_PLUGIN_BOOT2QT=$(usex boot2qt) |
377 |
+ -DBUILD_PLUGIN_MCUSUPPORT=$(usex mcu) |
378 |
+ -DBUILD_PLUGIN_QNX=$(usex qnx) |
379 |
+ -DBUILD_PLUGIN_REMOTELINUX=$(usex remotelinux) |
380 |
+ -DBUILD_PLUGIN_WEBASSEMBLY=$(usex webassembly) |
381 |
+ |
382 |
+ # VCS |
383 |
+ -DBUILD_PLUGIN_BAZAAR=$(usex bazaar) |
384 |
+ -DBUILD_PLUGIN_CLEARCASE=$(usex clearcase) |
385 |
+ -DBUILD_PLUGIN_CVS=$(usex cvs) |
386 |
+ -DBUILD_PLUGIN_GIT=$(usex git) |
387 |
+ -DBUILD_PLUGIN_GITLAB=$(usex git) |
388 |
+ -DBUILD_PLUGIN_MERCURIAL=$(usex mercurial) |
389 |
+ -DBUILD_PLUGIN_PERFORCE=$(usex perforce) |
390 |
+ -DBUILD_PLUGIN_SUBVERSION=$(usex subversion) |
391 |
+ |
392 |
+ # Executables |
393 |
+ -DBUILD_EXECUTABLE_BUILDOUTPUTPARSER=$(usex qmake) |
394 |
+ -DBUILD_EXECUTABLE_PERFPARSER=$(usex perfprofiler) |
395 |
+ -DBUILD_EXECUTABLE_QML2PUPPET=$(usex qml) |
396 |
+ |
397 |
+ # Clang stuff |
398 |
+ -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) |
399 |
+ -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) |
400 |
+ -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) |
401 |
+ |
402 |
+ # QML stuff |
403 |
+ # -DBUILD_PLUGIN_QMLDESIGNER=$(usex qml) #Qt6 only |
404 |
+ -DBUILD_PLUGIN_QMLJSEDITOR=$(usex qml) |
405 |
+ -DBUILD_PLUGIN_QMLPREVIEW=$(usex qml) |
406 |
+ -DBUILD_PLUGIN_QMLPROJECTMANAGER=$(usex qml) |
407 |
+ # -DBUILD_PLUGIN_STUDIOWELCOME=$(usex qml) #Qt6 only |
408 |
+ |
409 |
+ # Don't spam "created by a different GCC executable [-Winvalid-pch]" |
410 |
+ -DBUILD_WITH_PCH=NO |
411 |
+ # An entire mode devoted to a giant "Hello World!" button that does nothing. |
412 |
+ -DBUILD_PLUGIN_HELLOWORLD=NO |
413 |
+ # Not usable in linux environment |
414 |
+ -DBUILD_PLUGIN_IOS=NO |
415 |
+ # Use portage to update |
416 |
+ -DBUILD_PLUGIN_UPDATEINFO=NO |
417 |
+ ) |
418 |
+ |
419 |
+ if use clang; then |
420 |
+ mycmakeargs+=( |
421 |
+ -DClang_DIR="${CLANG_PREFIX}/$(get_libdir)/cmake/clang" |
422 |
+ -DLLVM_DIR="${CLANG_PREFIX}/$(get_libdir)/cmake/llvm" |
423 |
+ -DCLANGTOOLING_LINK_CLANG_DYLIB=YES |
424 |
+ ) |
425 |
+ fi |
426 |
+ if use help; then |
427 |
+ mycmakeargs+=( |
428 |
+ -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) |
429 |
+ -DBUILD_LIBRARY_QLITEHTML=$(usex webengine NO YES) |
430 |
+ -DHELPVIEWER_DEFAULT_BACKEND=$(usex webengine qtwebengine litehtml) |
431 |
+ ) |
432 |
+ if ! use webengine; then |
433 |
+ mycmakeargs+=( |
434 |
+ -DEXTERNAL_GUMBO=YES |
435 |
+ -DEXTERNAL_XXD=NO |
436 |
+ -DLITEHTML_UTF8=YES |
437 |
+ ) |
438 |
+ fi |
439 |
+ fi |
440 |
+ if use test; then |
441 |
+ mycmakeargs+=( |
442 |
+ # Don't test pretty printing in gdb/lldb. Tests like |
443 |
+ # tst_debugger_dumpers fail and it's "not officially supported" |
444 |
+ # See share/qtcreator/debugger/README.txt |
445 |
+ -DWITH_DEBUGGER_DUMPERS=NO |
446 |
+ |
447 |
+ # Disable broken tests |
448 |
+ -DBUILD_TEST_TST_PERFDATA=NO |
449 |
+ -DBUILD_TEST_TST_QML_CHECK=NO |
450 |
+ -DBUILD_TEST_TST_QML_TESTCORE=NO |
451 |
+ ) |
452 |
+ fi |
453 |
+ cmake_src_configure |
454 |
+} |
455 |
+ |
456 |
+src_test() { |
457 |
+ virtx cmake_src_test |
458 |
+} |
459 |
+ |
460 |
+src_install() { |
461 |
+ cmake_src_install |
462 |
+ |
463 |
+ if use doc; then |
464 |
+ cmake_src_install doc/{qch,html}_docs |
465 |
+ dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch |
466 |
+ docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch |
467 |
+ docinto html |
468 |
+ dodoc -r "${BUILD_DIR}"/doc/html/. |
469 |
+ fi |
470 |
+} |
471 |
+ |
472 |
+pkg_postinst() { |
473 |
+ optfeature_header \ |
474 |
+ "Some enabled plugins require optional dependencies for functionality:" |
475 |
+ use android && optfeature "android device support" \ |
476 |
+ dev-util/android-sdk-update-manager |
477 |
+ if use autotest; then |
478 |
+ optfeature "catch testing framework support" dev-cpp/catch |
479 |
+ optfeature "gtest testing framework support" dev-cpp/gtest |
480 |
+ optfeature "boost testing framework support" dev-libs/boost |
481 |
+ optfeature "qt testing framework support" dev-qt/qttest |
482 |
+ fi |
483 |
+ if use beautifier; then |
484 |
+ optfeature "astyle auto-formatting support" dev-util/astyle |
485 |
+ optfeature "uncrustify auto-formatting support" dev-util/uncrustify |
486 |
+ fi |
487 |
+ use clang && optfeature "clazy QT static code analysis" dev-util/clazy |
488 |
+ use conan && optfeature "conan package manager integration" dev-util/conan |
489 |
+ use cvs && optfeature "cvs vcs integration" dev-vcs/cvs |
490 |
+ use docker && optfeature "using a docker image as a device" \ |
491 |
+ app-containers/docker |
492 |
+ use git && optfeature "git vcs integration" dev-vcs/git |
493 |
+ use mercurial && optfeature "mercurial vcs integration" dev-vcs/mercurial |
494 |
+ use meson && optfeature "meson buildsystem support" dev-util/meson |
495 |
+ use nim && optfeature "nim language support" dev-lang/nim |
496 |
+ use qbs && optfeature "QBS buildsystem support" dev-util/qbs |
497 |
+ use silversearcher && optfeature "code searching with silversearcher" \ |
498 |
+ sys-apps/the_silver_searcher |
499 |
+ use subversion && optfeature "subversion vcs integration" dev-vcs/subversion |
500 |
+ use valgrind && optfeature "valgrind code analysis" dev-util/valgrind |
501 |
+} |