This commit is contained in:
TriForceX
2019-09-25 20:51:37 -03:00
commit 6203ff3e7c
11215 changed files with 428258 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
From 71f329d997d949d3c12d62d2f1473a1c99ee49b0 Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Sun, 27 Aug 2017 21:30:37 +0300
Subject: [PATCH] Fix build without Python
Don't define HAVE_PYTHON35 when PYTHON_LIBS is empty.
Also, don't build Python dependent code when HAVE_PYTHON35 is not
defined.
This fixes build failures like:
Makefile:1616: recipe for target 'python-pkg/dist/lirc-0.10.0.tar.gz' failed
make[3]: *** [python-pkg/dist/lirc-0.10.0.tar.gz] Error 1
python-pkg/lirc/_client.c:1:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Upstream status: commit 74a2bcab6b
Makefile.am | 2 ++
configure.ac | 3 ++-
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 9f3dd14340cc..d8164fcd44cf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -104,6 +104,7 @@ dist_py_pkg_doc_DATA = python-pkg/doc/Doxyfile \
libpython = $(libdir)/python$(PYTHON_VERSION)
pydir = $(libpython)/site-packages/lirc
+if HAVE_PYTHON35
py_LTLIBRARIES = python-pkg/lib/_client.la
python_pkg_lib__client_la_SOURCES = \
python-pkg/lirc/_client.c
@@ -116,6 +117,7 @@ python_pkg_lib__client_la_LDFLAGS = \
$(PYTHON_LIBS)
python_pkg_lib__client_la_LIBADD = \
lib/liblirc_client.la
+endif
pylint: .phony
$(MAKE) -C tools pylint
diff --git a/configure.ac b/configure.ac
index 4108688433f8..07d901deafdf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -50,7 +50,8 @@ test -z "$PYTHON_LIBS" && \
test -n "$PYTHON_LIBS" || \
AC_MSG_WARN([No python package found (missing devel package?)])
python_version_nodots=$(echo $PYTHON_VERSION | tr -d '.')
-AM_CONDITIONAL(HAVE_PYTHON35, [test $python_version_nodots -ge 35])
+AM_CONDITIONAL(HAVE_PYTHON35, [test -n "$PYTHON_LIBS" && \
+ test $python_version_nodots -ge 35])
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
--
2.14.1

View File

@@ -0,0 +1,47 @@
From 13c4ffcfde07f659a836fba4a604dc1c5024bb90 Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Tue, 29 Aug 2017 11:37:36 +0300
Subject: [PATCH] Fix python client cross compile
The setup.py setuptools wrapper needs to use a version of python built
specifically for cross compiling to cross compile successfully. Allow
setting that in the environment using the SETUPTOOLS_ENV variable.
Fixes the following build failure:
/usr/bin/ld: skipping incompatible .../lirc-tools-0.10.0/lib/.libs/liblirc_client.so when searching for -llirc_client
/usr/bin/ld: cannot find -llirc_client
collect2: error: ld returned 1 exit status
error: command '/usr/bin/gcc' failed with exit status 1
Makefile:1578: recipe for target 'all-local' failed
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Upstream status: https://sourceforge.net/p/lirc/tickets/308/
Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index d8164fcd44cf..a16be4278ae2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -131,6 +131,7 @@ pep8: $(py_PYTHON)
if HAVE_PYTHON35
all-local:
cd python-pkg; \
+ $(SETUPTOOLS_ENV) \
CFLAGS="-I$(abs_top_srcdir)/lib -I$(abs_builddir)/lib" \
LDFLAGS=-L$(abs_builddir)/lib/.libs $(PYTHON) setup.py \
$(if $(VERBOSE),,-q) build
@@ -179,6 +180,7 @@ $(abs_builddir)/python-pkg/setup.py:
$(PYTHON_TARBALL): $(abs_builddir)/python-pkg/setup.py
cp $(top_builddir)/VERSION $(abs_builddir)/python-pkg
cd $(abs_builddir)/python-pkg; CFLAGS=-I$(abs_top_srcdir)/lib \
+ $(SETUPTOOLS_ENV) \
LDFLAGS=-L$(abs_builddir)/lib/.libs $(PYTHON) setup.py -q sdist
$(top_builddir)/python-pkg/VERSION: VERSION
--
2.14.1

View File

@@ -0,0 +1,51 @@
From 732fd31610a6790a927ea9ed6d660796a1641254 Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Thu, 7 Sep 2017 08:12:01 +0200
Subject: [PATCH] build: Fix lirc version detection when cross compiling.
The setup.py script that runs on the host can't use the client library
built for target. So setup.py falls back to a wrong hard-coded VERSION
value.
Instead of importing the target library, use exec() to read
lirc/config.py directly for its VERSION value.
Fixes build failure:
/usr/bin/install -c -m 644 ./python-pkg/dist/lirc-0.10.0.tar.gz \
'.../output/host/arm-buildroot-linux-musleabihf/sysroot/usr/share/lirc'
/usr/bin/install: cannot stat './python-pkg/dist/lirc-0.10.0.tar.gz': \
No such file or directory
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Upstream status: commit 732fd31610a6
python-pkg/setup.py | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/python-pkg/setup.py b/python-pkg/setup.py
index e9b33690f828..a2d92e0432aa 100644
--- a/python-pkg/setup.py
+++ b/python-pkg/setup.py
@@ -6,14 +6,11 @@ import subprocess
import os.path
import os
-try:
- import lirc.config
- VERSION = lirc.config.VERSION.replace('-devel','')
-except ImportError:
- VERSION='0.0.0'
-
from setuptools import setup, Extension
+exec(open("lirc/config.py").read())
+VERSION = VERSION.replace('-devel','')
+
if 'CFLAGS' in os.environ:
cflags = os.environ['CFLAGS'].split()
if 'LDFLAGS' in os.environ:
--
2.14.1

View File

@@ -0,0 +1,24 @@
config BR2_PACKAGE_LIRC_TOOLS
bool "lirc-tools"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
# dlopen()
depends on !BR2_STATIC_LIBS
help
LIRC is a package that supports receiving and sending IR
signals of the most common IR remote controls. It contains a
daemon that decodes and sends IR signals, a mouse daemon
that translates IR signals to mouse movements and a couple
of user programs that allow to control your computer with a
remote control.
It requires the kernel LIRC interface driver, make sure to
enable the kernel drivers to support your hardware.
http://www.lirc.org/
comment "lirc-tools needs a toolchain w/ threads, dynamic library, C++"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS \
|| !BR2_INSTALL_LIBSTDCPP

View File

@@ -0,0 +1,38 @@
#!/bin/sh
#
# Start lirc
#
# Support for remotes - Add remotes to /etc/lirc/lircd.conf.d/
#
start() {
printf "Starting lirc: "
mkdir -p /var/run/lirc
ln -sf /var/run/lirc/lircd /dev/lircd
start-stop-daemon -b -S -q -m -p /var/run/lirc.pid --exec /usr/sbin/lircd -- -n -O /etc/lirc/lirc_options.conf
echo "OK"
}
stop() {
printf "Stopping lirc: "
start-stop-daemon -K -q -p /var/run/lirc.pid
echo "OK"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?

View File

@@ -0,0 +1,5 @@
# hash from https://sourceforge.net/projects/lirc/files/LIRC/0.10.1/
sha1 9d6f6d18ac566a96ef4ca1d6909a4e8bc517d48a lirc-0.10.1.tar.bz2
md5 86c3f8e4efaba10571addb8313d1e040 lirc-0.10.1.tar.bz2
# Locally computed
sha256 8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2 lirc-0.10.1.tar.bz2

View File

@@ -0,0 +1,58 @@
################################################################################
#
# lirc-tools
#
################################################################################
LIRC_TOOLS_VERSION = 0.10.1
LIRC_TOOLS_SOURCE = lirc-$(LIRC_TOOLS_VERSION).tar.bz2
LIRC_TOOLS_SITE = http://downloads.sourceforge.net/project/lirc/LIRC/$(LIRC_TOOLS_VERSION)
LIRC_TOOLS_LICENSE = GPL-2.0+
LIRC_TOOLS_LICENSE_FILES = COPYING
LIRC_TOOLS_DEPENDENCIES = host-libxslt host-pkgconf host-python3
LIRC_TOOLS_INSTALL_STAGING = YES
# Patching configure.ac and Makefile.am
LIRC_TOOLS_AUTORECONF = YES
LIRC_TOOLS_CONF_ENV = XSLTPROC=yes HAVE_WORKING_POLL=yes
LIRC_TOOLS_CONF_OPTS = --without-x --enable-devinput --enable-uinput
ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4),y)
LIRC_TOOLS_CONF_ENV += \
DEVINPUT_HEADER=$(STAGING_DIR)/usr/include/linux/input-event-codes.h
else
LIRC_TOOLS_CONF_ENV += \
DEVINPUT_HEADER=$(STAGING_DIR)/usr/include/linux/input.h
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
LIRC_TOOLS_DEPENDENCIES += udev
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
LIRC_TOOLS_DEPENDENCIES += alsa-lib
endif
ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
LIRC_TOOLS_DEPENDENCIES += libusb-compat
endif
ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
LIRC_TOOLS_DEPENDENCIES += portaudio
endif
ifeq ($(BR2_PACKAGE_LIBFTDI1),y)
LIRC_TOOLS_DEPENDENCIES += libftdi1
endif
ifeq ($(BR2_PACKAGE_PYTHON3),y)
LIRC_TOOLS_DEPENDENCIES += python3 host-python3-setuptools
LIRC_TOOLS_MAKE_ENV += SETUPTOOLS_ENV="$(PKG_PYTHON_SETUPTOOLS_ENV)"
endif
define LIRC_TOOLS_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/lirc-tools/S25lircd \
$(TARGET_DIR)/etc/init.d/S25lircd
endef
$(eval $(autotools-package))