diff options
Diffstat (limited to 'app-misc/lcdproc')
-rw-r--r-- | app-misc/lcdproc/ChangeLog | 11 | ||||
-rw-r--r-- | app-misc/lcdproc/files/0.5.1-LCDd-conf-driver-path.patch | 13 | ||||
-rw-r--r-- | app-misc/lcdproc/files/0.5.1-g15daemon-1.9.patch | 74 | ||||
-rw-r--r-- | app-misc/lcdproc/files/digest-lcdproc-0.5.1-r4 (renamed from app-misc/lcdproc/files/digest-lcdproc-0.5.1-r1) | 0 | ||||
-rw-r--r-- | app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild | 198 | ||||
-rw-r--r-- | app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild | 4 | ||||
-rw-r--r-- | app-misc/lcdproc/lcdproc-0.5.1-r4.ebuild | 187 |
7 files changed, 273 insertions, 214 deletions
diff --git a/app-misc/lcdproc/ChangeLog b/app-misc/lcdproc/ChangeLog index 09413dba78c2..e54008e84398 100644 --- a/app-misc/lcdproc/ChangeLog +++ b/app-misc/lcdproc/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for app-misc/lcdproc # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/ChangeLog,v 1.48 2007/01/29 00:19:11 rbu Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/ChangeLog,v 1.49 2007/03/20 23:46:40 rbu Exp $ + +*lcdproc-0.5.1-r4 (20 Mar 2007) + + 20 Mar 2007; Robert Buchholz <rbu@gentoo.org> + +files/0.5.1-g15daemon-1.9.patch, + -files/0.5.1-LCDd-conf-driver-path.patch, -lcdproc-0.5.1-r1.ebuild, + lcdproc-0.5.1-r3.ebuild, +lcdproc-0.5.1-r4.ebuild: + Included an upstream patch for better g15daemon-1.9 compatibility, dropping + 0.5.1-r1 because it does not support LCD_DEVICES *lcdproc-0.5.1-r3 (29 Jan 2007) diff --git a/app-misc/lcdproc/files/0.5.1-LCDd-conf-driver-path.patch b/app-misc/lcdproc/files/0.5.1-LCDd-conf-driver-path.patch deleted file mode 100644 index 5da934ba8d84..000000000000 --- a/app-misc/lcdproc/files/0.5.1-LCDd-conf-driver-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -This patch is only used in 0.5.1-r1 - ---- LCDd.conf.orig 2006-09-22 07:26:02.069860250 +0200 -+++ LCDd.conf 2006-09-22 07:26:12.458509500 +0200 -@@ -76,7 +76,7 @@ - # the driver modules and will thus not be able to - # function properly. - # NOTE: Always place a slash as last character ! --DriverPath=server/drivers/ -+DriverPath=/usr/share/lcdproc/drivers/ - - # The "...Key=" lines define what the server does with keypresses that - # don't go to any client. diff --git a/app-misc/lcdproc/files/0.5.1-g15daemon-1.9.patch b/app-misc/lcdproc/files/0.5.1-g15daemon-1.9.patch new file mode 100644 index 000000000000..1be3d75b0fea --- /dev/null +++ b/app-misc/lcdproc/files/0.5.1-g15daemon-1.9.patch @@ -0,0 +1,74 @@ +Upstream patch by Anthony J. Mirabella for >=app-misc/g15daemon-1.9 + +Included in >=0.5.1-r4 + +--- ./server/drivers/g15.c 2006/09/30 18:18:23 1.2 ++++ ./server/drivers/g15.c 2006/11/12 09:44:16 1.3 +@@ -30,6 +30,7 @@ + #include <errno.h> + #include <syslog.h> + #include <sys/socket.h> ++#include <sys/types.h> + #include <libg15.h> + #include <g15daemon_client.h> + #include <libg15render.h> +@@ -70,6 +71,7 @@ + p->cellheight = G15_CELL_HEIGHT; + p->backlight_state = BACKLIGHT_ON; + p->g15screen_fd = 0; ++ p->g15d_ver = g15daemon_version(); + + if((p->g15screen_fd = new_g15_screen(G15_G15RBUF)) < 0) + { +@@ -372,14 +374,35 @@ + MODULE_EXPORT const char * g15_get_key (Driver *drvthis) + { + PrivateData *p = drvthis->private_data; +- ++ int toread = 0; + unsigned int key_state = 0; +- +- if(send(p->g15screen_fd, "k", 1, MSG_OOB)<1) /* request key status */ +- report(RPT_INFO, "%s: Error in send to g15daemon", drvthis->name); + +- recv(p->g15screen_fd, &key_state , sizeof(key_state),0); ++ if ((strncmp("1.2", p->g15d_ver, 3))) ++ { /* other than g15daemon-1.2 (should be >=1.9) */ ++ fd_set fds; ++ struct timeval tv; ++ memset (&tv, 0, sizeof(struct timeval)); ++ ++ FD_ZERO(&fds); ++ FD_SET(p->g15screen_fd, &fds); + ++ toread = select(FD_SETSIZE, &fds, NULL, NULL, &tv); ++ } ++ else ++ { /* g15daemon-1.2 */ ++ if(send(p->g15screen_fd, "k", 1, MSG_OOB)<1) /* request key status */ ++ { ++ report(RPT_INFO, "%s: Error in send to g15daemon", drvthis->name); ++ return NULL; ++ } ++ toread = 1; ++ } ++ ++ if (toread >= 1) ++ read(p->g15screen_fd, &key_state, sizeof(key_state)); ++ else ++ return NULL; ++ + if (key_state & G15_KEY_G1) + return "Escape"; + else if (key_state & G15_KEY_L1) +--- ./server/drivers/g15.h 2006/09/30 18:18:23 1.2 ++++ ./server/drivers/g15.h 2006/11/12 09:44:17 1.3 +@@ -32,6 +32,8 @@ + int cellwidth, cellheight; + /* file descriptor for g15daemon socket */ + int g15screen_fd; ++ /* g15daemon version for compatibility checks */ ++ const char *g15d_ver; + /* canvas for LCD contents */ + g15canvas *canvas; + g15canvas *backingstore; diff --git a/app-misc/lcdproc/files/digest-lcdproc-0.5.1-r1 b/app-misc/lcdproc/files/digest-lcdproc-0.5.1-r4 index 247c7eae1867..247c7eae1867 100644 --- a/app-misc/lcdproc/files/digest-lcdproc-0.5.1-r1 +++ b/app-misc/lcdproc/files/digest-lcdproc-0.5.1-r4 diff --git a/app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild b/app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild deleted file mode 100644 index 1c23fb0c04b5..000000000000 --- a/app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild +++ /dev/null @@ -1,198 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild,v 1.5 2007/01/28 15:18:55 rbu Exp $ - -WANT_AUTOCONF="latest" -WANT_AUTOMAKE="latest" -inherit eutils flag-o-matic autotools - -DESCRIPTION="Client/Server suite to drive all kinds of LCD (-like) devices" -HOMEPAGE="http://lcdproc.org/" -SRC_URI="mirror://sourceforge/lcdproc/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~sparc ~x86" - -# general use keywords in first line, drivers in line 2 -IUSE="doc debug ldap nfs samba seamless-hbars usb - g15 graphlcd irman lirc ncurses svga ula200 xosd" - -DEPEND=" - doc? ( app-text/xmlto ) - ldap? ( net-nds/openldap ) - usb? ( dev-libs/libusb ) - - graphlcd? ( app-misc/graphlcd-base app-misc/glcdprocdriver ) - g15? ( app-misc/g15daemon dev-libs/libg15 >=dev-libs/libg15render-1.1.1 ) - irman? ( media-libs/libirman ) - lirc? ( app-misc/lirc ) - ncurses? ( sys-libs/ncurses ) - svga? ( media-libs/svgalib ) - ula200? ( dev-embedded/libftdi dev-libs/libusb ) - xosd? ( x11-libs/xosd x11-libs/libX11 x11-libs/libXext ) " -RDEPEND=${DEPEND} - -USE_DRIVERS="curses g15 glcdlib irman lirc svga ula200 xosd" -EXTRA_DRIVERS="bayrad CFontz CFontz633 CFontzPacket CwLnx EyeboxOne \ - glk hd44780 icp_a106 imon IOWarrior joy lb216 lcdm001 \ - lcterm MD8800 ms6931 mtc_s16209x MtxOrb NoritakeVFD pyramid sed1330 \ - sed1520 serialVFD sli stv5730 t6963 text tyan " -ALL_DRIVERS="${USE_DRIVERS} ${EXTRA_DRIVERS}" - -# compatibility with 0.4-ebuild format -LCDPROC_DRIVERS=${LCDPROC_DRIVERS//,/ } - -# if no drivers or all are set, select the defaults -has all ${LCDPROC_DRIVERS} \ - && LCDPROC_DRIVERS="${EXTRA_DRIVERS}" -[ -z "${LCDPROC_DRIVERS}" ] \ - && LCDPROC_DRIVERS="${EXTRA_DRIVERS}" -has none ${LCDPROC_DRIVERS} \ - && LCDPROC_DRIVERS="" - -pkg_setup() { - echo - einfo "If you are updating from lcdproc-0.4, note that the setup of drivers has changed:" - einfo "The drivers ${USE_DRIVERS// /, } are controlled by use flags." - einfo "All other drivers are built by default, or in respect to the env variable" - einfo "LCDPROC_DRIVERS which can be a space separated list. Example:" - einfo " LCDPROC_DRIVERS=\"text CFontz\" emerge lcdproc" - einfo "You can also set this variable in your make.conf." - echo - einfo "Possible choices for LCDPROC_DRIVERS are:" - - # Nice Output of EXTRA_DRIVERS - local LINE=" " - local ELEM=0 - for driver in ${EXTRA_DRIVERS}; do - ELEM=$((${ELEM}+1)) - LINE="${LINE} ${driver}" - if [ "${ELEM}" = 8 ]; then - einfo "${LINE}" - ELEM=0 - LINE=" " - fi - done - if [ ! "${ELEM}" = 0 ]; then - einfo "${LINE}" - fi - - einfo " 'all' if you want to include all drivers (default)." - einfo " 'none' will not include any extra drivers." - echo - - local FILTERED_DRIVERS - for driver in ${LCDPROC_DRIVERS}; do - if has ${driver} ${EXTRA_DRIVERS} ; then - FILTERED_DRIVERS="${FILTERED_DRIVERS} ${driver}" - else - eerror "The extra driver '${driver}' is not available or has to be enabled by a USE flag." - eerror "Please check your LCDPROC_DRIVERS variable!" - echo - fi - done - LCDPROC_DRIVERS="${FILTERED_DRIVERS}" - - # add use-flag specific drivers to LCDPROC_DRIVERS - use graphlcd && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} glcdlib" - use g15 && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} g15" - use irman && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} irman" - use lirc && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} lirc" - use ncurses && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} curses" - use svga && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} svga" - use ula200 && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} ula200" - use xosd && LCDPROC_DRIVERS="${LCDPROC_DRIVERS} xosd" - - einfo "The following drivers will be built: " - echo - - for driver in ${ALL_DRIVERS}; do - has ${driver} ${LCDPROC_DRIVERS} && einfo $driver - if (! use usb) && (has ${driver} "CFontzPacket CwLnx pyramid"); then - ewarn "${driver} might not compile if you do not enable USE=\"usb\"" - fi - done -} - -src_unpack() { - unpack ${A} - cd "${S}" - epatch "${FILESDIR}/${PV}-LCDd-conf-driver-path.patch" - epatch "${FILESDIR}/${PV}-as-needed.patch" - epatch "${FILESDIR}/${PV}-serialvfd-parallel.patch" - eautoreconf -} - -src_compile() { - # avoid executable stack as mentioned - # in http://www.gentoo.org/proj/en/hardened/gnu-stack.xml - append-ldflags -Wl,-z,noexecstack - - # convert space separated LCDPROC_DRIVERS to comma separated COMMA_DRIVERS - local COMMA_DRIVERS - for driver in ${LCDPROC_DRIVERS}; do - if [ -z "${COMMA_DRIVERS}" ] ; then - COMMA_DRIVERS="${driver}" - else - COMMA_DRIVERS="${COMMA_DRIVERS},${driver}" - fi - done - - econf \ - $(use_enable debug) \ - $(use_enable ldap) \ - $(use_enable nfs stat-nfs) \ - $(use_enable samba stat-smbfs ) \ - $(use_enable seamless-hbars) \ - $(use_enable usb libusb) \ - "--enable-drivers=${COMMA_DRIVERS}" \ - || die "configure failed" - - emake || die "make failed" - - if use doc; then - ebegin "Creating user documentation" - cd ${S}/docs/lcdproc-user - xmlto html lcdproc-user.docbook - eend 0 - ebegin "Creating dev documentation" - cd ${S}/docs/lcdproc-dev - xmlto html lcdproc-dev.docbook - eend 0 - fi -} - -src_install() { - dosbin server/LCDd - dobin clients/lcdexec/lcdexec - dobin clients/lcdproc/lcdproc - dobin clients/lcdvc/lcdvc - - insinto /usr/share/lcdproc/drivers - doins server/drivers/*.so - - insinto /usr/share/lcdproc/clients - doins clients/examples/*.pl - doins clients/metar/lcdmetar.pl - - insinto /etc - doins LCDd.conf - doins clients/lcdexec/lcdexec.conf - doins clients/lcdproc/lcdproc.conf - doins clients/lcdvc/lcdvc.conf - - newinitd "${FILESDIR}/${PV}-LCDd.initd" LCDd - newinitd "${FILESDIR}/${PV}-lcdproc.initd" lcdproc - - doman docs/*.1 docs/*.5 docs/*.8 - dodoc README CREDITS ChangeLog INSTALL TODO - dodoc docs/README.* docs/*.txt - - if use doc; then - insinto /usr/share/doc/${PF}/lcdproc-user - doins docs/lcdproc-user/*.html - insinto /usr/share/doc/${PF}/lcdproc-dev - doins docs/lcdproc-dev/*.html - fi -} diff --git a/app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild b/app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild index 9f394e006b26..9e8db7051c1d 100644 --- a/app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild +++ b/app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild,v 1.1 2007/01/29 00:19:11 rbu Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.1-r3.ebuild,v 1.2 2007/03/20 23:46:40 rbu Exp $ WANT_AUTOCONF="latest" WANT_AUTOMAKE="latest" @@ -52,7 +52,7 @@ RDEPEND=" DEPEND="${RDEPEND} doc? ( app-text/xmlto )" RDEPEND="${RDEPEND} - lcd_devices_g15? ( app-misc/g15daemon )" + lcd_devices_g15? ( <app-misc/g15daemon-1.9.0 )" pkg_setup() { if [ -n "${LCDPROC_DRIVERS}" ] ; then diff --git a/app-misc/lcdproc/lcdproc-0.5.1-r4.ebuild b/app-misc/lcdproc/lcdproc-0.5.1-r4.ebuild new file mode 100644 index 000000000000..e5f770999d08 --- /dev/null +++ b/app-misc/lcdproc/lcdproc-0.5.1-r4.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.1-r4.ebuild,v 1.1 2007/03/20 23:46:40 rbu Exp $ + +WANT_AUTOCONF="latest" +WANT_AUTOMAKE="latest" +inherit eutils autotools multilib + +DESCRIPTION="Client/Server suite to drive all kinds of LCD (-like) devices" +HOMEPAGE="http://lcdproc.org/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" + +IUSE="doc debug ldap nfs samba seamless-hbars usb lirc irman joystick" + +# The following array holds the USE_EXPANDed keywords +IUSE_LCD_DEVICES=(ncurses bayrad cfontz cfontz633 cfontzpacket + cwlinux eyeboxone g15 graphlcd glk + hd44780 icpa106 imon iowarrior + lb216 lcdm001 lcterm + md8800 ms6931 mtcs16209x mtxorb noritakevfd + pyramid sed1330 sed1520 serialvfd sli + stv5730 svga t6963 text tyan + ula200 xosd) + +# 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 + +RDEPEND=" + ldap? ( net-nds/openldap ) + usb? ( dev-libs/libusb ) + lirc? ( app-misc/lirc ) + irman? ( media-libs/libirman ) + + lcd_devices_graphlcd? ( app-misc/graphlcd-base app-misc/glcdprocdriver ) + lcd_devices_g15? ( dev-libs/libg15 >=dev-libs/libg15render-1.1.1 ) + lcd_devices_ncurses? ( sys-libs/ncurses ) + lcd_devices_svga? ( media-libs/svgalib ) + lcd_devices_ula200? ( dev-embedded/libftdi dev-libs/libusb ) + lcd_devices_xosd? ( x11-libs/xosd x11-libs/libX11 x11-libs/libXext ) + lcd_devices_cfontzpacket? ( dev-libs/libusb ) + lcd_devices_cwlinux? ( dev-libs/libusb ) + lcd_devices_pyramid? ( dev-libs/libusb )" +DEPEND="${RDEPEND} + doc? ( app-text/xmlto )" +RDEPEND="${RDEPEND} + lcd_devices_g15? ( app-misc/g15daemon )" + +pkg_setup() { + if [ -n "${LCDPROC_DRIVERS}" ] ; then + ewarn "Setting the drivers to compile via LCDPROC_DRIVERS is not supported anymore." + ewarn "Please use LCD_DEVICES now and see emerge -pv output for the options." + fi +} + +src_unpack() { + unpack ${A} + cd "${S}" + + sed -i "79s:server/drivers:/usr/$(get_libdir)/lcdproc:" LCDd.conf + einfo "Patching LCDd.conf to use DriverPath=/usr/$(get_libdir)/lcdproc/" + + epatch "${FILESDIR}/${PV}-as-needed.patch" + epatch "${FILESDIR}/${PV}-serialvfd-parallel.patch" + epatch "${FILESDIR}/${PV}-nested-functions.patch" + epatch "${FILESDIR}/${PV}-g15daemon-1.9.patch" + eautoreconf +} + +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=(curses bayrad CFontz CFontz633 CFontzPacket + CwLnx EyeboxOne g15 glcdlib glk + hd44780 icp_a106 imon IOWarrior + lb216 lcdm001 lcterm + MD8800 ms6931 mtc_s16209x MtxOrb NoritakeVFD + pyramid sed1330 sed1520 serialVFD sli + stv5730 svga t6963 text tyan + ula200 xosd) + + # Generate comma separated list of drivers + COMMA_DRIVERS="" + FIRST_DRIVER="" + local index=0 + + while [ "${index}" -lt "${NUM_DEVICES}" ] ; do + if use "lcd_devices_${IUSE_LCD_DEVICES[${index}]}" ; then + append-driver "${DEVICE_DRIVERS[${index}]}" + fi + let "index = ${index} + 1" + done + + # Append the not-lcd-drivers (input) + use lirc && append-driver "lirc" + use irman && append-driver "irman" + use joystick && append-driver "joy" + + if [ -z "${COMMA_DRIVERS}" ] ; then + ewarn "You are compiling LCDd without support for any LCD drivers at all." + else + # Patch the config to contain a driver that is actually installed instead of the default + elog "Compiling the following drivers for LCDd: ${COMMA_DRIVERS}" + elog "Setting Driver=${FIRST_DRIVER} in LCDd.conf" + sed -i "44s:curses:${FIRST_DRIVER}:" LCDd.conf + fi + + local ENABLEUSB + if use lcd_devices_cfontzpacket || use lcd_devices_cwlinux || use lcd_devices_pyramid; then + ENABLEUSB="--enable-libusb" + else + ENABLEUSB="$(use_enable usb libusb)" + fi + + econf \ + $(use_enable debug) \ + $(use_enable ldap) \ + $(use_enable nfs stat-nfs) \ + $(use_enable samba stat-smbfs ) \ + $(use_enable seamless-hbars) \ + ${ENABLEUSB} \ + "--enable-drivers=${COMMA_DRIVERS}" \ + || die "configure failed" + + emake || die "make failed" + + if use doc; then + ebegin "Creating user documentation" + cd ${S}/docs/lcdproc-user + xmlto html lcdproc-user.docbook + eend $? + + ebegin "Creating dev documentation" + cd ${S}/docs/lcdproc-dev + xmlto html lcdproc-dev.docbook + eend $? + fi +} + +append-driver() { + [[ -z $* ]] && return 0 + if [ -z "${COMMA_DRIVERS}" ] ; then + # First in the list + COMMA_DRIVERS="$*" + FIRST_DRIVER="$*" + else + # Second, third, ... include a comma at the front + COMMA_DRIVERS="${COMMA_DRIVERS},$*" + fi + return 0 +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + + # move example clients installed to /usr/bin + rm -f "${D}"/usr/bin/{tail,lcdmetar,iosock,fortune,x11amp}.pl + insinto /usr/share/lcdproc/clients + doins clients/examples/*.pl + doins clients/metar/ + + newinitd "${FILESDIR}/${PV}-LCDd.initd" LCDd + newinitd "${FILESDIR}/${PV}-lcdproc.initd" lcdproc + + dodoc README CREDITS ChangeLog INSTALL TODO + dodoc docs/README.* docs/*.txt + + if use doc; then + insinto /usr/share/doc/${PF}/lcdproc-user + doins docs/lcdproc-user/*.html + insinto /usr/share/doc/${PF}/lcdproc-dev + doins docs/lcdproc-dev/*.html + fi +} + +pkg_postinst() { + ewarn "IMPORTANT: Please update your /etc/LCDd.conf" + ewarn "As of lcdproc-0.5.1-r2, the DriverPath changed from /usr/share/lcdproc to /usr/$(get_libdir)/lcdproc ." +} |