1*4882a593SmuzhiyunSUMMARY = "Linux Console Project"
2*4882a593SmuzhiyunDESCRIPTION = "This project maintains the Linux Console tools, which include \
3*4882a593Smuzhiyunutilities to test and configure joysticks, connect legacy devices to the kernel's \
4*4882a593Smuzhiyuninput subsystem (providing support for serial mice, touchscreens etc.), and test \
5*4882a593Smuzhiyunthe input event layer."
6*4882a593SmuzhiyunHOMEPAGE = "https://sourceforge.net/projects/linuxconsole"
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunLICENSE = "GPL-2.0-only"
9*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunDEPENDS = "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunSRC_URI = "\
14*4882a593Smuzhiyun    ${SOURCEFORGE_MIRROR}/linuxconsole/linuxconsoletools-${PV}.tar.bz2 \
15*4882a593Smuzhiyun    file://0001-utils-Use-name-of-the-first-prerequisite-in-rule.patch \
16*4882a593Smuzhiyun    file://51-these-are-not-joysticks-rm.rules \
17*4882a593Smuzhiyun    file://60-joystick.rules \
18*4882a593Smuzhiyun    file://inputattachctl \
19*4882a593Smuzhiyun    file://inputattach.service \
20*4882a593Smuzhiyun"
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunSRC_URI[sha256sum] = "bd4d4b7e37da02fc67e47ddf20b6f1243c0a7af7b02b918d5e72138ea8727547"
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunS = "${WORKDIR}/linuxconsoletools-${PV}"
25*4882a593Smuzhiyun
26*4882a593Smuzhiyuninherit systemd pkgconfig
27*4882a593Smuzhiyun
28*4882a593SmuzhiyunEXTRA_OEMAKE = "DESTDIR=${D} PREFIX=${prefix} -C utils"
29*4882a593SmuzhiyunEXTRA_OEMAKE += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'SYSTEMD_SUPPORT=1', '', d)}"
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunSYSTEMD_PACKAGES += "inputattach"
32*4882a593SmuzhiyunSYSTEMD_SERVICE:inputattach = "inputattach.service"
33*4882a593SmuzhiyunSYSTEMD_AUTO_ENABLE:inputattach = "enable"
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunPROVIDES += "joystick"
36*4882a593Smuzhiyun
37*4882a593SmuzhiyunPACKAGECONFIG ??= "sdl"
38*4882a593SmuzhiyunPACKAGECONFIG[sdl] = ",,libsdl2"
39*4882a593Smuzhiyun
40*4882a593Smuzhiyundo_compile() {
41*4882a593Smuzhiyun    if ! ${@bb.utils.contains('PACKAGECONFIG', 'sdl', 'true', 'false', d)}; then
42*4882a593Smuzhiyun        # drop ffmvforce so that we don't need libsdl2
43*4882a593Smuzhiyun        sed '/^PROGRAMS/s/ffmvforce *//g' -i ${S}/utils/Makefile
44*4882a593Smuzhiyun    fi
45*4882a593Smuzhiyun    # respect nonarch_base_libdir path to keep QA check happy
46*4882a593Smuzhiyun    sed 's#DESTDIR)/lib/udev#DESTDIR)/${nonarch_base_libdir}/udev#g' -i ${S}/utils/Makefile
47*4882a593Smuzhiyun    oe_runmake
48*4882a593Smuzhiyun}
49*4882a593Smuzhiyun
50*4882a593Smuzhiyundo_install() {
51*4882a593Smuzhiyun    oe_runmake install
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun    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*4882a593Smuzhiyun    install -Dm 0644 ${WORKDIR}/60-joystick.rules ${D}${nonarch_base_libdir}/udev/rules.d/60-joystick.rules
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun    install -Dm 0644 ${WORKDIR}/inputattach.service ${D}${systemd_system_unitdir}/inputattach.service
57*4882a593Smuzhiyun    install -Dm 0755 ${WORKDIR}/inputattachctl ${D}${bindir}/inputattachctl
58*4882a593Smuzhiyun}
59*4882a593Smuzhiyun
60*4882a593SmuzhiyunPACKAGES += "inputattach joystick-jscal joystick"
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun# We won't package any file here as we are following the same packaging schema
63*4882a593Smuzhiyun# Debian does and we are splitting it in 'inputattach' and 'joystick' packages.
64*4882a593SmuzhiyunFILES:${PN} = ""
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunFILES:inputattach += "\
67*4882a593Smuzhiyun    ${bindir}/inputattach \
68*4882a593Smuzhiyun    ${bindir}/inputattachctl \
69*4882a593Smuzhiyun    ${systemd_system_unitdir}/inputattach.service \
70*4882a593Smuzhiyun"
71*4882a593Smuzhiyun
72*4882a593SmuzhiyunFILES:joystick += "\
73*4882a593Smuzhiyun    ${bindir}/evdev-joystick \
74*4882a593Smuzhiyun    ${bindir}/ffcfstress \
75*4882a593Smuzhiyun    ${bindir}/ffmvforce \
76*4882a593Smuzhiyun    ${bindir}/ffset \
77*4882a593Smuzhiyun    ${bindir}/fftest \
78*4882a593Smuzhiyun    ${bindir}/jstest \
79*4882a593Smuzhiyun    ${nonarch_base_libdir}/udev/rules.d/51-these-are-not-joysticks-rm.rules \
80*4882a593Smuzhiyun    ${nonarch_base_libdir}/udev/js-set-enum-leds \
81*4882a593Smuzhiyun    ${nonarch_base_libdir}/udev/rules.d/60-joystick.rules \
82*4882a593Smuzhiyun    ${nonarch_base_libdir}/udev/rules.d/80-stelladaptor-joystick.rules \
83*4882a593Smuzhiyun"
84*4882a593Smuzhiyun
85*4882a593SmuzhiyunFILES:joystick-jscal = " \
86*4882a593Smuzhiyun    ${datadir}/joystick \
87*4882a593Smuzhiyun    ${bindir}/jscal \
88*4882a593Smuzhiyun    ${bindir}/jscal-restore \
89*4882a593Smuzhiyun    ${bindir}/jscal-store \
90*4882a593Smuzhiyun"
91*4882a593Smuzhiyun
92*4882a593SmuzhiyunRDEPENDS:inputattach += "inputattach-config"
93*4882a593Smuzhiyun
94*4882a593SmuzhiyunRDEPENDS:joystick-jscal += "\
95*4882a593Smuzhiyun    bash \
96*4882a593Smuzhiyun    gawk \
97*4882a593Smuzhiyun"
98