From 8838d44e89178442a4f853b309d720f57d4796b0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 12 Apr 2025 08:44:03 +0100 Subject: gentoo auto-resync : 12:04:2025 - 08:44:02 --- dev-qt/Manifest.gz | Bin 11564 -> 11567 bytes dev-qt/qt-creator/Manifest | 9 +- .../files/qt-creator-15.0.0-musl-no-execinfo.patch | 47 ---- dev-qt/qt-creator/qt-creator-15.0.1.ebuild | 300 -------------------- dev-qt/qt-creator/qt-creator-16.0.1.ebuild | 307 +++++++++++++++++++++ dev-qt/qt-creator/qt-creator-9999.ebuild | 3 +- 6 files changed, 313 insertions(+), 353 deletions(-) delete mode 100644 dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch delete mode 100644 dev-qt/qt-creator/qt-creator-15.0.1.ebuild create mode 100644 dev-qt/qt-creator/qt-creator-16.0.1.ebuild (limited to 'dev-qt') diff --git a/dev-qt/Manifest.gz b/dev-qt/Manifest.gz index 3c110fb36c3a..0afc6574441b 100644 Binary files a/dev-qt/Manifest.gz and b/dev-qt/Manifest.gz differ diff --git a/dev-qt/qt-creator/Manifest b/dev-qt/qt-creator/Manifest index 8f80b004f355..bf3c1b0c13ce 100644 --- a/dev-qt/qt-creator/Manifest +++ b/dev-qt/qt-creator/Manifest @@ -1,11 +1,10 @@ AUX qt-creator-12.0.0-musl-no-malloc-trim.patch 343 BLAKE2B 9c4b87a0de20616dc8cf5da4523c347f963c3459efdd9a716387690775f96abe0bb60bf0e147dd01ded79a110d1222b4009b17cece71998b46d62dd8b83eeac6 SHA512 6a0807bab971a795a156f974dab2b12699a4c90a6c7380e2dd0a136ba44354791ef7a178f79e61100c3165ec7667a72d6ca7f3c43f4958ccf9e8611995ca191d -AUX qt-creator-15.0.0-musl-no-execinfo.patch 1313 BLAKE2B acbc23f4e943f1d5942b8f91e75acefb24d8d396a37d15965892ef6da60891c92824628d1e719762273c5fce6752812b6d50a18b4536484c8e20cd9d5100ea62 SHA512 644c7f8337a8a7c66fbcea9f2d097ba508eea9b7a3550bcf4b3dfc267c14d5c2b9d517c0ff092aa101fd902b98af44133ac81f1ba1a5fdbe1251dda45677447d AUX qt-creator-16.0.0-musl-no-execinfo.patch 834 BLAKE2B 95bc23288910526a7b1e92bef9b6c495d4954f8d11479ebc8c9cb81d1c23d6b44a23a253e8a839a38c956a38ef94cc3adb006b46e56ccb6c6a0c159fa6f5b210 SHA512 c24a48e54dc403ce3fb75124d2e52bec08633d07a87e8998c1d871f605184cf80125d478a855fa13434545df3ff8028ce2f5faa29a7542766430b5fbcf76c684 -DIST qt-creator-opensource-src-15.0.1-vendor.tar.xz 508860 BLAKE2B c5a7eef8250c6f21b482a262dee912f704573e96400291a81b61251c7cb19139748761f56bea0a832830dadbd3035729d040b92ba00eb3f1c96c0eace220387a SHA512 a334182b844e98c238fbe271fea6a169de54cd7b12dd9dea3a3d165bf1c0286fafd980e0e4e842db0b65298d92214abe618f94081756beafd2bd64398aa4d788 -DIST qt-creator-opensource-src-15.0.1.tar.xz 53250336 BLAKE2B f59160c113122d5c10935c7d088f57d36b41245587faf996244b6edde2b200536616247f8edaf0096f5e91750045c02b66bbcb68ee232b5e02e947e891ab6292 SHA512 fb3d75187607c57438beb9ec65c932e3abfd15566d8d11d612b7aa087b9df44d12d18138fbd61ece61ebc29be6d14d1ded3cd1deb1d946bd7d96f2ef2060f853 DIST qt-creator-opensource-src-16.0.0-vendor.tar.xz 510400 BLAKE2B 87fae175ef0542f809e501b6427a08debbbaef35adf64938e39ff07d959174008bbd2f0bad562b7001cab5562207badd70e23cdbe680f635ff2a19e268f0f560 SHA512 f07f253b6d5ac05f7ccea1cde4e01050974b91be1754d8d50e8d1ddf02ce965b817fb75ce0a3f6766061969b7287a045892b8b1e615a1a3a0df30fec1ae35615 DIST qt-creator-opensource-src-16.0.0.tar.xz 53476596 BLAKE2B 14ea5d5cb531b233d3dc831b687789713356a996ccb7574ca1ef9e66a3b6ddb8d25c058658ca74b0c732df3f878a4957c38bfc5fdb14c9b77b268296df77dd04 SHA512 7e1b2a621cb8840f3d8efdf6511104d1a80706764903ed71fdee7788d7b286022e0c7ca022226c9ac8951656b8d3b65a5d6fcb43d0695a9b363e27a0fcf5475f -EBUILD qt-creator-15.0.1.ebuild 8730 BLAKE2B 842f5b5e52a4b7b18f765cd94de01b3cd4760720e29a8e15e8c2c444ac89fafbcb2c7115a75d0c89a9562196d5fa90e305e47b6668ef36f816c59e922a4fbed1 SHA512 bc2aa13520324e040e7e0b2bda4ffd23f0baf833da4a67e9a4749dc44317adbafe02cd457eccfef0f0a68f46bfa67e5423ab3a02a43bda65cf2bb2cc7b45fa2e +DIST qt-creator-opensource-src-16.0.1-vendor.tar.xz 509768 BLAKE2B 83080182a275e8238b5dfbeb4049670fbfd6fb1373d36c9b402d3addde806fff87a459cb80f6ce9cf84e26dd68af218ac9eb34e2687a38f99a8123b3cd53110e SHA512 222e2e7dc40b63f78a05bd48d8276f089c990b3374cf1090ebeb87e06f8fd37470b67aa11a41a850a12627126f7dd5acb0c565ccedca1c99ee0c69d1580b7e36 +DIST qt-creator-opensource-src-16.0.1.tar.xz 53538384 BLAKE2B 93085ecb846c3c500915a256dee5557483cd7f850e0756e2d31ea86b3355ea86ba6e25da81e48b3237e278303d338ca2c61950fcecb24c453cdcdee4d0f29e6d SHA512 f3056e06b214b3a49dd928ca5a40c0387954e0391a7f7debc9cad4fa2eedc62c17728a9bb5c1447ac08a70e8fe545e62e57b16ea600397b0b95ecaaa4065a4c7 EBUILD qt-creator-16.0.0.ebuild 8971 BLAKE2B b2cef8c22e668d5d523f8a399976e9ec572ec3d1aee80f9cb9cbcb19cb70e5f6d76945d9f3d1b2a80ce966688568199f38b25f1c2be25c19d1af4f8f5901245d SHA512 8cb2e305fde6f86b9a8384fbae06acd36658aeace1e3452f5079c6b0edce6db748becb53df88a9e98bb739e434adec0903e3e50fcc1db22556e2532214762b6f -EBUILD qt-creator-9999.ebuild 8995 BLAKE2B 7e3055ae00ecf56db45b13a032fad16de5b2d57f357e086abce75364f5057053cd2ee8c2f2726148bd4dcdcf2f86a8a3b8c068b4f87d6668d8337af72620d92e SHA512 449be3597ed13d80060ce729b67a54efcbed69e53f7ba7e917d24ac8685993603bc10c8f99a7fab9fd3aeb74459ad86e0b00615cf195de219cd88ef02a15a185 +EBUILD qt-creator-16.0.1.ebuild 8989 BLAKE2B c642c120c20245e8bb32e15048a795b663e35097ca29940252eb0813c7ca59f2bcd35cc3b4d15f9d2827bd990b39b8e35ff2bc7a17b5db9985ff240753b8ccf6 SHA512 48091b137b65d187cfaf6f852420fb17672cb4f8b31526db2edb9396b684ff94c7acbdd4a947a7d19cec2aa3aa50023914ce0e6c682987aa7528a95b9e38a576 +EBUILD qt-creator-9999.ebuild 9012 BLAKE2B ae81481b30f9a4b7afad704f2a5fc7570a3e03fc8211ddc37bcb3c4da8dc14547c4b622b4dff6d4438c6eacf4c812b8fdff69daa9a4325119573ecdc32f51f88 SHA512 b0fb4774dea6cf7f68c455a3ed86e063441a419ed3e176a86cf8316b550227d311b1f15dd1d2a2fe77c229297d0b41bcabc922ca0899fcbfb5983bb227d2f6c7 MISC metadata.xml 1432 BLAKE2B f26e11ae50746ac3c991a6287e14a0cfd3c7f0035b8de55c26bcba7ee31a55b890a7a02f851c5451464bc46bd45ff711265c6d3d4dce808b80de10564082403f SHA512 0666fcf3f2f38404f41c84dee5451697f8501231964da57f236b06d14670bf4301b3108c88f75d7eb7f2723189b1efa7779189ea4e1435e195e6a4824d50db32 diff --git a/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch b/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch deleted file mode 100644 index 5e3bbf25b6c3..000000000000 --- a/dev-qt/qt-creator/files/qt-creator-15.0.0-musl-no-execinfo.patch +++ /dev/null @@ -1,47 +0,0 @@ -execinfo is unavailable with musl (unless opt to package+use libexecinfo) ---- a/src/libs/utils/qtcassert.cpp -+++ b/src/libs/utils/qtcassert.cpp -@@ -9,5 +9,5 @@ - #include - --#if defined(Q_OS_UNIX) -+#if defined(Q_OS_UNIX) && defined(__GLIBC__) - #include - #include -@@ -30,5 +30,5 @@ - if (maxdepth < 0 || maxdepth > ArraySize) - maxdepth = ArraySize; --#if defined(Q_OS_UNIX) -+#if defined(Q_OS_UNIX) && defined(__GLIBC__) - void *bt[ArraySize] = {nullptr}; - int size = backtrace(bt, maxdepth); ---- a/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp -+++ b/src/plugins/qmldesigner/libs/designercore/exceptions/exception.cpp -@@ -4,5 +4,5 @@ - #include "exception.h" - --#ifdef Q_OS_LINUX -+#if defined(Q_OS_LINUX) && defined(__GLIBC__) - #include - #include -@@ -31,5 +31,5 @@ - namespace QmlDesigner { - --#ifdef Q_OS_LINUX -+#if defined(Q_OS_LINUX) && defined(__GLIBC__) - const char* demangle(const char* name) - { -@@ -76,5 +76,5 @@ - } - --#ifdef Q_OS_LINUX -+#if defined(Q_OS_LINUX) && defined(__GLIBC__) - static QString getBackTrace() - { -@@ -114,5 +114,5 @@ - , m_file(QString::fromUtf8(file)) - , m_description(description) -- #ifdef Q_OS_LINUX -+ #if defined(Q_OS_LINUX) && defined(__GLIBC__) - , m_backTrace(getBackTrace()) - #endif diff --git a/dev-qt/qt-creator/qt-creator-15.0.1.ebuild b/dev-qt/qt-creator/qt-creator-15.0.1.ebuild deleted file mode 100644 index 1e96622ad6c9..000000000000 --- a/dev-qt/qt-creator/qt-creator-15.0.1.ebuild +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright 2023-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..20} ) -LLVM_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) -inherit cmake edo flag-o-matic go-env llvm-r2 multiprocessing -inherit 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 - cmdbridge-server? ( https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.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" -LICENSE+=" BSD MIT" # go -SLOT="0" -IUSE=" - +clang cmdbridge-server designer doc +help keyring plugin-dev - qmldesigner serialterminal +svg test +tracing webengine -" -REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" -RESTRICT="!test? ( test )" - -QT_PV=6.5.4:6 - -# := is used where Qt's private APIs are used for safety -COMMON_DEPEND=" - dev-cpp/yaml-cpp:= - >=dev-qt/qt5compat-${QT_PV} - >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] - >=dev-qt/qtdeclarative-${QT_PV}= - clang? ( - $(llvm_gen_dep ' - llvm-core/clang:${LLVM_SLOT}= - llvm-core/llvm:${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/qtcharts-${QT_PV} - >=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}" -# intentionally skipping := on go (unlike go-module.eclass) given not -# worth a massive rebuild every time for the minor go usage -BDEPEND=" - ${PYTHON_DEPS} - >=dev-qt/qttools-${QT_PV}[linguist] - cmdbridge-server? ( >=dev-lang/go-1.21.7 ) - doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-15.0.0-musl-no-execinfo.patch - "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch -) - -QA_FLAGS_IGNORED="usr/libexec/qtcreator/cmdbridge-.*" # written in Go - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - if use cmdbridge-server; then - cd -- "${S}"/src/libs/gocmdbridge/server || die - edo go mod vendor - fi - else - default - fi -} - -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 - - # avoid stripping for Go, use sed to avoid rebases as may be there forever - sed -i 's/-s -w //' src/libs/gocmdbridge/server/CMakeLists.txt || die - - # avoid building manual tests (aka not ran) for nothing (bug #950010) - sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || 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() { - use clang && llvm_chost_setup - - if use cmdbridge-server; then - go-env_set_compile_environment - export GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false -buildmode=pie" - fi - - # -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_DEVELOPER_DOCS=$(usex doc) - -DBUILD_DOCS_BY_DEFAULT=$(usex doc) - -DBUILD_WITH_PCH=no - -DWITH_DOCS=$(usex doc) - -DWITH_TESTS=$(usex test) - - # sticking to bundled for now until it switches to KF6's - -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_APPSTATISTICSMONITOR=$(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) - $(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925 - -DWITH_QMLDESIGNER=$(usex qmldesigner) - - # meant to be in sync with qtbase[journald], but think(?) not worth - # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays - -Djournald=no - - # 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_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: -- AppStatisticsMonitor (USE=tracing) -- 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-16.0.1.ebuild b/dev-qt/qt-creator/qt-creator-16.0.1.ebuild new file mode 100644 index 000000000000..2c501e76a241 --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-16.0.1.ebuild @@ -0,0 +1,307 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..20} ) +LLVM_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) +inherit cmake edo flag-o-matic go-env llvm-r2 multiprocessing +inherit 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 + cmdbridge-server? ( https://dev.gentoo.org/~ionen/distfiles/${QTC_P}-vendor.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" +LICENSE+=" BSD MIT" # go +SLOT="0" +IUSE=" + +clang cmdbridge-server designer doc +help keyring plugin-dev + qmldesigner serialterminal +svg test +tracing webengine +" +REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" +RESTRICT="!test? ( test )" + +QT_PV=6.7.3:6 + +# := is used where Qt's private APIs are used for safety +COMMON_DEPEND=" + dev-cpp/yaml-cpp:= + >=dev-qt/qt5compat-${QT_PV} + >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] + >=dev-qt/qtdeclarative-${QT_PV}= + sys-libs/zlib:= + clang? ( + $(llvm_gen_dep ' + llvm-core/clang:${LLVM_SLOT}= + llvm-core/llvm:${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} + >=dev-qt/qtwebsockets-${QT_PV} + webengine? ( >=dev-qt/qtwebengine-${QT_PV} ) + ) + serialterminal? ( >=dev-qt/qtserialport-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + tracing? ( + app-arch/zstd:= + dev-libs/elfutils + >=dev-qt/qtcharts-${QT_PV} + >=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}" +# intentionally skipping := on go (unlike go-module.eclass) given not +# worth a massive rebuild every time for the minor go usage +BDEPEND=" + ${PYTHON_DEPS} + >=dev-qt/qttools-${QT_PV}[linguist] + cmdbridge-server? ( >=dev-lang/go-1.21.7 ) + doc? ( >=dev-qt/qttools-${QT_PV}[qdoc,qtattributionsscanner] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-16.0.0-musl-no-execinfo.patch + "${FILESDIR}"/${PN}-12.0.0-musl-no-malloc-trim.patch +) + +QA_FLAGS_IGNORED="usr/libexec/qtcreator/cmdbridge-.*" # written in Go + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + if use cmdbridge-server; then + cd -- "${S}"/src/libs/gocmdbridge/server || die + edo go mod vendor + fi + else + default + fi +} + +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 + + # avoid stripping for Go, use sed to avoid rebases as may be there forever + sed -i 's/-s -w //' src/libs/gocmdbridge/server/CMakeLists.txt || die + + # avoid building manual tests (aka not ran) for nothing (bug #950010) + sed -i '/add_subdirectory(manual)/d' tests/CMakeLists.txt || 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() { + use clang && llvm_chost_setup + + if use cmdbridge-server; then + go-env_set_compile_environment + export GOFLAGS="-p=$(makeopts_jobs) -v -x -buildvcs=false -buildmode=pie" + fi + + # -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_DEVELOPER_DOCS=$(usex doc) + -DBUILD_DOCS_BY_DEFAULT=$(usex doc) + -DBUILD_WITH_PCH=no + -DWITH_DOCS=$(usex doc) + -DWITH_TESTS=$(usex test) + + # sticking to bundled for now until it switches to KF6's + -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_APPSTATISTICSMONITOR=$(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) + + # help shouldn't use with the above, but qmldesigner is automagic + $(use help || use qmldesigner && + cmake_use_find_package webengine Qt6WebEngineWidgets) + + -DBUILD_PLUGIN_SERIALTERMINAL=$(usex serialterminal) + -DENABLE_SVG_SUPPORT=$(usex svg) + $(usev !cmdbridge-server -DGO_BIN=GO_BIN-NOTFOUND) #945925 + -DWITH_QMLDESIGNER=$(usex qmldesigner) + + # meant to be in sync with qtbase[journald], but think(?) not worth + # handling given qt-creator can use QT_FORCE_STDERR_LOGGING=1 nowadays + -Djournald=no + + # 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_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: +- AppStatisticsMonitor (USE=tracing) +- 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 a5d54e1c873c..1e2a0d314ba0 100644 --- a/dev-qt/qt-creator/qt-creator-9999.ebuild +++ b/dev-qt/qt-creator/qt-creator-9999.ebuild @@ -45,7 +45,7 @@ IUSE=" REQUIRED_USE="clang? ( ${LLVM_REQUIRED_USE} )" RESTRICT="!test? ( test )" -QT_PV=6.5.4:6 +QT_PV=6.7.3:6 # := is used where Qt's private APIs are used for safety COMMON_DEPEND=" @@ -54,6 +54,7 @@ COMMON_DEPEND=" >=dev-qt/qt5compat-${QT_PV} >=dev-qt/qtbase-${QT_PV}=[concurrent,dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-${QT_PV}= + sys-libs/zlib:= clang? ( $(llvm_gen_dep ' llvm-core/clang:${LLVM_SLOT}= -- cgit v1.2.3