1DESCRIPTION = "LCDproc is a client/server suite to drive all kinds of LCD (-like) devices. The client \
2shipped with this package can be used to acquire various kinds of system stats."
3SUMMARY = "Drivers for character-based LCD displays"
4HOMEPAGE = "http://lcdproc.org"
5SECTION = "utils"
6LICENSE = "GPLv2+"
7DEPENDS = "ncurses lirc"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
10                    file://README.md;beginline=107;md5=5db392f043253a2d64b1737068ce6b58"
11
12PV = "0.5.9+git${SRCPV}"
13SRCREV = "3a3d622d9bb74c44fa67bc20573751a207514134"
14SRC_URI = "git://github.com/lcdproc/lcdproc \
15           file://0001-Fix-parallel-build-fix-port-internal-make-dependenci.patch \
16           file://0002-Include-limits.h-for-PATH_MAX-definition.patch \
17           file://0003-Fix-non-x86-platforms-on-musl.patch \
18           file://0001-Fix-compilation-with-GCC-10.x.patch \
19           "
20
21S = "${WORKDIR}/git"
22
23inherit autotools pkgconfig update-rc.d
24
25LCD_DRIVERS ?= "all,!irman,!svga${SERIALVFD}"
26SERIALVFD ?= ""
27SERIALVFD_libc-musl = ",!serialVFD"
28SERIALVFD_libc-musl_x86 = ""
29SERIALVFD_libc-musl_x86-64 = ""
30
31LCD_DEFAULT_DRIVER ?= "curses"
32
33PACKAGECONFIG ??= "usb"
34PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
35PACKAGECONFIG[ftdi] = "--enable-libftdi,--disable-libftdi,libftdi"
36PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
37PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid"
38PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
39
40LCD_DRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
41
42EXTRA_OECONF = "--enable-drivers='${LCD_DRIVERS}'"
43
44do_install () {
45    # binaries
46    install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
47    install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc
48
49    # init scripts
50    install -d ${D}${sysconfdir}/init.d
51    # so far, not fixed :-( and now even uglier :-((
52    cat scripts/init-LCDd.debian | sed -e s'/--oknodo//' -e 's/ -s -f / -s 1 -f 1 /' -e 's/force-reload/force-restart/' -e 's/sleep 1/sleep 4/' > ${D}${sysconfdir}/init.d/lcdd
53    chmod 0755 ${D}${sysconfdir}/init.d/lcdd
54    install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc
55    sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
56
57    # configuration files
58    install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf
59    sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
60    sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
61    install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
62
63    # driver library files
64    install -d ${D}${libdir}/lcdproc
65    for i in server/drivers/*.so; do
66        install -m 0644 $i ${D}${libdir}/lcdproc/
67    done
68    # binaries
69    install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
70
71    # configuration files
72    install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
73}
74
75PACKAGES =+ "lcdd lcdvc"
76
77RRECOMMENDS_${PN} = "lcdd"
78
79FILES_lcdd = "${sysconfdir}/LCDd.conf \
80    ${sbindir}/LCDd \
81    ${sysconfdir}/init.d/lcdd"
82
83CONFFILES_lcdd = "${sysconfdir}/LCDd.conf"
84CONFFILES_${PN} = "${sysconfdir}/lcdproc.conf"
85CONFFILES_lcdvc = "${sysconfdir}/lcdvc.conf"
86FILES_lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
87
88# Driver packages
89
90# USB / no USB trickery
91
92RCONFLICTS_lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
93RCONFLICTS_lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
94
95INITSCRIPT_PACKAGES = "lcdd lcdproc"
96INITSCRIPT_NAME_lcdd = "lcdd"
97INITSCRIPT_NAME_lcdproc = "lcdproc"
98INITSCRIPT_PARAMS_lcdd = "defaults 70 21"
99INITSCRIPT_PARAMS_lcdproc = "defaults 71 20"
100
101python populate_packages_prepend() {
102    plugindir = d.expand('${libdir}/lcdproc')
103    do_split_packages(d, plugindir, '(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
104}
105
106PACKAGES_DYNAMIC += "^lcdd-driver-.*"
107