From 494c35ea469390a851c4dbe7d96d4a5875afeab4 Mon Sep 17 00:00:00 2001 From: Poyraz76 Date: Thu, 20 Aug 2015 17:05:30 +0300 Subject: [PATCH] lirc --- hardware/irda/component.xml | 3 + hardware/irda/lirc/actions.py | 55 +++++++++++ hardware/irda/lirc/comar/service.py | 34 +++++++ hardware/irda/lirc/files/cflags.patch | 12 +++ hardware/irda/lirc/files/devicenode.patch | 12 +++ .../lirc-0.9.0-libusb-config-is-no-more.patch | 95 +++++++++++++++++++ hardware/irda/lirc/files/lirc.conf.d | 7 ++ hardware/irda/lirc/files/lirc.service | 11 +++ hardware/irda/lirc/files/lircmd.service | 11 +++ hardware/irda/lirc/files/nogpio.patch | 11 +++ .../irda/lirc/files/xmode2_defaultfont.patch | 12 +++ hardware/irda/lirc/pspec.xml | 86 +++++++++++++++++ hardware/irda/lirc/translations.xml | 16 ++++ 13 files changed, 365 insertions(+) create mode 100644 hardware/irda/component.xml create mode 100644 hardware/irda/lirc/actions.py create mode 100644 hardware/irda/lirc/comar/service.py create mode 100644 hardware/irda/lirc/files/cflags.patch create mode 100644 hardware/irda/lirc/files/devicenode.patch create mode 100644 hardware/irda/lirc/files/lirc-0.9.0-libusb-config-is-no-more.patch create mode 100644 hardware/irda/lirc/files/lirc.conf.d create mode 100644 hardware/irda/lirc/files/lirc.service create mode 100644 hardware/irda/lirc/files/lircmd.service create mode 100644 hardware/irda/lirc/files/nogpio.patch create mode 100644 hardware/irda/lirc/files/xmode2_defaultfont.patch create mode 100644 hardware/irda/lirc/pspec.xml create mode 100644 hardware/irda/lirc/translations.xml diff --git a/hardware/irda/component.xml b/hardware/irda/component.xml new file mode 100644 index 0000000000..38d715365f --- /dev/null +++ b/hardware/irda/component.xml @@ -0,0 +1,3 @@ + + hardware.irda + diff --git a/hardware/irda/lirc/actions.py b/hardware/irda/lirc/actions.py new file mode 100644 index 0000000000..0e786117b3 --- /dev/null +++ b/hardware/irda/lirc/actions.py @@ -0,0 +1,55 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +WorkDir = "lirc-%s" % get.srcVERSION().replace("_", "-") +ldflags = get.LDFLAGS().replace("-Wl,-O1", "") + +def setup(): + shelltools.export("LDFLAGS", ldflags) + autotools.autoreconf("-vfi") + pisitools.dosed("configure*", "portaudio.h", "PORTAUDIO_DISABLED") + pisitools.dosed("configure*", "vga.h", "SVGALIB_DISABLED") + + # we will use it + pisitools.dosed("contrib/irman2lirc", "/usr/local/etc/", "/etc/") + + autotools.configure("--localstatedir=/var \ + --enable-sandboxed \ + --enable-shared \ + --disable-static \ + --disable-debug \ + --disable-dependency-tracking \ + --with-transmitter \ + --with-x \ + --with-driver=userspace \ + --with-syslog=LOG_DAEMON") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + pisitools.dobin("contrib/irman2lirc") + + # needed for lircd pid + pisitools.dodir("/run/lirc") + + # example configs + pisitools.insinto("/etc", "contrib/lircd.conf", "lircd.conf") + pisitools.insinto("/etc", "contrib/lircmd.conf", "lircmd.conf") + + pisitools.dohtml("doc/html/*.html") + pisitools.rename("/%s/%s" % (get.docDIR(), get.srcNAME()), "lirc") + + pisitools.insinto("/%s/lirc/images" % get.docDIR(), "doc/images/*") + pisitools.insinto("/%s/lirc/contrib" % get.docDIR(), "contrib/*") + pisitools.insinto("/lib/udev/rules.d", "contrib/lirc.rules", "10-lirc.rules") + diff --git a/hardware/irda/lirc/comar/service.py b/hardware/irda/lirc/comar/service.py new file mode 100644 index 0000000000..ab27d6fb67 --- /dev/null +++ b/hardware/irda/lirc/comar/service.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +from comar.service import * + +serviceType = "local" +serviceDefault = "off" +serviceDesc = _({"en": "InfraRed Controller Manager", + "tr": "Kızılötesi Denetleyici Yöneticisi"}) + +lircdpid = "/var/run/lirc/lircd.pid" + +@synchronized +def start(): + lircmodule = config.get("LIRC_MODULE", "") + if lircmodule != "": + run("modprobe %s" % lircmodule) + + reply = startService(command="/usr/sbin/lircd", + args=config.get("LIRCD_OPTS", ""), + pidfile=lircdpid, + donotify=True) + + if reply == 0 and config.get("USE_LIRCMD", "no") == "yes": + startService(command="/usr/sbin/lircmd") + +@synchronized +def stop(): + reply = stopService(pidfile=lircdpid, + donotify=True) + + if config.get("USE_LIRCMD", "no") == "yes": + stopService(command="/usr/sbin/lircmd") + +def status(): + return isServiceRunning(lircdpid) diff --git a/hardware/irda/lirc/files/cflags.patch b/hardware/irda/lirc/files/cflags.patch new file mode 100644 index 0000000000..96fa108d67 --- /dev/null +++ b/hardware/irda/lirc/files/cflags.patch @@ -0,0 +1,12 @@ +diff -Nur lirc-0.8.3pre1-old/configure.ac lirc-0.8.3pre1/configure.ac +--- lirc-0.8.3pre1-old/configure.ac 2007-12-05 19:16:55.855088318 +0200 ++++ lirc-0.8.3pre1/configure.ac 2007-12-05 19:19:22.301825030 +0200 +@@ -9,7 +9,7 @@ + AM_INIT_AUTOMAKE(lirc, 0.8.3pre1) + AM_CONFIG_HEADER(config.h) + +-CFLAGS="${CFLAGS--O2 -g -Wall}" ++CFLAGS="" + + dnl Checks for programs. + AC_PROG_CC diff --git a/hardware/irda/lirc/files/devicenode.patch b/hardware/irda/lirc/files/devicenode.patch new file mode 100644 index 0000000000..489313076b --- /dev/null +++ b/hardware/irda/lirc/files/devicenode.patch @@ -0,0 +1,12 @@ +diff -Nur lirc-0.9.0-pre1-old//config.h.in lirc-0.9.0-pre1/config.h.in +--- lirc-0.9.0-pre1-old//config.h.in 2010-12-27 23:17:34.689000035 +0200 ++++ lirc-0.9.0-pre1/config.h.in 2010-12-27 23:18:10.491999952 +0200 +@@ -2,7 +2,7 @@ + + + /* device file names - beneath DEVDIR (default /dev) */ +-#define DEV_LIRC "lirc" ++#define DEV_LIRC "lirc0" + #define DEV_LIRCD "lircd" + #define DEV_LIRCM "lircm" + diff --git a/hardware/irda/lirc/files/lirc-0.9.0-libusb-config-is-no-more.patch b/hardware/irda/lirc/files/lirc-0.9.0-libusb-config-is-no-more.patch new file mode 100644 index 0000000000..28b1e01b92 --- /dev/null +++ b/hardware/irda/lirc/files/lirc-0.9.0-libusb-config-is-no-more.patch @@ -0,0 +1,95 @@ +diff --git a/configure.ac b/configure.ac +index 6c07e0d..1a3347e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -20,11 +20,11 @@ AC_PROG_MAKE_SET + AC_PATH_PROG(mknod, mknod, /bin/mknod) + AC_PATH_PROG(mkfifo, mkfifo, /usr/bin/mkfifo) + AC_PATH_PROG(depmod, depmod, /sbin/depmod, $PATH:/sbin) +-AC_PATH_PROG(LIBUSB_CONFIG, libusb-config) + AC_PROG_LN_S + AC_PROG_LIBTOOL + AM_PATH_PYTHON(,, [:]) + AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != ""]) ++LIBUSB_CONFIG="pkg-config libusb" + + dnl Checks for header files. + AC_HEADER_STDC +@@ -310,15 +310,14 @@ AH_TEMPLATE([SYSCONFDIR], + AH_TEMPLATE([USE_SYSLOG], + [define if you want to log to syslog instead of logfile]) + +-if test -n "${LIBUSB_CONFIG}"; then +- AC_DEFINE(HAVE_LIBUSB) +- possible_drivers="${possible_drivers} (atilibusb) (awlibusb) (dfclibusb) (commandir) (srm7500libusb)" +-fi +- + AC_CHECK_LIB(caraca_client, caraca_init, + AC_DEFINE(HAVE_LIBCARACA) + possible_drivers="${possible_drivers} (caraca)" + ) ++AC_CHECK_HEADER(usb.h, ++ AC_DEFINE(HAVE_LIBUSB) ++ possible_drivers="${possible_drivers} (atilibusb) (awlibusb) (dfclibusb) (commandir) (srm7500libusb)" ++) + AC_CHECK_HEADER(ftdi.h, + AC_DEFINE(HAVE_FTDI) + possible_drivers="${possible_drivers} (ftdi)" +@@ -1449,7 +1448,7 @@ Get it at: + Or install these packages from your distro: + + libusb +- libusb-dev ++ libusb-devel + + ]) + ;; +--- lirc-0.9.0/configure.orig 2011-06-07 00:08:14.850212313 -0400 ++++ lirc-0.9.0/configure 2011-06-07 00:11:07.140109458 -0400 +@@ -865,7 +865,6 @@ build_cpu + build + LIBTOOL + LN_S +-LIBUSB_CONFIG + depmod + mkfifo + mknod +@@ -4160,37 +4159,7 @@ $as_echo "no" >&6; } + fi + + +-# Extract the first word of "libusb-config", so it can be a program name with args. +-set dummy libusb-config; ac_word=$2 +-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +-$as_echo_n "checking for $ac_word... " >&6; } +-if test "${ac_cv_path_LIBUSB_CONFIG+set}" = set; then +- $as_echo_n "(cached) " >&6 +-else +- case $LIBUSB_CONFIG in +- [\\/]* | ?:[\\/]*) +- ac_cv_path_LIBUSB_CONFIG="$LIBUSB_CONFIG" # Let the user override the test with a path. +- ;; +- *) +- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for ac_exec_ext in '' $ac_executable_extensions; do +- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then +- ac_cv_path_LIBUSB_CONFIG="$as_dir/$ac_word$ac_exec_ext" +- $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 +- break 2 +- fi +-done +-done +-IFS=$as_save_IFS +- +- ;; +-esac +-fi +-LIBUSB_CONFIG=$ac_cv_path_LIBUSB_CONFIG ++LIBUSB_CONFIG="pkg-config libusb" + if test -n "$LIBUSB_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $LIBUSB_CONFIG" >&5 + $as_echo "$LIBUSB_CONFIG" >&6; } diff --git a/hardware/irda/lirc/files/lirc.conf.d b/hardware/irda/lirc/files/lirc.conf.d new file mode 100644 index 0000000000..f18a3b8c1a --- /dev/null +++ b/hardware/irda/lirc/files/lirc.conf.d @@ -0,0 +1,7 @@ +# Options to pass to the lircd process +LIRCD_OPTS="-d /dev/lirc0" +# wheter use lirc mouse daemon +USE_LIRCMD="no" +# kernel module to load, may be needed for lirc_serial etc. +LIRC_MODULE="" + diff --git a/hardware/irda/lirc/files/lirc.service b/hardware/irda/lirc/files/lirc.service new file mode 100644 index 0000000000..a0b925d7e1 --- /dev/null +++ b/hardware/irda/lirc/files/lirc.service @@ -0,0 +1,11 @@ +[Unit] +Description=LIRC Infrared Signal Decoder +After=network.target + +[Service] +Type=forking +PIDFile=/run/lirc/lircd.pid +ExecStart=/usr/sbin/lircd --driver=default --device=/dev/lirc0 + +[Install] +WantedBy=multi-user.target diff --git a/hardware/irda/lirc/files/lircmd.service b/hardware/irda/lirc/files/lircmd.service new file mode 100644 index 0000000000..80597028e8 --- /dev/null +++ b/hardware/irda/lirc/files/lircmd.service @@ -0,0 +1,11 @@ +[Unit] +Description=LIRC Infrared Mouse Event Signal Decoder +Requires=lirc.service +After=network.target lirc.service + +[Service] +Type=forking +ExecStart=/usr/sbin/lircmd + +[Install] +WantedBy=multi-user.target diff --git a/hardware/irda/lirc/files/nogpio.patch b/hardware/irda/lirc/files/nogpio.patch new file mode 100644 index 0000000000..4b583651bd --- /dev/null +++ b/hardware/irda/lirc/files/nogpio.patch @@ -0,0 +1,11 @@ +diff -Nur lirc-0.8.4a-old/drivers/lirc_gpio/Makefile.am lirc-0.8.4a/drivers/lirc_gpio/Makefile.am +--- lirc-0.8.4a-old/drivers/lirc_gpio/Makefile.am 2009-04-21 19:07:37.000000000 +0300 ++++ lirc-0.8.4a/drivers/lirc_gpio/Makefile.am 2009-04-21 19:07:38.000000000 +0300 +@@ -8,6 +8,6 @@ + automake_dummy_SOURCES = lirc_gpio.c + + ## there is no *just* object file support in automake. This is close enough +-module_DATA = lirc_gpio.o ++module_DATA = + + include ../Makefile.common diff --git a/hardware/irda/lirc/files/xmode2_defaultfont.patch b/hardware/irda/lirc/files/xmode2_defaultfont.patch new file mode 100644 index 0000000000..4192fbe498 --- /dev/null +++ b/hardware/irda/lirc/files/xmode2_defaultfont.patch @@ -0,0 +1,12 @@ +diff -Nur lirc-0.9.0-pre1-old//tools/xmode2.c lirc-0.9.0-pre1/tools/xmode2.c +--- lirc-0.9.0-pre1-old//tools/xmode2.c 2010-12-27 23:17:34.673000031 +0200 ++++ lirc-0.9.0-pre1/tools/xmode2.c 2010-12-27 23:29:47.825000031 +0200 +@@ -69,7 +69,7 @@ + Window w0, w1; /*w0 = root */ + char w1_wname[] = "xmode2"; + char w1_iname[] = "xmode2"; +-char font1_name[] = "-*-Courier-medium-r-*-*-8-*-*-m-*-iso8859-1"; ++char font1_name[] = "-misc-fixed-*-r-*-*-12-*-*-*-*-*-iso8859-1"; + + int w1_x = 0, w1_y = 0; + unsigned int w1_w = 640, w1_h = 480, w1_border = 0; diff --git a/hardware/irda/lirc/pspec.xml b/hardware/irda/lirc/pspec.xml new file mode 100644 index 0000000000..4db4f64702 --- /dev/null +++ b/hardware/irda/lirc/pspec.xml @@ -0,0 +1,86 @@ + + + + + lirc + http://www.lirc.org + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + service + Linux Infrared Remote Control system + lirc is a package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls. + http://sourceforge.net/projects/lirc/files/LIRC/0.9.0/lirc-0.9.0.tar.bz2 + + alsa-lib-devel + libftdi-devel + + + devicenode.patch + cflags.patch + + nogpio.patch + + xmode2_defaultfont.patch + lirc-0.9.0-libusb-config-is-no-more.patch + + + + + lirc + + alsa-lib + + + + /etc + /lib/udev/rules.d + /usr/bin + /usr/lib + /usr/sbin + /usr/share/doc + /usr/share/man + /run + /lib/systemd/system + + + lirc.conf.d + lirc.service + lircmd.service + + + System.Service + + + + + lirc-devel + Development files for lirc + + lirc + + + /usr/include + + + + + + 2014-05-25 + 0.9.0 + Rebuild for libftdi + Kamil Atlı + suvarice@gmail.com + + + 2012-10-01 + 0.9.0 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/hardware/irda/lirc/translations.xml b/hardware/irda/lirc/translations.xml new file mode 100644 index 0000000000..e006d4f91f --- /dev/null +++ b/hardware/irda/lirc/translations.xml @@ -0,0 +1,16 @@ + + + + lirc + Linux Kızılötesi Uzaktan Kumanda Sistemi + lirc, kızılötesi sinyalleriyle yaygın uzaktan kumandaları denetlemeye olanak veren bir Linux altyapısıdır. + LIRC est un paquet permettant de décoder et d'envoyer des signaux par infrarouges pour de nombreuses télécommandes usuelles (mais pas toutes). + Sistema de control remoto por infrarrojo en Linux + LIRC permite decodificar y transmitir señales infrarrojos compatible con muchos (pero no de todos) controles remotos comúnes. + + + + lirc-devel + lirc için geliştirme dosyaları + +