diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-10-29 22:01:57 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-10-29 22:01:57 +0100 |
commit | 009897642a869d630779716efc51af1554f72867 (patch) | |
tree | 879100d35e2fd1f39b32b68b2abe220f156b3a20 /dev-qt | |
parent | 9cd7e710ac676c1a318d09e665ca3558bb5c5323 (diff) |
gentoo auto-resync : 29:10:2022 - 22:01:57
Diffstat (limited to 'dev-qt')
-rw-r--r-- | dev-qt/Manifest.gz | bin | 11207 -> 11204 bytes | |||
-rw-r--r-- | dev-qt/qt-creator/Manifest | 7 | ||||
-rw-r--r-- | dev-qt/qt-creator/metadata.xml | 2 | ||||
-rw-r--r-- | dev-qt/qt-creator/qt-creator-6.0.0.ebuild | 231 | ||||
-rw-r--r-- | dev-qt/qt-creator/qt-creator-8.0.1.ebuild | 440 | ||||
-rw-r--r-- | dev-qt/qt-creator/qt-creator-9999.ebuild | 231 |
6 files changed, 445 insertions, 466 deletions
diff --git a/dev-qt/Manifest.gz b/dev-qt/Manifest.gz Binary files differindex c417d330d786..0b65a9b70958 100644 --- a/dev-qt/Manifest.gz +++ b/dev-qt/Manifest.gz diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest index 2caa8be61843..23afe7db0d75 100644 --- a/dev-qt/qt-creator/Manifest +++ b/dev-qt/qt-creator/Manifest @@ -1,4 +1,3 @@ -DIST qt-creator-opensource-src-6.0.0.tar.xz 44361156 BLAKE2B 8853b69036b969233981d31236535b2bbb74e9cf9293f0100c5caf614a5e8e80c83b0a4b038ebbefa64a4fe0cb75728d5ed34f45d8ab9cd1e283dae943fbb348 SHA512 4d97b18cb5ad8388f3ea0f1cff3b4d0cb04251d2dba22770a7d9f387efbe670b9461a8d83e08a92aefb6472c36e19d0902ff42fd85fd224318b99c66d2526bbb -EBUILD qt-creator-6.0.0.ebuild 7282 BLAKE2B 2935b4c5ca4e9d107a4f47aa67c1188a23ac634c50fa3a04e859a66513d532b1073fe5583738461212ef4472056477e816d5d04bf83c6877f1d47719bae14800 SHA512 023c98bba47ec6fa272873651601e010aee2682941a5597c6a24dbe37a1405f571e20c1f4369c8f8a061d4010e6a833dde03a101fa35b2556fbeb8fe85c1a038 -EBUILD qt-creator-9999.ebuild 7282 BLAKE2B 2935b4c5ca4e9d107a4f47aa67c1188a23ac634c50fa3a04e859a66513d532b1073fe5583738461212ef4472056477e816d5d04bf83c6877f1d47719bae14800 SHA512 023c98bba47ec6fa272873651601e010aee2682941a5597c6a24dbe37a1405f571e20c1f4369c8f8a061d4010e6a833dde03a101fa35b2556fbeb8fe85c1a038 -MISC metadata.xml 3738 BLAKE2B d86570b10db9808d6bd40051ef1b857615947f8cdd8262edf0a9eeaa0fc76e7302ecae1dc67337b1144def6109dd2e18bbe7cf64dfebc88cca4e1cd08f1a2bcd SHA512 d4b499974c355d7302a14b34f9f8d237fa1d6a6d39d1a45f9e60d2cc3211822c1cb19b2e7e0df30590cb18067c814cfd4613e56f2551726fe089ff3b4830d597 +DIST qt-creator-opensource-src-8.0.1.tar.xz 46918596 BLAKE2B 07ab50ae9ee77372c2d79a472da8cb3c65b269b8def670f66426daf9875ca44f2a66bb2ab0c01d8591420d6c43b7ca57f6ac2a6b8443cc8a5af7c89599e3966d SHA512 ffef39e8d0694b38549f301a143dec6e2fe026a1e6098acc41bd8f9c80c93d1dbb60616042901093bdaa13380034b9dd8234d82300b1fa89ab9bce81bd3f1672 +EBUILD qt-creator-8.0.1.ebuild 13375 BLAKE2B 029161e39a4d14dad69d62752ab3088b720d056003dec67010b21e183f433996aa02f25be45830e1920047b990d460cc008227187ed9605f1b2625ffd8eefebd SHA512 64adcea38339807b856ea8c98aef9c85540f2a367334ef0a95eaddcd39cb5808b6f8a0db39fab392bb6adb8cedea1ab23720bb32ebcfafb2647b141e72da46b8 +MISC metadata.xml 3889 BLAKE2B fe54d506e96703f88697dcb61747b6ce358644a98c83e8449f65d8a2bcacedf11a39066b40de85309b4739cbd7856b1af4d5a2aa7827ad376021f97998976db2 SHA512 cc5bdbd7eb15a65803873296866805c8eaec9f8cc2bb003eda49d7493928cbf9edbe1a281bb421d696928d30c3c0060bf6c6e174ea27d7c51a7dfecf66433b6f diff --git a/dev-qt/qt-creator/metadata.xml b/dev-qt/qt-creator/metadata.xml index 51e112b750a3..dc11e329b879 100644 --- a/dev-qt/qt-creator/metadata.xml +++ b/dev-qt/qt-creator/metadata.xml @@ -20,6 +20,7 @@ <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> @@ -27,6 +28,7 @@ <flag name="docker">Build plugin for Docker support</flag> <flag name="glsl">Build the GLSL editor plugin</flag> <flag name="help">Enable the integrated documentation viewer</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> diff --git a/dev-qt/qt-creator/qt-creator-6.0.0.ebuild b/dev-qt/qt-creator/qt-creator-6.0.0.ebuild deleted file mode 100644 index f8eca8f995f6..000000000000 --- a/dev-qt/qt-creator/qt-creator-6.0.0.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -LLVM_MAX_SLOT=13 -PLOCALES="cs da de fr hr ja pl ru sl uk zh-CN zh-TW" - -inherit llvm qmake-utils 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" -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" -QTC_PLUGINS=(android +autotest autotools:autotoolsprojectmanager baremetal bazaar beautifier boot2qt '+clang:clangcodemodel|clangformat|clangtools' - clearcase +cmake:cmakeprojectmanager conan cppcheck ctfvisualizer cvs +designer docker +git glsl:glsleditor +help incredibuild - +lsp:languageclient mcu:mcusupport mercurial meson:mesonprojectmanager modeling:modeleditor nim perforce perfprofiler python - qbs:qbsprojectmanager +qmake:qmakeprojectmanager '+qml:qmldesigner|qmljseditor|qmlpreview|qmlprojectmanager|studiowelcome' - qmlprofiler qnx remotelinux scxml:scxmleditor serialterminal silversearcher subversion valgrind webassembly) -IUSE="doc systemd test webengine ${QTC_PLUGINS[@]%:*}" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - android? ( lsp ) - boot2qt? ( remotelinux ) - clang? ( lsp ) - mcu? ( baremetal cmake ) - python? ( lsp ) - qml? ( qmake ) - qnx? ( remotelinux ) -" - -# minimum Qt version required -QT_PV="5.15:5" - -BDEPEND=" - >=dev-qt/linguist-tools-${QT_PV} - virtual/pkgconfig - doc? ( >=dev-qt/qdoc-${QT_PV} ) -" -CDEPEND=" - >=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/qtscript-${QT_PV} - >=dev-qt/qtsql-${QT_PV}[sqlite] - >=dev-qt/qtsvg-${QT_PV} - >=dev-qt/qtwidgets-${QT_PV} - >=dev-qt/qtx11extras-${QT_PV} - >=dev-qt/qtxml-${QT_PV} - >=kde-frameworks/syntax-highlighting-5.87:5 - clang? ( - >=dev-cpp/yaml-cpp-0.6.2:= - || ( - sys-devel/clang:13 - sys-devel/clang:12 - sys-devel/clang:11 - ) - <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):= - ) - designer? ( >=dev-qt/designer-${QT_PV} ) - help? ( - >=dev-qt/qthelp-${QT_PV} - webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] ) - ) - perfprofiler? ( dev-libs/elfutils ) - serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${CDEPEND} - test? ( - >=dev-qt/qtdeclarative-${QT_PV}[localstorage] - >=dev-qt/qtquickcontrols2-${QT_PV} - >=dev-qt/qttest-${QT_PV} - >=dev-qt/qtxmlpatterns-${QT_PV}[qml] - ) -" -RDEPEND="${CDEPEND} - sys-devel/gdb[python] - cppcheck? ( dev-util/cppcheck ) - cvs? ( dev-vcs/cvs ) - git? ( dev-vcs/git ) - mercurial? ( dev-vcs/mercurial ) - qml? ( >=dev-qt/qtquicktimeline-${QT_PV} ) - silversearcher? ( sys-apps/the_silver_searcher ) - subversion? ( dev-vcs/subversion ) - valgrind? ( dev-util/valgrind ) -" -# 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 - -llvm_check_deps() { - has_version -d "sys-devel/clang:${LLVM_SLOT}" -} - -pkg_setup() { - use clang && llvm_pkg_setup -} - -src_prepare() { - default - - # disable unwanted plugins - for plugin in "${QTC_PLUGINS[@]#[+-]}"; do - if ! use ${plugin%:*}; then - sed -i -re "s/(^\s+|\s*SUBDIRS\s*\+=.*)\<(${plugin#*:})\>(.*)/\1\3/" \ - src/plugins/plugins.pro || die "failed to disable ${plugin%:*} plugin" - fi - done - sed -i -re '/\<(ios|updateinfo|winrt)\>/d' src/plugins/plugins.pro || die - - # avoid building unused support libraries and tools - if ! use clang; then - sed -i -e '/yaml-cpp/d' src/libs/libs.pro || die - sed -i -e '/clangbackend/d' src/tools/tools.pro || die - fi - if ! use glsl; then - sed -i -e '/glsl/d' src/libs/libs.pro || die - fi - if ! use lsp; then - sed -i -e '/languageserverprotocol/d' src/libs/libs.pro tests/auto/auto.pro || die - fi - if ! use modeling; then - sed -i -e '/modelinglib/d' src/libs/libs.pro || die - fi - if ! use perfprofiler; then - rm -r src/tools/perfparser || die - if ! use ctfvisualizer && ! use qmlprofiler; then - sed -i -e '/tracing/d' src/libs/libs.pro tests/auto/auto.pro || die - fi - fi - if ! use qmake; then - sed -i -e '/buildoutputparser/d' src/tools/tools.pro || die - fi - if ! use qml; then - sed -i -e '/advanceddockingsystem\|qmleditorwidgets/d' src/libs/libs.pro || die - sed -i -e '/qml2puppet/d' src/tools/tools.pro || die - sed -i -e '/qmldesigner\|qmlprojectmanager/d' tests/auto/qml/qml.pro || die - fi - if ! use valgrind; then - sed -i -e '/valgrindfake/d' src/tools/tools.pro || die - sed -i -e '/valgrind/d' tests/auto/auto.pro || die - fi - - # automagic dep on qtwebengine - if ! use webengine; then - sed -i -e 's/isEmpty(QT\.webenginewidgets\.name)/true/' src/plugins/help/help.pro || die - fi - - # disable broken or unreliable tests - sed -i -e 's/\(manual\|tools\|unit\)//g' tests/tests.pro || die - sed -i -e '/dumpers\.pro/d' tests/auto/debugger/debugger.pro || die - sed -i -e '/CONFIG -=/s/$/ testcase/' tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin?/plugin?.pro || die - sed -i -e '/reformatter/d' tests/auto/qml/qml.pro || die - sed -i -e 's/\<\(imports\|\)check\>//' tests/auto/qml/codemodel/codemodel.pro || die - sed -i -e '/timelineitemsrenderpass/d' tests/auto/tracing/tracing.pro || die - sed -i -e '/qtcprocess/d' tests/auto/utils/utils.pro || die - - # do not install test binaries - sed -i -e '/CONFIG +=/s/$/ no_testcase_installs/' tests/auto/{qttest.pri,json/json.pro} || die - - # fix path to some clang headers - sed -i -e "/^CLANG_INCLUDE_DIR\s*=/s:\$\${LLVM_LIBDIR}:${EPREFIX}/usr/lib:" src/shared/clang/clang_defines.pri || die - - # fix translations - local lang languages= - for lang in ${PLOCALES}; do - use l10n_${lang} && languages+=" ${lang/-/_}" - done - sed -i -e "/^LANGUAGES\s*=/s:=.*:=${languages}:" share/qtcreator/translations/translations.pro || die - - # remove bundled syntax-highlighting - rm -r src/libs/3rdparty/syntax-highlighting || die - - # remove bundled yaml-cpp - rm -r src/libs/3rdparty/yaml-cpp || die - - # remove bundled qbs - rm -r src/shared/qbs || die - - # TODO: unbundle sqlite -} - -src_configure() { - eqmake5 IDE_LIBRARY_BASENAME="$(get_libdir)" \ - IDE_PACKAGE_MODE=1 \ - KSYNTAXHIGHLIGHTING_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \ - KSYNTAXHIGHLIGHTING_INCLUDE_DIR="${EPREFIX}/usr/include/KF5/KSyntaxHighlighting" \ - $(use clang && echo LLVM_INSTALL_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})") \ - $(use qbs && echo QBS_INSTALL_DIR="${EPREFIX}/usr") \ - $(use systemd && echo CONFIG+=journald) \ - $(use test && echo BUILD_TESTS=1) -} - -src_test() { - cd tests/auto && virtx default -} - -src_install() { - emake INSTALL_ROOT="${ED}/usr" install - - dodoc dist/{changes-*,known-issues} - - # install documentation - if use doc; then - emake docs - # don't use ${PF} or the doc will not be found - insinto /usr/share/doc/qtcreator - doins share/doc/qtcreator/qtcreator{,-dev}.qch - docompress -x /usr/share/doc/qtcreator/qtcreator{,-dev}.qch - fi -} diff --git a/dev-qt/qt-creator/qt-creator-8.0.1.ebuild b/dev-qt/qt-creator/qt-creator-8.0.1.ebuild new file mode 100644 index 000000000000..f03c7c4f74e0 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-8.0.1.ebuild @@ -0,0 +1,440 @@ +# 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} ) +" +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 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='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) + -DBUILD_PLUGIN_CLANGTOOLS=$(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 + ) + 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() { + 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 +} diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild deleted file mode 100644 index f8eca8f995f6..000000000000 --- a/dev-qt/qt-creator/qt-creator-9999.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -LLVM_MAX_SLOT=13 -PLOCALES="cs da de fr hr ja pl ru sl uk zh-CN zh-TW" - -inherit llvm qmake-utils 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" -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" -QTC_PLUGINS=(android +autotest autotools:autotoolsprojectmanager baremetal bazaar beautifier boot2qt '+clang:clangcodemodel|clangformat|clangtools' - clearcase +cmake:cmakeprojectmanager conan cppcheck ctfvisualizer cvs +designer docker +git glsl:glsleditor +help incredibuild - +lsp:languageclient mcu:mcusupport mercurial meson:mesonprojectmanager modeling:modeleditor nim perforce perfprofiler python - qbs:qbsprojectmanager +qmake:qmakeprojectmanager '+qml:qmldesigner|qmljseditor|qmlpreview|qmlprojectmanager|studiowelcome' - qmlprofiler qnx remotelinux scxml:scxmleditor serialterminal silversearcher subversion valgrind webassembly) -IUSE="doc systemd test webengine ${QTC_PLUGINS[@]%:*}" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - android? ( lsp ) - boot2qt? ( remotelinux ) - clang? ( lsp ) - mcu? ( baremetal cmake ) - python? ( lsp ) - qml? ( qmake ) - qnx? ( remotelinux ) -" - -# minimum Qt version required -QT_PV="5.15:5" - -BDEPEND=" - >=dev-qt/linguist-tools-${QT_PV} - virtual/pkgconfig - doc? ( >=dev-qt/qdoc-${QT_PV} ) -" -CDEPEND=" - >=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/qtscript-${QT_PV} - >=dev-qt/qtsql-${QT_PV}[sqlite] - >=dev-qt/qtsvg-${QT_PV} - >=dev-qt/qtwidgets-${QT_PV} - >=dev-qt/qtx11extras-${QT_PV} - >=dev-qt/qtxml-${QT_PV} - >=kde-frameworks/syntax-highlighting-5.87:5 - clang? ( - >=dev-cpp/yaml-cpp-0.6.2:= - || ( - sys-devel/clang:13 - sys-devel/clang:12 - sys-devel/clang:11 - ) - <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):= - ) - designer? ( >=dev-qt/designer-${QT_PV} ) - help? ( - >=dev-qt/qthelp-${QT_PV} - webengine? ( >=dev-qt/qtwebengine-${QT_PV}[widgets] ) - ) - perfprofiler? ( dev-libs/elfutils ) - serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) - systemd? ( sys-apps/systemd:= ) -" -DEPEND="${CDEPEND} - test? ( - >=dev-qt/qtdeclarative-${QT_PV}[localstorage] - >=dev-qt/qtquickcontrols2-${QT_PV} - >=dev-qt/qttest-${QT_PV} - >=dev-qt/qtxmlpatterns-${QT_PV}[qml] - ) -" -RDEPEND="${CDEPEND} - sys-devel/gdb[python] - cppcheck? ( dev-util/cppcheck ) - cvs? ( dev-vcs/cvs ) - git? ( dev-vcs/git ) - mercurial? ( dev-vcs/mercurial ) - qml? ( >=dev-qt/qtquicktimeline-${QT_PV} ) - silversearcher? ( sys-apps/the_silver_searcher ) - subversion? ( dev-vcs/subversion ) - valgrind? ( dev-util/valgrind ) -" -# 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 - -llvm_check_deps() { - has_version -d "sys-devel/clang:${LLVM_SLOT}" -} - -pkg_setup() { - use clang && llvm_pkg_setup -} - -src_prepare() { - default - - # disable unwanted plugins - for plugin in "${QTC_PLUGINS[@]#[+-]}"; do - if ! use ${plugin%:*}; then - sed -i -re "s/(^\s+|\s*SUBDIRS\s*\+=.*)\<(${plugin#*:})\>(.*)/\1\3/" \ - src/plugins/plugins.pro || die "failed to disable ${plugin%:*} plugin" - fi - done - sed -i -re '/\<(ios|updateinfo|winrt)\>/d' src/plugins/plugins.pro || die - - # avoid building unused support libraries and tools - if ! use clang; then - sed -i -e '/yaml-cpp/d' src/libs/libs.pro || die - sed -i -e '/clangbackend/d' src/tools/tools.pro || die - fi - if ! use glsl; then - sed -i -e '/glsl/d' src/libs/libs.pro || die - fi - if ! use lsp; then - sed -i -e '/languageserverprotocol/d' src/libs/libs.pro tests/auto/auto.pro || die - fi - if ! use modeling; then - sed -i -e '/modelinglib/d' src/libs/libs.pro || die - fi - if ! use perfprofiler; then - rm -r src/tools/perfparser || die - if ! use ctfvisualizer && ! use qmlprofiler; then - sed -i -e '/tracing/d' src/libs/libs.pro tests/auto/auto.pro || die - fi - fi - if ! use qmake; then - sed -i -e '/buildoutputparser/d' src/tools/tools.pro || die - fi - if ! use qml; then - sed -i -e '/advanceddockingsystem\|qmleditorwidgets/d' src/libs/libs.pro || die - sed -i -e '/qml2puppet/d' src/tools/tools.pro || die - sed -i -e '/qmldesigner\|qmlprojectmanager/d' tests/auto/qml/qml.pro || die - fi - if ! use valgrind; then - sed -i -e '/valgrindfake/d' src/tools/tools.pro || die - sed -i -e '/valgrind/d' tests/auto/auto.pro || die - fi - - # automagic dep on qtwebengine - if ! use webengine; then - sed -i -e 's/isEmpty(QT\.webenginewidgets\.name)/true/' src/plugins/help/help.pro || die - fi - - # disable broken or unreliable tests - sed -i -e 's/\(manual\|tools\|unit\)//g' tests/tests.pro || die - sed -i -e '/dumpers\.pro/d' tests/auto/debugger/debugger.pro || die - sed -i -e '/CONFIG -=/s/$/ testcase/' tests/auto/extensionsystem/pluginmanager/correctplugins1/plugin?/plugin?.pro || die - sed -i -e '/reformatter/d' tests/auto/qml/qml.pro || die - sed -i -e 's/\<\(imports\|\)check\>//' tests/auto/qml/codemodel/codemodel.pro || die - sed -i -e '/timelineitemsrenderpass/d' tests/auto/tracing/tracing.pro || die - sed -i -e '/qtcprocess/d' tests/auto/utils/utils.pro || die - - # do not install test binaries - sed -i -e '/CONFIG +=/s/$/ no_testcase_installs/' tests/auto/{qttest.pri,json/json.pro} || die - - # fix path to some clang headers - sed -i -e "/^CLANG_INCLUDE_DIR\s*=/s:\$\${LLVM_LIBDIR}:${EPREFIX}/usr/lib:" src/shared/clang/clang_defines.pri || die - - # fix translations - local lang languages= - for lang in ${PLOCALES}; do - use l10n_${lang} && languages+=" ${lang/-/_}" - done - sed -i -e "/^LANGUAGES\s*=/s:=.*:=${languages}:" share/qtcreator/translations/translations.pro || die - - # remove bundled syntax-highlighting - rm -r src/libs/3rdparty/syntax-highlighting || die - - # remove bundled yaml-cpp - rm -r src/libs/3rdparty/yaml-cpp || die - - # remove bundled qbs - rm -r src/shared/qbs || die - - # TODO: unbundle sqlite -} - -src_configure() { - eqmake5 IDE_LIBRARY_BASENAME="$(get_libdir)" \ - IDE_PACKAGE_MODE=1 \ - KSYNTAXHIGHLIGHTING_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \ - KSYNTAXHIGHLIGHTING_INCLUDE_DIR="${EPREFIX}/usr/include/KF5/KSyntaxHighlighting" \ - $(use clang && echo LLVM_INSTALL_DIR="$(get_llvm_prefix ${LLVM_MAX_SLOT})") \ - $(use qbs && echo QBS_INSTALL_DIR="${EPREFIX}/usr") \ - $(use systemd && echo CONFIG+=journald) \ - $(use test && echo BUILD_TESTS=1) -} - -src_test() { - cd tests/auto && virtx default -} - -src_install() { - emake INSTALL_ROOT="${ED}/usr" install - - dodoc dist/{changes-*,known-issues} - - # install documentation - if use doc; then - emake docs - # don't use ${PF} or the doc will not be found - insinto /usr/share/doc/qtcreator - doins share/doc/qtcreator/qtcreator{,-dev}.qch - docompress -x /usr/share/doc/qtcreator/qtcreator{,-dev}.qch - fi -} |