Skip to content

Commit

Permalink
app-misc/lcd4linux: Bump to version 0.11.0_pre20170527
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/502268
Closes: https://bugs.gentoo.org/652706
Closes: gentoo#7846
Package-Manager: Portage-2.3.40, Repoman-2.3.9
  • Loading branch information
ConiKost authored and mgorny committed Jun 22, 2018
1 parent afa511c commit f98bb22
Show file tree
Hide file tree
Showing 4 changed files with 243 additions and 10 deletions.
1 change: 1 addition & 0 deletions app-misc/lcd4linux/Manifest
Original file line number Diff line number Diff line change
@@ -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
29 changes: 29 additions & 0 deletions app-misc/lcd4linux/files/lcd4linux-r1.initd
Original file line number Diff line number Diff line change
@@ -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
}
161 changes: 161 additions & 0 deletions app-misc/lcd4linux/lcd4linux-0.11.0_pre20170527.ebuild
Original file line number Diff line number Diff line change
@@ -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
}
62 changes: 52 additions & 10 deletions app-misc/lcd4linux/metadata.xml
Original file line number Diff line number Diff line change
@@ -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>[email protected]</email>
<name>Conrad Kostecki</name>
</maintainer>
<maintainer type="project">
<email>[email protected]</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>

0 comments on commit f98bb22

Please sign in to comment.