Introduced LCD_DEVICES, moved drivers to /usr/lib/lcdproc
authorRobert Buchholz <rbu@gentoo.org>
Wed, 24 Jan 2007 22:27:14 +0000 (22:27 +0000)
committerRobert Buchholz <rbu@gentoo.org>
Wed, 24 Jan 2007 22:27:14 +0000 (22:27 +0000)
Package-Manager: portage-2.1.1-r2

app-misc/lcdproc/ChangeLog
app-misc/lcdproc/Manifest
app-misc/lcdproc/files/0.5.1-LCDd-conf-driver-path.patch
app-misc/lcdproc/files/0.5.1-nested-functions.patch [new file with mode: 0644]
app-misc/lcdproc/files/digest-lcdproc-0.5.1-r2 [new file with mode: 0644]
app-misc/lcdproc/lcdproc-0.5.0-r2.ebuild
app-misc/lcdproc/lcdproc-0.5.1-r1.ebuild
app-misc/lcdproc/lcdproc-0.5.1-r2.ebuild [new file with mode: 0644]

index 1f502001812353e8e330e59f54f9703c63dcf212..8cf675d1f66f1ec27394133bb18321a6bcdbd4e5 100644 (file)
@@ -1,6 +1,14 @@
 # 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:
index b2d10d3b8c342f65fbb924e2424d8179d57d471e..10994f07b5faf63c8a5e0124c1da99270cd6e530 100644 (file)
@@ -29,10 +29,10 @@ AUX 0.5.0-lcdproc.initd 521 RMD160 2f32911ea8f818c24c68476cd1839163095eca2d SHA1
 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
@@ -45,6 +45,10 @@ AUX 0.5.1-lcdproc.initd 480 RMD160 27bea68560caee6e23e2d1742eff5fe01627602a SHA1
 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
@@ -56,18 +60,22 @@ EBUILD lcdproc-0.4.5.ebuild 2674 RMD160 cd6f848de9b5ebae191d83ccb9e8e58ff88de3b0
 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
@@ -81,10 +89,13 @@ SHA256 93b5ec62e59ce1da93698995d0e96d014ab04be84ab1639c2a6f185033c7dd0c files/di
 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-----
index fcc66fc2c97a49af541471c7114ec089aecb12ab..5da934ba8d848d00418863ab496e20ba89d7a1a1 100644 (file)
@@ -1,3 +1,5 @@
+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 @@
diff --git a/app-misc/lcdproc/files/0.5.1-nested-functions.patch b/app-misc/lcdproc/files/0.5.1-nested-functions.patch
new file mode 100644 (file)
index 0000000..c1e986a
--- /dev/null
@@ -0,0 +1,184 @@
+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
diff --git a/app-misc/lcdproc/files/digest-lcdproc-0.5.1-r2 b/app-misc/lcdproc/files/digest-lcdproc-0.5.1-r2
new file mode 100644 (file)
index 0000000..247c7ea
--- /dev/null
@@ -0,0 +1,3 @@
+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
index 1660448996b58f9e17d19e6a92886a2588f6402e..5bff5a932b531004976301a5ec8f48dd3f761490 100644 (file)
@@ -1,6 +1,6 @@
-# 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"
@@ -40,7 +40,7 @@ EXTRA_DRIVERS="bayrad CFontz CFontz633 CFontzPacket CwLnx \
 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
index 52f7d8540de4c31b5c81804517fd8ac4ab5ce32d..cf4c10ee7b54bb59760d797c6d3048b7909994a9 100644 (file)
@@ -1,6 +1,6 @@
-# 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"
@@ -41,7 +41,7 @@ EXTRA_DRIVERS="bayrad CFontz CFontz633 CFontzPacket CwLnx EyeboxOne \
 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
diff --git a/app-misc/lcdproc/lcdproc-0.5.1-r2.ebuild b/app-misc/lcdproc/lcdproc-0.5.1-r2.ebuild
new file mode 100644 (file)
index 0000000..13f85e3
--- /dev/null
@@ -0,0 +1,191 @@
+# 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."
+}