mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
63
package/lirc-tools/0001-Fix-build-without-Python.patch
Normal file
63
package/lirc-tools/0001-Fix-build-without-Python.patch
Normal 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
24
package/lirc-tools/Config.in
Normal file
24
package/lirc-tools/Config.in
Normal 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
|
||||
38
package/lirc-tools/S25lircd
Normal file
38
package/lirc-tools/S25lircd
Normal 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 $?
|
||||
5
package/lirc-tools/lirc-tools.hash
Normal file
5
package/lirc-tools/lirc-tools.hash
Normal 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
|
||||
58
package/lirc-tools/lirc-tools.mk
Normal file
58
package/lirc-tools/lirc-tools.mk
Normal 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))
|
||||
Reference in New Issue
Block a user