summaryrefslogtreecommitdiff
blob: 3f394ae5887ff014256f575db571c2082a47f918 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=6

KDE_GCC_MINIMAL="4.8"
KDE_HANDBOOK="true"
inherit kde5

DESCRIPTION="Power management for KDE Plasma Shell"
HOMEPAGE="https://projects.kde.org/projects/kde/workspace/powerdevil"
KEYWORDS="~amd64 ~arm ~x86"
IUSE="elogind systemd +wireless"

REQUIRED_USE="elogind? ( !systemd )
	systemd? ( !elogind )
"

DEPEND="
	$(add_frameworks_dep kactivities)
	$(add_frameworks_dep kauth policykit)
	$(add_frameworks_dep kcompletion)
	$(add_frameworks_dep kconfig)
	$(add_frameworks_dep kconfigwidgets)
	$(add_frameworks_dep kcoreaddons)
	$(add_frameworks_dep kcrash)
	$(add_frameworks_dep kdbusaddons)
	$(add_frameworks_dep kdelibs4support)
	$(add_frameworks_dep kglobalaccel)
	$(add_frameworks_dep ki18n)
	$(add_frameworks_dep kidletime)
	$(add_frameworks_dep kio)
	$(add_frameworks_dep knotifications)
	$(add_frameworks_dep knotifyconfig)
	$(add_frameworks_dep kservice)
	$(add_frameworks_dep kwayland)
	$(add_frameworks_dep kwidgetsaddons)
	$(add_frameworks_dep kxmlgui)
	$(add_frameworks_dep solid)
	$(add_plasma_dep libkscreen)
	$(add_plasma_dep plasma-workspace)
	$(add_qt_dep qtdbus)
	$(add_qt_dep qtgui)
	$(add_qt_dep qtwidgets)
	$(add_qt_dep qtx11extras)
	virtual/libudev:=
	x11-libs/libxcb
	wireless? (
		$(add_frameworks_dep bluez-qt)
		$(add_frameworks_dep networkmanager-qt)
	)
"

RDEPEND="${DEPEND}
	$(add_plasma_dep kde-cli-tools)
	systemd? ( >=sys-power/upower-0.9.23 )
	elogind? ( >=sys-power/upower-0.9.23 )
	!systemd? ( !elogind? (
		sys-auth/polkit-pkla-compat
		|| (
			(
				>=sys-auth/consolekit-1.0.1
				sys-power/pm-utils
				>=sys-power/upower-0.9.23
			)
			sys-power/upower-pm-utils
		)
	) )
	!kde-plasma/powerdevil:4
	!kde-plasma/systemsettings:4[handbook]
"

src_configure() {
	local mycmakeargs=(
		$(cmake-utils_use_find_package wireless KF5BluezQt)
		$(cmake-utils_use_find_package wireless KF5NetworkManagerQt)
	)

	kde5_src_configure
}

src_install() {
	kde5_src_install

	if ! use systemd && ! use elogind ; then
		insinto /etc/polkit-1/localauthority/10-vendor.d/
		doins "${FILESDIR}"/10-org.freedesktop.upower.pkla
		doins "${FILESDIR}"/20-org.freedesktop.consolekit.system.stop-multiple-users.pkla
		doins "${FILESDIR}"/30-org.freedesktop.consolekit.system.restart-multiple-users.pkla
		doins "${FILESDIR}"/40-org.freedesktop.consolekit.system.suspend-multiple-users.pkla
		doins "${FILESDIR}"/50-org.freedesktop.consolekit.system.hibernate-multiple-users.pkla
	fi
}

pkg_postinst() {
	kde5_pkg_postinst

	if has_version sys-power/upower-pm-utils && ! use systemd && ! use elogind ; then
		ewarn "You have sys-power/upower-pm-utils installed, which was recommended in the past to"
		ewarn "enable suspend and hibernate support. This workaround is no longer required, and it"
		ewarn "is now recommended to use a recent version of upower and consolekit instead:"
		ewarn
		ewarn "emerge --ask --update \">=sys-auth/consolekit-1.0.0\" sys-power/upower"
	fi
}