From 34f71cb8541190212fa250ceb3dafb53f383beea Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 4 Apr 2024 20:14:38 +0100 Subject: gentoo auto-resync : 04:04:2024 - 20:14:38 --- dev-qt/qt-creator/Manifest | 4 +- dev-qt/qt-creator/qt-creator-13.0.0.ebuild | 268 +++++++++++++++++++++++++++++ dev-qt/qt-creator/qt-creator-9999.ebuild | 14 +- 3 files changed, 282 insertions(+), 4 deletions(-) create mode 100644 dev-qt/qt-creator/qt-creator-13.0.0.ebuild (limited to 'dev-qt/qt-creator') diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest index 7eb6695c376d..e99cd24fb68f 100644 --- a/dev-qt/qt-creator/Manifest +++ b/dev-qt/qt-creator/Manifest @@ -1,6 +1,8 @@ AUX qt-creator-11.0.2-musl-no-execinfo.patch 1305 BLAKE2B 14fba3e72188403cf457de46c50960bb69336023e74173a2a67c0e3101cbf8367cc0d0a31118efdaf715a184e558b6f2277fe8025035de482f6913e139660792 SHA512 707d09268cff8981d1baf7fa08c48a2c02edf044a7a76594d545a2a020616090c8b61851dff8d8a8350c024b39be932c9f7bc266e01b87680c7982759b1d96c4 AUX qt-creator-12.0.0-musl-no-malloc-trim.patch 343 BLAKE2B 9c4b87a0de20616dc8cf5da4523c347f963c3459efdd9a716387690775f96abe0bb60bf0e147dd01ded79a110d1222b4009b17cece71998b46d62dd8b83eeac6 SHA512 6a0807bab971a795a156f974dab2b12699a4c90a6c7380e2dd0a136ba44354791ef7a178f79e61100c3165ec7667a72d6ca7f3c43f4958ccf9e8611995ca191d DIST qt-creator-opensource-src-12.0.2.tar.xz 51028300 BLAKE2B a8a5d32ea472089182a515b1679a5de60c185112a9749784ceb8562bd0c8c97f66cf579b9862a27a24b20243f49002a6a068fcb2f9ed4dc9b57e4e2a0c233459 SHA512 cb28405aa632b390be0dbee6995f553d5663f69dafba14a338275e9ea7408bf97a132f6ff17a961fc82a9cabfb57f28a03680d994fe038696da10fe131d5d7d1 +DIST qt-creator-opensource-src-13.0.0.tar.xz 52032860 BLAKE2B 63f1fbb5209c77b9fc9df9385e94808d7ea040de4af6305c16ac4ad540771ebc78b55d0552182fa30d80326da3989a96ee8a0cce218541e418b7f355e9542786 SHA512 26fea156becc136fb55702a65c29dad825fd3fa60d8e19d8d142ab6518dc8e40fbddfe70d79d2b71f14f76c8a1d9bca34fb65e565702e67c9276aec9758bf345 EBUILD qt-creator-12.0.2.ebuild 7240 BLAKE2B f2f2939bd002c749fea47af13962bdf9a710f76e02bf15d47ff6f9f2c4b879ba4148084d3b1fa4b564bd8fddb8a9cfedade38fab8724071bdb4fb9cadd08519b SHA512 028ad169d4e1a9426a42fb86b5656f1a8663e66879ea72fadc8d6d7bc73ad0c9d5f407f403c053480f2021489dec8093a5471aa69fca822d7e8ae7cca7679007 -EBUILD qt-creator-9999.ebuild 7240 BLAKE2B a2fd6531f7d8ef45e4680eff881cc51713073135619ac81a661085d231a5599b17b6a8c0a451beab5f840ae271ffda2d8bcc64b2b9e0bb2089a6f2f9f67be9f0 SHA512 7f0ee2a35a06b82a7bd7ff9c3e5d0e11cc1bbaef13d48a7f5fa2c00e9afdf6eaf7ae6ab669275a4677a138ff4dc93399d8fd1b0cbd7c3c2ea4681beaad2491b9 +EBUILD qt-creator-13.0.0.ebuild 7500 BLAKE2B 628f05a0743e558954c6d450dc0bb2e76e5fddb93cd3532d11a7a5fb1f778f0d82de327fe0d85c1eda4f07ec7674484e9425f55875cc061d4a7db075ae821287 SHA512 6f48894f6f0d2d3ca8db096f1bb1d12487e7a3c7000c9cd47074027ebf443bdf8e0f241fcae7ed623b6532379fcb1e4ff8fae6a72fce8be70bfbf87d43aae986 +EBUILD qt-creator-9999.ebuild 7500 BLAKE2B 628f05a0743e558954c6d450dc0bb2e76e5fddb93cd3532d11a7a5fb1f778f0d82de327fe0d85c1eda4f07ec7674484e9425f55875cc061d4a7db075ae821287 SHA512 6f48894f6f0d2d3ca8db096f1bb1d12487e7a3c7000c9cd47074027ebf443bdf8e0f241fcae7ed623b6532379fcb1e4ff8fae6a72fce8be70bfbf87d43aae986 MISC metadata.xml 1241 BLAKE2B 0d68bad4f8bdf857a44107e1b22299ce2e1ac84c2b2197f33e5f3c99562e4cd1d68982a2048961bd1d469a497f4cf4942005cdfb7876a6cdc720ed19e81e7a6d SHA512 33e3e7021d07f83f2ddd39120ac695394963978c80acdd8e2f0713e7cd485ac705ba11168276bb43f3f80b9c1122dd98a5359f342c2c075c2fd8ebddb93084b6 diff --git a/dev-qt/qt-creator/qt-creator-13.0.0.ebuild b/dev-qt/qt-creator/qt-creator-13.0.0.ebuild new file mode 100644 index 000000000000..b47f014ce15a --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-13.0.0.ebuild @@ -0,0 +1,268 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..12} ) +inherit cmake flag-o-matic llvm-r1 python-any-r1 readme.gentoo-r1 xdg + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=( + "https://code.qt.io/qt-creator/qt-creator.git" + "https://github.com/qt-creator/qt-creator.git" + ) + EGIT_SUBMODULES=( + perfparser + src/libs/qlitehtml + src/libs/qlitehtml/src/3rdparty/litehtml + ) +else + QTC_PV=${PV/_/-} + QTC_P=${PN}-opensource-src-${QTC_PV} + [[ ${QTC_PV} == ${PV} ]] && QTC_REL=official || QTC_REL=development + SRC_URI="https://download.qt.io/${QTC_REL}_releases/qtcreator/$(ver_cut 1-2)/${PV/_/-}/${QTC_P}.tar.xz" + S=${WORKDIR}/${QTC_P} + KEYWORDS="~amd64" +fi + +DESCRIPTION="Lightweight IDE for C++/QML development centering around Qt" +HOMEPAGE="https://www.qt.io/product/development-tools" + +LICENSE="GPL-3" +SLOT="0" +IUSE=" + +clang designer doc +help keyring plugin-dev qmldesigner + serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.2.0:6 # IDE_QT_VERSION_MIN + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + >=dev-qt/qt5compat-${QT_PV} + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + clang? ( + dev-cpp/yaml-cpp:= + $(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}=') + ) + designer? ( >=dev-qt/qttools-${QT_PV}[designer] ) + help? ( + >=dev-qt/qttools-${QT_PV}[assistant] + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) + qmldesigner? ( + >=dev-qt/qtquick3d-${QT_PV}= + >=dev-qt/qtsvg-${QT_PV} + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtshadertools-${QT_PV} + ) +" +# qtimageformats for .webp in examples, semi-optfeature but useful in general +RDEPEND=" + ${COMMON_DEPEND} + help? ( >=dev-qt/qtimageformats-${QT_PV} ) + qmldesigner? ( >=dev-qt/qtquicktimeline-${QT_PV} ) +" +DEPEND="${COMMON_DEPEND}" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-11.0.2-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +pkg_setup() { + python-any-r1_pkg_setup + use clang && llvm-r1_pkg_setup +} + +src_prepare() { + cmake_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() { + # -Werror=lto-type-mismatch issues, needs looking into + filter-lto + + # temporary workaround for musl-1.2.4 (bug #903611), this ideally + # needs fixing in qtbase as *64 usage comes from its headers' macros + use elibc_musl && append-lfs-flags + + local mycmakeargs=( + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DBUILD_DEVELOPER_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # TODO?: try to unbundle with =no when syntax-highlighting:6 exists + -DBUILD_LIBRARY_KSYNTAXHIGHLIGHTING=yes + + # Much can be optional, but do not want to flood users (or maintainers) + # with too many flags. Not to mention that many plugins are merely + # wrappers around still optional tools (e.g. cvs) and any unwanted + # plugins can be disabled at runtime. So optional flags are limited + # to plugins with additional build-time dependencies. + -DBUILD_LIBRARY_TRACING=$(usex tracing) # qml+perfprofiler,ctfvisual + -DBUILD_EXECUTABLE_PERFPARSER=$(usex tracing) + + -DBUILD_PLUGIN_CLANGCODEMODEL=$(usex clang) + -DBUILD_PLUGIN_CLANGFORMAT=$(usex clang) + -DBUILD_PLUGIN_CLANGTOOLS=$(usex clang) + -DCLANGTOOLING_LINK_CLANG_DYLIB=yes + + -DBUILD_PLUGIN_DESIGNER=$(usex designer) + + -DBUILD_PLUGIN_HELP=$(usex help) + -DBUILD_HELPVIEWERBACKEND_QTWEBENGINE=$(usex webengine) + -DBUILD_LIBRARY_QLITEHTML=$(usex help $(usex !webengine)) + # TODO?: package litehtml, but support for latest releases seem + # to lag behind and bundled may work out better for now + # https://bugreports.qt.io/browse/QTCREATORBUG-29169 + $(use help && usev !webengine -DCMAKE_DISABLE_FIND_PACKAGE_litehtml=yes) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + + -DENABLE_SVG_SUPPORT=$(usex svg) + + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + -Djournald=no # not really useful unless match qtbase (needs systemd) + + # not packaged, but allow using if found + #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes + #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) + ) + + cmake_src_configure +} + +src_test() { + local -x QT_QPA_PLATFORM=offscreen + + local CMAKE_SKIP_TESTS=( + # skipping same tests+label as upstream's CI by default + # `grep ctest .github/workflows/build_cmake.yml` + tst_perfdata + ) + + cmake_src_test --label-exclude exclude_from_precheck +} + +src_compile() { + cmake_src_compile + + use doc && cmake_build {qch,html}_docs +} + +src_install() { + cmake_src_install + + if use doc; then + dodoc -r "${BUILD_DIR}"/doc/html + dodoc "${BUILD_DIR}"/share/doc/${PF}/qtcreator{,-dev}.qch + docompress -x /usr/share/doc/${PF}/qtcreator{,-dev}.qch + fi + + local DISABLE_AUTOFORMATTING=yes + local DOC_CONTENTS="\ +Some plugins (if used) may need optional extra dependencies/USE. + +This list provides associations with Gentoo's packages (if exists) +ordered as in Qt Creator's Help -> About Plugins (not exhaustive). + +dev-qt/qt-docs:6 with USE=\"examples qch\" is notably recommended, or +else the example tab will be empty alongside missing documentation. + +Build Systems: +- CMakeProjectManager (dev-build/cmake) +- MesonProjectManager (dev-build/meson) +- QbsProjectManager (dev-util/qbs) + +C++: +- Beautifier (dev-util/astyle and/or dev-util/uncrustify) +- ClangCodeModel (USE=clang, dev-util/clazy to understand Qt semantics) +- ClangFormat (USE=clang) + +Code Analyzer: +- ClangTools (USE=clang) +- Cppcheck (dev-util/cppcheck) +- CtfVisualizer (USE=tracing) +- PerfProfiler (USE=tracing) +- Valgrind (dev-debug/valgrind) + +Core: +- Help (USE=help + dev-qt/qt-docs:6 with USE=\"examples qch\") + +Device Support: +- Android (virtual/jdk, will also want the unpackaged Qt for Android) + +Other Languages: +- Nim (dev-lang/nim) +- Python (dev-lang/python) + +Qt Creator: +- Designer (USE=designer) + +Qt Quick: +- Insight (USE=qmldesigner) +- QmlDesigner (USE=qmldesigner) +- QmlProfiler (USE=tracing) + +Utilities: +- Autotest (dev-cpp/catch, dev-cpp/gtest, or dev-libs/boost if used) +- Conan (dev-util/conan) +- Docker (app-containers/docker) +- Haskell (dev-lang/ghc) +- ScreenRecorder (media-video/ffmpeg) +- SerialTerminal (USE=serialterminal) +- SilverSearcher (sys-apps/the_silver_searcher) +- StudioWelcome (USE=qmldesigner) + +Version Control: +- CVS (dev-vcs/cvs) +- Fossil (dev-vcs/fossil) +- Git (dev-vcs/git) +- Mercurial (dev-vcs/mercurial) +- Subversion (dev-vcs/subversion)" + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + readme.gentoo_print_elog +} diff --git a/dev-qt/qt-creator/qt-creator-9999.ebuild b/dev-qt/qt-creator/qt-creator-9999.ebuild index f28f40dcec29..b47f014ce15a 100644 --- a/dev-qt/qt-creator/qt-creator-9999.ebuild +++ b/dev-qt/qt-creator/qt-creator-9999.ebuild @@ -34,7 +34,7 @@ HOMEPAGE="https://www.qt.io/product/development-tools" LICENSE="GPL-3" SLOT="0" IUSE=" - +clang designer doc +help plugin-dev qmldesigner + +clang designer doc +help keyring plugin-dev qmldesigner serialterminal +svg test +tracing webengine " REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" @@ -45,7 +45,7 @@ QT_PV=6.2.0:6 # IDE_QT_VERSION_MIN # := is used where Qt's private APIs are used for safety COMMON_DEPEND=" >=dev-qt/qt5compat-${QT_PV} - >=dev-qt/qtbase-${QT_PV}=[concurrent,gui,network,widgets,xml] + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-${QT_PV}= clang? ( dev-cpp/yaml-cpp:= @@ -56,6 +56,10 @@ COMMON_DEPEND=" >=dev-qt/qttools-${QT_PV}[assistant] webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) ) + keyring? ( + app-crypt/libsecret + dev-libs/glib:2 + ) qmldesigner? ( >=dev-qt/qtquick3d-${QT_PV}= >=dev-qt/qtsvg-${QT_PV} @@ -78,7 +82,7 @@ DEPEND="${COMMON_DEPEND}" BDEPEND=" ${PYTHON_DEPS} >=dev-qt/qttools-${QT_PV}[linguist] - doc? ( >=dev-qt/qttools-${QT_PV}[qdoc] ) + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) " PATCHES=( @@ -158,6 +162,10 @@ src_configure() { # not packaged, but allow using if found #-DCMAKE_DISABLE_FIND_PACKAGE_LibDDemangle=yes #-DCMAKE_DISABLE_FIND_PACKAGE_LibRustcDemangle=yes + + # for bundled qtkeychain (no switch to unbundle right now) + # reminder: if ever unbundled/optional, qtbase[dbus] can be removed + -DLIBSECRET_SUPPORT=$(usex keyring) ) cmake_src_configure -- cgit v1.2.3