diff options
author | Conrad Kostecki <conrad@kostecki.com> | 2018-06-20 16:47:42 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-06-22 10:05:08 +0200 |
commit | f98bb224f10e90d2d580f5d38406478ceeb336d1 (patch) | |
tree | dde8e5dcb1802098dd5ea414365411833f6e6bca | |
parent | profiles/desc/lcd_devices.desc: Updated LCD_DEVICES (diff) | |
download | gentoo-f98bb224f10e90d2d580f5d38406478ceeb336d1.tar.gz gentoo-f98bb224f10e90d2d580f5d38406478ceeb336d1.tar.bz2 gentoo-f98bb224f10e90d2d580f5d38406478ceeb336d1.zip |
app-misc/lcd4linux: Bump to version 0.11.0_pre20170527
Closes: https://bugs.gentoo.org/502268
Closes: https://bugs.gentoo.org/652706
Closes: https://github.com/gentoo/gentoo/pull/7846
Package-Manager: Portage-2.3.40, Repoman-2.3.9
-rw-r--r-- | app-misc/lcd4linux/Manifest | 1 | ||||
-rw-r--r-- | app-misc/lcd4linux/files/lcd4linux-r1.initd | 29 | ||||
-rw-r--r-- | app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild | 161 | ||||
-rw-r--r-- | app-misc/lcd4linux/metadata.xml | 62 |
4 files changed, 243 insertions, 10 deletions
diff --git a/app-misc/lcd4linux/Manifest b/app-misc/lcd4linux/Manifest index 5957d1fca66b..db302daea919 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/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.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 index 2d2a4720b153..a359d32d1f1e 100644 --- a/app-misc/lcd4linux/metadata.xml +++ b/app-misc/lcd4linux/metadata.xml @@ -1,14 +1,56 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> -<longdescription lang="en"> - 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. -</longdescription> -<use> - <flag name="mpd">Add support for display of mpd controlled music - (<pkg>media-libs/libmpd</pkg>)</flag> -</use> + <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> |