-#
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2007-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=lcd4linux
-PKG_VERSION:=0.10.0+cvs20051015
-PKG_RELEASE:=1
+PKG_REV:=1116
+PKG_VERSION:=r$(PKG_REV)
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://ssl.bulix.org/svn/lcd4linux/trunk/
+PKG_SOURCE_SUBDIR:=lcd4linux-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=$(PKG_REV)
+PKG_SOURCE_PROTO:=svn
+
+PKG_FIXUP:=libtool
+PKG_INSTALL:=1
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION).orig
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
-PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/l/lcd4linux/ \
- http://ftp.de.debian.org/debian/pool/main/l/lcd4linux/
-PKG_MD5SUM:=5b5ac629be4bb5c29104fb8f6b7fa444
-PKG_CAT:=zcat
+PKG_BUILD_DEPENDS:= \
+ libdbus \
+ libgd \
+ libiconv \
+ libmysqlclient \
+ libncurses \
+ libnmeap \
+ libsqlite3 \
+ libvncserver \
+ ppp \
+ serdisplib \
+ st2205tool \
+# libftdi \
+# libmpdclient \
+# libX11 \
+# python \
include $(INCLUDE_DIR)/package.mk
define Package/lcd4linux
SECTION:=utils
CATEGORY:=Utilities
- DEPENDS:=+libncurses
+ DEPENDS:= \
+ +LCD4LINUX_NEEDS_libdbus:libdbus \
+ +LCD4LINUX_NEEDS_libgd:libgd \
+ +LCD4LINUX_NEEDS_libiconv:libiconv \
+ +LCD4LINUX_NEEDS_libmysqlclient:libmysqlclient \
+ +LCD4LINUX_NEEDS_libncurses:libncurses \
+ +LCD4LINUX_NEEDS_libnmeap:libnmeap \
+ +LCD4LINUX_NEEDS_libsqlite3:libsqlite3 \
+ +LCD4LINUX_NEEDS_libusb:libusb \
+ +LCD4LINUX_NEEDS_libvncserver:libvncserver \
+ +LCD4LINUX_NEEDS_serdisplib:serdisplib \
+ +LCD4LINUX_NEEDS_st2205tool:st2205tool \
+# +LCD4LINUX_NEEDS_libftdi:libftdi \
+# +LCD4LINUX_NEEDS_libmpdclient:libmpdclient \
+# +LCD4LINUX_NEEDS_libX11:libX11 \
+# +LCD4LINUX_NEEDS_python:python
TITLE:=LCD display utility
- DESCRIPTION:=LCD display utility.\\\
- LCD4Linux is a small program that grabs information from the kernel and \\\
- some subsystems and displays it on an external liquid crystal display.
URL:=http://lcd4linux.bulix.org/
+ MENU:=1
+endef
+
+define Package/lcd4linux/config
+ menu "Configuration"
+ depends on PACKAGE_lcd4linux
+ source "$(SOURCE)/Config.in"
+ endmenu
endef
-define Build/Configure
- (cd $(PKG_BUILD_DIR); rm -f config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS)" \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
- LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
- ./configure \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --program-prefix="" \
- --program-suffix="" \
- --prefix=/usr \
- --exec-prefix=/usr \
- --bindir=/usr/bin \
- --datadir=/usr/share \
- --includedir=/usr/include \
- --infodir=/usr/share/info \
- --libdir=/usr/lib \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --sbindir=/usr/sbin \
- --sysconfdir=/etc \
- $(DISABLE_LARGEFILE) \
- $(DISABLE_NLS) \
- --without-x \
- --with-drivers='all,!PNG,!RouterBoard,!X11' \
- --with-plugins=wireless \
- );
+define Package/lcd4linux/description
+ LCD4Linux is a small program that grabs information from the kernel and
+ some subsystems and displays it on an external liquid crystal display.
endef
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- CC=$(TARGET_CC) LD=$(TARGET_CROSS)ld \
- CFLAGS="$(TARGET_CFLAGS) -Wall"
+define Package/lcd4linux/conffiles
+/etc/lcd4linux.conf
endef
+LCD4LINUX_DRIVERS:= \
+ BeckmannEgle \
+ BWCT \
+ CrystalFontz \
+ Curses \
+ Cwlinux \
+ D4D \
+ EA232graphic \
+ G15 \
+ GLCD2USB \
+ IRLCD \
+ HD44780 \
+ HD44780-I2C \
+ LCD2USB \
+ LCDLinux \
+ LCDTerm \
+ LEDMatrix \
+ LPH7508 \
+ LUIse \
+ LW_ABP \
+ M50530 \
+ MatrixOrbital \
+ MatrixOrbitalGX \
+ MilfordInstruments \
+ Noritake \
+ NULL \
+ Pertelian \
+ PHAnderson \
+ PICGraphic \
+ picoLCD \
+ picoLCDGraphic \
+ PNG \
+ PPM \
+ RouterBoard \
+ serdisplib \
+ ShuttleVFD \
+ SimpleLCD \
+ st2205 \
+ T6963 \
+ Trefon \
+ ULA200 \
+ USBHUB \
+ USBLCD \
+ VNC \
+ WincorNixdorf \
+ X11 \
+
+LCD4LINUX_PLUGINS:= \
+ apm \
+ asterisk \
+ button_exec \
+ cpuinfo \
+ dbus \
+ diskstats \
+ dvb \
+ event \
+ exec \
+ fifo \
+ file \
+ gps \
+ hddtemp \
+ huawei \
+ i2c_sensors \
+ iconv \
+ imon \
+ isdn \
+ kvv \
+ loadavg \
+ netdev \
+ netinfo \
+ meminfo \
+ mpd \
+ mpris_dbus \
+ mysql \
+ netdev \
+ pop3 \
+ ppp \
+ proc_stat \
+ python \
+ qnaplog \
+ seti \
+ statfs \
+ uname \
+ uptime \
+ w1retap \
+ wireless \
+ xmms \
+
+LCD4LINUX_CONFIGURE_DRIVERS:= \
+ $(foreach c, $(LCD4LINUX_DRIVERS), \
+ $(if $(CONFIG_LCD4LINUX_DRV_$(c)),$(c),) \
+ )
+
+LCD4LINUX_CONFIGURE_PLUGINS:= \
+ $(foreach c, $(LCD4LINUX_PLUGINS), \
+ $(if $(CONFIG_LCD4LINUX_PLUGIN_$(c)),$(c),) \
+ )
+
+ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_DRIVER),)
+ LCD4LINUX_CONFIGURE_DRIVERS:=Sample
+endif
+
+ifeq ($(CONFIG_LCD4LINUX_HAS_AT_LEAST_ONE_PLUGIN),)
+ LCD4LINUX_CONFIGURE_PLUGINS:=sample
+endif
+
+CONFIGURE_ARGS+= \
+ --disable-rpath \
+ --with-drivers="$(strip $(LCD4LINUX_CONFIGURE_DRIVERS))" \
+ --with-plugins="$(strip $(LCD4LINUX_CONFIGURE_PLUGINS))" \
+
+EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib
+
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_libiconv),)
+ CONFIGURE_ARGS+= \
+ --with-libiconv-prefix="$(STAGING_DIR)/usr/lib/libiconv"
+else
+ CONFIGURE_ARGS+= \
+ --without-libiconv-prefix
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_libmysqlclient),)
+ EXTRA_LDFLAGS+= -L$(STAGING_DIR)/usr/lib/mysql
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_python),)
+ CONFIGURE_ARGS+= --with-python
+else
+ CONFIGURE_ARGS+= --without-python
+endif
+
+ifneq ($(CONFIG_LCD4LINUX_NEEDS_libX11),)
+ CONFIGURE_ARGS+= --with-x
+else
+ CONFIGURE_ARGS+= --without-x
+endif
+
+
define Package/lcd4linux/install
- install -d -m0755 $(1)/usr/bin
- install -m0755 $(PKG_BUILD_DIR)/lcd4linux $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/lcd4linux $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/etc
+ $(INSTALL_CONF) ./files/lcd4linux.conf $(1)/etc/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/lcd4linux.init $(1)/etc/init.d/lcd4linux
endef
$(eval $(call BuildPackage,lcd4linux))