dev-util/kdevelop - 23.03.90-r1 (dev1990-overlay)

Search

Package Information

Description:
Integrated Development Environment, supporting KF5/Qt, C/C++ and much more
Homepage:
https://www.kdevelop.org/
License:
GPL-2 LGPL-2

Ebuild Details

Version EAPI Keywords Slot
23.03.90-r1 8 ~amd64 ~arm64 ~ppc64 ~x86 5/57
View Raw Ebuild
# Copyright 1999-2023 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=5.101.0
LLVM_MAX_SLOT=16
QTMIN=5.15.5
VIRTUALDBUS_TEST="true"
VIRTUALX_REQUIRED="test"
inherit ecm gear.kde.org llvm optfeature

DESCRIPTION="Integrated Development Environment, supporting KF5/Qt, C/C++ and much more"
HOMEPAGE="https://www.kdevelop.org/"

LICENSE="GPL-2 LGPL-2"
SLOT="5/57" # look at KDEVELOP_SOVERSION inside CMakeLists.txt
IUSE="+gdbui hex +plasma +qmake reviewboard subversion"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"

# see bug 366471
RESTRICT="test"

COMMON_DEPEND="
	dev-libs/grantlee:5
	>=dev-qt/qtdbus-${QTMIN}:5
	>=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
	>=dev-qt/qtgui-${QTMIN}:5
	>=dev-qt/qthelp-${QTMIN}:5
	>=dev-qt/qtnetwork-${QTMIN}:5
	>=dev-qt/qttest-${QTMIN}:5
	>=dev-qt/qtwebengine-${QTMIN}:5[widgets]
	>=dev-qt/qtwidgets-${QTMIN}:5
	>=dev-qt/qtxml-${QTMIN}:5
	>=dev-util/astyle-3.1:=
	kde-apps/libkomparediff2:5
	>=kde-frameworks/karchive-${KFMIN}:5
	>=kde-frameworks/kbookmarks-${KFMIN}:5
	>=kde-frameworks/kcmutils-${KFMIN}:5
	>=kde-frameworks/kcodecs-${KFMIN}:5
	>=kde-frameworks/kcompletion-${KFMIN}:5
	>=kde-frameworks/kconfig-${KFMIN}:5
	>=kde-frameworks/kconfigwidgets-${KFMIN}:5
	>=kde-frameworks/kcoreaddons-${KFMIN}:5
	>=kde-frameworks/kcrash-${KFMIN}:5
	>=kde-frameworks/kdeclarative-${KFMIN}:5
	>=kde-frameworks/kguiaddons-${KFMIN}:5
	>=kde-frameworks/ki18n-${KFMIN}:5
	>=kde-frameworks/kiconthemes-${KFMIN}:5
	>=kde-frameworks/kio-${KFMIN}:5
	>=kde-frameworks/kitemmodels-${KFMIN}:5
	>=kde-frameworks/kitemviews-${KFMIN}:5
	>=kde-frameworks/kjobwidgets-${KFMIN}:5
	>=kde-frameworks/knewstuff-${KFMIN}:5
	>=kde-frameworks/knotifications-${KFMIN}:5
	>=kde-frameworks/knotifyconfig-${KFMIN}:5
	>=kde-frameworks/kparts-${KFMIN}:5
	>=kde-frameworks/kservice-${KFMIN}:5
	>=kde-frameworks/ktexteditor-${KFMIN}:5
	>=kde-frameworks/ktextwidgets-${KFMIN}:5
	>=kde-frameworks/kwidgetsaddons-${KFMIN}:5
	>=kde-frameworks/kwindowsystem-${KFMIN}:5
	>=kde-frameworks/kxmlgui-${KFMIN}:5
	>=kde-frameworks/sonnet-${KFMIN}:5
	>=kde-frameworks/threadweaver-${KFMIN}:5
	<sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
	gdbui? ( kde-plasma/libksysguard:5= )
	hex? ( app-editors/okteta:5 )
	plasma? (
		>=kde-frameworks/krunner-${KFMIN}:5
		>=kde-frameworks/plasma-${KFMIN}:5
	)
	qmake? ( dev-util/kdevelop-pg-qt:5 )
	reviewboard? ( >=kde-frameworks/purpose-${KFMIN}:5 )
	subversion? (
		dev-libs/apr:1
		dev-libs/apr-util:1
		dev-vcs/subversion
	)
"
DEPEND="${COMMON_DEPEND}
	dev-libs/boost
	>=dev-qt/qtconcurrent-${QTMIN}:5
"
RDEPEND="${COMMON_DEPEND}
	>=dev-qt/qdbus-${QTMIN}:*
	>=dev-qt/qtquickcontrols-${QTMIN}:5
	>=dev-qt/qtquickcontrols2-${QTMIN}:5
	dev-util/ninja
	kde-apps/kapptemplate:5
	kde-apps/kio-extras:5
	>=sys-devel/gdb-7.0[python]
	reviewboard? ( kde-apps/ktp-accounts-kcm:5 )
"

PATCHES=(
	"${FILESDIR}/0001-Fix-hardcoded-cmake-documentation-tooltip-background.patch"
)

llvm_check_deps() {
	has_version -d "sys-devel/clang:${LLVM_SLOT}"
}

src_configure() {
	local mycmakeargs=(
		-DLLVM_ROOT="$(get_llvm_prefix ${LLVM_SLOT})"
		$(cmake_use_find_package gdbui KSysGuard)
		-DBUILD_executeplasmoid=$(usex plasma)
		$(cmake_use_find_package plasma KF5Plasma)
		$(cmake_use_find_package hex OktetaKastenControllers)
		$(cmake_use_find_package qmake KDevelop-PG-Qt)
		$(cmake_use_find_package reviewboard KF5Purpose)
		$(cmake_use_find_package subversion SubversionLibrary)
	)

	use gdbui || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KF5SysGuard=ON )
	use reviewboard || mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_KDEExperimentalPurpose=ON )

	ecm_src_configure
}

pkg_postinst() {
	if [[ -z "${REPLACING_VERSIONS}" ]]; then
		optfeature "konsole view" kde-apps/konsole
		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-util/meson
		optfeature "formatting configurations via customscript plugin" dev-util/indent
		optfeature "formatting configurations via customscript plugin" dev-util/uncrustify
	fi
	ecm_pkg_postinst
}

USE Flags

gdbui
Default: Enabled (+)
hex
plasma
Default: Enabled (+)
qmake
Default: Enabled (+)

Dependencies

DEPEND

	dev-libs/grantlee:5
	>=dev-qt/qtdbus-5.15.5:5
	>=dev-qt/qtdeclarative-5.15.5:5[widgets]
	>=dev-qt/qtgui-5.15.5:5
	>=dev-qt/qthelp-5.15.5:5
	>=dev-qt/qtnetwork-5.15.5:5
	>=dev-qt/qttest-5.15.5:5
	>=dev-qt/qtwebengine-5.15.5:5[widgets]
	>=dev-qt/qtwidgets-5.15.5:5
	>=dev-qt/qtxml-5.15.5:5
	>=dev-util/astyle-3.1:=
	kde-apps/libkomparediff2:5
	>=kde-frameworks/karchive-5.101.0:5
	>=kde-frameworks/kbookmarks-5.101.0:5
	>=kde-frameworks/kcmutils-5.101.0:5
	>=kde-frameworks/kcodecs-5.101.0:5
	>=kde-frameworks/kcompletion-5.101.0:5
	>=kde-frameworks/kconfig-5.101.0:5
	>=kde-frameworks/kconfigwidgets-5.101.0:5
	>=kde-frameworks/kcoreaddons-5.101.0:5
	>=kde-frameworks/kcrash-5.101.0:5
	>=kde-frameworks/kdeclarative-5.101.0:5
	>=kde-frameworks/kguiaddons-5.101.0:5
	>=kde-frameworks/ki18n-5.101.0:5
	>=kde-frameworks/kiconthemes-5.101.0:5
	>=kde-frameworks/kio-5.101.0:5
	>=kde-frameworks/kitemmodels-5.101.0:5
	>=kde-frameworks/kitemviews-5.101.0:5
	>=kde-frameworks/kjobwidgets-5.101.0:5
	>=kde-frameworks/knewstuff-5.101.0:5
	>=kde-frameworks/knotifications-5.101.0:5
	>=kde-frameworks/knotifyconfig-5.101.0:5
	>=kde-frameworks/kparts-5.101.0:5
	>=kde-frameworks/kservice-5.101.0:5
	>=kde-frameworks/ktexteditor-5.101.0:5
	>=kde-frameworks/ktextwidgets-5.101.0:5
	>=kde-frameworks/kwidgetsaddons-5.101.0:5
	>=kde-frameworks/kwindowsystem-5.101.0:5
	>=kde-frameworks/kxmlgui-5.101.0:5
	>=kde-frameworks/sonnet-5.101.0:5
	>=kde-frameworks/threadweaver-5.101.0:5
	<sys-devel/clang-$((16 + 1)):=
	gdbui? ( kde-plasma/libksysguard:5= )
	hex? ( app-editors/okteta:5 )
	plasma? (
		>=kde-frameworks/krunner-5.101.0:5
		>=kde-frameworks/plasma-5.101.0:5
	)
	qmake? ( dev-util/kdevelop-pg-qt:5 )
	reviewboard? ( >=kde-frameworks/purpose-5.101.0:5 )
	subversion? (
		dev-libs/apr:1
		dev-libs/apr-util:1
		dev-vcs/subversion
	)

	dev-libs/boost
	>=dev-qt/qtconcurrent-5.15.5:5

RDEPEND

	dev-libs/grantlee:5
	>=dev-qt/qtdbus-5.15.5:5
	>=dev-qt/qtdeclarative-5.15.5:5[widgets]
	>=dev-qt/qtgui-5.15.5:5
	>=dev-qt/qthelp-5.15.5:5
	>=dev-qt/qtnetwork-5.15.5:5
	>=dev-qt/qttest-5.15.5:5
	>=dev-qt/qtwebengine-5.15.5:5[widgets]
	>=dev-qt/qtwidgets-5.15.5:5
	>=dev-qt/qtxml-5.15.5:5
	>=dev-util/astyle-3.1:=
	kde-apps/libkomparediff2:5
	>=kde-frameworks/karchive-5.101.0:5
	>=kde-frameworks/kbookmarks-5.101.0:5
	>=kde-frameworks/kcmutils-5.101.0:5
	>=kde-frameworks/kcodecs-5.101.0:5
	>=kde-frameworks/kcompletion-5.101.0:5
	>=kde-frameworks/kconfig-5.101.0:5
	>=kde-frameworks/kconfigwidgets-5.101.0:5
	>=kde-frameworks/kcoreaddons-5.101.0:5
	>=kde-frameworks/kcrash-5.101.0:5
	>=kde-frameworks/kdeclarative-5.101.0:5
	>=kde-frameworks/kguiaddons-5.101.0:5
	>=kde-frameworks/ki18n-5.101.0:5
	>=kde-frameworks/kiconthemes-5.101.0:5
	>=kde-frameworks/kio-5.101.0:5
	>=kde-frameworks/kitemmodels-5.101.0:5
	>=kde-frameworks/kitemviews-5.101.0:5
	>=kde-frameworks/kjobwidgets-5.101.0:5
	>=kde-frameworks/knewstuff-5.101.0:5
	>=kde-frameworks/knotifications-5.101.0:5
	>=kde-frameworks/knotifyconfig-5.101.0:5
	>=kde-frameworks/kparts-5.101.0:5
	>=kde-frameworks/kservice-5.101.0:5
	>=kde-frameworks/ktexteditor-5.101.0:5
	>=kde-frameworks/ktextwidgets-5.101.0:5
	>=kde-frameworks/kwidgetsaddons-5.101.0:5
	>=kde-frameworks/kwindowsystem-5.101.0:5
	>=kde-frameworks/kxmlgui-5.101.0:5
	>=kde-frameworks/sonnet-5.101.0:5
	>=kde-frameworks/threadweaver-5.101.0:5
	<sys-devel/clang-$((16 + 1)):=
	gdbui? ( kde-plasma/libksysguard:5= )
	hex? ( app-editors/okteta:5 )
	plasma? (
		>=kde-frameworks/krunner-5.101.0:5
		>=kde-frameworks/plasma-5.101.0:5
	)
	qmake? ( dev-util/kdevelop-pg-qt:5 )
	reviewboard? ( >=kde-frameworks/purpose-5.101.0:5 )
	subversion? (
		dev-libs/apr:1
		dev-libs/apr-util:1
		dev-vcs/subversion
	)

	>=dev-qt/qdbus-5.15.5:*
	>=dev-qt/qtquickcontrols-5.15.5:5
	>=dev-qt/qtquickcontrols2-5.15.5:5
	dev-util/ninja
	kde-apps/kapptemplate:5
	kde-apps/kio-extras:5
	>=sys-devel/gdb-7.0[python]
	reviewboard? ( kde-apps/ktp-accounts-kcm:5 )