noddos: Noddos v0.5.0 with mDNS / DNS-SD support
[feed/packages.git] / utils / lcdproc / Makefile
1 #
2 # Copyright (C) 2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=lcdproc
11 # PKG_VERSION:=0.5.8
12 PKG_BASE_VERSION:=0.5.8
13 PKG_VERSION:=$(PKG_BASE_VERSION)+git2070222
14 PKG_RELEASE:=3
15
16 PKG_SOURCE_PROTO:=git
17 PKG_SOURCE_URL:=https://github.com/lcdproc/lcdproc.git
18 PKG_SOURCE_VERSION:=156983afab6d8f49d9a84e2a0929874eac569cc3
19 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_BASE_VERSION)
20 PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
21
22 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_BASE_VERSION)
23
24 #PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
25 #PKG_SOURCE_URL:=https://github.com/lcdproc/lcdproc/releases/download/v$(PKG_VERSION)/
26 #PKG_MD5SUM:=1dd25676946c61184c6f51cc0a75379e
27 PKG_MAINTAINER:=Harald Geyer <harald@ccbib.org>, \
28 Philip Prindeville <philipp@redfish-solutions.com>
29 PKG_LICENSE:=GPL-2.0
30 PKG_LICENSE_FILES:=COPYING
31
32 PKG_FIXUP:=autoreconf
33
34 include $(INCLUDE_DIR)/package.mk
35
36 define Package/lcdproc/Default
37 SECTION:=utils
38 CATEGORY:=Utilities
39 URL:=http://lcdproc.org/
40 endef
41
42 define Package/lcdproc/Default-description
43 LCDProc is a daemon and clients for displaying system information
44 on various LCD displays
45 endef
46
47
48 define Package/lcdproc-clients
49 $(call Package/lcdproc/Default)
50 TITLE:=LCD Display clients
51 endef
52
53 define Package/lcdproc-clients/description
54 $(call Package/lcdproc/Default-description)
55
56 This package contains the clients distributed by the official lcdproc
57 project:
58 * lcdproc -- displays system information
59 * lcdexec -- displays a menu structure to execute commands
60 * lcdvc -- shows the content of the system console
61 endef
62
63 define Package/lcdproc-clients/conffiles
64 /etc/lcdproc.conf
65 /etc/lcdexec.conf
66 /etc/lcdvc.conf
67 endef
68
69
70 define Package/lcdproc-server
71 $(call Package/lcdproc/Default)
72 TITLE:=LCD Display server
73 DEPENDS:=+libpthread
74 endef
75
76 define LCDPROC_CORE_DRIVERS_TEXT
77 bayrad CFontzPacket CFontz CwLnx ea65 EyeboxOne glk icp_a106 imonlcd
78 imon irtrans joy lb216 lcdm001 lcterm linux_input MD8800 ms6931
79 mtc_s16209x MtxOrb NoritakeVFD Olimex_MOD_LCD1x9 pyramid rawserial
80 serialPOS serialVFD sli SureElec text tyan vlsys_m428 yard2LCD
81 endef
82
83 LCDPROC_CORE_DRIVERS:=$(strip $(LCDPROC_CORE_DRIVERS_TEXT))
84
85 define Package/lcdproc-server/description
86 $(call Package/lcdproc/Default-description)
87
88 This package contains the server and a core set of display drivers
89 without external dependencies:
90 $(LCDPROC_CORE_DRIVERS_TEXT)
91 endef
92
93 define Package/lcdproc-server/conffiles
94 /etc/LCDd.conf
95 endef
96
97
98 define Package/lcdproc-drivers
99 $(call Package/lcdproc/Default)
100 TITLE:=LCD Display extra drivers
101 DEPENDS:=+lcdproc-server +libncurses +libusb-1.0 +libusb-compat +libftdi1 \
102 +GPIO_SUPPORT:libugpio
103 endef
104
105 define LCDPROC_OTHER_DRIVERS_TEXT
106 curses futaba glcd hd44780 IOWarrior i2500vfd lis picolcd shuttleVFD ula200
107 endef
108
109 ifeq ($(CONFIG_PACKAGE_kmod-lp),y)
110 LCDPROC_OTHER_DRIVERS_TEXT+=sdeclcd sed1330 sed1520 stv5730 t6963
111 endif
112
113 LCDPROC_OTHER_DRIVERS:=$(strip $(LCDPROC_OTHER_DRIVERS_TEXT))
114
115 define Package/lcdproc-drivers/description
116 $(call Package/lcdproc/Default-description)
117
118 This package contains display drivers with external dependencies:
119 $(LCDPROC_OTHER_DRIVERS_TEXT)
120 endef
121
122
123 # not everything groks --disable-nls
124 DISABLE_NLS:=
125
126 CONFIGURE_ARGS += \
127 --disable-libX11 \
128 --disable-libhid \
129 --disable-libpng \
130 --disable-freetype \
131 --enable-drivers='all,!g15,!g15driver,!glcdlib,!irman,!lirc,!mdm166a,!mx5000,!svga,!xosd'
132
133 # can't use -Wformat=2 because MUSL is somewhat broken
134 TARGET_CFLAGS+=-Wall
135
136 MAKE_FLAGS += \
137 CFLAGS="$(TARGET_CFLAGS)" \
138 LDFLAGS="$(TARGET_LDFLAGS)"
139
140
141 define Package/lcdproc-clients/install
142 $(INSTALL_DIR) $(1)/usr/bin
143 $(INSTALL_DIR) $(1)/etc/init.d
144 $(INSTALL_BIN) $(PKG_BUILD_DIR)/clients/lcdproc/lcdproc $(1)/usr/bin/
145 $(INSTALL_BIN) $(PKG_BUILD_DIR)/clients/lcdexec/lcdexec $(1)/usr/bin/
146 $(INSTALL_BIN) $(PKG_BUILD_DIR)/clients/lcdvc/lcdvc $(1)/usr/bin/
147 $(INSTALL_CONF) $(PKG_BUILD_DIR)/clients/lcdproc/lcdproc.conf $(1)/etc/
148 $(INSTALL_CONF) $(PKG_BUILD_DIR)/clients/lcdexec/lcdexec.conf $(1)/etc/
149 $(INSTALL_CONF) $(PKG_BUILD_DIR)/clients/lcdvc/lcdvc.conf $(1)/etc/
150 $(INSTALL_BIN) ./files/lcd* $(1)/etc/init.d/
151 endef
152
153 define Package/lcdproc-server/install
154 $(INSTALL_DIR) $(1)/usr/sbin
155 $(INSTALL_DIR) $(1)/usr/lib/lcdproc
156 $(INSTALL_DIR) $(1)/etc/init.d
157 $(INSTALL_BIN) $(PKG_BUILD_DIR)/server/LCDd $(1)/usr/sbin/
158 $(CP) $(foreach driver,$(LCDPROC_CORE_DRIVERS),$(PKG_BUILD_DIR)/server/drivers/$(driver).so) $(1)/usr/lib/lcdproc/
159 $(CP) -p $(PKG_BUILD_DIR)/LCDd.conf $(PKG_BUILD_DIR)/LCDd.conf.orig
160 sed -i -r \
161 -e 's!^(DriverPath=).*$$$$!\1/usr/lib/lcdproc/!' \
162 -e 's!^(Driver=)curses$$$$!\1sdeclcd!' \
163 $(PKG_BUILD_DIR)/LCDd.conf
164 $(INSTALL_CONF) $(PKG_BUILD_DIR)/LCDd.conf $(1)/etc/
165 $(INSTALL_BIN) ./files/LCDd $(1)/etc/init.d/
166 endef
167
168 define Package/lcdproc-drivers/install
169 $(INSTALL_DIR) $(1)/usr/lib/lcdproc
170 $(CP) $(foreach driver,$(LCDPROC_OTHER_DRIVERS),$(PKG_BUILD_DIR)/server/drivers/$(driver).so) $(1)/usr/lib/lcdproc/
171 endef
172
173
174 $(eval $(call BuildPackage,lcdproc-clients))
175 $(eval $(call BuildPackage,lcdproc-server))
176 $(eval $(call BuildPackage,lcdproc-drivers))
177