blob: 5716817e95111988aaeceb4d5fc6de57ce9f7419 [file] [log] [blame]
Andrew Geissler8fc454f2020-12-11 16:27:59 -06001SUMMARY = "Linux Console Project"
2DESCRIPTION = "This project maintains the Linux Console tools, which include \
3utilities to test and configure joysticks, connect legacy devices to the kernel's \
4input subsystem (providing support for serial mice, touchscreens etc.), and test \
5the input event layer."
6HOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
7
Andrew Geissler9aee5002022-03-30 16:27:02 +00008LICENSE = "GPL-2.0-only"
Andrew Geissler8fc454f2020-12-11 16:27:59 -06009LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
10
Andrew Geissler72956ed2021-01-08 16:11:14 -060011DEPENDS = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
Andrew Geissler8fc454f2020-12-11 16:27:59 -060012
13SRC_URI = "\
14 ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
Patrick Williams03907ee2022-05-01 06:28:52 -050015 file://0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch \
Andrew Geissler8fc454f2020-12-11 16:27:59 -060016 file://51-these-are-not-joysticks-rm.rules \
17 file://60-joystick.rules \
18 file://inputattachctl \
19 file://inputattach.service \
20"
21
Patrick Williams03907ee2022-05-01 06:28:52 -050022SRC_URI[sha256sum] = "bd4d4b7e37da02fc67e47ddf20b6f1243c0a7af7b02b918d5e72138ea8727547"
Andrew Geissler8fc454f2020-12-11 16:27:59 -060023
24S = "${WORKDIR}/linuxconsoletools-${PV}"
25
26inherit systemd pkgconfig
27
28EXTRA_OEMAKE = "DESTDIR=${D} PREFIX=${prefix} -C utils"
29EXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'SYSTEMD_SUPPORT=1', '', d)}"
30
31SYSTEMD_PACKAGES += "inputattach"
Patrick Williams213cb262021-08-07 19:21:33 -050032SYSTEMD_SERVICE:inputattach = "inputattach.service"
33SYSTEMD_AUTO_ENABLE:inputattach = "enable"
Andrew Geissler8fc454f2020-12-11 16:27:59 -060034
Andrew Geissler72956ed2021-01-08 16:11:14 -060035PROVIDES += "joystick"
36
37PACKAGECONFIG ??= "sdl"
38PACKAGECONFIG[sdl] = ",,libsdl2"
39
Andrew Geissler8fc454f2020-12-11 16:27:59 -060040do_compile() {
Andrew Geissler72956ed2021-01-08 16:11:14 -060041 if ! ${@bb.utils.contains('PACKAGECONFIG', 'sdl', 'true', 'false', d)}; then
42 # drop ffmvforce so that we don't need libsdl2
43 sed '/^PROGRAMS/s/ffmvforce *//g' -i ${S}/utils/Makefile
44 fi
45 # respect nonarch_base_libdir path to keep QA check happy
46 sed 's#DESTDIR)/lib/udev#DESTDIR)/${nonarch_base_libdir}/udev#g' -i ${S}/utils/Makefile
Andrew Geissler8fc454f2020-12-11 16:27:59 -060047 oe_runmake
48}
49
50do_install() {
51 oe_runmake install
52
Andrew Geissler72956ed2021-01-08 16:11:14 -060053 install -Dm 0644 ${WORKDIR}/51-these-are-not-joysticks-rm.rules ${D}${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules
54 install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${nonarch_base_libdir}/udev/rules.d/60-joystick.rules
Andrew Geissler8fc454f2020-12-11 16:27:59 -060055
56 install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
57 install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl
58}
59
Andrew Geissler72956ed2021-01-08 16:11:14 -060060PACKAGES += "inputattach joystick-jscal joystick"
Andrew Geissler8fc454f2020-12-11 16:27:59 -060061
62# We won't package any file here as we are following the same packaging schema
63# Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
Patrick Williams213cb262021-08-07 19:21:33 -050064FILES:${PN} = ""
Andrew Geissler8fc454f2020-12-11 16:27:59 -060065
Patrick Williams213cb262021-08-07 19:21:33 -050066FILES:inputattach += "\
Andrew Geissler8fc454f2020-12-11 16:27:59 -060067 ${bindir}/inputattach \
68 ${bindir}/inputattachctl \
69 ${systemd_system_unitdir}/inputattach.service \
70"
71
Patrick Williams213cb262021-08-07 19:21:33 -050072FILES:joystick += "\
Andrew Geissler8fc454f2020-12-11 16:27:59 -060073 ${bindir}/evdev-joystick \
74 ${bindir}/ffcfstress \
75 ${bindir}/ffmvforce \
76 ${bindir}/ffset \
77 ${bindir}/fftest \
Andrew Geissler72956ed2021-01-08 16:11:14 -060078 ${bindir}/jstest \
79 ${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
80 ${nonarch_base_libdir}/udev/js-set-enum-leds \
81 ${nonarch_base_libdir}/udev/rules.d/60-joystick.rules \
82 ${nonarch_base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
83"
84
Patrick Williams213cb262021-08-07 19:21:33 -050085FILES:joystick-jscal = " \
Andrew Geissler72956ed2021-01-08 16:11:14 -060086 ${datadir}/joystick \
Andrew Geissler8fc454f2020-12-11 16:27:59 -060087 ${bindir}/jscal \
88 ${bindir}/jscal-restore \
89 ${bindir}/jscal-store \
Andrew Geissler8fc454f2020-12-11 16:27:59 -060090"
91
Patrick Williams213cb262021-08-07 19:21:33 -050092RDEPENDS:inputattach += "inputattach-config"
Andrew Geissler8fc454f2020-12-11 16:27:59 -060093
Patrick Williams213cb262021-08-07 19:21:33 -050094RDEPENDS:joystick-jscal += "\
Andrew Geissler8fc454f2020-12-11 16:27:59 -060095 bash \
96 gawk \
97"