Skip to content

Commit

Permalink
Merge pull request #837 from awiouy/lcdd
Browse files Browse the repository at this point in the history
lcdd: initial addon
  • Loading branch information
chewitt committed Oct 27, 2016
2 parents 5cc9da5 + 374a0c1 commit 161b793
Show file tree
Hide file tree
Showing 27 changed files with 185 additions and 165 deletions.
1 change: 0 additions & 1 deletion config/functions
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,6 @@ show_config() {
config_message="$config_message\n - ALSA support:\t\t\t $ALSA_SUPPORT"
config_message="$config_message\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
config_message="$config_message\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
config_message="$config_message\n - LCD drivers:\t\t\t\t $LCD_DRIVER"

for config_driver in $ADDITIONAL_DRIVERS; do
config_message="$config_message\n - Include driver:\t\t\t $config_driver"
Expand Down
13 changes: 0 additions & 13 deletions distributions/LibreELEC/options
Original file line number Diff line number Diff line change
Expand Up @@ -153,19 +153,6 @@
# build and install iSCSI support - iscsistart (yes / no)
ISCSI_SUPPORT="yes"

# LCD driver to Use - Possible drivers are ( Comma seperated:
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
# ea65,EyeboxOne,g15,glcd,glcdlib,glk,hd44780,i2500vfd,
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
# picolcd,pyramid,sed1330,sed1520,serialPOS,
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
# 'all' compiles all drivers;
# 'all,!xxx,!yyy' de-selects previously selected drivers
# "none" for disable LCD support
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"

# Support for partitioning and formating disks in initramfs (yes / no)
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
Expand Down
File renamed without changes.
2 changes: 2 additions & 0 deletions packages/addons/service/lcdd/changelog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
100
- Initial addon
Binary file added packages/addons/service/lcdd/icon/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions packages/addons/service/lcdd/package.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC 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 2 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################

PKG_NAME="lcdd"
PKG_VERSION="0.5.7-cvs20140217"
PKG_REV="100"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://lcdproc.org/"
PKG_URL="$DISTRO_SRC/lcdproc-$PKG_VERSION.tar.xz"
PKG_SOURCE_DIR="lcdproc-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain freetype libftdi1 libhid libusb netbsd-curses serdisplib"
PKG_SECTION="service"
PKG_SHORTDESC="LCDproc: Software to display system information from your Linux/*BSD box on a LCD"
PKG_LONGDESC="LCDproc ($PKG_VERSION) is a piece of software that displays real-time system information from your Linux/*BSD box on a LCD. The server supports several serial devices: Matrix Orbital, Crystal Fontz, Bayrad, LB216, LCDM001 (kernelconcepts.de), Wirz-SLI, Cwlinux(.com) and PIC-an-LCD; and some devices connected to the LPT port: HD44780, STV5730, T6963, SED1520 and SED1330. Various clients are available that display things like CPU load, system load, memory usage, uptime, and a lot more."
PKG_AUTORECONF="yes"

PKG_IS_ADDON="yes"
PKG_ADDON_NAME="LCDproc"
PKG_ADDON_TYPE="xbmc.service"

PKG_CONFIGURE_OPTS_TARGET="--with-ft-prefix=$SYSROOT_PREFIX/usr \
--enable-libusb \
--enable-libftdi \
--disable-libX11 \
--enable-libhid \
--disable-libpng \
--enable-drivers=all \
--enable-seamless-hbars"

pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
}

addon() {
drivers="none|$(cat $ROOT/$PKG_BUILD/.$TARGET_NAME/config.log | sed -n "s|^DRIVERS=' \(.*\)'|\1|p" | sed "s|.so||g" | tr ' ' '|')"

mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config

cp -PR $PKG_DIR/resources $ADDON_BUILD/$PKG_ADDON_ID

cp -PR $PKG_BUILD/.install_pkg/etc/LCDd.conf $ADDON_BUILD/$PKG_ADDON_ID/config/
cp -PR $PKG_BUILD/.install_pkg/usr/lib $ADDON_BUILD/$PKG_ADDON_ID/lib/
cp -PR $PKG_BUILD/.install_pkg/usr/sbin $ADDON_BUILD/$PKG_ADDON_ID/bin/

cp -L $(get_build_dir serdisplib)/.install_pkg/usr/lib/libserdisp.so.1 $ADDON_BUILD/$PKG_ADDON_ID/lib/

sed -e "s|^DriverPath=.*$|DriverPath=/storage/.kodi/addons/service.lcdd/lib/lcdproc/|" \
-e "s|^#Foreground=.*$|Foreground=no|" \
-e "s|^#ServerScreen=.*$|ServerScreen=blank|" \
-e "s|^#Backlight=.*$|Backlight=open|" \
-e "s|^#Heartbeat=.*$|Heartbeat=open|" \
-e "s|^#TitleSpeed=.*$|TitleSpeed=4|" \
-e "s|^#Hello=\" Welcome to\"|Hello=\"Welcome to\"|" \
-e "s|^#Hello=\" LCDproc!\"|Hello=\"$DISTRONAME\"|" \
-e "s|^#GoodBye=\"Thanks for using\"|GoodBye=\"Thanks for using\"|" \
-e "s|^#GoodBye=\" LCDproc!\"|GoodBye=\"$DISTRONAME\"|" \
-e "s|^#normal_font=.*$|normal_font=/usr/share/fonts/liberation/LiberationMono-Bold.ttf|" \
-i $ADDON_BUILD/$PKG_ADDON_ID/config/LCDd.conf

sed -e "s/@DRIVERS@/$drivers/" \
-i $ADDON_BUILD/$PKG_ADDON_ID/resources/settings.xml

}
6 changes: 6 additions & 0 deletions packages/addons/service/lcdd/resources/settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="30000">
<setting label="30001" id="LCD_DRIVER" type="select" values="@DRIVERS@" default="none" />
</category>
</settings>
37 changes: 37 additions & 0 deletions packages/addons/service/lcdd/source/bin/lcdd.start
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/sh
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC 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 2 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################

. /etc/profile
oe_setup_addon service.lcdd

if [ -z "$LCD_DRIVER" -o "$LCD_DRIVER" == "none" ]; then
exit 0
fi

LCDCONF=$ADDON_HOME/LCDd.conf

if [ ! -f $LCDCONF ]; then
if [ -f /storage/.cache/LCDd.conf ]; then
mv /storage/.cache/LCDd.conf $LCDCONF
else
cp $ADDON_DIR/config/LCDd.conf $LCDCONF
fi
fi

LCDd -f -c $LCDCONF -d $LCD_DRIVER
35 changes: 35 additions & 0 deletions packages/addons/service/lcdd/source/default.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
#
# LibreELEC 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 2 of the License, or
# (at your option) any later version.
#
# LibreELEC 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 LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################

import subprocess
import xbmc
import xbmcaddon


class Monitor(xbmc.Monitor):

def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.id = xbmcaddon.Addon().getAddonInfo('id')

def onSettingsChanged(self):
subprocess.call(['systemctl', 'restart', self.id])


if __name__ == '__main__':
Monitor().waitForAbort()
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Kodi Media Center language file
msgid ""
msgstr ""

msgctxt "#30000"
msgid "Configuration"
msgstr ""

msgctxt "#30001"
msgid "LCD driver"
msgstr ""
14 changes: 14 additions & 0 deletions packages/addons/service/lcdd/source/system.d/service.lcdd.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[Unit]
Description=LCDProc
After=multi-user.target

[Service]
ExecStart=/bin/sh /storage/.kodi/addons/service.lcdd/bin/lcdd.start
TimeoutStopSec=1s
Restart=on-failure
RestartSec=5
StartLimitInterval=30
StartLimitBurst=5

[Install]
WantedBy=multi-user.target
76 changes: 0 additions & 76 deletions packages/sysutils/lcdproc/package.mk

This file was deleted.

32 changes: 0 additions & 32 deletions packages/sysutils/lcdproc/scripts/lcd-wrapper

This file was deleted.

16 changes: 0 additions & 16 deletions packages/sysutils/lcdproc/system.d/lcdd.service

This file was deleted.

3 changes: 0 additions & 3 deletions projects/Odroid_C2/options
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"

# "none" for disable LCD support
LCD_DRIVER="none"

# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="no"

Expand Down
3 changes: 0 additions & 3 deletions projects/RPi/options
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"

# "none" for disable LCD support
LCD_DRIVER="none"

# build with swap support (yes / no)
SWAP_SUPPORT="yes"

Expand Down
3 changes: 0 additions & 3 deletions projects/RPi2/options
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"

# "none" for disable LCD support
LCD_DRIVER="none"

# build with swap support (yes / no)
SWAP_SUPPORT="yes"

Expand Down
3 changes: 0 additions & 3 deletions projects/WeTek_Core/options
Original file line number Diff line number Diff line change
Expand Up @@ -127,9 +127,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"

# "none" for disable LCD support
LCD_DRIVER="none"

# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="yes"

Expand Down
3 changes: 0 additions & 3 deletions projects/WeTek_Hub/options
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,6 @@
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="no"

# "none" for disable LCD support
LCD_DRIVER="none"

# Amlogic IR remote support (yes / no)
AMREMOTE_SUPPORT="yes"

Expand Down
Loading

0 comments on commit 161b793

Please sign in to comment.