From 356325870ca60f49ebbdae856f23faf2873f503e Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Thu, 26 Apr 2018 21:13:07 +0200 Subject: [PATCH] app-misc/lcd4linux: Bump to version 0.11.0_pre20170527 Needs: https://bugs.gentoo.org/653150 Closes: https://bugs.gentoo.org/502268 Closes: https://bugs.gentoo.org/652706 Package-Manager: Portage-2.3.24, Repoman-2.3.6 RepoMan-Options: --force --- app-misc/lcd4linux/Manifest | 1 + app-misc/lcd4linux/files/ax_python_devel.m4 | 327 ++++++++++++++++++ ...lcd4linux-0.11.0-add_python3_support.patch | 38 ++ app-misc/lcd4linux/files/lcd4linux-r1.initd | 49 +++ .../lcd4linux-0.11.0_pre20170527.ebuild | 195 +++++++++++ app-misc/lcd4linux/metadata.xml | 62 +++- 6 files changed, 662 insertions(+), 10 deletions(-) create mode 100644 app-misc/lcd4linux/files/ax_python_devel.m4 create mode 100644 app-misc/lcd4linux/files/lcd4linux-0.11.0-add_python3_support.patch create mode 100644 app-misc/lcd4linux/files/lcd4linux-r1.initd create mode 100644 app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild diff --git a/app-misc/lcd4linux/Manifest b/app-misc/lcd4linux/Manifest index 5957d1fca66b0..db302daea9197 100644 --- a/app-misc/lcd4linux/Manifest +++ b/app-misc/lcd4linux/Manifest @@ -1 +1,2 @@ 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 diff --git a/app-misc/lcd4linux/files/ax_python_devel.m4 b/app-misc/lcd4linux/files/ax_python_devel.m4 new file mode 100644 index 0000000000000..44dbd83e0053f --- /dev/null +++ b/app-misc/lcd4linux/files/ax_python_devel.m4 @@ -0,0 +1,327 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_python_devel.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PYTHON_DEVEL([version]) +# +# DESCRIPTION +# +# Note: Defines as a precious variable "PYTHON_VERSION". Don't override it +# in your configure.ac. +# +# This macro checks for Python and tries to get the include path to +# 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output +# variables. It also exports $(PYTHON_EXTRA_LIBS) and +# $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code. +# +# You can search for some particular version of Python by passing a +# parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please +# note that you *have* to pass also an operator along with the version to +# match, and pay special attention to the single quotes surrounding the +# version number. Don't use "PYTHON_VERSION" for this: that environment +# variable is declared as precious and thus reserved for the end-user. +# +# This macro should work for all versions of Python >= 2.1.0. As an end +# user, you can disable the check for the python version by setting the +# PYTHON_NOVERSIONCHECK environment variable to something else than the +# empty string. +# +# If you need to use this macro for an older Python version, please +# contact the authors. We're always open for feedback. +# +# LICENSE +# +# Copyright (c) 2009 Sebastian Huber +# Copyright (c) 2009 Alan W. Irwin +# Copyright (c) 2009 Rafael Laboissiere +# Copyright (c) 2009 Andrew Collier +# Copyright (c) 2009 Matteo Settenvini +# Copyright (c) 2009 Horst Knorr +# Copyright (c) 2013 Daniel Mullner +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 21 + +AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL]) +AC_DEFUN([AX_PYTHON_DEVEL],[ + # + # Allow the use of a (user set) custom python version + # + AC_ARG_VAR([PYTHON_VERSION],[The installed Python + version to use, for example '2.3'. This string + will be appended to the Python interpreter + canonical name.]) + + AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]]) + if test -z "$PYTHON"; then + AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path]) + PYTHON_VERSION="" + fi + + # + # Check for a version of Python >= 2.1.0 + # + AC_MSG_CHECKING([for a version of Python >= '2.1.0']) + ac_supports_python_ver=`$PYTHON -c "import sys; \ + ver = sys.version.split ()[[0]]; \ + print (ver >= '2.1.0')"` + if test "$ac_supports_python_ver" != "True"; then + if test -z "$PYTHON_NOVERSIONCHECK"; then + AC_MSG_RESULT([no]) + AC_MSG_FAILURE([ +This version of the AC@&t@_PYTHON_DEVEL macro +doesn't work properly with versions of Python before +2.1.0. You may need to re-run configure, setting the +variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG, +PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand. +Moreover, to disable this check, set PYTHON_NOVERSIONCHECK +to something else than an empty string. +]) + else + AC_MSG_RESULT([skip at user request]) + fi + else + AC_MSG_RESULT([yes]) + fi + + # + # if the macro parameter ``version'' is set, honour it + # + if test -n "$1"; then + AC_MSG_CHECKING([for a version of Python $1]) + ac_supports_python_ver=`$PYTHON -c "import sys; \ + ver = sys.version.split ()[[0]]; \ + print (ver $1)"` + if test "$ac_supports_python_ver" = "True"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([this package requires Python $1. +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. +]) + PYTHON_VERSION="" + fi + fi + + # + # Check if you have distutils, else fail + # + AC_MSG_CHECKING([for the distutils Python package]) + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` + if test $? -eq 0; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_ERROR([cannot import Python module "distutils". +Please check your Python installation. The error was: +$ac_distutils_result]) + PYTHON_VERSION="" + fi + + # + # Check for Python include path + # + AC_MSG_CHECKING([for Python include path]) + if test -z "$PYTHON_CPPFLAGS"; then + python_path=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_inc ());"` + plat_python_path=`$PYTHON -c "import distutils.sysconfig; \ + print (distutils.sysconfig.get_python_inc (plat_specific=1));"` + if test -n "${python_path}"; then + if test "${plat_python_path}" != "${python_path}"; then + python_path="-I$python_path -I$plat_python_path" + else + python_path="-I$python_path" + fi + fi + PYTHON_CPPFLAGS=$python_path + fi + AC_MSG_RESULT([$PYTHON_CPPFLAGS]) + AC_SUBST([PYTHON_CPPFLAGS]) + + # + # Check for Python library path + # + AC_MSG_CHECKING([for Python library path]) + if test -z "$PYTHON_LIBS"; then + # (makes two attempts to ensure we've got a version number + # from the interpreter) + ac_python_version=`cat<]], + [[Py_Initialize();]]) + ],[pythonexists=yes],[pythonexists=no]) + AC_LANG_POP([C]) + # turn back to default flags + CPPFLAGS="$ac_save_CPPFLAGS" + LIBS="$ac_save_LIBS" + LDFLAGS="$ac_save_LDFLAGS" + + AC_MSG_RESULT([$pythonexists]) + + if test ! "x$pythonexists" = "xyes"; then + AC_MSG_FAILURE([ + Could not link test program to Python. Maybe the main Python library has been + installed in some non-standard library path. If so, pass it to configure, + via the LIBS environment variable. + Example: ./configure LIBS="-L/usr/non-standard-path/python/lib" + ============================================================================ + ERROR! + You probably have to install the development version of the Python package + for your distribution. The exact name of this package varies among them. + ============================================================================ + ]) + PYTHON_VERSION="" + fi + + # + # all done! + # +]) diff --git a/app-misc/lcd4linux/files/lcd4linux-0.11.0-add_python3_support.patch b/app-misc/lcd4linux/files/lcd4linux-0.11.0-add_python3_support.patch new file mode 100644 index 0000000000000..24ebd6b11de67 --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-0.11.0-add_python3_support.patch @@ -0,0 +1,38 @@ +--- a/plugin_python.c 2018-04-06 19:37:26.000000000 +0200 ++++ b/plugin_python.c 2018-04-06 19:39:01.000000000 +0200 +@@ -55,7 +55,7 @@ + const char *rv = NULL; + int i; + +- pName = PyString_FromString(module); ++ pName = PyUnicode_FromString(module); + /* Error checking of pName left out */ + + pModule = PyImport_Import(pName); +@@ -71,7 +71,7 @@ + if (pFunc && PyCallable_Check(pFunc)) { + pArgs = PyTuple_New(argc); + for (i = 0; i < argc; ++i) { +- pValue = PyString_FromString(argv[i]); ++ pValue = PyUnicode_FromString(argv[i]); + if (!pValue) { + Py_DECREF(pArgs); + Py_DECREF(pModule); +@@ -85,7 +85,7 @@ + pValue = PyObject_CallObject(pFunc, pArgs); + Py_DECREF(pArgs); + if (pValue != NULL) { +- rv = PyString_AsString(pValue); ++ rv = PyUnicode_AsUTF8(pValue); + SetResult(&result, R_STRING, rv); + Py_DECREF(pValue); + /* rv is now a 'dangling reference' */ +@@ -128,7 +128,7 @@ + Py_Initialize(); + python_cleanup_responsibility = 1; + } +- AddFunction("python::exec", 3, my_exec); ++ AddFunction("python3::exec", 3, my_exec); + return 0; + } + diff --git a/app-misc/lcd4linux/files/lcd4linux-r1.initd b/app-misc/lcd4linux/files/lcd4linux-r1.initd new file mode 100644 index 0000000000000..75564a59f1f4a --- /dev/null +++ b/app-misc/lcd4linux/files/lcd4linux-r1.initd @@ -0,0 +1,49 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# If no symlink, set instance name to an empty name +LCD4LINUX_NAME="${SVCNAME}" +if [ "${LCD4LINUX_NAME}" == "lcd4linux" ]; then + LCD4LINUX_NAME="lcd4linux" + LCD4LINUX_NAME_INSTANCE="" + LCD4LINUX_CONFIG="/etc/lcd4linux/lcd4linux.conf" + LCD4LINUX_PID="/run/lcd4linux.pid" +else + LCD4LINUX_NAME="${SVCNAME#lcd4linux.}" + LCD4LINUX_NAME_INSTANCE="($LCD4LINUX_NAME)" + LCD4LINUX_CONFIG="/etc/lcd4linux/lcd4linux.${LCD4LINUX_NAME}.conf" + LCD4LINUX_PID="/run/lcd4linux.${LCD4LINUX_NAME}.pid" +fi + +# Variables +LCD4LINUX="/usr/bin/lcd4linux" +LCD4LINUX_GROUP="root" +LCD4LINUX_USER="root" + +checkconfig() { + # Test, if config exists + if [ ! -f ${LCD4LINUX_CONFIG} ]; then + eerror "Please create ${LCD4LINUX_CONFIG} before starting LCD4Linux." + return 1 + fi + return 0 +} + +start() { + checkconfig || return $? + ebegin "Starting LCD4Linux ${LCD4LINUX_NAME_INSTANCE}" + start-stop-daemon --start --quiet \ + --exec ${LCD4LINUX} --group ${LCD4LINUX_GROUP} \ + --pidfile ${LCD4LINUX_PID} --user ${LCD4LINUX_USER} \ + -- -f ${LCD4LINUX_CONFIG} -p ${LCD4LINUX_PID} + eend $? +} + +stop() { + ebegin "Stopping LCD4Linux ${LCD4LINUX_NAME_INSTANCE}" + start-stop-daemon --stop --quiet \ + --exec ${LCD4LINUX} --group ${LCD4LINUX_GROUP} \ + --pidfile ${LCD4LINUX_PID} --user ${LCD4LINUX_USER} + eend $? +} 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 0000000000000..1d84697c1f7a7 --- /dev/null +++ b/app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +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 ) + lcd_devices_hd44780-i2c? ( !lcd_devices_hd44780 ) + 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 + lwabp m50530 matrixorbital matrixorbitalgx mdm166a milfordinstruments + 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' +IUSE="${IUSE} $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]})" +REQUIRED_USE="${REQUIRED_USE} || ( $(printf 'lcd_devices_%s ' ${IUSE_LCD_DEVICES[@]}) )" + +# Add supported plugins from 'IUSE_LCD4LINUX_PLUGINS' to 'IUSE' and 'REQUIRED_USE' +IUSE="${IUSE} $(printf '%s ' ${IUSE_LCD4LINUX_PLUGINS[@]})" +REQUIRED_USE="${REQUIRED_USE} || ( $(printf '%s ' ${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 + + # Install new version of ax_python_devel.m4, to fix support for >=dev-lang/python-3. + # Patch also plugin_python.c, to compile with >=dev-lang/python-3. + # The compilation seems also not to link against >=dev-lang/python-3 correctly, so adding it to the libs. + # See https://lcd4linux.bulix.org/wiki/plugin_python for more information. + if use python; then + if ! use python_single_target_python2_7; then + cp "${FILESDIR}"/ax_python_devel.m4 ax_python_devel.m4 || die + eapply "${FILESDIR}"/${PN}-0.11.0-add_python3_support.patch + append-libs "-lpython${EPYTHON#python}m" + fi + fi + + eautoreconf +} + +src_configure() { + # Define 'real names' from configure for 'LCD_DEVICES' + local LCD_DEVICES_NAMES=( ASTUSB BeckmannEgle BWCT CrystalFontz Curses Cwlinux D4D DPF + EA232graphic EFN FutabaVFD FW8888 G15 GLCD2USB HD44780 HD44780-I2C + IRLCD LCD2USB LEDMatrix LCDTerm 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 ) + + # Enable all users enabled lcd devices + local myconf_lcd_devices + for lcd_device in ${!IUSE_LCD_DEVICES[@]}; do + if use lcd_devices_${IUSE_LCD_DEVICES[$lcd_device]}; then + if [[ -z "${myconf_lcd_devices}" ]]; then + myconf_lcd_devices="${LCD_DEVICES_NAMES[$lcd_device]}" + else + myconf_lcd_devices="${myconf_lcd_devices},${LCD_DEVICES_NAMES[$lcd_device]}" + fi + fi + done + + # Enable all users enabled lcd4linux plugins + local myconf_lcd4linux_plugins + for lcd4linux_plugin in ${!IUSE_LCD4LINUX_PLUGINS[@]}; do + if use ${IUSE_LCD4LINUX_PLUGINS[$lcd4linux_plugin]}; then + if [[ -z "${myconf_lcd4linux_plugins}" ]]; then + myconf_lcd4linux_plugins="${IUSE_LCD4LINUX_PLUGINS[$lcd4linux_plugin]}" + else + myconf_lcd4linux_plugins="${myconf_lcd4linux_plugins},${IUSE_LCD4LINUX_PLUGINS[$lcd4linux_plugin]}" + fi + fi + done + + econf \ + --disable-rpath \ + $(use_with dmalloc) \ + $(use_with outb) \ + $(usex python "--with-python PYTHON_VERSION=${EPYTHON#python}" "--without-python") \ + $(usex lcd_devices_x11 "--with-x" "--without-x") \ + $(usex lcd_devices_x11 "--x-include=/usr/include --x-libraries=/usr/$(get_libdir)" "") \ + --with-drivers="${myconf_lcd_devices}" \ + --with-plugins="${myconf_lcd4linux_plugins}" +} + +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 +} + +pkg_postinst() { + if use python; then + if ! use python_single_target_python2_7; then + elog "Since you have choosen to use python3 for the python plugin," + elog "you must now use 'python3::exec' instead of 'python::exec'" + elog "in your lcd4linux configuration file." + fi + fi +} diff --git a/app-misc/lcd4linux/metadata.xml b/app-misc/lcd4linux/metadata.xml index 2d2a4720b1533..a359d32d1f1ee 100644 --- a/app-misc/lcd4linux/metadata.xml +++ b/app-misc/lcd4linux/metadata.xml @@ -1,14 +1,56 @@ - - - LCD4Linux is a small program that grabs information from the kernel and some - subsystems and displays it on an external liquid crystal display. It is - fully configurable and supports many data sources, displays and plugins. - - - Add support for display of mpd controlled music - (media-libs/libmpd) - + + ck+gentoo@bl4ckb0x.de + Conrad Kostecki + + + proxy-maint@gentoo.org + Proxy Maintainers + + + LCD4Linux is a small program that grabs information from the kernel + and some subsystems and displays it on an external liquid crystal display. + + + Enable the APM plugin. + Enable the Asterisk plugin. + Enable the Button plugin, to execute something on keypress. + Enable the cpuinfo plugin. + Enable the dbus plugin. + Enable the diskstats plugin. + Enable dmalloc for debugging. + Enable support for the DVB plugin. + Enable the event plugin. + Enable the exec plugin, to read output from external programs. + Enable the FIFO (First-In, First-Out) plugin. + Enable the file plugin, to read from input from files. + Enable the gps plugin, for reading gps coordinates. + Enable the hddtemp plugin, to read from the hddtemp daemon. + Enable the huawei plugin, to read from a huawei device. + Enable the i2c_sensors plugin, to read sensor data. + Enable the iconv plugin, to convert between encodings. + Enable the isdn plugin, to get information about ISDN. + Enable the kvv plugin, to get realtime train schedule from the Karlsruher Verkehrsverbund. + Enable the loadavg plugin, to get stats load + Enable the meminfo plugin, to get memory statistics. + Enable the mpd plugin, to read from the Music Player Daemon. + Enable the mpris plugin, to read data via dbus for mpris. + Enable the mysql plugin, to get mysql database information. + Enable the netdev plugin, to get interface statistics. + Enable the netinfo plugin, to get more interface statistic. + Enable raw i/o access. + Enable the pop3 plugin, to get notified about new mails. + Enable the proc_stat plugin, to read data from the proc file system. + Enable support for dev-lang/python and enable the python plugin, to execute own python scripts. + Enable the qnaplog plugin, to read a log from a QNAP device. + Enable the raspi plugin, to read sensor data from a Raspberry Pi. + Enable the sample plugin. + Enable the statfs plugin, to get statistics about the file system. + Enable the uname plugin, to get the output of uname. + Enable the uptime plugin. + Enable the w1retap plugin. + Enable the wireless plugin, to get wireless statistics. +