1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 KDE_HANDBOOK="forceoptional"
7 KDE_TEST="forceoptional"
8 VIRTUALX_REQUIRED="test"
9 inherit kde5 qmake-utils
11 DESCRIPTION="KDE Plasma workspace"
12 KEYWORDS="amd64 ~arm ~arm64 x86"
13 IUSE="appstream +calendar geolocation gps prison qalculate +semantic-desktop systemd"
15 REQUIRED_USE="gps? ( geolocation )"
18 $(add_frameworks_dep kactivities)
19 $(add_frameworks_dep kauth)
20 $(add_frameworks_dep kbookmarks)
21 $(add_frameworks_dep kcompletion)
22 $(add_frameworks_dep kconfig)
23 $(add_frameworks_dep kconfigwidgets)
24 $(add_frameworks_dep kcoreaddons)
25 $(add_frameworks_dep kcrash)
26 $(add_frameworks_dep kdbusaddons)
27 $(add_frameworks_dep kdeclarative)
28 $(add_frameworks_dep kdelibs4support)
29 $(add_frameworks_dep kglobalaccel)
30 $(add_frameworks_dep kguiaddons)
31 $(add_frameworks_dep ki18n)
32 $(add_frameworks_dep kiconthemes)
33 $(add_frameworks_dep kidletime)
34 $(add_frameworks_dep kio)
35 $(add_frameworks_dep kitemmodels)
36 $(add_frameworks_dep kitemviews)
37 $(add_frameworks_dep kjobwidgets)
38 $(add_frameworks_dep kjs)
39 $(add_frameworks_dep kjsembed)
40 $(add_frameworks_dep knewstuff)
41 $(add_frameworks_dep knotifications)
42 $(add_frameworks_dep knotifyconfig)
43 $(add_frameworks_dep kpackage)
44 $(add_frameworks_dep krunner)
45 $(add_frameworks_dep kservice)
46 $(add_frameworks_dep ktexteditor)
47 $(add_frameworks_dep ktextwidgets)
48 $(add_frameworks_dep kwallet)
49 $(add_frameworks_dep kwayland)
50 $(add_frameworks_dep kwidgetsaddons)
51 $(add_frameworks_dep kwindowsystem)
52 $(add_frameworks_dep kxmlgui)
53 $(add_frameworks_dep plasma)
54 $(add_frameworks_dep solid)
55 $(add_plasma_dep kscreenlocker)
56 $(add_plasma_dep kwin)
57 $(add_plasma_dep libksysguard)
58 $(add_plasma_dep libkworkspace)
60 $(add_qt_dep qtdeclarative 'widgets')
61 $(add_qt_dep qtgui 'jpeg')
62 $(add_qt_dep qtnetwork)
64 $(add_qt_dep qtwidgets)
65 $(add_qt_dep qtx11extras)
67 media-libs/phonon[qt5(+)]
78 x11-libs/xcb-util-image
79 appstream? ( dev-libs/appstream[qt5] )
80 calendar? ( $(add_frameworks_dep kholidays) )
81 geolocation? ( $(add_frameworks_dep networkmanager-qt) )
82 gps? ( sci-geosciences/gpsd )
83 prison? ( $(add_frameworks_dep prison) )
84 qalculate? ( sci-libs/libqalculate:= )
85 semantic-desktop? ( $(add_frameworks_dep baloo) )
87 DEPEND="${COMMON_DEPEND}
88 $(add_qt_dep qtconcurrent)
91 RDEPEND="${COMMON_DEPEND}
92 $(add_frameworks_dep kded)
93 $(add_frameworks_dep kdesu)
94 $(add_kdeapps_dep kio-extras)
95 $(add_plasma_dep ksysguard)
96 $(add_plasma_dep milou)
97 $(add_plasma_dep plasma-integration)
99 $(add_qt_dep qtgraphicaleffects)
100 $(add_qt_dep qtpaths)
101 $(add_qt_dep qtquickcontrols 'widgets')
109 systemd? ( sys-apps/dbus[user-session] )
110 !systemd? ( sys-apps/dbus )
111 !kde-plasma/freespacenotifier:4
112 !kde-plasma/libtaskmanager:4
113 !kde-plasma/kcminit:4
114 !kde-plasma/kdebase-startkde:4
115 !kde-plasma/klipper:4
116 !kde-plasma/krunner:4
117 !kde-plasma/ksmserver:4
118 !kde-plasma/ksplash:4
119 !kde-plasma/plasma-workspace:4
122 $(add_plasma_dep kde-cli-tools)
126 "${FILESDIR}/${PN}-5.4-startkde-script.patch"
127 "${FILESDIR}/${PN}-5.10-startplasmacompositor-script.patch"
128 "${FILESDIR}/${PN}-5.12.80-tests-optional.patch"
129 "${FILESDIR}/${PN}-5.14.2-split-libkworkspace.patch"
137 sed -e "s|\`qtpaths|\`$(qt5_get_bindir)/qtpaths|" \
138 -i startkde/startkde.cmake startkde/startplasmacompositor.cmake || die
140 cmake_comment_add_subdirectory libkworkspace
141 # delete colliding libkworkspace translations
142 if [[ ${KDE_BUILD_TYPE} = release ]]; then
143 find po -type f -name "*po" -and -name "libkworkspace*" -delete || die
149 -DBUILD_xembed-sni-proxy=OFF
150 $(cmake-utils_use_find_package appstream AppStreamQt)
151 $(cmake-utils_use_find_package calendar KF5Holidays)
152 $(cmake-utils_use_find_package geolocation KF5NetworkManagerQt)
153 $(cmake-utils_use_find_package prison KF5Prison)
154 $(cmake-utils_use_find_package qalculate Qalculate)
155 $(cmake-utils_use_find_package semantic-desktop KF5Baloo)
158 use gps && mycmakeargs+=( $(cmake-utils_use_find_package gps libgps) )
166 # startup and shutdown scripts
167 insinto /etc/plasma/startup
168 doins "${FILESDIR}/10-agent-startup.sh"
170 insinto /etc/plasma/shutdown
171 doins "${FILESDIR}/10-agent-shutdown.sh"
177 elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
178 elog "edit ${EPREFIX}/etc/plasma/startup/10-agent-startup.sh and"
179 elog "${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"