blob: 4cae4947f2f63c2c88edbc75aea09856a8e0505f [file] [log] [blame]
Brad Bishop6e60e8b2018-02-01 10:27:11 -05001DESCRIPTION = "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"
Andrew Geissler9aee5002022-03-30 16:27:02 +00006LICENSE = "GPL-2.0-or-later"
Brad Bishop6e60e8b2018-02-01 10:27:11 -05007DEPENDS = "ncurses lirc"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760 \
Brad Bishope42b3e32020-01-15 22:08:42 -050010 file://README.md;beginline=107;md5=5db392f043253a2d64b1737068ce6b58"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050011
Brad Bishope42b3e32020-01-15 22:08:42 -050012PV = "0.5.9+git${SRCPV}"
Patrick Williams864cc432023-02-09 14:54:44 -060013SRCREV = "0e2ce9b9c46c47363436f9ee730f7c71bf455f0f"
14SRC_URI = "git://github.com/lcdproc/lcdproc;branch=master;protocol=https"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050015
16S = "${WORKDIR}/git"
17
18inherit autotools pkgconfig update-rc.d
19
Brad Bishope42b3e32020-01-15 22:08:42 -050020LCD_DRIVERS ?= "all,!irman,!svga${SERIALVFD}"
21SERIALVFD ?= ""
Patrick Williams213cb262021-08-07 19:21:33 -050022SERIALVFD:libc-musl = ",!serialVFD"
23SERIALVFD:libc-musl:x86 = ""
24SERIALVFD:libc-musl:x86-64 = ""
Brad Bishop19323692019-04-05 15:28:33 -040025
Brad Bishop6e60e8b2018-02-01 10:27:11 -050026LCD_DEFAULT_DRIVER ?= "curses"
27
28PACKAGECONFIG ??= "usb"
29PACKAGECONFIG[usb] = "--enable-libusb,--disable-libusb,virtual/libusb0"
30PACKAGECONFIG[ftdi] = "--enable-libftdi,--disable-libftdi,libftdi"
31PACKAGECONFIG[g15] = ",,libg15 g15daemon libg15render,"
32PACKAGECONFIG[hid] = "--enable-libhid,--disable-libhid,libhid"
33PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
34
Patrick Williams213cb262021-08-07 19:21:33 -050035LCD_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'g15', '', ',!g15', d)}"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050036
37EXTRA_OECONF = "--enable-drivers='${LCD_DRIVERS}'"
38
39do_install () {
40 # binaries
41 install -D -m 0755 server/LCDd ${D}${sbindir}/LCDd
42 install -D -m 0755 clients/lcdproc/lcdproc ${D}${bindir}/lcdproc
43
44 # init scripts
45 install -d ${D}${sysconfdir}/init.d
46 # so far, not fixed :-( and now even uglier :-((
47 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
48 chmod 0755 ${D}${sysconfdir}/init.d/lcdd
49 install -m 0755 scripts/init-lcdproc.debian ${D}${sysconfdir}/init.d/lcdproc
50 sed -i s'/--oknodo//' ${D}${sysconfdir}/init.d/lcdproc
51
52 # configuration files
53 install -m 0644 ${S}/LCDd.conf ${D}${sysconfdir}/LCDd.conf
54 sed -i 's!^DriverPath=.*!DriverPath=${libdir}/lcdproc/!' ${D}${sysconfdir}/LCDd.conf
55 sed -i 's!^Driver=.*!Driver=${LCD_DEFAULT_DRIVER}!' ${D}${sysconfdir}/LCDd.conf
56 install -m 0644 ${S}/clients/lcdproc/lcdproc.conf ${D}${sysconfdir}/lcdproc.conf
57
58 # driver library files
59 install -d ${D}${libdir}/lcdproc
60 for i in server/drivers/*.so; do
61 install -m 0644 $i ${D}${libdir}/lcdproc/
62 done
63 # binaries
64 install -D -m 0755 clients/lcdvc/lcdvc ${D}${sbindir}/lcdvc
65
66 # configuration files
67 install -D -m 0644 ${S}/clients/lcdvc/lcdvc.conf ${D}${sysconfdir}/lcdvc.conf
68}
69
70PACKAGES =+ "lcdd lcdvc"
71
Patrick Williams213cb262021-08-07 19:21:33 -050072RRECOMMENDS:${PN} = "lcdd"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050073
Patrick Williams213cb262021-08-07 19:21:33 -050074FILES:lcdd = "${sysconfdir}/LCDd.conf \
Brad Bishop6e60e8b2018-02-01 10:27:11 -050075 ${sbindir}/LCDd \
76 ${sysconfdir}/init.d/lcdd"
77
Patrick Williams213cb262021-08-07 19:21:33 -050078CONFFILES:lcdd = "${sysconfdir}/LCDd.conf"
79CONFFILES:${PN} = "${sysconfdir}/lcdproc.conf"
80CONFFILES:lcdvc = "${sysconfdir}/lcdvc.conf"
81FILES:lcdvc = "${sysconfdir}/lcdvc.conf ${sbindir}/lcdvc"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050082
83# Driver packages
84
85# USB / no USB trickery
86
Patrick Williams213cb262021-08-07 19:21:33 -050087RCONFLICTS:lcdd-driver-hd47780nousb = "lcdd-driver-hd44780"
88RCONFLICTS:lcdd-driver-hd47780 = "lcdd-driver-hd44780nousb"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050089
90INITSCRIPT_PACKAGES = "lcdd lcdproc"
Patrick Williams213cb262021-08-07 19:21:33 -050091INITSCRIPT_NAME:lcdd = "lcdd"
92INITSCRIPT_NAME:lcdproc = "lcdproc"
93INITSCRIPT_PARAMS:lcdd = "defaults 70 21"
94INITSCRIPT_PARAMS:lcdproc = "defaults 71 20"
Brad Bishop6e60e8b2018-02-01 10:27:11 -050095
Patrick Williams213cb262021-08-07 19:21:33 -050096python populate_packages:prepend() {
Brad Bishop6e60e8b2018-02-01 10:27:11 -050097 plugindir = d.expand('${libdir}/lcdproc')
Andrew Geissler7e0e3c02022-02-25 20:34:39 +000098 do_split_packages(d, plugindir, r'(.*)\.so$', 'lcdd-driver-%s', 'LCDd driver for %s', prepend=True)
Brad Bishop6e60e8b2018-02-01 10:27:11 -050099}
100
101PACKAGES_DYNAMIC += "^lcdd-driver-.*"