kde-plasma/plasma-workspace: amd64 stable wrt bug #678122
[gentoo.git] / kde-plasma / plasma-workspace / plasma-workspace-5.15.0.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 KDE_HANDBOOK="forceoptional"
7 KDE_TEST="forceoptional"
8 VIRTUALX_REQUIRED="test"
9 inherit kde5 qmake-utils
10
11 DESCRIPTION="KDE Plasma workspace"
12 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
13 IUSE="appstream +calendar geolocation gps prison qalculate +semantic-desktop systemd"
14
15 REQUIRED_USE="gps? ( geolocation )"
16
17 COMMON_DEPEND="
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 kded)
29         $(add_frameworks_dep kdelibs4support)
30         $(add_frameworks_dep kglobalaccel)
31         $(add_frameworks_dep kguiaddons)
32         $(add_frameworks_dep ki18n)
33         $(add_frameworks_dep kiconthemes)
34         $(add_frameworks_dep kidletime)
35         $(add_frameworks_dep kio)
36         $(add_frameworks_dep kitemmodels)
37         $(add_frameworks_dep kitemviews)
38         $(add_frameworks_dep kjobwidgets)
39         $(add_frameworks_dep kjs)
40         $(add_frameworks_dep kjsembed)
41         $(add_frameworks_dep knewstuff)
42         $(add_frameworks_dep knotifications)
43         $(add_frameworks_dep knotifyconfig)
44         $(add_frameworks_dep kpackage)
45         $(add_frameworks_dep krunner)
46         $(add_frameworks_dep kservice)
47         $(add_frameworks_dep ktexteditor)
48         $(add_frameworks_dep ktextwidgets)
49         $(add_frameworks_dep kwallet)
50         $(add_frameworks_dep kwayland)
51         $(add_frameworks_dep kwidgetsaddons)
52         $(add_frameworks_dep kwindowsystem)
53         $(add_frameworks_dep kxmlgui)
54         $(add_frameworks_dep plasma)
55         $(add_frameworks_dep solid)
56         $(add_plasma_dep kscreenlocker)
57         $(add_plasma_dep kwin)
58         $(add_plasma_dep libksysguard)
59         $(add_plasma_dep libkworkspace)
60         $(add_qt_dep qtdbus)
61         $(add_qt_dep qtdeclarative 'widgets')
62         $(add_qt_dep qtgui 'jpeg')
63         $(add_qt_dep qtnetwork)
64         $(add_qt_dep qtsql)
65         $(add_qt_dep qtwidgets)
66         $(add_qt_dep qtx11extras)
67         $(add_qt_dep qtxml)
68         media-libs/phonon[qt5(+)]
69         sys-libs/zlib
70         x11-libs/libICE
71         x11-libs/libSM
72         x11-libs/libX11
73         x11-libs/libXau
74         x11-libs/libxcb
75         x11-libs/libXfixes
76         x11-libs/libXrender
77         x11-libs/libXtst
78         x11-libs/xcb-util
79         x11-libs/xcb-util-image
80         appstream? ( dev-libs/appstream[qt5] )
81         calendar? ( $(add_frameworks_dep kholidays) )
82         geolocation? ( $(add_frameworks_dep networkmanager-qt) )
83         gps? ( sci-geosciences/gpsd )
84         prison? ( $(add_frameworks_dep prison) )
85         qalculate? ( sci-libs/libqalculate:= )
86         semantic-desktop? ( $(add_frameworks_dep baloo) )
87 "
88 DEPEND="${COMMON_DEPEND}
89         $(add_qt_dep qtconcurrent)
90         x11-base/xorg-proto
91 "
92 RDEPEND="${COMMON_DEPEND}
93         $(add_frameworks_dep kdesu)
94         $(add_frameworks_dep kirigami)
95         $(add_kdeapps_dep kio-extras)
96         $(add_plasma_dep ksysguard)
97         $(add_plasma_dep milou)
98         $(add_plasma_dep plasma-integration)
99         $(add_qt_dep qdbus)
100         $(add_qt_dep qtgraphicaleffects)
101         $(add_qt_dep qtpaths)
102         $(add_qt_dep qtquickcontrols 'widgets')
103         $(add_qt_dep qtquickcontrols2)
104         app-text/iso-codes
105         x11-apps/xmessage
106         x11-apps/xprop
107         x11-apps/xrdb
108         x11-apps/xsetroot
109         systemd? ( sys-apps/dbus[user-session] )
110         !systemd? ( sys-apps/dbus )
111         !<kde-plasma/plasma-desktop-5.14.80:5
112 "
113 PDEPEND="
114         $(add_plasma_dep kde-cli-tools)
115 "
116
117 PATCHES=(
118         "${FILESDIR}/${PN}-5.14.80-startkde-script.patch"
119         "${FILESDIR}/${PN}-5.10-startplasmacompositor-script.patch"
120         "${FILESDIR}/${PN}-5.12.80-tests-optional.patch"
121         "${FILESDIR}/${PN}-5.14.2-split-libkworkspace.patch"
122 )
123
124 RESTRICT+=" test"
125
126 src_prepare() {
127         kde5_src_prepare
128
129         sed -e "s|\`qtpaths|\`$(qt5_get_bindir)/qtpaths|" \
130                 -i startkde/startkde.cmake startkde/startplasmacompositor.cmake || die
131
132         cmake_comment_add_subdirectory libkworkspace
133         # delete colliding libkworkspace translations
134         if [[ ${KDE_BUILD_TYPE} = release ]]; then
135                 find po -type f -name "*po" -and -name "libkworkspace*" -delete || die
136         fi
137 }
138
139 src_configure() {
140         local mycmakeargs=(
141                 -DBUILD_xembed-sni-proxy=OFF
142                 $(cmake-utils_use_find_package appstream AppStreamQt)
143                 $(cmake-utils_use_find_package calendar KF5Holidays)
144                 $(cmake-utils_use_find_package geolocation KF5NetworkManagerQt)
145                 $(cmake-utils_use_find_package prison KF5Prison)
146                 $(cmake-utils_use_find_package qalculate Qalculate)
147                 $(cmake-utils_use_find_package semantic-desktop KF5Baloo)
148         )
149
150         use gps && mycmakeargs+=( $(cmake-utils_use_find_package gps libgps) )
151
152         kde5_src_configure
153 }
154
155 src_install() {
156         kde5_src_install
157
158         # startup and shutdown scripts
159         insinto /etc/plasma/startup
160         doins "${FILESDIR}/10-agent-startup.sh"
161
162         insinto /etc/plasma/shutdown
163         doins "${FILESDIR}/10-agent-shutdown.sh"
164 }
165
166 pkg_postinst () {
167         kde5_pkg_postinst
168
169         elog "To enable gpg-agent and/or ssh-agent in Plasma sessions,"
170         elog "edit ${EPREFIX}/etc/plasma/startup/10-agent-startup.sh and"
171         elog "${EPREFIX}/etc/plasma/shutdown/10-agent-shutdown.sh"
172 }