summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-laptop/pbbuttonsd/pbbuttonsd-0.8.1a.ebuild')
-rw-r--r--app-laptop/pbbuttonsd/pbbuttonsd-0.8.1a.ebuild137
1 files changed, 137 insertions, 0 deletions
diff --git a/app-laptop/pbbuttonsd/pbbuttonsd-0.8.1a.ebuild b/app-laptop/pbbuttonsd/pbbuttonsd-0.8.1a.ebuild
new file mode 100644
index 000000000000..4192691ecccd
--- /dev/null
+++ b/app-laptop/pbbuttonsd/pbbuttonsd-0.8.1a.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools flag-o-matic
+
+DESCRIPTION="Handles power management and special keys on laptops"
+HOMEPAGE="http://pbbuttons.berlios.de"
+SRC_URI="mirror://sourceforge/pbbuttons/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="acpi alsa doc ibam macbook oss static-libs"
+
+RDEPEND="
+ >=dev-libs/glib-2.6
+ alsa? ( >=media-libs/alsa-lib-1.0 )
+ macbook? (
+ sys-apps/pciutils
+ sys-libs/libsmbios
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ doc? ( app-doc/doxygen )
+"
+PATCHES=(
+ "${FILESDIR}/cpufreq.patch"
+ "${FILESDIR}/fnmode.patch"
+ "${FILESDIR}/laptopmode.sh.patch"
+ "${FILESDIR}/lm.patch"
+ "${FILESDIR}/lz.patch"
+)
+
+src_prepare() {
+ ### Don't link with g++ if we don't use ibam
+ if ! use ibam; then
+ eapply "${FILESDIR}/g++.patch"
+ fi
+
+ default
+
+ eautoconf
+}
+
+src_configure() {
+ # Fix crash bug on some systems
+ replace-flags -O? -O1
+
+ if use macbook; then
+ laptop=macbook
+ elif use x86 || use amd64; then
+ if use acpi; then
+ laptop=acpi
+ else
+ laptop=i386
+ fi
+ # Default to PowerBook
+ else
+ laptop=powerbook
+ fi
+
+ laptop=$laptop \
+ econf \
+ $(use_with alsa) \
+ $(use_with doc doxygen_docs) \
+ $(use_with ibam) \
+ $(use_with oss)
+
+}
+
+src_compile() {
+ # Thanks to Stefan Bruda for this workaround
+ # Using -j1 fixes a parallel build issue with the docs
+ if use doc; then
+ emake -j1
+ else
+ emake
+ fi
+}
+
+src_install() {
+ dodir /etc/power
+ use ibam && dodir /var/lib/ibam
+
+ default
+
+ use static-libs || rm "${D}"/usr/$(get_libdir)/libpbb.a
+
+ newinitd "${FILESDIR}/pbbuttonsd.rc6" pbbuttonsd
+ dodoc README
+ use doc && dodoc -r doc/
+
+ dodir /etc/power/resume.d
+ dodir /etc/power/suspend.d
+ dodir /etc/power/scripts.d
+ exeinto /etc/power/scripts.d
+ doexe "${FILESDIR}"/wireless
+ ln -s "${D}"/etc/power/scripts.d/wireless "${D}"/etc/power/resume.d/wireless
+}
+
+pkg_postinst() {
+ if [ -e /etc/pbbuttonsd.conf ]; then
+ ewarn "The pbbuttonsd.cnf file replaces /etc/pbuttonsd.conf with a new"
+ ewarn "file (/etc/pbbuttonsd.conf) and a new format. Please check the"
+ ewarn "manual page with 'man pbbuttonsd.cnf' for details."
+ ewarn
+ fi
+
+ if use macbook; then
+ ewarn "Macbook and Macbook Pro users should make sure to have applesmc"
+ ewarn "loaded before starting pbbuttonsdm otherwise auto-adjustments"
+ ewarn "will not work and pbbuttonsd may segfault."
+ ewarn
+ fi
+
+ ewarn "Ensure that the evdev kernel module is loaded otherwise"
+ ewarn "pbbuttonsd won't work. SysV IPC is also required."
+ ewarn
+ ewarn "If you need extra security, you can tell pbbuttonsd to only accept"
+ ewarn "input from one user. You can set the userallowed option in"
+ ewarn "/etc/pbbuttonsd.cnf to limit access."
+ ewarn
+
+ if use ibam; then
+ elog "To properly initialize the IBaM battery database, you will"
+ elog "need to perform a full discharge/charge cycle. For more"
+ elog "details, please see the pbbuttonsd man page."
+ elog
+ fi
+
+ elog "A script is now available to reset your wirless connection on resume."
+ elog "Simply uncomment the commented command and set the correct device to"
+ elog "use it. You can find the script in /etc/power/resume.d/wireless"
+
+}