summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Buchholz <rbu@gentoo.org>2007-02-18 23:02:56 +0000
committerRobert Buchholz <rbu@gentoo.org>2007-02-18 23:02:56 +0000
commit2ff711ac0458055024e5cfd7297b5a69d190015e (patch)
tree15eaecbc64bbaf4444a8d6cbbca0702b51e6d23b /app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild
parentStable for HPPA (bug #167201). (diff)
downloadgentoo-2-2ff711ac0458055024e5cfd7297b5a69d190015e.tar.gz
gentoo-2-2ff711ac0458055024e5cfd7297b5a69d190015e.tar.bz2
gentoo-2-2ff711ac0458055024e5cfd7297b5a69d190015e.zip
Introducing LCD_DEVICES, move of config file, code should compile on non-x86 again, new init-script and other fixes
(Portage version: 2.1.2-r9)
Diffstat (limited to 'app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild')
-rw-r--r--app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild157
1 files changed, 157 insertions, 0 deletions
diff --git a/app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild b/app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild
new file mode 100644
index 000000000000..9c9ad96957cf
--- /dev/null
+++ b/app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lcd4linux/lcd4linux-0.10.0-r1.ebuild,v 1.1 2007/02/18 23:02:56 rbu Exp $
+
+inherit eutils
+
+DESCRIPTION="Shows system and ISDN information on an external display or in a X11 window"
+HOMEPAGE="http://ssl.bulix.org/projects/${PN}"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+
+IUSE="mysql"
+
+# The following array holds the USE_EXPANDed keywords
+IUSE_LCD_DEVICES=(beckmannegle bwct cfontz ncurses cwlinux
+ hd44780 lcdlinux lcdterm m50530 mtxorb
+ milfordbpk noritake null png ppm
+ routerboard serdisplib simplelcd t6963 trefon
+ usblcd X)
+
+# Iterate through the array and add the lcd_devices_* that we support
+NUM_DEVICES=${#IUSE_LCD_DEVICES[@]}
+index=0
+while [ "${index}" -lt "${NUM_DEVICES}" ] ; do
+ IUSE="${IUSE} lcd_devices_${IUSE_LCD_DEVICES[$index]}"
+ let "index = ${index} + 1"
+done
+
+DEPEND="
+ mysql? ( virtual/mysql )
+
+ lcd_devices_bwct? ( dev-libs/libusb )
+ lcd_devices_trefon? ( dev-libs/libusb )
+ lcd_devices_usblcd? ( dev-libs/libusb )
+ lcd_devices_ncurses? ( sys-libs/ncurses )
+ lcd_devices_noritake? ( media-libs/gd )
+ lcd_devices_t6963? ( media-libs/gd )
+ lcd_devices_png? ( media-libs/libpng media-libs/gd )
+ lcd_devices_X? ( x11-libs/libX11 media-libs/gd )
+ lcd_devices_serdisplib? ( dev-libs/serdisplib media-libs/gd )"
+# python support is b0rked, waiting for upstream release to fix
+# python? ( dev-lang/python )
+
+
+pkg_setup() {
+ elog "If you wish to compile only specific plugins, please use"
+ elog "the LCD4LINUX_PLUGINS environment variable. Plugins must be comma separated and can be either of:"
+ elog "apm cpuinfo diskstats dvb exec i2c_sensors imon isdn loadavg meminfo netdev pop3 ppp proc_stat sample seti statfs uname uptime wireless"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-kernel2.6.19.patch"
+ epatch "${FILESDIR}/${P}-gcc4-compat.patch"
+ epatch "${FILESDIR}/${P}-null-driver.patch"
+}
+
+src_compile() {
+ # This array contains the driver names required by configure --with-drivers=
+ # The positions must be the same as the corresponding use_expand flags
+ local DEVICE_DRIVERS=(BeckmannEgle BWCT CrystalFontz Curses Cwlinux
+ HD44780 LCDLinux LCDTerm M50530 MatrixOrbital
+ MilfordInstruments Noritake NULL PNG PPM
+ RouterBoard serdisplib SimpleLCD T6963 Trefon
+ USBLCD X11)
+
+ local myconf myp
+
+ # need to grab upstream's *.m4 and fix python building
+ # they didn't have python properly set up originally.
+ #myconf="${myconf} $(use_with python)"
+ myconf="${myconf} --without-python"
+
+
+ # plugins
+ if [ -n "$LCD4LINUX_PLUGINS" ]; then
+ myp="$LCD4LINUX_PLUGINS"
+ use mysql || myp="${myp},!mysql"
+ myp="${myp},!python"
+ #use python || myp="${myp},!python"
+ elog "Active plugins (overridden): ${myp}"
+ else
+ myp="all"
+ use mysql || myp="${myp},!mysql"
+ #use python || myp="${myp},!python"
+ myp="${myp},!python"
+ elog "Active plugins: ${myp}"
+ fi
+
+ # Generate comma separated list of drivers
+ local COMMA_DRIVERS
+ local FIRST_DRIVER
+ local index=0
+ local driver
+
+ while [ "${index}" -lt "${NUM_DEVICES}" ] ; do
+ if use "lcd_devices_${IUSE_LCD_DEVICES[$index]}" ; then
+ driver=${DEVICE_DRIVERS[$index]}
+ if [ -z ${COMMA_DRIVERS} ] ; then
+ # First in the list
+ COMMA_DRIVERS="${driver}"
+ FIRST_DRIVER="${driver}"
+ else
+ # Second, third, ... include a comma at the front
+ COMMA_DRIVERS="${COMMA_DRIVERS},${driver}"
+ fi
+ fi
+ let "index = ${index} + 1"
+ done
+
+ # activate at least one driver
+ if [ -z ${COMMA_DRIVERS} ] ; then
+ COMMA_DRIVERS="NULL"
+ fi
+
+ # avoid package brokenness
+ use lcd_devices_X && myconf="${myconf} --x-libraries=/usr/lib --x-include=/usr/include"
+ use lcd_devices_X || myconf="${myconf} --without-x"
+
+ econf \
+ --sysconfdir=/etc/lcd4linux \
+ --with-drivers="${COMMA_DRIVERS}" \
+ --with-plugins="${myp}" \
+ ${myconf} \
+ || die "econf failed"
+
+ sed -i.orig -e 's/-L -lX11/ -lX11 /g' Makefile || die "sed fixup failed"
+
+ emake || die "make failed"
+}
+
+src_install() {
+ # upstream's makefile acts weird, and tries to recompile stuff
+ dobin lcd4linux
+
+ dodoc README* NEWS TODO CREDITS FAQ AUTHORS ChangeLog
+
+ newinitd "${FILESDIR}/${P}.initd" ${PN}
+
+ insinto /etc
+ insopts -o root -g root -m 0600
+ newins lcd4linux.conf.sample lcd4linux.conf
+}
+
+pkg_postinst() {
+ if use lcd_devices_lcdlinux; then
+ ewarn "To actually use the lcd-linux devices, you will need to install the lcd-linux kernel module."
+ ewarn "You can either do that yourself, see http://lcd-linux.sf.net or "
+ ewarn "checkout http://overlays.gentoo.org/dev/jokey/browser/trunk and emerge app-misc/lcd-linux"
+ fi
+ ewarn "If you are upgrading, please note that the default config file was moved to /etc/lcd4linux.conf"
+}