summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qt-creator/qt-creator-14.0.0.ebuild')
-rw-r--r--dev-qt/qt-creator/qt-creator-14.0.0.ebuild268
1 files changed, 0 insertions, 268 deletions
diff --git a/dev-qt/qt-creator/qt-creator-14.0.0.ebuild b/dev-qt/qt-creator/qt-creator-14.0.0.ebuild
deleted file mode 100644
index a04b85dcdd48..000000000000
--- a/dev-qt/qt-creator/qt-creator-14.0.0.ebuild
+++ /dev/null
@@ -1,268 +0,0 @@
-# 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..13} )
-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.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 '
- sys-devel/clang:${LLVM_SLOT}=
- sys-devel/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/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_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_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)
-
- # 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:
-- 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
-}