summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity
diff options
context:
space:
mode:
authorJason M. Bills <jason.m.bills@linux.intel.com>2020-07-10 00:15:49 +0300
committerJason M. Bills <jason.m.bills@linux.intel.com>2020-07-10 00:15:49 +0300
commitf24c1e9afc47a421831278b57377951e71494d92 (patch)
treef01c5b14beb4bf31905f769569ed647884491cea /meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity
parent057594a8bb8d062d72244196170c2d78947d318a (diff)
parent31e5d79893f21786cb0635ab3640d50ff6202f6a (diff)
downloadopenbmc-f24c1e9afc47a421831278b57377951e71494d92.tar.xz
Merge tag 'wht-0.66' of ssh://git-amr-1.devtools.intel.com:29418/openbmc-openbmc into update
Diffstat (limited to 'meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity')
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch40
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch30
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles1
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf24
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf315
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init40
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service20
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init37
-rw-r--r--meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb110
9 files changed, 617 insertions, 0 deletions
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 000000000..0e38f7d8e
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,40 @@
+From 50a48a7bd8d65a165ce2aac4ba0c1e02bded04aa Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Nov 2019 12:21:31 -0800
+Subject: [PATCH] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ plugins/devinput.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/devinput.c b/plugins/devinput.c
+index d4d733a..feb4a61 100644
+--- a/plugins/devinput.c
++++ b/plugins/devinput.c
+@@ -34,6 +34,11 @@
+ #include <linux/uinput.h>
+ #include <sys/stat.h>
+
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#define input_event_usec time.tv_usec
++#endif
++
+ #ifndef EV_SYN
+ /* previous name */
+ #define EV_SYN EV_RST
+@@ -459,7 +464,7 @@ char* devinput_rec(struct ir_remote* remotes)
+ return 0;
+ }
+
+- log_trace("time %ld.%06ld type %d code %d value %d", event.time.tv_sec, event.time.tv_usec, event.type,
++ log_trace("time %ld.%06ld type %d code %d value %d", event.input_event_sec, event.input_event_usec, event.type,
+ event.code, event.value);
+
+ value = (unsigned)event.value;
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch
new file mode 100644
index 000000000..41353dbbd
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/fix_build_errors.patch
@@ -0,0 +1,30 @@
+diff --git a/configure.ac b/configure.ac
+index 58347d8..8c7fca2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -77,15 +77,10 @@ AC_TYPE_UINT64_T
+
+ dnl AC_TYPE_GETGROUPS seems broken on recent MacOS, so:
+ AC_MSG_CHECKING([Figure out if getgrouplist() needs gid_t or int])
+-oldcflags="$CFLAGS"
+-export CFLAGS=-Werror
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <unistd.h>
+-#include <grp.h>
+- ]], [[
+-gid_t groups[32]; int ngroups; const char* user = "root";
+-getgrouplist(user, 1, groups, &ngroups);
+- ]])],[
++int getgroups(int gidsetsize, gid_t grouplist[]);
++ ]], [[ ]])],[
+ AC_MSG_RESULT(gid_t)
+ AC_DEFINE(GETGROUPS_T,[gid_t])
+ ],[
+@@ -93,7 +88,6 @@ getgrouplist(user, 1, groups, &ngroups);
+ AC_DEFINE(GETGROUPS_T,[int])
+ ]
+ )
+-export CFLAGS="$oldcflags"
+
+ dnl Checks for library functions.
+ AC_CHECK_FUNCS(gethostname gettimeofday mkfifo select socket strdup \
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles
new file mode 100644
index 000000000..0b80e2e47
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc.tmpfiles
@@ -0,0 +1 @@
+d /run/lirc 0755 root root -
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf
new file mode 100644
index 000000000..d8ddedd8f
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lirc_options.conf
@@ -0,0 +1,24 @@
+# These are the default options to lircd, if installed as
+# /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
+# manpages for info on the different options.
+
+[lircd]
+nodaemon = False
+permission = 666
+driver = default
+device = /dev/lirc0
+output = /var/run/lirc/lircd
+pidfile = /var/run/lirc/lircd.pid
+plugindir = /usr/lib/lirc/plugins
+allow-simulate = No
+repeat-max = 600
+#listen = [address:]port
+#connect = host[:port]
+#debug = 5
+#uinput = ...
+#release = ...
+#logfile = ...
+
+[lircmd]
+uinput = False
+nodeamon = False
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf
new file mode 100644
index 000000000..29b03c72a
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.conf
@@ -0,0 +1,315 @@
+# contributed by angelo castello
+#
+# note: this config file has been deduced starting from the
+# raw codes provided to run mode2 utility.
+#
+# brand: futarque
+
+begin remote
+ name futarque
+ bits 8
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 100
+
+ header 8048 3898
+ one 555 1436
+ zero 555 439
+ gap 113123
+ ptrail 555
+ pre_data_bits 8
+ pre_data 0x54
+ pre 570 3890
+
+ begin codes
+ MUTE 0x70
+ EXIT 0xA8
+ POWER 0xF0
+ CHANNEL_UP 0x50
+ CHANNEL_DOWN 0xD0
+ VOLUME_UP 0x30
+ VOLUME_DOWN 0xB0
+ OK 0x98
+ FAVORITES 0x04
+ TEXT 0x68
+ EPG 0xC8
+ BACK 0x48
+ MENU 0x88
+ 1 0x00
+ 2 0x80
+ 3 0x40
+ 4 0xC0
+ 5 0x20
+ 6 0xA0
+ 7 0x60
+ 8 0xE0
+ 9 0x10
+ 0 0x90
+ PAUSE 0x84
+ INFO 0x38
+ RED 0xE8
+ GREEN 0x08
+ YELLOW 0x28
+ BLUE 0x78
+ UP 0xD8
+ DOWN 0xB8
+ REWIND 0x44
+ FASTFORWARD 0x24
+ PLAYPAUSE 0xC4
+ STOP 0x64
+ RECORD 0xA4
+ AUDIO 0xE4
+ TAPE 0x14
+ DVD 0x94
+ CAPITAL_A 0xF8
+ CAPITAL_B 0x54
+ end codes
+
+end remote
+
+# brand: STM PVR-1
+
+begin remote
+ name stm_pvr_1
+ bits 16
+ flags SPACE_ENC|CONST_LENGTH
+ eps 30
+ aeps 150
+
+ header 9000 4500
+ one 572 1700
+ zero 572 572
+ ptrail 572
+ repeat 9000 2200
+ pre_data_bits 16
+ pre_data 0xFE
+ gap 100000
+
+ begin codes
+ POWER 0x00ff
+ FAVORITES 0x7887
+ MUTE 0x28d7
+ 0 0x708F
+ 1 0xc03f
+ 2 0x40bf
+ 3 0x807f
+ 4 0xe01f
+ 5 0x609f
+ 6 0xa05f
+ 7 0xd02f
+ 8 0x50af
+ 9 0x906f
+ INFO 0x38c7
+ SUBTITLE 0xe817
+ MENU 0x9867
+ EXIT 0x20df
+ EPG 0xa857
+ BACK 0x48b7
+ CURSOR_UP 0x58a7
+ CURSOR_DOWN 0xd827
+ CURSOR_LEFT 0x8877
+ CURSOR_RIGHT 0xb04f
+ OK 0x10ef
+ VOLUME_UP 0x22dd
+ VOLUME_DOWN 0x8a75
+ CHANNEL_UP 0x12ed
+ CHANNEL_DOWN 0x4ab5
+ TEXT 0xf00f
+ RADIO 0x926d
+ ZOOM 0x6897
+ AUDIO 0x08f7
+ RED 0x42bd
+ GREEN 0xa25d
+ YELLOW 0x827d
+ BLUE 0x02fd
+ CUSTOM0 0x52ad
+ CUSTOM1 0x30cf
+ PLAY 0x629d
+ PAUSE 0xb24d
+ PREVIOUS 0xc837
+ NEXT 0xf807
+ REWIND 0x32cd
+ FASTFORWARD 0x0af5
+ AUX 0x7a85
+ CUSTOM3 0xb847
+ PIP 0x3ac5
+ SWAP 0xba45
+ end codes
+
+end remote
+
+# brand: STM DTV-2
+
+begin remote
+
+ name stm_dtv_2
+ flags SHIFT_ENC|CONST_LENGTH
+ bits 13
+ aeps 150
+
+ one 850 850
+ zero 850 850
+ plead 850
+ gap 67800
+ toggle_bit 2
+
+ begin codes
+ POWER 0x100C
+ FAVORITES 0x1015
+ AUX 0x1038
+ 1 0x1001
+ 2 0x1002
+ 3 0x1003
+ 4 0x1004
+ 5 0x1005
+ 6 0x1006
+ 7 0x1007
+ 8 0x1008
+ 9 0x1009
+ PERIOD 0x1024
+ 0 0x103E
+ BACK 0x1023
+ MENU 0x1016
+ INFO 0x100F
+ EPG 0x101E
+ EXIT 0x1018
+ CURSOR_UP 0x1017
+ CURSOR_DOWN 0x101D
+ CURSOR_LEFT 0x1019
+ CURSOR_RIGHT 0x101B
+ OK 0x101A
+ VOLUME_UP 0x1010
+ VOLUME_DOWN 0x1011
+ CHANNEL_UP 0x1020
+ CHANNEL_DOWN 0x1021
+ TEXT 0x102E
+ SUBTITLE 0x103C
+ FREEZE 0x1014
+ ZOOM 0x102B
+ RED 0x1028
+ GREEN 0x102A
+ YELLOW 0x102F
+ BLUE 0x1030
+ CUSTOM10 0x1022
+ INTERNET 0x1027
+ CUSTOM11 0x102C
+ AUDIO 0x1025
+ RECORD 0x102D
+ PLAYPAUSE 0x1029
+ STOP 0x1026
+ CUSTOM1 0x101C
+ MUTE 0x100d
+ CUSTOM12 0x101F
+ PIP 0x100B
+ SWAP 0x100E
+ end codes
+
+end remote
+
+# brand: Comcast
+# model no. of remote control: XR2
+# 32 bits for the pre-date (should be value 0x170F443E)
+# width between pre_bits and data: 12900 microseconds
+#
+# 24 bits for the data (key code)
+# To get key REPEAT, XOR 0x088 with KEY value
+# There are 8 post bits (both should be zero)
+#
+# Gap between keys: 8100 microseconds
+begin remote
+
+ name Xfinity-XR2
+ bits 24
+ flags XMP
+ eps 20
+ aeps 300
+
+ one 0 137
+ zero 250 710
+ ptrail 250
+ pre_data_bits 32
+ pre_data 0x170F443E
+ post_data_bits 8
+ post_data 0x0
+ pre 250 12921
+ gap 81698
+ toggle_bit_mask 0x0
+
+ begin codes
+ 1 0x1E0001
+ 1_repeat 0x168001
+ 2 0x1D0002
+ 2_repeat 0x158002
+ 3 0x1C0003
+ 3_repeat 0x148003
+ 4 0x1B0004
+ 4_repeat 0x138004
+ 5 0x1A0005
+ 5_repeat 0x128005
+ 6 0x190006
+ 6_repeat 0x118006
+ 7 0x180007
+ 7_repeat 0x108007
+ 8 0x170008
+ 8_repeat 0x1F8008
+ 9 0x160009
+ 9_repeat 0x1E8009
+ 0 0x1F0000
+ 0_repeat 0x178000
+ OK 0x180025
+ OK_repeat 0x108025
+ POWER 0x10000F
+ POWER_repeat 0x18800F
+ UP 0x1C0021
+ UP_repeat 0x148021
+ DOWN 0x1B0022
+ DOWN_repeat 0x138022
+ LEFT 0x1A0023
+ LEFT_repeat 0x128023
+ RIGHT 0x190024
+ RIGHT_repeat 0x118024
+ REWIND 0x190033
+ REWIND_repeat 0x118033
+ PLAY 0x1C0030
+ PLAY_repeat 0x148030
+ FASTFORWARD 0x180034
+ FASTFORWARD_repeat 0x108034
+ RECORD 0x170035
+ RECORD_repeat 0x1F8035
+ REPLAY 0x170053
+ REPLAY_repeat 0x1F8053
+ A 0x190060
+ A_repeat 0x118060
+ B 0x180061
+ B_repeat 0x108061
+ C 0x170062
+ C_repeat 0x1F8062
+ D 0x160063
+ D_repeat 0x1E8063
+ PAGE_UP 0x150028
+ PAGE_UP_repeat 0x1D8028
+ PAGE_DOWN 0x140029
+ PAGE_DOWN_repeat 0x1C8029
+ GUIDE 0x160027
+ GUIDE_repeat 0x1E8027
+ MENU 0x1D0020
+ MENU_repeat 0x158020
+ EXIT 0x13002A
+ EXIT_repeat 0x1B802A
+ INFO 0x170026
+ INFO_repeat 0x1F8026
+ LAST 0x190051
+ LAST_repeat 0x118051
+ VOLUME_UP 0x15000A
+ VOLUME_UP_repeat 0x1D800A
+ CHANNEL_UP 0x12000D
+ CHANNEL_UP_repeat 0x1A800D
+ VOLUME_DOWN 0x14000B
+ VOLUME_DOWN_repeat 0x1C800B
+ CHANNEL_DOWN 0x11000E
+ CHANNEL_DOWN_repeat 0x19800E
+ MUTE 0x13000C
+ MUTE_repeat 0x1B800D
+ end codes
+
+end remote
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init
new file mode 100644
index 000000000..8b124af6f
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.init
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# This is an init script for Familiar
+# Copy it to /etc/init.d/lircd and type
+# > update-rc.d lircd defaults 20
+#
+
+
+test -f /usr/sbin/lircd || exit 0
+test -f /etc/lircd.conf || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting lirc daemon: lircd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc0
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping lirc daemon: lircd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
+ echo "."
+ ;;
+ reload|force-reload)
+ start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/lircd
+ ;;
+ restart)
+ echo -n "Stopping lirc daemon: lircd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/lircd
+ sleep 1
+ echo -n "Starting lirc daemon: lircd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --device=/dev/lirc0
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/lircd {start|stop|reload|restart|force-reload}"
+ exit 1
+esac
+
+exit 0
+
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service
new file mode 100644
index 000000000..c8661368b
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircd.service
@@ -0,0 +1,20 @@
+[Unit]
+Description=LIRC Infrared Signal Decoder
+After=network.target
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/lirc/lircd.conf
+PIDFile=/run/lirc/lircd.pid
+ExecStartPre=/bin/mkdir -p /run/lirc
+ExecStartPre=/bin/rm -f /dev/lircd
+ExecStartPre=/bin/rm -f /run/lirc/lircd
+ExecStartPre=/bin/ln -s /run/lirc/lircd /dev/lircd
+
+ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid --device=/dev/lirc0
+
+ExecStopPost=/bin/rm -f /dev/lircd
+ExecStopPost=/bin/rm -fR /run/lirc
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init
new file mode 100644
index 000000000..3a8c1a306
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc/lircexec.init
@@ -0,0 +1,37 @@
+#! /bin/sh
+#
+# This is an init script for Familiar
+# Copy it to /etc/init.d/lircexecd and type
+# > update-rc.d lircexecd defaults 20
+# It must be started after lircd (and it does alphabetically :-)
+# irexec reads /etc/lircrc by default
+
+
+test -f /usr/bin/irexec || exit 0
+test -f /etc/lircrc || exit 0
+
+case "$1" in
+ start)
+ echo -n "Starting lircexec daemon: irexec"
+ start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping lircexec daemon: irexec"
+ start-stop-daemon --stop --quiet --exec /usr/bin/irexec
+ echo "."
+ ;;
+ restart|force-restart)
+ echo -n "Stopping lircexec daemon: irexec"
+ start-stop-daemon --stop --quiet --exec /usr/bin/irexec
+ sleep 1
+ echo -n "Starting lircexec daemon: irexec"
+ start-stop-daemon --start --quiet --exec /usr/bin/irexec -- --daemon
+ echo "."
+ ;;
+ *)
+ echo "Usage: /etc/init.d/lircexec {start|stop|reload|restart|force-restart}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
new file mode 100644
index 000000000..52d6adb56
--- /dev/null
+++ b/meta-openembedded/meta-oe/dynamic-layers/meta-python/recipes-connectivity/lirc/lirc_0.10.1.bb
@@ -0,0 +1,110 @@
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls."
+DESCRIPTION_append_lirc = " This package contains the lirc daemon, libraries and tools."
+DESCRIPTION_append_lirc-exec = " This package contains a daemon that runs programs on IR signals."
+DESCRIPTION_append_lirc-remotes = " This package contains some config files for remotes."
+DESCRIPTION_append_lirc-nslu2example = " This package contains a working config for RC5 remotes and a modified NSLU2."
+HOMEPAGE = "http://www.lirc.org"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
+ file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
+ file://fix_build_errors.patch \
+ file://lircd.service \
+ file://lircd.init \
+ file://lircexec.init \
+ file://lircd.conf \
+ file://lirc_options.conf \
+ file://lirc.tmpfiles \
+"
+SRC_URI[md5sum] = "86c3f8e4efaba10571addb8313d1e040"
+SRC_URI[sha256sum] = "8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2"
+
+SYSTEMD_PACKAGES = "lirc lirc-exec"
+SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service"
+SYSTEMD_SERVICE_${PN}-exec = "irexec.service"
+SYSTEMD_AUTO_ENABLE_lirc = "enable"
+SYSTEMD_AUTO_ENABLE_lirc-exec = "enable"
+
+inherit autotools pkgconfig systemd python3native
+
+PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd"
+PACKAGECONFIG[x11] = "--with-x,--with-x=no,libx11,"
+
+PACKAGECONFIG ?= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', ' x11', '', d)} \
+"
+CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes"
+
+#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"'
+
+# Ensure python-pkg/VERSION exists
+do_configure_append() {
+ cp ${S}/VERSION ${S}/python-pkg/
+}
+
+# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA
+do_install_prepend() {
+ rm -rf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/
+ mkdir ${WORKDIR}/${PN}-${PV}/python-pkg/dist/
+ tar --exclude='${WORKDIR}/${PN}-${PV}/python-pkg/*' -czf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/${PN}-${PV}.tar.gz ${S}
+}
+
+# In code, path to python is a variable that is replaced with path to native version of it
+# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3.
+# Replace it with #!/usr/bin/env python3
+do_install_append() {
+ sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \
+ ${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \
+ ${D}${bindir}/irtext2udp \
+ ${D}${bindir}/lirc-init-db \
+ ${D}${bindir}/irdb-get \
+ ${D}${bindir}/pronto2lirc \
+ ${D}${sbindir}/lircd-setup
+
+ install -m 0755 -d ${D}${sysconfdir}
+ install -m 0755 -d ${D}${sysconfdir}/lirc
+ install -m 0755 -d ${D}${systemd_unitdir}/system
+ install -m 0755 -d ${D}${libdir}/tmpfiles.d
+ install -m 0644 ${WORKDIR}/lircd.conf ${D}${sysconfdir}/lirc/
+ install -m 0644 ${WORKDIR}/lirc_options.conf ${D}${sysconfdir}/lirc/
+ install -m 0644 ${WORKDIR}/lircd.service ${D}${systemd_unitdir}/system/
+ install -m 0755 ${WORKDIR}/lircexec.init ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/lirc.tmpfiles ${D}${libdir}/tmpfiles.d/lirc.conf
+ rm -rf ${D}${libdir}/lirc/plugins/*.la
+ rmdir ${D}/var/run/lirc ${D}/var/run
+ chown -R root:root ${D}${datadir}/lirc/contrib
+}
+
+PACKAGES =+ "${PN}-contrib ${PN}-exec ${PN}-plugins ${PN}-python"
+
+RDEPENDS_${PN} = "bash"
+RDEPENDS_${PN}-exec = "${PN}"
+RDEPENDS_${PN}-python = "python3-shell python3-pyyaml python3-datetime python3-netclient python3-stringold"
+
+RRECOMMENDS_${PN} = "${PN}-exec ${PN}-plugins"
+
+FILES_${PN}-plugins = "${libdir}/lirc/plugins/*.so ${datadir}/lirc/configs"
+FILES_${PN}-contrib = "${datadir}/lirc/contrib"
+FILES_${PN}-exec = "${bindir}/irexec ${sysconfdir}/lircexec ${systemd_unitdir}/system/irexec.service"
+FILES_${PN} += "${systemd_unitdir}/system/lircexec.init"
+FILES_${PN} += "${systemd_unitdir}/system/lircd.service"
+FILES_${PN} += "${systemd_unitdir}/system/lircd.socket"
+FILES_${PN} += "${libdir}/tmpfiles.d/lirc.conf"
+FILES_${PN}-dbg += "${libdir}/lirc/plugins/.debug"
+FILES_${PN}-python += "${bindir}/irdb-get ${bindir}/irtext2udp ${bindir}/lircd-setup ${bindir}/pronto2lirc ${libdir}/python*/site-packages"
+
+INITSCRIPT_PACKAGES = "lirc lirc-exec"
+INITSCRIPT_NAME_lirc-exec = "lircexec"
+INITSCRIPT_PARAMS_lirc-exec = "defaults 21"
+
+# this is for distributions that don't use udev
+pkg_postinst_${PN}_append() {
+ if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
+}
+
+SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"