diff options
Diffstat (limited to 'dev-qt')
-rw-r--r-- | dev-qt/Manifest.gz | bin | 11889 -> 11892 bytes | |||
-rw-r--r-- | dev-qt/qt-creator/Manifest | 3 | ||||
-rw-r--r-- | dev-qt/qt-creator/qt-creator-15.0.1.ebuild | 297 |
3 files changed, 300 insertions, 0 deletions
diff --git a/dev-qt/Manifest.gz b/dev-qt/Manifest.gz Binary files differindex 023281031570..a5acbe147f75 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 3e4da86b871d..d73e8a1ff74d 100644 --- a/dev-qt/qt-creator/Manifest +++ b/dev-qt/qt-creator/Manifest @@ -3,6 +3,9 @@ AUX qt-creator-14.0.1-clang19.patch 1046 BLAKE2B 2d1fefe8c48d448d51ca5c25e5f91cc AUX qt-creator-15.0.0-musl-no-execinfo.patch 1313 BLAKE2B acbc23f4e943f1d5942b8f91e75acefb24d8d396a37d15965892ef6da60891c92824628d1e719762273c5fce6752812b6d50a18b4536484c8e20cd9d5100ea62 SHA512 644c7f8337a8a7c66fbcea9f2d097ba508eea9b7a3550bcf4b3dfc267c14d5c2b9d517c0ff092aa101fd902b98af44133ac81f1ba1a5fdbe1251dda45677447d DIST qt-creator-opensource-src-15.0.0-vendor.tar.xz 509332 BLAKE2B 7c417a0fc14eb3b8e27aec73afa362cea43008107a68290c8fc17631fb06d24f89d7454e191a68ba199bd349142b3f1ae1ddbdff0af6bc69b6d53f61227236c0 SHA512 52fb8b585f8821919550622710b76ab7376668c8cae76ea9880d34b281f052972b3c08192ce8e994f51d86de33c247d27bf3252194dd17c1a7b37e8d5e68d42d DIST qt-creator-opensource-src-15.0.0.tar.xz 53254544 BLAKE2B bf295974a904c182f37321a8e7e06704906d9db34f3c96d3e7b1ac2aad2807c106f271e480e9ef7c72f98413fd6faca3c6d9e47d47b62736ce88f4722857be05 SHA512 0a003a17bec60b34c4dc4ac700125dc62be9d2cf50e9044b61cc926b1d7cfa1e8303b98f9ae25abca07cb893398c25f61c3ec28029efe50e88339e5d984d1279 +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 EBUILD qt-creator-15.0.0-r1.ebuild 8634 BLAKE2B dcbbdf019f125614d92b59013a527745dc6a77636c8e6cd418568e24c445908fa53a3e7bf2cc233a7142b6d46c7bd261ebffe2fe1c2759620c97f3a12c30980f SHA512 45b8e7bee8cd1b1746ea73c63d64ec112fc930e71187be4f79e63be75bc6b676c9869a3eb6490a90ee6f13a50e2adbd970425c313d2165903cd9363f48cd0ca3 +EBUILD qt-creator-15.0.1.ebuild 8593 BLAKE2B 0bc81280529cf65603b26e286d0afa94cffd3f340a8de52e09e814f78e3db56f042c16db9186ed0085e2256cc65edacf058cd5a3527393ab086765731f7b1f6c SHA512 4e4ea31af4d86ff9ac49c9c590c28eab2148c5f809162d83e07caac1f1271d2ee25d1d442908c3f547b012e40716e991c92df3c8e44fc79977f72854325d487c EBUILD qt-creator-9999.ebuild 8593 BLAKE2B 0bc81280529cf65603b26e286d0afa94cffd3f340a8de52e09e814f78e3db56f042c16db9186ed0085e2256cc65edacf058cd5a3527393ab086765731f7b1f6c SHA512 4e4ea31af4d86ff9ac49c9c590c28eab2148c5f809162d83e07caac1f1271d2ee25d1d442908c3f547b012e40716e991c92df3c8e44fc79977f72854325d487c MISC metadata.xml 1368 BLAKE2B 23bb887e7df5ef502d2a73395e33bc6951b9a230b10cc7fa7b7a995896f47520d8c0a73134a8a454c96a53e7a834471c1e7f6719aee079830ec3b233e5de8391 SHA512 04624384df58abd8e50d5915db90aed4ee84c2301f7eca52bd3301df8202030fefb1c792b9837a806ed1e44745280c0dd5732825504bcf928d58b828151b00eb diff --git a/dev-qt/qt-creator/qt-creator-15.0.1.ebuild b/dev-qt/qt-creator/qt-creator-15.0.1.ebuild new file mode 100644 index 000000000000..3ed1685d4f1f --- /dev/null +++ b/dev-qt/qt-creator/qt-creator-15.0.1.ebuild @@ -0,0 +1,297 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..19} ) +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 + + 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 +} |