summaryrefslogtreecommitdiff
path: root/dev-qt/qt-creator
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-20 11:11:53 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-20 11:11:53 +0100
commit2ce67506e52bee4f16032b08b1be9cee9e84e10d (patch)
treee1d7d7604754a8c356d3e93ed7fabb5221cb3976 /dev-qt/qt-creator
parent0bb372e16b84da4809f561d11ffaa30e983ab26d (diff)
gentoo auto-resync : 20:09:2023 - 11:11:53
Diffstat (limited to 'dev-qt/qt-creator')
-rw-r--r--dev-qt/qt-creator/Manifest6
-rw-r--r--dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch9
-rw-r--r--dev-qt/qt-creator/metadata.xml37
-rw-r--r--dev-qt/qt-creator/qt-creator-8.0.2.ebuild446
4 files changed, 9 insertions, 489 deletions
diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest
index 429f04d5acf1..9902a10d18de 100644
--- a/dev-qt/qt-creator/Manifest
+++ b/dev-qt/qt-creator/Manifest
@@ -1,9 +1,7 @@
AUX qt-creator-11.0.2-musl-no-execinfo.patch 1305 BLAKE2B 14fba3e72188403cf457de46c50960bb69336023e74173a2a67c0e3101cbf8367cc0d0a31118efdaf715a184e558b6f2277fe8025035de482f6913e139660792 SHA512 707d09268cff8981d1baf7fa08c48a2c02edf044a7a76594d545a2a020616090c8b61851dff8d8a8350c024b39be932c9f7bc266e01b87680c7982759b1d96c4
AUX qt-creator-11.0.2-musl-no-malloc-trim.patch 400 BLAKE2B 6933d466e1c93cb71a97dade2f5cc1a1d9aecc4b376a4ccfe5b16bd7b7485f4d8230b00d93b21c8420e74094369f47d84dcb655c22f1327ba69a2b313aeff5b8 SHA512 c0a31f61723964fabdbd3e4256689a6712de5c0dc12a4e0989f1867588fd18a4f6535f30290949f3d3f982b9bb0b454d0b9b81781e3900d859fc40ac5bec1068
-AUX qt-creator-11.0.2-qt653.patch 960 BLAKE2B 5b8e9b5c52df8c9f49af7d627a0af1d01cd41f67aac4ca59a29bda4708893544bc16c15579ef331d4f53859b65d1e50a5b8ef956b0a2de87961d6990a5aa1fe9 SHA512 8cfb2b96373b94c4eff8b83f18b8964d3c2a41b44620a0c694db978ed6042e0b521706c889f59e885bb737e56d1a9be068f5b17bc5267b8ec66cf14fab1c06a0
+AUX qt-creator-11.0.2-qt653.patch 1173 BLAKE2B 351c8dcdd010a22c2fb182fa81ef31ed0916c6812d1f5a502f71414a2fa248be6f0e4acc19f9b255931873ea1ccd775e4d24c30a4d12bb322dfa651ee90a3712 SHA512 24c5b7dc0e29da8709c37aaf592ed7ebbb556079a693ee3d4acfb743814a8b2c394e5779a53c5d1825f96cffb2ddc13bf43e9eccd302f6ee93df1b51a18722ad
DIST qt-creator-opensource-src-11.0.2.tar.xz 49828532 BLAKE2B 6028b71e1a7bf5ab953caa6223a2694e625449ab9e0eaa6e0dd8b34c0d64a9a5cea7b06d4aa98015d91defad04bc945db8528f87f5bddc70ba185ca32bb7ee8b SHA512 db123274e0652982f33db60b8f81610f0787357cdc7318ea2bbe105343ff905462c38e29a68f864c48bda51fee6f17859074c172f77dd2379ecc2e7028f5fcd5
-DIST qt-creator-opensource-src-8.0.2.tar.xz 48874868 BLAKE2B 53f491441ba28f9420c76cd4adfdcb7c7ef432d756fc5bf64a507c2cd1022b35700418a7b35b7119d97f9947b5dac2a8acc56b600c3e75001f80565f1619c072 SHA512 59ff62e6592fd33ff74aeab13dd33f3817ba132fb98f8a87ea818e1e52b4af0dc292e362085733665f0867d67ff867794755b2f02067897a9fb1c14023c6fb23
EBUILD qt-creator-11.0.2.ebuild 7082 BLAKE2B c6bf7423f2a13749e1226126daaee9953147c96be56c866c14d722968f7100e9c577080e7d9910abce37f0f7332602865d7b6725c4b572dfd40298de95d21355 SHA512 c922b5cf2601b4cc20c0aa4637891bf1704480b73a470ff27ace4a5cb9aad287b3d19f7a5543a48ecb959535937090bb621d8e421076147b219f99825924fe64
-EBUILD qt-creator-8.0.2.ebuild 13562 BLAKE2B ed5898ff39becb8496538fcd0017e54e6fd7c0559351705a664250fefd399cefd622e27cca2e91b43cefa48819d543d809721ee3985466aa1327cd1644ee846f SHA512 4a2727479f76fa872ab6fe66ca629d72c613697ee2e2ad305d489b720e1c2a29675ca9f4a72fed3a02830dbc18f575aa480a1c540ca0eee9c63cfe1fb48386e4
EBUILD qt-creator-9999.ebuild 6736 BLAKE2B 0c826cded161cada3d906cfbc442e7dedb2fdc7e85c46c2a5fad29f694f49a5f06a90180f0648a74026d7b5a5f0e889df79167becafdfae77ad07ed700067654 SHA512 1d4db42565ff957c9f10385fdc3d51c3313e442afc89b3710838c55f819c3fd4e5f96a409170d7d57ac3fcb7218968a00e71464409ef541fe1067286d720fa8f
-MISC metadata.xml 4229 BLAKE2B 4e71551f13819064fc008037070a36bba83a153e13ee602265ca86f4b7df5d6a53889c91072818ef741196053191c4cfc83abb3d877f49f2ccdfeff82f0dbe92 SHA512 1ddefd8379001e7e5cbac83b900ab7cf25d710e938e610ef715457d251a921b27ba6583f6f19fdb3af5c67c0ecbc334b19a3bb75e2ed46a4a6c582ec7cd09876
+MISC metadata.xml 1242 BLAKE2B b0b082554e88fe15e707583e01c9883ac2c695244328eec8cfdcb948c1cd0f782940c429efaf83828fafd10c05ac468054039e8c73cc8fbf79dde1d5a2e990bc SHA512 7d877389c81c815a2691a6463b2ee122766bcd93f75fffd5faab014e06f901efa77f500bef2c67ece5fb37d5fc41e916668e38e282b72c1825cfec53c3c73e51
diff --git a/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch b/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch
index 1ad23a207d9b..7cbfc534bab6 100644
--- a/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch
+++ b/dev-qt/qt-creator/files/qt-creator-11.0.2-qt653.patch
@@ -1,5 +1,10 @@
-Uses private parts of the QtQuick3D api which added a namespace in:
-https://github.com/qt/qtquick3d/commit/2b139225745a94ab4fa7e30f28cd0207469ee68e
+Uses private parts of the QtQuick3D api which added a namespace in [1].
+
+Update: upstream has done a better fix in [2] (but can stick to the
+simple version check until next release).
+
+[1] https://github.com/qt/qtquick3d/commit/2b139225745a94ab4fa7e30f28cd0207469ee68e
+[2] https://github.com/qt-creator/qt-creator/commit/291e3096cd5d0763370238252143c3bb4fe93839
--- a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp
+++ b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp
@@ -803,5 +803,9 @@
diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml
index 8a364df28048..fcd44daa8386 100644
--- a/dev-qt/qt-creator/metadata.xml
+++ b/dev-qt/qt-creator/metadata.xml
@@ -10,49 +10,12 @@
<name>Gentoo Qt Project</name>
</maintainer>
<use>
- <flag name="android">Build plugin for Android devices</flag>
- <flag name="autotest">Enable integration with popular unit testing frameworks (QtTest, GoogleTest, Boost.Test, Catch2)</flag>
- <flag name="autotools">Build plugin for autotools-based projects</flag>
- <flag name="baremetal">Build plugin for bare metal devices</flag>
- <flag name="bazaar">Add support for GNU Bazaar version control system (requires manual installation of Bazaar client)</flag>
- <flag name="beautifier">Build the beautifier plugin (supports astyle, clang-format, and uncrustify)</flag>
- <flag name="boot2qt">Build plugin for Boot2Qt devices</flag>
<flag name="clang">Build clang-based plugins for C/C++ development (code model, formatting, static analysis)</flag>
- <flag name="clearcase">Add support for IBM ClearCase version control system (requires manual installation of ClearCase client)</flag>
- <flag name="cmake">Build plugin for CMake-based projects</flag>
- <flag name="coco">Build plugin to support Coco code coverage tool</flag>
- <flag name="conan">Build plugin to integrate with the Conan package manager</flag>
- <flag name="cppcheck">Enable integration with <pkg>dev-util/cppcheck</pkg></flag>
- <flag name="ctfvisualizer">Build the Chrome Trace Format visualizer plugin</flag>
<flag name="designer">Enable designer for QtWidgets-based UIs</flag>
- <flag name="docker">Build plugin for Docker support</flag>
- <flag name="glsl">Build the GLSL editor plugin</flag>
<flag name="help">Enable the integrated <pkg>dev-qt/qt-docs</pkg> viewer (also needed for examples)</flag>
- <flag name="imageviewer">Build plugin to open and view image files</flag>
- <flag name="incredibuild">Enable integration with Incredibuild</flag>
- <flag name="lsp">Add support for the Language Server Protocol (LSP)</flag>
- <flag name="mcu">Build plugin for MCU devices</flag>
- <flag name="mercurial">Add support for <pkg>dev-vcs/mercurial</pkg> version control system</flag>
- <flag name="meson">Build plugin for Meson-based projects</flag>
- <flag name="modeling">Build the graphical model editor plugin</flag>
- <flag name="nim">Build plugin for Nim language support</flag>
- <flag name="perforce">Add support for Perforce version control system (requires manual installation of Perforce client)</flag>
- <flag name="perfprofiler">Build the Linux Perf-based profiler plugin</flag>
- <flag name="python">Build plugin for Python language support</flag>
- <flag name="qbs">Build plugin for Qbs-based projects</flag>
- <flag name="qmake">Build plugin for qmake-based projects</flag>
- <flag name="qml">Build plugins for QML-based development (designer, editor, project manager)</flag>
- <flag name="qmlprofiler">Build the QML profiler plugin</flag>
- <flag name="qnx">Build plugin for QNX devices</flag>
- <flag name="remotelinux">Build plugin for deployment and execution on a remote Linux host</flag>
- <flag name="scxml">Build the graphical SCXML editor plugin</flag>
<flag name="serialterminal">Build the serial terminal plugin</flag>
- <flag name="silversearcher">Enable integration with <pkg>sys-apps/the_silver_searcher</pkg></flag>
- <flag name="systemd">Add support for retrieving application output from journald</flag>
<flag name="qmldesigner">Build QmlDesigner and related plugins (Insight, StudioWelcome)</flag>
<flag name="tracing">Build plugins requiring tracing capabilities (CtfVisualizer, PerfProfiler, QmlProfiler)</flag>
- <flag name="valgrind">Enable integration with <pkg>dev-util/valgrind</pkg></flag>
- <flag name="webassembly">Build WebAssembly plugin</flag>
<flag name="webengine">Use <pkg>dev-qt/qtwebengine</pkg> with the help USE rather than bundled litehtml</flag>
</use>
<upstream>
diff --git a/dev-qt/qt-creator/qt-creator-8.0.2.ebuild b/dev-qt/qt-creator/qt-creator-8.0.2.ebuild
deleted file mode 100644
index 5c3775b33104..000000000000
--- a/dev-qt/qt-creator/qt-creator-8.0.2.ebuild
+++ /dev/null
@@ -1,446 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-LLVM_MAX_SLOT=14
-PLOCALES="cs da de fr hr ja pl ru sl uk zh-CN zh-TW"
-
-inherit cmake llvm optfeature virtualx xdg
-
-DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt"
-HOMEPAGE="https://doc.qt.io/qtcreator/"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://code.qt.io/${PN}/${PN}.git"
- EGIT_SUBMODULES=(
- perfparser
- qtscript # Need the dev branch
- src/libs/qlitehtml
- src/libs/qlitehtml/src/3rdparty/litehtml
- )
-else
- MY_PV=${PV/_/-}
- MY_P=${PN}-opensource-src-${MY_PV}
- [[ ${MY_PV} == ${PV} ]] && MY_REL=official || MY_REL=development
- SRC_URI="https://download.qt.io/${MY_REL}_releases/${PN/-}/$(ver_cut 1-2)/${MY_PV}/${MY_P}.tar.xz"
- S="${WORKDIR}"/${MY_P}
- KEYWORDS="~amd64 ~arm ~x86"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-
-QTCREATOR_PLUGINS=(
- # Misc
- +autotest beautifier coco conan cppcheck ctfvisualizer +designer docker
- +help imageviewer modeling perfprofiler qmlprofiler scxml serialterminal
- silversearcher valgrind
-
- # Buildsystems
- autotools +cmake incredibuild meson qbs +qmake
-
- # Languages
- glsl +lsp nim python
-
- # Platforms
- android baremetal boot2qt mcu qnx remotelinux webassembly
-
- # VCS
- bazaar clearcase cvs +git mercurial perforce subversion
-)
-
-IUSE="+clang debug doc +qml systemd test wayland webengine
- ${QTCREATOR_PLUGINS[@]}"
-
-REQUIRED_USE="
- android? ( lsp )
- boot2qt? ( remotelinux )
- clang? ( lsp )
- coco? ( lsp )
- mcu? ( baremetal cmake )
- python? ( lsp )
- qml? ( qmake )
- qnx? ( remotelinux )
- test? ( qbs qmake )
-"
-
-# minimum Qt version required
-QT_PV="5.15.2:5"
-
-BDEPEND="
- >=dev-qt/linguist-tools-${QT_PV}
- doc? ( >=dev-qt/qdoc-${QT_PV} )
- help? ( !webengine? ( virtual/pkgconfig ) )
-"
-CDEPEND="
- clang? (
- >=dev-cpp/yaml-cpp-0.6.2:=
- sys-devel/clang:14=
- )
- >=dev-qt/qtconcurrent-${QT_PV}
- >=dev-qt/qtcore-${QT_PV}
- >=dev-qt/qtdeclarative-${QT_PV}[widgets]
- >=dev-qt/qtgui-${QT_PV}
- >=dev-qt/qtnetwork-${QT_PV}[ssl]
- >=dev-qt/qtprintsupport-${QT_PV}
- >=dev-qt/qtquickcontrols-${QT_PV}
- >=dev-qt/qtsql-${QT_PV}[sqlite]
- >=dev-qt/qtwidgets-${QT_PV}
- >=dev-qt/qtxml-${QT_PV}
- >=kde-frameworks/syntax-highlighting-5.87:5
-
- designer? ( >=dev-qt/designer-${QT_PV} )
- help? (
- >=dev-qt/qthelp-${QT_PV}
- webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] )
- !webengine? ( dev-libs/gumbo )
- )
- imageviewer? ( >=dev-qt/qtsvg-${QT_PV} )
- perfprofiler? (
- app-arch/zstd
- dev-libs/elfutils
- )
- serialterminal? ( >=dev-qt/qtserialport-${QT_PV} )
- systemd? ( sys-apps/systemd:= )
- test? ( mcu? ( dev-cpp/gtest:= ) )
-"
-DEPEND="
- ${CDEPEND}
- test? (
- dev-cpp/benchmark
- dev-cpp/eigen
- dev-cpp/gtest
- dev-libs/boost
- >=dev-qt/qttest-${QT_PV}
- )
-"
-RDEPEND="
- ${CDEPEND}
- qml? ( >=dev-qt/qtquicktimeline-${QT_PV} )
- wayland? ( >=dev-qt/qtgui-${QT_PV}[wayland] )
-"
-
-# qt translations must also be installed or qt-creator translations won't be loaded
-for x in ${PLOCALES}; do
- IUSE+=" l10n_${x}"
- RDEPEND+=" l10n_${x}? ( >=dev-qt/qttranslations-${QT_PV} )"
-done
-unset x
-
-# FUNCTION: cmake_use_remove_addsubdirectory
-# USAGE: <flag> <subdir> <files...>
-# DESCRIPTION:
-# <flag> is the name of a flag in IUSE.
-# <subdir> is the name of a directory called with add_subdirectory().
-# <files...> is a list of one or more qmake project files.
-#
-# This function patches <files> to remove add_subdirectory(<subdir>) from cmake
-# when <flag> is disabled, otherwise it does nothing. This can be useful to
-# avoid an automagic dependency when a subdirectory is added in cmake but the
-# corresponding feature USE flag is disabled. Similar to qt_use_disable_config()
-# from /qt5-build.eclass
-cmake_use_remove_addsubdirectory() {
- [[ $# -ge 3 ]] || die "${FUNCNAME}() requires at least three arguments"
- local flag=$1
- local subdir=$2
- shift 2
-
- if ! use "${flag}"; then
- echo "$@" | xargs sed -i -e "/add_subdirectory(${subdir})/d" || die
- fi
-}
-
-llvm_check_deps() {
- has_version -d "sys-devel/clang:${LLVM_SLOT}"
-}
-
-pkg_setup() {
- if use clang; then
- llvm_pkg_setup
- export CLANG_PREFIX="$(get_llvm_prefix ${LLVM_MAX_SLOT})"
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Remove automagic dep for qt5/qt6
- sed -e "/^find_package(Qt6/,/else()/ s|if (NOT Qt6_FOUND)|if (1)|" \
- -i cmake/FindQt5.cmake || die
-
- # PLUGIN_RECOMMENDS is treated like a hard-dependency
- sed -i -e '/PLUGIN_RECOMMENDS /d' \
- src/plugins/*/CMakeLists.txt || die
-
- cmake_use_remove_addsubdirectory glsl glsl src/libs/CMakeLists.txt
- cmake_use_remove_addsubdirectory lsp languageserverprotocol \
- src/libs/CMakeLists.txt tests/auto/CMakeLists.txt
- cmake_use_remove_addsubdirectory modeling modelinglib \
- src/libs/CMakeLists.txt
- cmake_use_remove_addsubdirectory qml advanceddockingsystem \
- src/libs/CMakeLists.txt
- cmake_use_remove_addsubdirectory clang clangtools \
- src/plugins/CMakeLists.txt
- cmake_use_remove_addsubdirectory test test \
- src/plugins/mcusupport/CMakeLists.txt
-
- # fix translations
- local languages=()
- for lang in ${PLOCALES}; do
- use l10n_${lang} && languages+=( "${lang/-/_}" )
- done
- sed -i -e "s|^set(languages.*|set(languages ${languages[*]})|" \
- share/qtcreator/translations/CMakeLists.txt || die
-
- # remove bundled yaml-cpp
- rm -r src/libs/3rdparty/yaml-cpp || die
-
- # remove bundled qbs
- rm -r src/shared/qbs || die
-
- # qt-creator hardcodes the CLANG_INCLUDE_DIR to the default.
- # However, in sys-devel/clang, the directory changes with respect to
- # -DCLANG_RESOURCE_DIR. We sed in the correct include dir.
- if use clang; then
- local res_dir="$(${CLANG_PREFIX}/bin/clang -print-resource-dir || die)"
- sed -i -e "/\w*CLANG_INCLUDE_DIR=/s|=.*|=\"${res_dir}/include\"|" \
- src/plugins/clangtools/CMakeLists.txt || die
- fi
-
- if use doc; then
- # Fix doc install path
- sed -i -e "/set(_IDE_DOC_PATH/s|qtcreator|${PF}|" \
- cmake/QtCreatorAPIInternal.cmake || die
- fi
-
- if use help && ! use webengine; then
- # unbundled gumbo doesn't use cmake
- local gumbo_dep='find_package(PkgConfig REQUIRED)\n'
- gumbo_dep+='pkg_check_modules(gumbo REQUIRED IMPORTED_TARGET gumbo)\n'
- sed -i -e '/^\s*gumbo/s|gumbo|PkgConfig::gumbo|' \
- -e "/^find_package(litehtml/s|^|${gumbo_dep}|" \
- src/libs/qlitehtml/src/CMakeLists.txt || die
- fi
-
- if use test; then
- # Find "GoogleBenchmark" as "benchmark" and change bundled "Googletest"
- # to external "GTest"
- find "${S}" -type f -name CMakeLists.txt -exec \
- xargs sed -i -e 's|TARGET GoogleBenchmark|benchmark_FOUND|g' \
- -e 's|GoogleBenchmark\( MODULE\)\?|benchmark|g' \
- -e 's|Googletest\( MODULE\)\?|GTest|g' {} \; || die
- # For mcu, also link to gmock to prevent an unknown symbol
- # error at runtime.
- sed -i -e 's|if(TARGET GTest)|if(GTest_FOUND)|' \
- -e 's|DEPENDS GTest|DEPENDS gtest gmock|' \
- src/plugins/mcusupport/test/CMakeLists.txt || die
- fi
-}
-
-src_configure() {
- mycmakeargs+=(
- -DWITH_TESTS=$(usex test)
- -DWITH_DEBUG_CMAKE=$(usex debug)
-
- # Don't use SANITIZE_FLAGS to pass extra CXXFLAGS
- -DWITH_SANITIZE=NO
-
- # Don't build bundled ksyntaxhighlighting
- -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=NO
-
- -DWITH_DOCS=$(usex doc)
- -DBUILD_DEVELOPER_DOCS=$(usex doc)
-
- # Install failure. Disable for now
- -DWITH_ONLINE_DOCS=NO
-
- # Force enable plugins that pride basic, neccessary IDE functionality
- # and small, simple plugins
- -DBUILD_PLUGIN_BINEDITOR=YES
- -DBUILD_PLUGIN_BOOKMARKS=YES
- -DBUILD_PLUGIN_CLASSVIEW=YES
- -DBUILD_PLUGIN_CODEPASTER=YES
- -DBUILD_PLUGIN_COMPILATIONDATABASEPROJECTMANAGER=YES
- -DBUILD_PLUGIN_CORE=YES
- -DBUILD_PLUGIN_CPPEDITOR=YES
- -DBUILD_PLUGIN_DEBUGGER=YES
- -DBUILD_PLUGIN_DIFFEDITOR=YES
- -DBUILD_PLUGIN_EMACSKEYS=YES
- -DBUILD_PLUGIN_FAKEVIM=YES
- -DBUILD_PLUGIN_GENERICPROJECTMANAGER=YES
- -DBUILD_PLUGIN_MACROS=YES
- -DBUILD_PLUGIN_MARKETPLACE=YES
- -DBUILD_PLUGIN_PROJECTEXPLORER=YES
- -DBUILD_PLUGIN_QMLJSTOOLS=YES
- -DBUILD_PLUGIN_QTSUPPORT=YES
- -DBUILD_PLUGIN_RESOURCEEDITOR=YES
- -DBUILD_PLUGIN_TASKLIST=YES
- -DBUILD_PLUGIN_TEXTEDITOR=YES
- -DBUILD_PLUGIN_TODO=YES
- -DBUILD_PLUGIN_VCSBASE=YES
- -DBUILD_PLUGIN_WELCOME=YES
-
- # Misc
- -DBUILD_PLUGIN_AUTOTEST=$(usex autotest)
- -DBUILD_PLUGIN_BEAUTIFIER=$(usex beautifier)
- -DBUILD_PLUGIN_COCO=$(usex coco)
- -DBUILD_PLUGIN_CONAN=$(usex conan)
- -DBUILD_PLUGIN_CPPCHECK=$(usex cppcheck)
- -DBUILD_PLUGIN_CTFVISUALIZER=$(usex ctfvisualizer)
- -DBUILD_PLUGIN_DESIGNER=$(usex designer)
- -DBUILD_PLUGIN_DOCKER=$(usex docker)
- -DBUILD_PLUGIN_HELP=$(usex help)
- -DBUILD_PLUGIN_IMAGEVIEWER=$(usex imageviewer)
- -DBUILD_PLUGIN_MODELEDITOR=$(usex modeling)
- -DBUILD_PLUGIN_PERFPROFILER=$(usex perfprofiler)
- -DBUILD_PLUGIN_QMLPROFILER=$(usex qmlprofiler)
- -DBUILD_PLUGIN_SCXMLEDITOR=$(usex scxml)
- -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal)
- -DBUILD_PLUGIN_SILVERSEARCHER=$(usex silversearcher)
- -DBUILD_PLUGIN_VALGRIND=$(usex valgrind)
-
- # Buildsystems
- -DBUILD_PLUGIN_AUTOTOOLSPROJECTMANAGER=$(usex autotools)
- -DBUILD_PLUGIN_CMAKEPROJECTMANAGER=$(usex cmake)
- -DBUILD_PLUGIN_MESONPROJECTMANAGER=$(usex meson)
- -DBUILD_PLUGIN_QBSPROJECTMANAGER=$(usex qbs)
- -DBUILD_PLUGIN_QMAKEPROJECTMANAGER=$(usex qmake)
-
- # Languages
- -DBUILD_PLUGIN_GLSLEDITOR=$(usex glsl)
- -DBUILD_PLUGIN_LANGUAGECLIENT=$(usex lsp)
- -DBUILD_PLUGIN_NIM=$(usex nim)
- -DBUILD_PLUGIN_PYTHON=$(usex python)
-
- # Platforms
- -DBUILD_PLUGIN_ANDROID=$(usex android)
- -DBUILD_PLUGIN_BAREMETAL=$(usex baremetal)
- -DBUILD_PLUGIN_BOOT2QT=$(usex boot2qt)
- -DBUILD_PLUGIN_MCUSUPPORT=$(usex mcu)
- -DBUILD_PLUGIN_QNX=$(usex qnx)
- -DBUILD_PLUGIN_REMOTELINUX=$(usex remotelinux)
- -DBUILD_PLUGIN_WEBASSEMBLY=$(usex webassembly)
-
- # VCS
- -DBUILD_PLUGIN_BAZAAR=$(usex bazaar)
- -DBUILD_PLUGIN_CLEARCASE=$(usex clearcase)
- -DBUILD_PLUGIN_CVS=$(usex cvs)
- -DBUILD_PLUGIN_GIT=$(usex git)
- -DBUILD_PLUGIN_GITLAB=$(usex git)
- -DBUILD_PLUGIN_MERCURIAL=$(usex mercurial)
- -DBUILD_PLUGIN_PERFORCE=$(usex perforce)
- -DBUILD_PLUGIN_SUBVERSION=$(usex subversion)
-
- # Executables
- -DBUILD_EXECUTABLE_BUILDOUTPUTPARSER=$(usex qmake)
- -DBUILD_EXECUTABLE_PERFPARSER=$(usex perfprofiler)
- -DBUILD_EXECUTABLE_QML2PUPPET=$(usex qml)
-
- # Clang stuff
- -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang)
- -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang)
-
- # QML stuff
- # -DBUILD_PLUGIN_QMLDESIGNER=$(usex qml) #Qt6 only
- -DBUILD_PLUGIN_QMLJSEDITOR=$(usex qml)
- -DBUILD_PLUGIN_QMLPREVIEW=$(usex qml)
- -DBUILD_PLUGIN_QMLPROJECTMANAGER=$(usex qml)
- # -DBUILD_PLUGIN_STUDIOWELCOME=$(usex qml) #Qt6 only
-
- # Don't spam "created by a different GCC executable [-Winvalid-pch]"
- -DBUILD_WITH_PCH=NO
- # An entire mode devoted to a giant "Hello World!" button that does nothing.
- -DBUILD_PLUGIN_HELLOWORLD=NO
- # Not usable in linux environment
- -DBUILD_PLUGIN_IOS=NO
- # Use portage to update
- -DBUILD_PLUGIN_UPDATEINFO=NO
- )
-
- if use clang; then
- mycmakeargs+=(
- -DClang_DIR="${CLANG_PREFIX}/$(get_libdir)/cmake/clang"
- -DLLVM_DIR="${CLANG_PREFIX}/$(get_libdir)/cmake/llvm"
- -DCLANGTOOLING_LINK_CLANG_DYLIB=YES
- -DBUILD_PLUGIN_CLANGTOOLS=YES
- )
- fi
- if use help; then
- mycmakeargs+=(
- -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine)
- -DBUILD_LIBRARY_QLITEHTML=$(usex webengine NO YES)
- -DHELPVIEWER_DEFAULT_BACKEND=$(usex webengine qtwebengine litehtml)
- )
- if ! use webengine; then
- mycmakeargs+=(
- -DEXTERNAL_GUMBO=YES
- -DEXTERNAL_XXD=NO
- -DLITEHTML_UTF8=YES
- )
- fi
- fi
- if use test; then
- mycmakeargs+=(
- # Don't test pretty printing in gdb/lldb. Tests like
- # tst_debugger_dumpers fail and it's "not officially supported"
- # See share/qtcreator/debugger/README.txt
- -DWITH_DEBUGGER_DUMPERS=NO
-
- # Disable broken tests
- -DBUILD_TEST_TST_PERFDATA=NO
- -DBUILD_TEST_TST_QML_CHECK=NO
- -DBUILD_TEST_TST_QML_TESTCORE=NO
- )
- fi
- cmake_src_configure
-}
-
-src_test() {
- virtx cmake_src_test
-}
-
-src_install() {
- cmake_src_install
-
- if use doc; then
- cmake_src_install doc/{qch,html}_docs
- dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch
- docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch
- docinto html
- dodoc -r "${BUILD_DIR}"/doc/html/.
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature_header \
- "Some enabled plugins require optional dependencies for functionality:"
- use android && optfeature "android device support" \
- dev-util/android-sdk-update-manager
- if use autotest; then
- optfeature "catch testing framework support" dev-cpp/catch
- optfeature "gtest testing framework support" dev-cpp/gtest
- optfeature "boost testing framework support" dev-libs/boost
- optfeature "qt testing framework support" dev-qt/qttest
- fi
- if use beautifier; then
- optfeature "astyle auto-formatting support" dev-util/astyle
- optfeature "uncrustify auto-formatting support" dev-util/uncrustify
- fi
- use clang && optfeature "clazy QT static code analysis" dev-util/clazy
- use conan && optfeature "conan package manager integration" dev-util/conan
- use cvs && optfeature "cvs vcs integration" dev-vcs/cvs
- use docker && optfeature "using a docker image as a device" \
- app-containers/docker
- use git && optfeature "git vcs integration" dev-vcs/git
- use mercurial && optfeature "mercurial vcs integration" dev-vcs/mercurial
- use meson && optfeature "meson buildsystem support" dev-util/meson
- use nim && optfeature "nim language support" dev-lang/nim
- use qbs && optfeature "QBS buildsystem support" dev-util/qbs
- use silversearcher && optfeature "code searching with silversearcher" \
- sys-apps/the_silver_searcher
- use subversion && optfeature "subversion vcs integration" dev-vcs/subversion
- use valgrind && optfeature "valgrind code analysis" dev-util/valgrind
-}