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
Package-Manager: Portage-2.3.36, Repoman-2.3.9
RepoMan-Options: --force
  • Loading branch information
ConiKost committed May 15, 2018
1 parent aa8662e commit 40f2951
Show file tree
Hide file tree
Showing 4 changed files with 247 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
}
165 changes: 165 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,165 @@
# 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="python? ( ${PYTHON_REQUIRED_USE} )
lcd_devices_hd44780? ( !lcd_devices_hd44780-i2c )
lcd_devices_hd44780-i2c? ( !lcd_devices_hd44780 )"

# 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:ASTUSB beckmannegle:BeckmannEgle bwct:BWCT crystalfontz:CrystalFontz curses:Curses
cwlinux:Cwlinux d4d:D4D dpf:DPF ea232graphic:EA232graphic efn:EFN futabavfd:FutabaVFD fw8888:FW8888
g15:G15 glcd2usb:GLCD2USB hd44780:HD44780 hd44780-i2c:HD44780-I2C irlcd:IRLCD lcd2usb:LCD2USB
lcdterm:LCDTerm ledmatrix:LEDMatrix lph7508:LPH7508 luise:LUIse lwabp:LW_ABP m50530:M50530
matrixorbital:MatrixOrbital matrixorbitalgx:MatrixOrbitalGX mdm166a:MilfordInstruments
milfordinstruments:MDM166A newhaven:Newhaven noritake:Noritake null:NULL pertelian:Pertelian
phanderson:PHAnderson picgraphic:PICGraphic picolcd:picoLCD picolcdgraphic:picoLCDGraphic png:PNG
ppm:PPM routerboard:RouterBoard sample:Sample samsungspf:SamsungSPF serdisplib:serdisplib
shuttlevfd:ShuttleVFD simplelcd:SimpleLCD t6963:T6963 teaklcm:TeakLCM trefon:Trefon ula200:ULA200
usbhub:USBHUB usblcd:USBLCD vnc:VNC wincornixdorf:WincorNixdorf x11: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
IUSE+=" lcd_devices_${lcd_device%%:*} "
REQUIRED_USE+=" lcd_devices_${lcd_device%%:*} "
done
REQUIRED_USE+=" ) "

# Add supported plugins from 'IUSE_LCD4LINUX_PLUGINS' to 'IUSE' and 'REQUIRED_USE'
IUSE+="$(printf '%s ' ${IUSE_LCD4LINUX_PLUGINS[@]})"
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

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>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>

0 comments on commit 40f2951

Please sign in to comment.