# ChangeLog for app-misc/lcdproc
-# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/ChangeLog,v 1.44 2006/12/26 14:45:09 gustavoz Exp $
+# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/ChangeLog,v 1.45 2007/01/24 22:27:14 rbu Exp $
+
+*lcdproc-0.5.1-r2 (24 Jan 2007)
+
+ 24 Jan 2007; Robert Buchholz <rbu@gentoo.org>
+ +files/0.5.1-nested-functions.patch,
+ files/0.5.1-LCDd-conf-driver-path.patch, lcdproc-0.5.0-r2.ebuild,
+ lcdproc-0.5.1-r1.ebuild, +lcdproc-0.5.1-r2.ebuild:
+ Introduced LCD_DEVICES, moved drivers to /usr/lib/lcdproc
26 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org>
lcdproc-0.5.1-r1.ebuild:
MD5 155273f103b2088a929a665c7b55c5c8 files/0.5.0-lcdproc.initd 521
RMD160 2f32911ea8f818c24c68476cd1839163095eca2d files/0.5.0-lcdproc.initd 521
SHA256 9f66220a1f8fbe6a619d78512cd4ec72e184ee9ffb4e5d76b2c80c4dd33f07ab files/0.5.0-lcdproc.initd 521
-AUX 0.5.1-LCDd-conf-driver-path.patch 437 RMD160 d334d1bce4da149125cc47f6e1391d1c93b0e0f5 SHA1 01b213ee7f2c749a664a8c0cec7bce958186c49c SHA256 f3cffd8339f67bfb63a35975788ec152f94c40c93e65947920c8933f4dea7b33
-MD5 ece26dcfce692b33cacb28b1a01bf2c1 files/0.5.1-LCDd-conf-driver-path.patch 437
-RMD160 d334d1bce4da149125cc47f6e1391d1c93b0e0f5 files/0.5.1-LCDd-conf-driver-path.patch 437
-SHA256 f3cffd8339f67bfb63a35975788ec152f94c40c93e65947920c8933f4dea7b33 files/0.5.1-LCDd-conf-driver-path.patch 437
+AUX 0.5.1-LCDd-conf-driver-path.patch 474 RMD160 60ad8bf504de7de3133358b87614858082526bf3 SHA1 594053c56f1051278bddb222af15bad6d8ca5bc3 SHA256 7dc40858cbc293d5a94e02ae7a234e25b0b13d0ba6510bcaf5ac7ea40be21715
+MD5 b0352809a351abc5f5f6ad21f2c5b70e files/0.5.1-LCDd-conf-driver-path.patch 474
+RMD160 60ad8bf504de7de3133358b87614858082526bf3 files/0.5.1-LCDd-conf-driver-path.patch 474
+SHA256 7dc40858cbc293d5a94e02ae7a234e25b0b13d0ba6510bcaf5ac7ea40be21715 files/0.5.1-LCDd-conf-driver-path.patch 474
AUX 0.5.1-LCDd.initd 645 RMD160 69b059023b665ecfcce9306dd9be2933da38b12a SHA1 85260492305266e661e022e902914c976782179c SHA256 782142cc26b433bbfe1ac1ae152a8ecf62985e78c03e674f699f76847e6465b6
MD5 cce5adc33e6e671cede2f8f58337a6ac files/0.5.1-LCDd.initd 645
RMD160 69b059023b665ecfcce9306dd9be2933da38b12a files/0.5.1-LCDd.initd 645
MD5 f7fa34302843a0cd4980466fc3dbda1a files/0.5.1-lcdproc.initd 480
RMD160 27bea68560caee6e23e2d1742eff5fe01627602a files/0.5.1-lcdproc.initd 480
SHA256 0db323adbebad0cac3dc9cb9fa28788546dc9b8b620e4e4f7332f5d98e77409f files/0.5.1-lcdproc.initd 480
+AUX 0.5.1-nested-functions.patch 4239 RMD160 57d9d252bd532bd3c81bcb23ca6924cebfd8e68d SHA1 8c68debf5087e10ad3c589831d4a9fd2779ff2e8 SHA256 17cc15a3ed6a749a47d1c745c630ff4b7d4debe96cd86c34621ba918b371b4a5
+MD5 9195ffee346db6c65bb71344112e81c9 files/0.5.1-nested-functions.patch 4239
+RMD160 57d9d252bd532bd3c81bcb23ca6924cebfd8e68d files/0.5.1-nested-functions.patch 4239
+SHA256 17cc15a3ed6a749a47d1c745c630ff4b7d4debe96cd86c34621ba918b371b4a5 files/0.5.1-nested-functions.patch 4239
AUX 0.5.1-serialvfd-parallel.patch 9495 RMD160 32239e6dbaea8b2f5c4736f8fcd4e6646daa1b1a SHA1 21d4f4373f5790e8ba04bc5cff427f65c5590637 SHA256 a2410f993193338b1e490d8c272f8e447c8de740e3282c405676b40e88e366d5
MD5 e1fc2b23bb01656e78748ec6ba0cd4ab files/0.5.1-serialvfd-parallel.patch 9495
RMD160 32239e6dbaea8b2f5c4736f8fcd4e6646daa1b1a files/0.5.1-serialvfd-parallel.patch 9495
MD5 ec8742dd9baf6c8a07c99fc99a76ec61 lcdproc-0.4.5.ebuild 2674
RMD160 cd6f848de9b5ebae191d83ccb9e8e58ff88de3b0 lcdproc-0.4.5.ebuild 2674
SHA256 e7b9fa8ddb11969844c77546e751169fa04662eb47a6076a274e06bf171e1326 lcdproc-0.4.5.ebuild 2674
-EBUILD lcdproc-0.5.0-r2.ebuild 5798 RMD160 345e0a3d62dc62c1e8e94b822822890914dc32ee SHA1 7a4cd820ded9c2a91fa8980963141ada0828d7ea SHA256 7202fa08ad4d26e2e262591eaaedf030694d963c1525e79e0ce3ff979491a31f
-MD5 b3b7fdff71335e9ee5bcb428ace1c275 lcdproc-0.5.0-r2.ebuild 5798
-RMD160 345e0a3d62dc62c1e8e94b822822890914dc32ee lcdproc-0.5.0-r2.ebuild 5798
-SHA256 7202fa08ad4d26e2e262591eaaedf030694d963c1525e79e0ce3ff979491a31f lcdproc-0.5.0-r2.ebuild 5798
-EBUILD lcdproc-0.5.1-r1.ebuild 5984 RMD160 90483bb6de223417cc6e423c8d0730ce72aa1d09 SHA1 198c32e832e4e7dec4f5afb341428c9bd05e1bb0 SHA256 e44bb169cdd0e8ab61e63cc675168b73ee787912da796ec81d1ae2c356ac1dfc
-MD5 a722b2451a2b3374f376dc49ec2b12be lcdproc-0.5.1-r1.ebuild 5984
-RMD160 90483bb6de223417cc6e423c8d0730ce72aa1d09 lcdproc-0.5.1-r1.ebuild 5984
-SHA256 e44bb169cdd0e8ab61e63cc675168b73ee787912da796ec81d1ae2c356ac1dfc lcdproc-0.5.1-r1.ebuild 5984
-MISC ChangeLog 7637 RMD160 9d7f9045a93954c3ff9b302b50e8506406162625 SHA1 f57a7c73b773f99090548e3700222fefe34f4528 SHA256 fffe3bfd017e842550d8bdd3f142d1c278bbaa052b6a49e9b21611edad9b3894
-MD5 dbb737e2a29891e907abc6f0c9c080ed ChangeLog 7637
-RMD160 9d7f9045a93954c3ff9b302b50e8506406162625 ChangeLog 7637
-SHA256 fffe3bfd017e842550d8bdd3f142d1c278bbaa052b6a49e9b21611edad9b3894 ChangeLog 7637
+EBUILD lcdproc-0.5.0-r2.ebuild 5796 RMD160 2ef3388db8d01db89096d3a66b87250b3b101799 SHA1 1af70feadbf4b1b526b704898818775f93ad7f31 SHA256 36481c805c9e38ca5b8d58519ecc578e28ba42ff687d177406bd066197eb2cda
+MD5 b8745c9f98ffc7b1f970c36d0c46bb64 lcdproc-0.5.0-r2.ebuild 5796
+RMD160 2ef3388db8d01db89096d3a66b87250b3b101799 lcdproc-0.5.0-r2.ebuild 5796
+SHA256 36481c805c9e38ca5b8d58519ecc578e28ba42ff687d177406bd066197eb2cda lcdproc-0.5.0-r2.ebuild 5796
+EBUILD lcdproc-0.5.1-r1.ebuild 5979 RMD160 7b0e2d7a2761f83d5f5404fe398be665f01bfe86 SHA1 bc2dcaea6b6716e69f3dbbb7273c7119c6437aa1 SHA256 c44beb9dfd20cf9c616c2cea31b94c25258df794c080a521ae556b89089771c1
+MD5 64e24f7e0047ab95d0d1a58c7262e7b2 lcdproc-0.5.1-r1.ebuild 5979
+RMD160 7b0e2d7a2761f83d5f5404fe398be665f01bfe86 lcdproc-0.5.1-r1.ebuild 5979
+SHA256 c44beb9dfd20cf9c616c2cea31b94c25258df794c080a521ae556b89089771c1 lcdproc-0.5.1-r1.ebuild 5979
+EBUILD lcdproc-0.5.1-r2.ebuild 5689 RMD160 25ee8d34eac4553674048f0e5b1508b2371e37a0 SHA1 2637115ff13a1ee9948874bedc77d63572c66f41 SHA256 aa8088a464e021627ff0fdf445ed03b64b53ee5bf63e68b71a839d1daef5794e
+MD5 442c16b7e88349f034f97251bbe8b43f lcdproc-0.5.1-r2.ebuild 5689
+RMD160 25ee8d34eac4553674048f0e5b1508b2371e37a0 lcdproc-0.5.1-r2.ebuild 5689
+SHA256 aa8088a464e021627ff0fdf445ed03b64b53ee5bf63e68b71a839d1daef5794e lcdproc-0.5.1-r2.ebuild 5689
+MISC ChangeLog 7934 RMD160 bd97391c668a335a338a68cc5e3020cf4ee095ad SHA1 d93e69211689ce10f8f8283bdae5559edab2de8b SHA256 eca03da59c43505057a91fa8320a708a8db56e84cbbdaaff54a231eed2dd4c2c
+MD5 e5a1504c07aa0151cfeac2d770d3684f ChangeLog 7934
+RMD160 bd97391c668a335a338a68cc5e3020cf4ee095ad ChangeLog 7934
+SHA256 eca03da59c43505057a91fa8320a708a8db56e84cbbdaaff54a231eed2dd4c2c ChangeLog 7934
MISC metadata.xml 250 RMD160 4c12d132d61ab54f92cda9251bf9b6ea4b8e1b01 SHA1 c212d5a20354a60471162a82c403f1a5235d1d9d SHA256 9eb89a60b8762b32ed579ff3fb70443aba71cdc7ebd597e8714f6fafdf1b256a
MD5 be4a34ac317e81ea820c84bc04b9c0d8 metadata.xml 250
RMD160 4c12d132d61ab54f92cda9251bf9b6ea4b8e1b01 metadata.xml 250
MD5 11d9d2dd9490ce4743643fba29935c3d files/digest-lcdproc-0.5.1-r1 241
RMD160 a6283dd23a9e00ade61a9f86261e8b8f77b800c6 files/digest-lcdproc-0.5.1-r1 241
SHA256 9756a02fc35bbb6fd64b59252ad8f42b68c6994e8f45569438c739e4b48b4977 files/digest-lcdproc-0.5.1-r1 241
+MD5 11d9d2dd9490ce4743643fba29935c3d files/digest-lcdproc-0.5.1-r2 241
+RMD160 a6283dd23a9e00ade61a9f86261e8b8f77b800c6 files/digest-lcdproc-0.5.1-r2 241
+SHA256 9756a02fc35bbb6fd64b59252ad8f42b68c6994e8f45569438c739e4b48b4977 files/digest-lcdproc-0.5.1-r2 241
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6-ecc01.6 (GNU/Linux)
+Version: GnuPG v1.4.6 (GNU/Linux)
-iD8DBQFFkTV/KRy60XGEcJIRAmG3AJ93hT1R9HPP7A/0p15kNY4kk/33NQCeLIe9
-Q5bQzdL04gY25BacdW+M0B8=
-=ch+2
+iD8DBQFFt91KyZx3L/ph1soRAqegAJ4gRP1ZLs/UiLJkQi63ANSsdbj3BwCgtG46
+6vJx0xZQ4VNzpQqTUOiQvjU=
+=beF9
-----END PGP SIGNATURE-----
+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 @@
--- /dev/null
+Upstream patches to avoid nested functions (which need exec. stack)
+Included in >=0.5.1-r2
+
+--- ./server/parse.c 2006/04/27 15:11:00 1.21
++++ ./server/parse.c 2006/12/09 20:52:44 1.22
+@@ -62,18 +62,6 @@
+ int argpos = 0;
+ CommandFunc function = NULL;
+
+- void close_arg() {
+- if (argc >= MAX_ARGUMENTS-1) {
+- error = 1;
+- }
+- else {
+- argv[argc][argpos] = '\0';
+- argv[argc+1] = argv[argc] + argpos + 1;
+- argc++;
+- argpos = 0;
+- }
+- }
+-
+ debug( RPT_DEBUG, "%s( str=\"%.120s\", client=[%d] )", __FUNCTION__, str, c->sock );
+
+ /* We will create a list of strings that is shorter or equally long as
+@@ -105,7 +93,15 @@
+ if (is_final(ch)) {
+ if (quote)
+ error = 2;
+- close_arg();
++ if (argc >= MAX_ARGUMENTS-1) {
++ error = 1;
++ }
++ else {
++ argv[argc][argpos] = '\0';
++ argv[argc+1] = argv[argc] + argpos + 1;
++ argc++;
++ argpos = 0;
++ }
+ state = ST_FINAL;
+ }
+ else if (ch == '\\') {
+@@ -131,7 +127,15 @@
+ else {
+ error = 2;
+ /* alternative: argv[argc][argpos++] = ch; */
+- close_arg();
++ if (argc >= MAX_ARGUMENTS-1) {
++ error = 1;
++ }
++ else {
++ argv[argc][argpos] = '\0';
++ argv[argc+1] = argv[argc] + argpos + 1;
++ argc++;
++ argpos = 0;
++ }
+ state = ST_FINAL;
+ }
+ }
+@@ -140,11 +144,27 @@
+ }
+ else if (is_closing_quote(ch, quote)) {
+ quote = '\0';
+- close_arg();
++ if (argc >= MAX_ARGUMENTS-1) {
++ error = 1;
++ }
++ else {
++ argv[argc][argpos] = '\0';
++ argv[argc+1] = argv[argc] + argpos + 1;
++ argc++;
++ argpos = 0;
++ }
+ state = ST_WHITESPACE;
+ }
+ else if (is_whitespace(ch) && (quote == '\0')) {
+- close_arg();
++ if (argc >= MAX_ARGUMENTS-1) {
++ error = 1;
++ }
++ else {
++ argv[argc][argpos] = '\0';
++ argv[argc+1] = argv[argc] + argpos + 1;
++ argc++;
++ argpos = 0;
++ }
+ state = ST_WHITESPACE;
+ }
+ else {
+--- ./shared/configfile.c 2006/09/18 10:39:21 1.16
++++ ./shared/configfile.c 2006/12/03 12:04:44 1.17
+@@ -49,7 +49,11 @@
+ static key *find_key(section *s, const char *keyname, int skip);
+ static key *add_key(section *s, const char *keyname, const char *value);
+ static char get_next_char_f(FILE *f);
++#if defined(LCDPROC_CONFIG_READ_STRING)
+ static int process_config(section **current_section, char(*get_next_char)(), const char *source_descr, FILE *f);
++#else
++static int process_config(section **current_section, const char *source_descr, FILE *f);
++#endif
+
+
+ #ifdef WITH_LDAP_SUPPORT
+@@ -121,7 +125,11 @@
+ return -1;
+ }
+
++#if defined(LCDPROC_CONFIG_READ_STRING)
+ result = process_config(&curr_section, get_next_char_f, filename, f);
++#else
++ result = process_config(&curr_section, filename, f);
++#endif
+
+ fclose(f);
+
+@@ -129,6 +137,7 @@
+ }
+
+
++#if defined(LCDPROC_CONFIG_READ_STRING)
+ int config_read_string(const char *sectionname, const char *str)
+ /* All the config parameters are placed in the given section in memory.*/
+ {
+@@ -145,6 +154,7 @@
+
+ return process_config(&s, get_next_char, "command line", NULL);
+ }
++#endif
+
+
+ /** Get string from configuration in memory.
+@@ -584,12 +594,14 @@
+ }
+
+
++#if defined(LCDPROC_CONFIG_READ_STRING)
+ static char get_next_char_f(FILE *f)
+ {
+ int c = fgetc(f);
+
+ return((c == EOF) ? '\0' : c);
+ }
++#endif
+
+
+ /* Parser states */
+@@ -614,10 +626,14 @@
+ #define MAXVALUELENGTH 200
+
+
++#if defined(LCDPROC_CONFIG_READ_STRING)
+ static int process_config(section **current_section, char(*get_next_char)(), const char *source_descr, FILE *f)
++#else
++static int process_config(section **current_section, const char *source_descr, FILE *f)
++#endif
+ {
+ int state = ST_INITIAL;
+- char ch;
++ int ch;
+ char sectionname[MAXSECTIONLABELLENGTH+1];
+ int sectionname_pos = 0;
+ char keyname[MAXKEYNAMELENGTH+1];
+@@ -629,11 +645,22 @@
+ int line_nr = 1;
+ int error = 0;
+
++#if !defined(LCDPROC_CONFIG_READ_STRING)
++ if (f == NULL)
++ return(0);
++#endif
++
+ while (state != ST_END) {
+
++#if defined(LCDPROC_CONFIG_READ_STRING)
+ ch = (f != NULL)
+ ? get_next_char(f)
+ : get_next_char();
++#else
++ ch = fgetc(f);
++ if (ch == EOF)
++ ch = '\0';
++#endif
+
+ /* Secretly keep count of the line numbers */
+ if (ch == '\n')
\ No newline at end of file
--- /dev/null
+MD5 ad13d6cce7a7e068d85a66d30285af95 lcdproc-0.5.1.tar.gz 800205
+RMD160 2672f660afac8437a9b6a1791bff80466cdfde64 lcdproc-0.5.1.tar.gz 800205
+SHA256 f459280eb4eeb70be584895364c97ffab22b888235b2351a31e1c87ca9710727 lcdproc-0.5.1.tar.gz 800205
-# Copyright 1999-2006 Gentoo Foundation
+# 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.0-r2.ebuild,v 1.4 2006/12/06 11:42:59 jokey Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.0-r2.ebuild,v 1.5 2007/01/24 22:27:14 rbu Exp $
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
ALL_DRIVERS="${USE_DRIVERS} ${EXTRA_DRIVERS}"
-# compatibility with 1.4-ebuild format
+# compatibility with 0.4-ebuild format
LCDPROC_DRIVERS=${LCDPROC_DRIVERS//,/ }
# if no drivers or all are set, select the defaults
-# Copyright 1999-2006 Gentoo Foundation
+# 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.3 2006/12/26 14:45:09 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild,v 1.4 2007/01/24 22:27:14 rbu Exp $
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
ALL_DRIVERS="${USE_DRIVERS} ${EXTRA_DRIVERS}"
-# compatibility with 1.4-ebuild format
+# compatibility with 0.4-ebuild format
LCDPROC_DRIVERS=${LCDPROC_DRIVERS//,/ }
# if no drivers or all are set, select the defaults
--- /dev/null
+# 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-r2.ebuild,v 1.1 2007/01/24 22:27:14 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 ~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"
+ 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/
+
+ # backwards compat with <lcdproc-0.5.1-r2
+ dosym ../../$(get_libdir)/lcdproc /usr/share/lcdproc/drivers
+
+ 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 "As of lcdproc-0.5.1-r2, having the drivers in /usr/share/lcdproc is deprecated."
+ ewarn "Please update your conf pointing to /usr/$(get_libdir)/lcdproc."
+}