diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-misc/lcd4linux | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'app-misc/lcd4linux')
-rw-r--r-- | app-misc/lcd4linux/Manifest | 13 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-autoconf-2.65.patch | 20 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-missing-header.patch | 12 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-mpd.patch | 374 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch | 187 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-usbdebug.patch | 121 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-warnings.patch | 64 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2.initd | 22 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-r1.initd | 29 | ||||
-rw-r--r-- | app-misc/lcd4linux/lcd4linux-0.10.1_rc2-r4.ebuild | 174 | ||||
-rw-r--r-- | app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild | 161 | ||||
-rw-r--r-- | app-misc/lcd4linux/metadata.xml | 56 |
12 files changed, 1233 insertions, 0 deletions
diff --git a/app-misc/lcd4linux/Manifest b/app-misc/lcd4linux/Manifest new file mode 100644 index 000000000000..1e4430ca9649 --- /dev/null +++ b/app-misc/lcd4linux/Manifest @@ -0,0 +1,13 @@ +AUX lcd4linux-0.10.1_rc2-autoconf-2.65.patch 593 BLAKE2B 4dfc40b408c668db5b0ddb74a0328d58b542e342142c055496782c9606cb6408284d900c8eb07da0f32ec2857a547c9ab468e0cd9e5d66aaef7b9126bdd1dd03 SHA512 55f09599fa894f9ce7aa128e708d7c7bc145630d0db6ec31b04302cdf9df19aec12a05debf66dc8fb8cf6b657f3f6c430ae6615a946c7d84a7b6875880241bb2 +AUX lcd4linux-0.10.1_rc2-missing-header.patch 337 BLAKE2B 2fd4f1a58bde455739880d2ce3232120a34b08869e2823b712a67d385f86f8c2a86620a8da9c35899ea0350606d9c18140d35530facfe747465bda94d705a1ce SHA512 3bec09fbd773565945c925a39412223e1f59db2752290ba945d254ccdf826b8789162c7482d98feca8ebd0dde14be7ce18c46fb7c4d98cd9c4129d4e96dfea89 +AUX lcd4linux-0.10.1_rc2-mpd.patch 9230 BLAKE2B d20fe911ced307e3ab99ac3b23913faad177fb18fa911376a2f2dbfa53852c0d99098d9da7424df711c5360116d8fc5af4e3b100e3a30d5f09f0e619e19a1a24 SHA512 8763f22deb728d5bfbd4ae601c3cc8808ada042374b604a3787429497373d6d52cbe48f72be37d149f823debfdc740b2a23db5fe2e20ab1091743f2d6ba186af +AUX lcd4linux-0.10.1_rc2-nordtsc.patch 4703 BLAKE2B 951f35d6b935cc74d7a39b8101015b762627591e2942513755d134c456e59017827fd542b09481b3a2b9e1fc409746c2e454567e89a45b1fa583aaad861edcaa SHA512 fb0579cde4ce812e4f26a3e30f0b223c9dbafd07ccf297dffb8ba50bc757f2a7a01c37d456b4a8c8b5ec616a4b694d2efd11a55d1f2e20f4397bfcdda1d59585 +AUX lcd4linux-0.10.1_rc2-usbdebug.patch 3032 BLAKE2B f6672c30554fd271b5fbaf2832ec2d55c3e14544147cfbdbfa29a579f7a59243a08b6523af779938db4c2f7cf368d7f47dfe7c6581ece5bcd4f4fc60efbc96d2 SHA512 252ebab0e125c2189178f1de35c46d398f79d4b5fd4ff5b92c72874e95c7b45c25eaa92b600a8d5a160e4e45c265f69b6240123c6d2ec4076c7947659e46ae46 +AUX lcd4linux-0.10.1_rc2-warnings.patch 2229 BLAKE2B 4e4c6f34ffc440083890df845616cb723bb26756ea08b34d7dc01da25abe33b59b4bb81f78a53c6c71a57dab42bc30429ba4b399c2c55b1611c3443bf8d454b2 SHA512 ee6b163dc93f2913c629b056ec79cffaecbdb9124d187be8e616e10cc3cec917d98cc8131fda9d3b310530c00cd61dc1617dce4f54143c77962cbc0c58f4d615 +AUX lcd4linux-0.10.1_rc2.initd 539 BLAKE2B 314810d6bf8a402a435dc1cb53f610ed1f0fd3ec8965cc9fd798b5aa097bf1c35a5baa4a76dc9ed7d244943c9aa1b05aaf5e010b431522fdc3d7d45bbdffeca4 SHA512 c3f6cc42bb6c0d7ecaa180c28c0d9a9530b32dca97cb563960a0c30ca9cbed80a7b249f970d791ba034f115ef22218feac7a449ab6fe69109a1427565d62be07 +AUX lcd4linux-r1.initd 775 BLAKE2B f1b4ee44d147e1ea191658edc2b7502acfc8d5a82e5b1af2deb74457cb3b20b32477d055cd24b7587019b711dfe55c7bb5dadd43d5a1d76d320e3ff6a2c19021 SHA512 471517952391880f3bcf85e21de56523ee40578fcf75b4e7256554498bbb691e8bbfe4add509d32dc99b409d7b7b3abd608a60326d883a43cb114b279a217213 +DIST lcd4linux-0.10.1-RC2.tar.gz 386188 BLAKE2B 7d396ee15e00212eb314721cd9627147ec1654f43fff1d3ae3f8c38d33d8d133f1fd5c53ef2b78eba7afefb7f65a53810da52a903911abdd95383b2b2c28d06f SHA512 8c4299f50ab4068d4106ba32309f4f66bfedf382a4aed7495cf400d22c57c22c4dfabd80f7e4355417c5c0d964e69f0c268a50bae6924b759b720bd728a969f9 +DIST lcd4linux-0.11.0_pre20170527.tar.bz2 478823 BLAKE2B 7b332e7262781dd0dc954a0576890dda78ecbeab9dc003d1d5b84a643ad522d57e32a04a2aa6fbe13b18e4699d07d88412e19c81739fafdf98ba327b151061a9 SHA512 c131b9cb04bb0ff4dc46c1e3ab8f5dcda309bbef89bcb670508f9afe7c515d6ccfe79a03782be4f4b2ba4aaf977cd13c0059805e5b7230216e39ee3421b0f143 +EBUILD lcd4linux-0.10.1_rc2-r4.ebuild 5156 BLAKE2B 9cd0d0231dfec0ff6fab4c668969e16a546e70167d0d495caf8d527554521a1878e3b4f14451ce7abd29c2db7b8c0bb87cb2815a087c79777592e431a8b4610d SHA512 a17a33cbeac88b0eec6a6d5fb8435667f3f9d5c33bb77e360ba7d755f6c3c138d3d6a7ee87c83eee4f4679d4df59dc27457a61ed108c0a11ed30d2dbf8d4b1d9 +EBUILD lcd4linux-0.11.0_pre20170527.ebuild 5555 BLAKE2B a97eb9b0efd8b22abafd271d53f1530cd126694515c8a9d0a7e6a340178354ffadd99904901eac4615d0572f478242bab55905669b32b7c91e02dd6d873be6d4 SHA512 af9afccf37f5c92ec522aa8e86678ec71fb9c702162eb040385a691adfdb0c5a5afaac1cb9d5ad230f3d01f96c4e296c241ba2ebda8b1a5f2910f78ddf9d4c6c +MISC metadata.xml 3555 BLAKE2B 507770da472d7befe06269d3b8ed52ca258467acb8d18892f47db3a630742c66f48f55f069c160ef0c889bc0fd31fbdd41b81fc6574ff4a51eea247373b8e25e SHA512 618885236669c7b9c28114d01f2f2f8c05638eb4eb85aca3d311d180cf82af01255f143ccdc0db2e890d42d2cb7fa3223638fcf4985d80322c95101e6c00e9fe diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-autoconf-2.65.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-autoconf-2.65.patch new file mode 100644 index 000000000000..6b176a6ecf64 --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-autoconf-2.65.patch @@ -0,0 +1,20 @@ +--- ac_python_devel.m4.orig 2010-03-06 01:28:40.000000000 +0200 ++++ ac_python_devel.m4 2010-03-06 01:29:47.000000000 +0200 +@@ -68,7 +68,7 @@ + PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. + Moreover, to disable this check, set PYTHON_NOVERSIONCHECK + to something else than an empty string. +-])dnl ++]) + else + AC_MSG_RESULT([skip at user request]) + fi +@@ -92,7 +92,7 @@ + If you have it installed, but it isn't the default Python + interpreter in your system path, please pass the PYTHON_VERSION + variable to configure. See ``configure --help'' for reference. +-])dnl ++]) + fi + fi + diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-missing-header.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-missing-header.patch new file mode 100644 index 000000000000..6b38dc038c4a --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-missing-header.patch @@ -0,0 +1,12 @@ +diff -ur lcd4linux-0.10.1-RC2.orig/lcd4linux.c lcd4linux-0.10.1-RC2/lcdinux-0.10.1-RC2/lcd4linux.c +--- lcd4linux.c 2007-03-22 15:10:41.000000000 +0900 ++++ lcd4linux.c 2011-11-23 12:12:03.782869315 +0800 +@@ -26,7 +26,7 @@ + */ + + #include "config.h" +- ++#include <sys/stat.h> + #include <stdlib.h> + #include <stdio.h> + #include <string.h> diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-mpd.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-mpd.patch new file mode 100644 index 000000000000..c3fa8ac36350 --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-mpd.patch @@ -0,0 +1,374 @@ +Patch for >=lcd4linux-0.10.1_rc2-r1 + +Fixes memory and other bugs in plugin_mpd + +Accepted upstream + +Index: plugin_mpd.c +=================================================================== +--- plugin_mpd.c (Revision 801) ++++ plugin_mpd.c (Arbeitskopie) +@@ -4,6 +4,7 @@ + * mpd informations + * + * Copyright (C) 2006 Stefan Kuhne <sk-privat@gmx.net> ++ * Copyright (C) 2007 Robert Buchholz <rbu@gentoo.org> + * Copyright (C) 2006 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net> + * + * This file is part of LCD4Linux. +@@ -81,8 +82,8 @@ + + iport = strtol(port, &test, 10); + +- if (iport < 0 || *test != '\0') { +- fprintf(stderr, "MPD_PORT \"%s\" is not a positive integer\n", port); ++ if ((iport < 0) || (*test != '\0')) { ++ error("[MPD] MPD_PORT \"%s\" is not a positive integer\n", port); + exit(EXIT_FAILURE); + } + +@@ -94,17 +95,16 @@ + mpd_sendCommandListEnd(mpd.conn); + + if ((mpd.status = mpd_getStatus(mpd.conn)) == NULL) { +- fprintf(stderr, "%s\n", mpd.conn->errorStr); ++ error("[MPD] error when getting status: %s\n", mpd.conn->errorStr); + mpd_closeConnection(mpd.conn); +- } +- +- if (mpd.status->error) { +- printf("error: %s\n", mpd.status->error); +- } +- +- if (mpd.conn->error) { +- fprintf(stderr, "%s\n", mpd.conn->errorStr); ++ mpd.conn = NULL; ++ } else if (mpd.status->error) { ++ info("[MPD] status error when connecting: %s\n", mpd.status->error); ++ } else if (mpd.conn->error) { ++ error("[MPD] error when connecting: %s\n", mpd.conn->errorStr); ++ mpd_freeStatus(mpd.status); + mpd_closeConnection(mpd.conn); ++ mpd.conn = NULL; + } + + return mpd; +@@ -114,14 +114,15 @@ + static void disconnect(struct Pointer mpd) + { + if (mpd.conn->error) { +- fprintf(stderr, "%s\n", mpd.conn->errorStr); ++ error("[MPD] error when disconnecting: %s\n", mpd.conn->errorStr); ++ mpd_freeStatus(mpd.status); + mpd_closeConnection(mpd.conn); ++ return; + } + + mpd_finishCommand(mpd.conn); + if (mpd.conn->error) { +- fprintf(stderr, "%s\n", mpd.conn->errorStr); +- mpd_closeConnection(mpd.conn); ++ error("[MPD] error when disconnecting: %s\n", mpd.conn->errorStr); + } + + mpd_freeStatus(mpd.status); +@@ -132,8 +133,12 @@ + + static void artist(RESULT * result, RESULT * query) + { +- char *value = " "; ++ char *value = NULL; + struct Pointer mpd = connect(); ++ if (mpd.conn == NULL) { ++ SetResult(&result, R_STRING, " "); ++ return; ++ } + + mpd_nextListOkCommand(mpd.conn); + +@@ -145,9 +150,10 @@ + continue; + } + +- if (song->artist) { ++ if (!value && song->artist) { ++ /* we found our first song */ + value = strdup(song->artist); +- //add comment ++ /* add comment */ + if (query) { + char *myarg; + myarg = strdup(R2S(query)); +@@ -160,8 +166,8 @@ + + disconnect(mpd); + +- /* store result */ +- SetResult(&result, R_STRING, value); ++ /* store result, value must not be NULL */ ++ SetResult(&result, R_STRING, value ? value : " "); + + free(value); + } +@@ -169,8 +175,12 @@ + + static void title(RESULT * result) + { +- char *value = " "; ++ char *value = NULL; + struct Pointer mpd = connect(); ++ if (mpd.conn == NULL) { ++ SetResult(&result, R_STRING, " "); ++ return; ++ } + + mpd_nextListOkCommand(mpd.conn); + +@@ -182,7 +192,7 @@ + continue; + } + +- if (song->title) { ++ if (!value && song->title) { + value = strdup(song->title); + } + mpd_freeInfoEntity(mpd.entity); +@@ -190,8 +200,8 @@ + + disconnect(mpd); + +- /* store result */ +- SetResult(&result, R_STRING, value); ++ /* store result, value must not be NULL */ ++ SetResult(&result, R_STRING, value ? value : " "); + + free(value); + } +@@ -199,8 +209,12 @@ + + static void album(RESULT * result) + { +- char *value = " "; ++ char *value = NULL; + struct Pointer mpd = connect(); ++ if (mpd.conn == NULL) { ++ SetResult(&result, R_STRING, " "); ++ return; ++ } + + mpd_nextListOkCommand(mpd.conn); + +@@ -212,7 +226,7 @@ + continue; + } + +- if (song->album) { ++ if (!value && song->album) { + value = strdup(song->album); + } + mpd_freeInfoEntity(mpd.entity); +@@ -220,8 +234,8 @@ + + disconnect(mpd); + +- /* store result */ +- SetResult(&result, R_STRING, value); ++ /* store result, value must not be NULL */ ++ SetResult(&result, R_STRING, value ? value : " "); + + free(value); + } +@@ -236,7 +250,7 @@ + void error_callback( __attribute__ ((unused)) MpdObj * mi, int errorid, char *msg, __attribute__ ((unused)) + void *userdata) + { +- printf("Error %i: '%s'\n", errorid, msg); ++ info("[MPD] caught error %i: '%s'\n", errorid, msg); + } + + static int mpd_get(int function) +@@ -278,95 +292,89 @@ + + static void elapsedTime(RESULT * result) + { +- char *value = " "; ++ char myTime[6] = " "; + +- int playTime = mpd_get(_mpd_status_get_elapsed_song_time); ++ const int playTime = mpd_get(_mpd_status_get_elapsed_song_time); + +- if (playTime != -1) { +- char myTime[6]; +- memset(myTime, 0, 6); +- int minutes = (int) (playTime / 60); +- int seconds = (int) (playTime % 60); ++ if ((playTime >= 0) && (playTime < 6000)) { ++ const int minutes = (int) (playTime / 60); ++ const int seconds = (int) (playTime % 60); + sprintf(myTime, "%02d:%02d", minutes, seconds); ++ } else if (playTime >= 6000) { ++ strcpy(myTime, "LONG"); ++ } + +- value = strdup(myTime); +- } +- // store result +- SetResult(&result, R_STRING, value); ++ /* store result */ ++ SetResult(&result, R_STRING, myTime); + } + + static void elapsedTimeSec(RESULT * result) + { +- int playTime = mpd_get(_mpd_status_get_elapsed_song_time); ++ const int playTime = mpd_get(_mpd_status_get_elapsed_song_time); + double d = 0.0; + + if (playTime != -1) + d = playTime; + +- // store result ++ /* store result */ + SetResult(&result, R_NUMBER, &d); + } + + static void totalTime(RESULT * result) + { +- char *value = " "; ++ char myTime[6] = "ERROR"; + +- int totTime = mpd_get(_mpd_status_get_total_song_time); +- if (totTime != -1) { +- char myTime[6]; +- memset(myTime, 0, 6); +- int minutes = (int) (totTime / 60); +- int seconds = (int) (totTime % 60); ++ const int totTime = mpd_get(_mpd_status_get_total_song_time); ++ if ((totTime >= 0) && (totTime < 6000)) { ++ const int minutes = (int) (totTime / 60); ++ const int seconds = (int) (totTime % 60); + sprintf(myTime, "%02d:%02d", minutes, seconds); ++ } else if (totTime >= 6000) { ++ strcpy(myTime, "LONG"); ++ } + +- value = strdup(myTime); +- } else +- value = strdup("ERROR"); +- // store result +- SetResult(&result, R_STRING, value); ++ /* store result */ ++ SetResult(&result, R_STRING, myTime); + } + + static void totalTimeSec(RESULT * result) + { +- int totTime = mpd_get(_mpd_status_get_total_song_time); ++ const int totTime = mpd_get(_mpd_status_get_total_song_time); + double d = 0.0; + + if (totTime != -1) + d = totTime; + +- // store result ++ /* store result */ + SetResult(&result, R_NUMBER, &d); + } + + static void bitRate(RESULT * result) + { +- char *value = ""; ++ char rateStr[4]; + +- int rate = mpd_get(_mpd_status_get_bitrate); ++ const int rate = mpd_get(_mpd_status_get_bitrate); + +- if (rate != -1) { +- char rateStr[4]; +- memset(rateStr, 0, 4); ++ if ((rate >= 0) && (rate < 1000)) { + sprintf(rateStr, "%03d", rate); ++ } + +- value = strdup(rateStr); +- } +- // store result +- SetResult(&result, R_STRING, value); ++ /* store result */ ++ SetResult(&result, R_STRING, rateStr); + } + + static void getRepeat(RESULT * result) + { + char *value = " "; + +- int rep = mpd_get(_mpd_player_get_repeat); ++ const int rep = mpd_get(_mpd_player_get_repeat); + + if (rep != -1) { + if (rep) +- value = strdup("REP"); +- // else value = strdup(" "); ++ value = "REP"; ++ /* else value = strdup(" "); */ + } +- // store result ++ /* store result */ + SetResult(&result, R_STRING, value); + } + +@@ -375,26 +383,26 @@ + { + char *value = " "; + +- int ran = mpd_get(_mpd_player_get_random); ++ const int ran = mpd_get(_mpd_player_get_random); + + if (ran != -1) { + if (ran) + value = strdup("RND"); +- // else value = strdup(" "); ++ /* else value = strdup(" "); */ + } +- // store result ++ /* store result */ + SetResult(&result, R_STRING, value); + } + + static void getRepRand(RESULT * result) + { +- char *value = " "; ++ char str[9] = " "; + +- int ran = mpd_get(_mpd_player_get_random); +- int rep = mpd_get(_mpd_player_get_repeat); ++ const int ran = mpd_get(_mpd_player_get_random); ++ const int rep = mpd_get(_mpd_player_get_repeat); + + if (ran != -1 && rep != -1) { +- char str[9]; ++ + if (rep) + sprintf(str, "REP/"); + else +@@ -403,17 +411,16 @@ + sprintf(str, "%sRND", str); + else + sprintf(str, "%s---", str); +- value = strdup(str); + } +- // store result +- SetResult(&result, R_STRING, value); ++ /* store result */ ++ SetResult(&result, R_STRING, str); + } + + int plugin_init_mpd(void) + { + /* Check for File */ + if (mpd_get(_mpd_dummy) != 1) { +- error("Error: Cannot connect to MPD! Is MPD started?"); ++ error("[MPD] Error: Cannot connect to MPD! Is MPD started?"); + return -1; + } + diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch new file mode 100644 index 000000000000..b25d01e8e901 --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-nordtsc.patch @@ -0,0 +1,187 @@ +kMessage-ID: <47011930.60100@reinelt.co.at> +Date: Mon, 01 Oct 2007 17:58:40 +0200 +From: Michael Reinelt <michael@reinelt.co.at> +Subject: [Lcd4linux-devel] asm/msr.h inclusion and RDTSC stuff removed + +Hi there, + +I just committed a changeset where I removed the whole RDTSC delay loop +stuff, and therefore lcd4linux does no longer need asm/msr.h + +Instead, a gettimeofday() delay loop will be used when necessary. + +The rdtsc stuff worked fine, but had two major disadvantages: It did not +work with variable CPU frequencies, and latest kernels do no longer +offer the rdtsc() macro. + +The changeset has been committed to trunk, and will be backported to the +0.10.1 branch as soon as I get some positive feedback 8or at least I +don't get any negative feedback) + + +bye, Michael + +-- +Michael Reinelt <michael@reinelt.co.at> +http://home.pages.at/reinelt +GPG-Key 0xDF13BA50 +ICQ #288386781 + +Index: configure.in +=================================================================== +--- lcd4linux-0.10.1-RC2/configure.in.orig ++++ lcd4linux-0.10.1-RC2/configure.in +@@ -99,7 +99,6 @@ AC_HEADER_STDC + AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h sys/time.h sys/vfs.h syslog.h termios.h unistd.h]) + AC_CHECK_HEADERS(sys/io.h asm/io.h) + AC_CHECK_HEADERS(linux/parport.h linux/ppdev.h) +-AC_CHECK_HEADERS(asm/msr.h) + + # Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST +Index: udelay.c +=================================================================== +--- lcd4linux-0.10.1-RC2/udelay.c.orig ++++ lcd4linux-0.10.1-RC2/udelay.c +@@ -55,11 +55,6 @@ + #include <string.h> + #include <sys/time.h> + +-#ifdef HAVE_ASM_MSR_H +-#define u32 unsigned int +-#include <asm/msr.h> +-#endif +- + + #include "debug.h" + #include "cfg.h" +@@ -67,79 +62,10 @@ + #include "udelay.h" + + +-static unsigned int ticks_per_usec = 0; +- +- +-static void getCPUinfo(int *hasTSC, double *MHz) +-{ +- int fd; +- char buffer[4096], *p; +- +- *hasTSC = 0; +- *MHz = -1; +- +- fd = open("/proc/cpuinfo", O_RDONLY); +- if (fd == -1) { +- error("udelay: open(/proc/cpuinfo) failed: %s", strerror(errno)); +- return; +- } +- if (read(fd, &buffer, sizeof(buffer) - 1) == -1) { +- error("udelay: read(/proc/cpuinfo) failed: %s", strerror(errno)); +- close(fd); +- return; +- } +- close(fd); +- +- p = strstr(buffer, "flags"); +- if (p == NULL) { +- info("udelay: /proc/cpuinfo has no 'flags' line"); +- } else { +- p = strstr(p, "tsc"); +- if (p == NULL) { +- info("udelay: CPU does not support Time Stamp Counter"); +- } else { +- info("udelay: CPU supports Time Stamp Counter"); +- *hasTSC = 1; +- } +- } +- +- p = strstr(buffer, "cpu MHz"); +- if (p == NULL) { +- info("udelay: /proc/cpuinfo has no 'cpu MHz' line"); +- } else { +- if (sscanf(p + 7, " : %lf", MHz) != 1) { +- error("udelay: parse(/proc/cpuinfo) failed: unknown 'cpu MHz' format"); +- *MHz = -1; +- } else { +- info("udelay: CPU runs at %f MHz", *MHz); +- } +- } +- +-} +- + + void udelay_init(void) + { +-#ifdef HAVE_ASM_MSR_H +- +- int tsc; +- double mhz; +- +- getCPUinfo(&tsc, &mhz); +- +- if (tsc && mhz > 0.0) { +- ticks_per_usec = ceil(mhz); +- info("udelay: using TSC delay loop, %u ticks per microsecond", ticks_per_usec); +- } else +-#else +- error("udelay: The file 'include/asm/msr.h' was missing at compile time."); +- error("udelay: Even if your CPU supports TSC, it will not be used!"); +- error("udelay: You *really* should install msr.h and recompile LCD4linux!"); +-#endif +- { +- ticks_per_usec = 0; +- info("udelay: using gettimeofday() delay loop"); +- } ++ info("udelay: using gettimeofday() delay loop"); + } + + +@@ -172,37 +98,17 @@ unsigned long timing(const char *driver, + void ndelay(const unsigned long nsec) + { + +-#ifdef HAVE_ASM_MSR_H +- +- if (ticks_per_usec) { ++ struct timeval now, end; + +- unsigned int t1, t2; +- unsigned long tsc; +- +- tsc = (nsec * ticks_per_usec + 999) / 1000; +- +- rdtscl(t1); +- do { +- rep_nop(); +- rdtscl(t2); +- } while ((t2 - t1) < tsc); +- +- } else +-#endif +- +- { +- struct timeval now, end; +- +- gettimeofday(&end, NULL); +- end.tv_usec += (nsec + 999) / 1000; +- while (end.tv_usec > 1000000) { +- end.tv_usec -= 1000000; +- end.tv_sec++; +- } +- +- do { +- rep_nop(); +- gettimeofday(&now, NULL); +- } while (now.tv_sec == end.tv_sec ? now.tv_usec < end.tv_usec : now.tv_sec < end.tv_sec); ++ gettimeofday(&end, NULL); ++ end.tv_usec += (nsec + 999) / 1000; ++ while (end.tv_usec > 1000000) { ++ end.tv_usec -= 1000000; ++ end.tv_sec++; + } ++ ++ do { ++ rep_nop(); ++ gettimeofday(&now, NULL); ++ } while (now.tv_sec == end.tv_sec ? now.tv_usec < end.tv_usec : now.tv_sec < end.tv_sec); + } diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-usbdebug.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-usbdebug.patch new file mode 100644 index 000000000000..6ecc7a248990 --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-usbdebug.patch @@ -0,0 +1,121 @@ +diff -crB lcd4linux-0.10.1-RC2-orig/drv_BWCT.c lcd4linux-0.10.1-RC2/drv_BWCT.c +*** lcd4linux-0.10.1-RC2-orig/drv_BWCT.c 2007-02-25 13:39:09.000000000 +0100 +--- lcd4linux-0.10.1-RC2/drv_BWCT.c 2013-11-10 21:32:06.119047221 +0100 +*************** +*** 72,78 **** + static usb_dev_handle *lcd; + static int interface; + +- extern int usb_debug; + extern int got_signal; + + +--- 72,77 ---- +*************** +*** 89,96 **** + + info("%s: scanning USB for BWCT LCD...", Name); + +- usb_debug = 0; +- + usb_init(); + usb_find_busses(); + usb_find_devices(); +--- 88,93 ---- +diff -crB lcd4linux-0.10.1-RC2-orig/drv_LCD2USB.c lcd4linux-0.10.1-RC2/drv_LCD2USB.c +*** lcd4linux-0.10.1-RC2-orig/drv_LCD2USB.c 2007-02-25 13:39:10.000000000 +0100 +--- lcd4linux-0.10.1-RC2/drv_LCD2USB.c 2013-11-10 21:32:15.686677498 +0100 +*************** +*** 98,104 **** + static usb_dev_handle *lcd; + static int controllers = 0; + +- extern int usb_debug; + extern int got_signal; + + /****************************************/ +--- 98,103 ---- +*************** +*** 120,127 **** + if (device_id != NULL) + info("%s: scanning for device id: %s", Name, device_id); + +- usb_debug = 0; +- + usb_init(); + usb_find_busses(); + usb_find_devices(); +--- 119,124 ---- +diff -crB lcd4linux-0.10.1-RC2-orig/drv_picoLCD.c lcd4linux-0.10.1-RC2/drv_picoLCD.c +*** lcd4linux-0.10.1-RC2-orig/drv_picoLCD.c 2007-02-25 13:39:10.000000000 +0100 +--- lcd4linux-0.10.1-RC2/drv_picoLCD.c 2013-11-10 21:32:30.102120440 +0100 +*************** +*** 75,81 **** + static char *BufPtr; + + static usb_dev_handle *lcd; +- extern int usb_debug; + + + +--- 75,80 ---- +*************** +*** 97,104 **** + + info("%s: scanning for picoLCD...", Name); + +- usb_debug = 0; +- + usb_init(); + usb_find_busses(); + usb_find_devices(); +--- 96,101 ---- +diff -crB lcd4linux-0.10.1-RC2-orig/drv_Trefon.c lcd4linux-0.10.1-RC2/drv_Trefon.c +*** lcd4linux-0.10.1-RC2-orig/drv_Trefon.c 2007-02-25 13:39:10.000000000 +0100 +--- lcd4linux-0.10.1-RC2/drv_Trefon.c 2013-11-10 21:32:46.441489039 +0100 +*************** +*** 72,78 **** + static usb_dev_handle *lcd; + static int interface; + +- extern int usb_debug; + + + /****************************************/ +--- 72,77 ---- +*************** +*** 88,95 **** + + info("%s: scanning USB for TREFON LCD...", Name); + +- usb_debug = 0; +- + usb_init(); + usb_find_busses(); + usb_find_devices(); +--- 87,92 ---- +diff -crB lcd4linux-0.10.1-RC2-orig/drv_USBLCD.c lcd4linux-0.10.1-RC2/drv_USBLCD.c +*** lcd4linux-0.10.1-RC2-orig/drv_USBLCD.c 2007-02-25 13:39:10.000000000 +0100 +--- lcd4linux-0.10.1-RC2/drv_USBLCD.c 2013-11-10 21:33:01.508906792 +0100 +*************** +*** 86,93 **** + static usb_dev_handle *lcd; + static int interface; + +- extern int usb_debug; +- + #endif + + +--- 86,91 ---- +*************** +*** 107,114 **** + + info("%s: scanning for USBLCD...", Name); + +- usb_debug = 0; +- + usb_init(); + usb_find_busses(); + usb_find_devices(); +--- 105,110 ---- diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-warnings.patch b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-warnings.patch new file mode 100644 index 000000000000..58791ee91ff7 --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2-warnings.patch @@ -0,0 +1,64 @@ +Index: ./plugin_kvv.c +=================================================================== +--- ./plugin_kvv.c (revision 771) ++++ ./plugin_kvv.c (revision 797) +@@ -414,5 +414,5 @@ + + if (count > 0) { +- char *input, *cookie, *name, *value; ++ char *input, *cookie, *name = NULL, *value = NULL; + int input_len, cookie_len, name_len, value_len; + +Index: ./plugin_mpd.c +=================================================================== +--- ./plugin_mpd.c (revision 786) ++++ ./plugin_mpd.c (revision 797) +@@ -65,5 +65,10 @@ + int iport; + char *test; +- struct Pointer mpd; ++ ++ struct Pointer mpd = { ++ .conn = NULL, ++ .status = NULL, ++ .entity = NULL ++ }; + + if ((test = getenv("MPD_HOST"))) { +@@ -229,5 +234,6 @@ + #define _mpd_player_get_random 005 + +-void error_callback(MpdObj * mi, int errorid, char *msg, void *userdata) ++void error_callback( __attribute__ ((unused)) MpdObj * mi, int errorid, char *msg, __attribute__ ((unused)) ++ void *userdata) + { + printf("Error %i: '%s'\n", errorid, msg); +Index: ./drv_Image.c +=================================================================== +--- ./drv_Image.c (revision 771) ++++ ./drv_Image.c (revision 797) +@@ -115,5 +115,5 @@ + if (bitbuf == NULL) { + if ((bitbuf = malloc(xsize * ysize * sizeof(*bitbuf))) == NULL) { +- error("%s: malloc(%d) failed: %s", Name, (int) xsize * ysize * sizeof(*bitbuf), strerror(errno)); ++ error("%s: malloc() failed: %s", Name, strerror(errno)); + return -1; + } +@@ -122,5 +122,5 @@ + if (rowbuf == NULL) { + if ((rowbuf = malloc(3 * xsize * sizeof(*rowbuf))) == NULL) { +- error("Raster: malloc(%d) failed: %s", (int) 3 * xsize * sizeof(*rowbuf), strerror(errno)); ++ error("Raster: malloc() failed: %s", strerror(errno)); + return -1; + } +Index: ./plugin_i2c_sensors.c +=================================================================== +--- ./plugin_i2c_sensors.c (revision 771) ++++ ./plugin_i2c_sensors.c (revision 797) +@@ -297,5 +297,5 @@ + strcat(path_cfg, "/"); + } +- debug("using i2c sensors at %s (from %s)", path, cfg_source()); ++ debug("using i2c sensors at %s (from %s)", path_cfg, cfg_source()); + path = realloc(path, strlen(path_cfg) + 1); + strcpy(path, path_cfg); diff --git a/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2.initd b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2.initd new file mode 100644 index 000000000000..1135ea3d588b --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.10.1_rc2.initd @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE=/var/run/lcd4linux.pid +DAEMON=/usr/bin/lcd4linux + +depend() { + use net +} + +start() { + ebegin "Starting lcd4linux" + start-stop-daemon --start --quiet --pidfile ${PIDFILE} --exec ${DAEMON} + eend $? "Failed to start lcd4linux. Did you remember to set up /etc/lcd4linux.conf?" +} + +stop() { + ebegin "Stopping lcd4linux" + start-stop-daemon --stop --quiet --oknodo --exec ${DAEMON} --pidfile ${PIDFILE} + eend $? +} diff --git a/app-misc/lcd4linux/files/lcd4linux-r1.initd b/app-misc/lcd4linux/files/lcd4linux-r1.initd new file mode 100644 index 000000000000..44ca73e9aabe --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-r1.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +if [ "${SVCNAME}" = "lcd4linux" ]; then + config="/etc/lcd4linux/lcd4linux.conf" + name="LCD4Linux" + pidfile="/run/lcd4linux.pid" +else + config="/etc/lcd4linux/lcd4linux.${SVCNAME#lcd4linux.}.conf" + name="LCD4Linux (${SVCNAME#lcd4linux.})" + pidfile="/run/lcd4linux.${SVCNAME#lcd4linux.}.pid" +fi + +command="/usr/bin/lcd4linux" +command_args="-f ${config} -p ${pidfile}" +command_background="true" +command_group="root" +command_user="root" + +start_pre() { + if [ ! -f "${config}" ]; then + eerror "Please create ${config} before starting LCD4Linux!" + return 1 + else + checkpath -f -m 600 -o "${command_user}:${command_group}" -q "${config}" + return 0 + fi +} diff --git a/app-misc/lcd4linux/lcd4linux-0.10.1_rc2-r4.ebuild b/app-misc/lcd4linux/lcd4linux-0.10.1_rc2-r4.ebuild new file mode 100644 index 000000000000..dd4dad81be11 --- /dev/null +++ b/app-misc/lcd4linux/lcd4linux-0.10.1_rc2-r4.ebuild @@ -0,0 +1,174 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) +WANT_AUTOMAKE="1.9" +inherit eutils multilib autotools python-single-r1 + +MY_P=${P/_rc/-RC} + +DESCRIPTION="Shows system and ISDN information on an external display or in a X11 window" +HOMEPAGE="https://lcd4linux.bulix.org/" +SRC_URI="mirror://gentoo/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc x86" +IUSE="mysql python iconv mpd" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# The following array holds the USE_EXPANDed keywords +IUSE_LCD_DEVICES=(beckmannegle bwct cfontz ncurses cwlinux + ea232 g15 hd44780 hd44780i2c lcd2usb + lcdlinux lcdterm ledmatrix lph7508 m50530 + mtxorb milfordbpk noritake null picolcd + png ppm routerboard serdisplib simplelcd + t6963 trefon usbhub usblcd wincor + X luise) + +# 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 ) + iconv? ( virtual/libiconv ) + mpd? ( media-libs/libmpd ) + + lcd_devices_bwct? ( =virtual/libusb-0* ) + lcd_devices_g15? ( =virtual/libusb-0* ) + lcd_devices_lcd2usb? ( =virtual/libusb-0* ) + lcd_devices_picolcd? ( =virtual/libusb-0* ) + lcd_devices_trefon? ( =virtual/libusb-0* ) + lcd_devices_usbhub? ( =virtual/libusb-0* ) + lcd_devices_usblcd? ( =virtual/libusb-0* ) + lcd_devices_luise? ( dev-libs/luise-bin ) + lcd_devices_ncurses? ( sys-libs/ncurses:0= ) + lcd_devices_noritake? ( media-libs/gd ) + lcd_devices_t6963? ( media-libs/gd ) + lcd_devices_png? ( media-libs/libpng:0= media-libs/gd ) + lcd_devices_X? ( x11-libs/libX11 media-libs/gd ) + lcd_devices_serdisplib? ( dev-libs/serdisplib media-libs/gd ) +" +RDEPEND="${DEPEND} + python? ( ${PYTHON_DEPS} ) +" + +S="${WORKDIR}/${MY_P}" + +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 file i2c_sensors imon isdn kvv loadavg meminfo netdev pop3 ppp proc_stat seti statfs uname uptime wireless" + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + epatch "${FILESDIR}/${P}-warnings.patch" + epatch "${FILESDIR}/${P}-mpd.patch" + epatch "${FILESDIR}/${P}-nordtsc.patch" + epatch "${FILESDIR}/${P}-autoconf-2.65.patch" + epatch "${FILESDIR}/${P}-missing-header.patch" + epatch "${FILESDIR}/${P}-usbdebug.patch" + eautoreconf +} + +src_configure() { + # 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 + EA232graphic G15 HD44780 HD44780-I2C LCD2USB + LCDLinux LCDTerm LEDMatrix LPH7508 M50530 + MatrixOrbital MilfordInstruments Noritake NULL picoLCD + PNG PPM RouterBoard serdisplib SimpleLCD + T6963 Trefon USBHUB USBLCD WincorNixdorf + X11 LUIse) + + local myconf myp + + # plugins + if [ -n "$LCD4LINUX_PLUGINS" ]; then + myp="$LCD4LINUX_PLUGINS" + else + myp="all,!xmms" + fi + use iconv || myp="${myp},!iconv" + use mpd || myp="${myp},!mpd" + use mysql || myp="${myp},!mysql" + use python || myp="${myp},!python" + elog "Active plugins: ${myp}" + + # 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 + + # workaround the build failing because of b0rked settings + if use lcd_devices_hd44780 && use lcd_devices_hd44780i2c ; then + echo + ewarn "Disabling hd44780 LCD_DEVICE as hd44780i2c is set!" + echo + COMMA_DRIVERS="${COMMA_DRIVERS},!HD44780" + fi + + # avoid package brokenness + if use lcd_devices_X ; then + myconf="--x-libraries=/usr/$(get_libdir) --x-include=/usr/include" + else + myconf="--without-x" + fi + + econf \ + --sysconfdir=/etc/lcd4linux \ + --with-drivers="${COMMA_DRIVERS}" \ + --with-plugins="${myp}" \ + $(use_with python) \ + ${myconf} + + sed -i.orig -e 's/-L -lX11/ -lX11 /g' Makefile || die "sed fixup failed" +} + +src_install() { + default + + 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 https://overlays.gentoo.org/dev/jokey/browser/trunk and emerge app-misc/lcd-linux" + fi +} diff --git a/app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild b/app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild new file mode 100644 index 000000000000..098e0b9b1d05 --- /dev/null +++ b/app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit autotools flag-o-matic python-single-r1 + +DESCRIPTION="A small program that grabs information and displays it on an external LCD" +HOMEPAGE="https://lcd4linux.bulix.org/" +SRC_URI="https://www.bl4ckb0x.de/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dmalloc outb" +REQUIRED_USE="?? ( lcd_devices_hd44780 lcd_devices_hd44780-i2c ) + python? ( ${PYTHON_REQUIRED_USE} )" + +# Define the list of valid lcd devices. +# Some drivers were removed from this list: +# - lcdlinux: It's an ancient driver, which needs app-misc/lcd-linux, that made it never to the portage tree. +# - lcdlinux: Besides, app-misc/lcd-linux won't compile on a modern linux kernel. +# - st2205: It's needs dev-libs/libst2205, which made it never to the portage tree and is quite outdated. +IUSE_LCD_DEVICES=( ASTUSB BeckmannEgle BWCT CrystalFontz Curses Cwlinux D4D DPF EA232graphic EFN FutabaVFD + FW8888 G15 GLCD2USB HD44780 HD44780-I2C IRLCD LCD2USB LCDTerm LEDMatrix LPH7508 LUIse LW_ABP M50530 + MatrixOrbital MatrixOrbitalGX MilfordInstruments MDM166A Newhaven Noritake NULL Pertelian PHAnderson + PICGraphic picoLCD picoLCDGraphic PNG PPM RouterBoard Sample SamsungSPF serdisplib ShuttleVFD + SimpleLCD T6963 TeakLCM Trefon ULA200 USBHUB USBLCD VNC WincorNixdorf X11 ) + +# Define the list of valid lcd4linux plugins. +# Some plugins were removed from this list: +# - imon: Uses telmond, which is only available on a fli4l router or an eisfair server. +# - ppp: It has been replaced by the netdev plugin. +# - seti: SETI@home software was replaced by sci-misc/boinc, which is not compatible. +# - xmms: XMMS software was replaced by media-sound/xmms2, which is not compatible. +IUSE_LCD4LINUX_PLUGINS=( apm asterisk button_exec cpuinfo dbus diskstats dvb exec event + fifo file gps hddtemp huawei i2c_sensors iconv isdn kvv + loadavg meminfo mpd mpris_dbus mysql netdev netinfo pop3 + proc_stat python qnaplog raspi sample statfs uname uptime + w1retap wireless ) + +# Add supported drivers from 'IUSE_LCD_DEVICES' to 'IUSE' and 'REQUIRED_USE' +REQUIRED_USE+=" || ( " +for LCD_DEVICE in "${IUSE_LCD_DEVICES[@]}"; do + LCD_DEVICE=${LCD_DEVICE,,} + IUSE+=" lcd_devices_${LCD_DEVICE} " + REQUIRED_USE+=" lcd_devices_${LCD_DEVICE} " +done +REQUIRED_USE+=" ) " +unset LCD_DEVICE + +# Add supported plugins from 'IUSE_LCD4LINUX_PLUGINS' to 'IUSE' and 'REQUIRED_USE' +IUSE+=" ${IUSE_LCD4LINUX_PLUGINS[*]} " +REQUIRED_USE+=" || ( ${IUSE_LCD4LINUX_PLUGINS[*]} ) " + +# Define dependencies for all drivers in 'IUSE_LCD_DEVICES' +DEPEND_LCD_DEVICES="lcd_devices_astusb? ( virtual/libusb:0= ) + lcd_devices_bwct? ( virtual/libusb:0= ) + lcd_devices_curses? ( sys-libs/ncurses:0= ) + lcd_devices_dpf? ( virtual/libusb:0= ) + lcd_devices_g15? ( virtual/libusb:0= ) + lcd_devices_glcd2usb? ( virtual/libusb:0= ) + lcd_devices_irlcd? ( virtual/libusb:0= ) + lcd_devices_lcd2usb? ( virtual/libusb:0= ) + lcd_devices_ledmatrix? ( virtual/libusb:0= ) + lcd_devices_luise? ( dev-libs/luise-bin + virtual/libusb:0= ) + lcd_devices_matrixorbitalgx? ( virtual/libusb:0= ) + lcd_devices_mdm166a? ( virtual/libusb:0= ) + lcd_devices_picolcd? ( virtual/libusb:0= ) + lcd_devices_picolcdgraphic? ( virtual/libusb:0= ) + lcd_devices_png? ( media-libs/gd[png] + media-libs/libpng:0= ) + lcd_devices_ppm? ( media-libs/gd ) + lcd_devices_samsungspf? ( virtual/libusb:0= ) + lcd_devices_serdisplib? ( dev-libs/serdisplib ) + lcd_devices_shuttlevfd? ( virtual/libusb:0= ) + lcd_devices_trefon? ( virtual/libusb:0= ) + lcd_devices_ula200? ( dev-embedded/libftdi:1= + virtual/libusb:0= ) + lcd_devices_usbhub? ( virtual/libusb:0= ) + lcd_devices_usblcd? ( virtual/libusb:0= ) + lcd_devices_vnc? ( net-libs/libvncserver ) + lcd_devices_x11? ( x11-libs/libX11 )" + +# Define dependencies for all plugins in 'IUSE_LCD4LINUX_PLUGINS' +DEPEND_LCD4LINUX_PLUGINS="asterisk? ( net-misc/asterisk ) + dbus? ( sys-apps/dbus ) + gps? ( dev-libs/nmeap ) + hddtemp? ( app-admin/hddtemp ) + iconv? ( virtual/libiconv ) + mpd? ( media-libs/libmpd ) + mpris_dbus? ( sys-apps/dbus ) + mysql? ( || ( dev-db/mariadb-connector-c + dev-db/mysql-connector-c ) ) + python? ( ${PYTHON_DEPS} ) + wireless? ( || ( net-wireless/iw + net-wireless/wireless-tools ) )" + +RDEPEND="dmalloc? ( dev-libs/dmalloc ) + ${DEPEND_LCD_DEVICES} + ${DEPEND_LCD4LINUX_PLUGINS}" + +DEPEND="${RDEPEND}" + +pkg_setup() { + if use python; then + python-single-r1_pkg_setup + fi +} + +src_prepare() { + default + + eautoreconf +} + +src_configure() { + # Enable all users enabled lcd devices + local myeconfargs_lcd_devices + for lcd_device in "${IUSE_LCD_DEVICES[@]}"; do + if use "lcd_devices_${lcd_device,,}"; then + myeconfargs_lcd_devices+=",${lcd_device}" + fi + done + + # Enable all users enabled lcd4linux plugins + local myeconfargs_lcd4linux_plugins + for lcd4linux_plugin in "${IUSE_LCD4LINUX_PLUGINS[@]}"; do + if use "${lcd4linux_plugin}"; then + myeconfargs_lcd4linux_plugins+=",${lcd4linux_plugin}" + fi + done + + local myeconfargs=( + --disable-rpath + $(use_with dmalloc) + $(use_with outb) + $(use_with python) + $(use_with lcd_devices_x11 x) + --with-drivers="${myeconfargs_lcd_devices#,}" + --with-plugins="${myeconfargs_lcd4linux_plugins#,}" + --x-include="/usr/include" + --x-libraries="/usr/$(get_libdir)" + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + # Install sample config, and must have 600, as lcd4linux checks this. + insinto /etc/lcd4linux + insopts -m 0600 + doins lcd4linux.conf.sample + + newinitd "${FILESDIR}/lcd4linux-r1.initd" lcd4linux +} diff --git a/app-misc/lcd4linux/metadata.xml b/app-misc/lcd4linux/metadata.xml new file mode 100644 index 000000000000..a359d32d1f1e --- /dev/null +++ b/app-misc/lcd4linux/metadata.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>ck+gentoo@bl4ckb0x.de</email> + <name>Conrad Kostecki</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + LCD4Linux is a small program that grabs information from the kernel + and some subsystems and displays it on an external liquid crystal display. + </longdescription> + <use> + <flag name="apm">Enable the APM plugin.</flag> + <flag name="asterisk">Enable the Asterisk plugin.</flag> + <flag name="button_exec">Enable the Button plugin, to execute something on keypress.</flag> + <flag name="cpuinfo">Enable the cpuinfo plugin.</flag> + <flag name="dbus">Enable the dbus plugin.</flag> + <flag name="diskstats">Enable the diskstats plugin.</flag> + <flag name="dmalloc">Enable dmalloc for debugging.</flag> + <flag name="dvb">Enable support for the DVB plugin.</flag> + <flag name="event">Enable the event plugin.</flag> + <flag name="exec">Enable the exec plugin, to read output from external programs.</flag> + <flag name="fifo">Enable the FIFO (First-In, First-Out) plugin.</flag> + <flag name="file">Enable the file plugin, to read from input from files.</flag> + <flag name="gps">Enable the gps plugin, for reading gps coordinates.</flag> + <flag name="hddtemp">Enable the hddtemp plugin, to read from the hddtemp daemon.</flag> + <flag name="huawei">Enable the huawei plugin, to read from a huawei device.</flag> + <flag name="i2c_sensors">Enable the i2c_sensors plugin, to read sensor data.</flag> + <flag name="iconv">Enable the iconv plugin, to convert between encodings.</flag> + <flag name="isdn">Enable the isdn plugin, to get information about ISDN.</flag> + <flag name="kvv">Enable the kvv plugin, to get realtime train schedule from the Karlsruher Verkehrsverbund.</flag> + <flag name="loadavg">Enable the loadavg plugin, to get stats load</flag> + <flag name="meminfo">Enable the meminfo plugin, to get memory statistics.</flag> + <flag name="mpd">Enable the mpd plugin, to read from the Music Player Daemon.</flag> + <flag name="mpris_dbus">Enable the mpris plugin, to read data via dbus for mpris.</flag> + <flag name="mysql">Enable the mysql plugin, to get mysql database information.</flag> + <flag name="netdev">Enable the netdev plugin, to get interface statistics.</flag> + <flag name="netinfo">Enable the netinfo plugin, to get more interface statistic.</flag> + <flag name="outb">Enable raw i/o access.</flag> + <flag name="pop3">Enable the pop3 plugin, to get notified about new mails.</flag> + <flag name="proc_stat">Enable the proc_stat plugin, to read data from the proc file system.</flag> + <flag name="python">Enable support for dev-lang/python and enable the python plugin, to execute own python scripts.</flag> + <flag name="qnaplog">Enable the qnaplog plugin, to read a log from a QNAP device.</flag> + <flag name="raspi">Enable the raspi plugin, to read sensor data from a Raspberry Pi.</flag> + <flag name="sample">Enable the sample plugin.</flag> + <flag name="statfs">Enable the statfs plugin, to get statistics about the file system.</flag> + <flag name="uname">Enable the uname plugin, to get the output of uname.</flag> + <flag name="uptime">Enable the uptime plugin.</flag> + <flag name="w1retap">Enable the w1retap plugin.</flag> + <flag name="wireless">Enable the wireless plugin, to get wireless statistics.</flag> + </use> +</pkgmetadata> |