6528043745047effa4b03f8d886a0fb7e9a3960e
[gentoo.git] / app-laptop / laptop-mode-tools / laptop-mode-tools-1.72.2.ebuild
1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit multilib systemd udev
7
8 MY_P="${PN}_${PV}"
9
10 DESCRIPTION="Linux kernel laptop_mode user-space utilities"
11 HOMEPAGE="https://github.com/rickysarraf/laptop-mode-tools/wiki"
12 SRC_URI="https://github.com/rickysarraf/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
13
14 LICENSE="GPL-2"
15 SLOT="0"
16 KEYWORDS="amd64 ppc x86"
17 IUSE="+acpi apm bluetooth"
18
19 RDEPEND="sys-apps/iproute2
20         sys-apps/ethtool
21         sys-apps/which
22         || (
23                 sys-apps/sdparm
24                 sys-apps/hdparm
25         )
26         acpi? ( sys-power/acpid )
27         apm? ( sys-apps/apmd )
28         bluetooth? ( net-wireless/bluez:= )"
29 DEPEND=""
30
31 S="${WORKDIR}/${MY_P}"
32
33 src_prepare() {
34         default
35         # This should avoid conflict with pm-powersave wrt #327443 and #396703
36         cat <<-EOF > "${T}"/${PN}
37         HOOK_BLACKLIST="00powersave"
38         EOF
39 }
40
41 src_compile() { :; }
42
43 src_install() {
44         DESTDIR="${D}" \
45                 INIT_D="none" \
46                 MAN_D="/usr/share/man" \
47                 LIB_D="/usr/$(get_libdir)" \
48                 UDEV_D="$(get_udevdir)" \
49                 SYSTEMD_UNIT_D="$(systemd_get_systemunitdir)" \
50                 TMPFILES_D="/usr/lib/tmpfiles.d" \
51                 ACPI="$(use acpi && echo force || echo disabled)" \
52                 PMU="$(false && echo force || echo disabled)" \
53                 APM="$(use apm && echo force || echo disabled)" \
54                 SYSTEMD=yes \
55                 sh ./install.sh || die
56
57         dodoc Documentation/*.txt README.md
58         newinitd "${FILESDIR}"/laptop_mode.init-1.4 laptop_mode
59
60         # See src_prepare()
61         insinto /etc/pm/config.d
62         doins "${T}"/${PN}
63 }
64
65 pkg_postinst() {
66         if use acpi || use apm; then
67                 if use acpi; then
68                         daemon_name="acpid"
69                 elif use apm; then
70                         deamon_name="apmd"
71                 fi
72                 if [ "$(rc-config list default | grep laptop_mode)" = "" ] || [ "$(rc-config list default | grep ${daemon_name} )" = "" ]; then
73                         ewarn "To enable automatic power state event handling,"
74                         ewarn "e.g. enabling laptop_mode after unplugging the battery,"
75                         ewarn "both laptop_mode and the ${daemon_name} daemon must be"
76                         ewarn "added to default runlevel:"
77                         if [ "$(rc-config list default | grep laptop_mode)" = "" ]; then
78                                 ewarn "# rc-update add laptop_mode default"
79                         fi
80                         if [ "$(rc-config list default | grep ${daemon_name} )" = "" ]; then
81                                 ewarn "# rc-update add ${daemon_name} default"
82                         fi
83                 fi
84         else
85                 ewarn "Without USE=\"acpi\" or USE=\"apm\" ${PN} can not"
86                 ewarn "automatically disable laptop_mode on low battery."
87                 ewarn
88                 ewarn "This means you can lose up to 10 minutes of work if running"
89                 ewarn "out of battery while laptop_mode is enabled."
90                 ewarn
91                 ewarn "Please see laptop-mode.txt in /usr/share/doc/${PF} for further"
92                 ewarn "information."
93                 ewarn
94         fi
95 }