# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 ECM_HANDBOOK="forceoptional" ECM_TEST="true" KDE_ORG_CATEGORY="kdevelop" KFMIN=6.5.0 LLVM_COMPAT=( 15 16 17 18 ) QTMIN=6.7.2 inherit ecm gear.kde.org llvm-r1 optfeature DESCRIPTION="Integrated Development Environment, supporting KF6/Qt, C/C++ and much more" HOMEPAGE="https://kdevelop.org/" LICENSE="GPL-2 LGPL-2" SLOT="6/$(ver_cut 1-2)" KEYWORDS="~amd64 ~arm64" IUSE="gdbui plasma +qmake +share subversion" # see bug 366471 RESTRICT="test" # UPSTREAM: not ported yet, check plugins/CMakeLists.txt # IUSE="hex" # hex? ( app-editors/okteta:6 ) COMMON_DEPEND=" >=dev-qt/qt5compat-${QTMIN}:6 >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,network,widgets,xml] >=dev-qt/qtdeclarative-${QTMIN}:6[widgets] >=dev-qt/qttools-${QTMIN}:6[assistant] >=dev-qt/qtwebengine-${QTMIN}:6[widgets] >=dev-util/astyle-3.1:= kde-apps/libkomparediff2:6 >=kde-frameworks/karchive-${KFMIN}:6 >=kde-frameworks/kbookmarks-${KFMIN}:6 >=kde-frameworks/kcmutils-${KFMIN}:6 >=kde-frameworks/kcodecs-${KFMIN}:6 >=kde-frameworks/kcompletion-${KFMIN}:6 >=kde-frameworks/kconfig-${KFMIN}:6 >=kde-frameworks/kconfigwidgets-${KFMIN}:6 >=kde-frameworks/kcoreaddons-${KFMIN}:6 >=kde-frameworks/kcrash-${KFMIN}:6 >=kde-frameworks/kguiaddons-${KFMIN}:6 >=kde-frameworks/ki18n-${KFMIN}:6 >=kde-frameworks/kiconthemes-${KFMIN}:6 >=kde-frameworks/kio-${KFMIN}:6 >=kde-frameworks/kitemmodels-${KFMIN}:6 >=kde-frameworks/kitemviews-${KFMIN}:6 >=kde-frameworks/kjobwidgets-${KFMIN}:6 >=kde-frameworks/knewstuff-${KFMIN}:6 >=kde-frameworks/knotifications-${KFMIN}:6 >=kde-frameworks/knotifyconfig-${KFMIN}:6 >=kde-frameworks/kparts-${KFMIN}:6 >=kde-frameworks/kservice-${KFMIN}:6 >=kde-frameworks/ktexteditor-${KFMIN}:6 >=kde-frameworks/ktexttemplate-${KFMIN}:6 >=kde-frameworks/ktextwidgets-${KFMIN}:6 >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 >=kde-frameworks/kwindowsystem-${KFMIN}:6 >=kde-frameworks/kxmlgui-${KFMIN}:6 >=kde-frameworks/sonnet-${KFMIN}:6 >=kde-frameworks/threadweaver-${KFMIN}:6 $(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}') gdbui? ( kde-plasma/libksysguard:6= ) plasma? ( >=kde-frameworks/krunner-${KFMIN}:6 kde-plasma/libplasma:6 ) qmake? ( >=dev-util/kdevelop-pg-qt-2.3.0:0 ) share? ( >=kde-frameworks/purpose-${KFMIN}:6 ) subversion? ( dev-libs/apr:1 dev-libs/apr-util:1 dev-vcs/subversion ) " DEPEND="${COMMON_DEPEND} dev-libs/boost >=dev-qt/qtbase-${QTMIN}:6[concurrent] " RDEPEND="${COMMON_DEPEND} dev-build/ninja >=dev-debug/gdb-7.0[python] >=dev-qt/qttools-${QTMIN}:6[qdbus] kde-apps/kapptemplate:* kde-apps/kio-extras:6 " pkg_setup() { ecm_pkg_setup llvm-r1_pkg_setup } src_configure() { local mycmakeargs=( -DLLVM_ROOT="$(get_llvm_prefix)" $(cmake_use_find_package gdbui KSysGuard) -DBUILD_executeplasmoid=$(usex plasma) $(cmake_use_find_package plasma Plasma) $(cmake_use_find_package qmake KDevelop-PG-Qt) $(cmake_use_find_package share KF6Purpose) $(cmake_use_find_package subversion SubversionLibrary) ) # $(cmake_use_find_package hex OktetaKastenControllers) ecm_src_configure } pkg_postinst() { if [[ -z "${REPLACING_VERSIONS}" ]]; then optfeature "konsole view" "kde-apps/konsole:6" optfeature "static C++ Qt code analysis" dev-util/clazy optfeature "static C/C++ code analysis" dev-util/cppcheck optfeature "heap memory profiling" "dev-util/heaptrack[gui]" optfeature "meson project manager plugin" dev-build/meson optfeature "formatting configurations via customscript plugin" dev-util/indent optfeature "formatting configurations via customscript plugin" dev-util/uncrustify fi ecm_pkg_postinst }