Удален ebuild irc, обновлены маски

mhiretskiy
Alexander Tratsevskiy 6 years ago
parent 9b73c14118
commit 5d9c263a44

@ -1,6 +0,0 @@
DIST lirc-0.10.0-rc2.tar.bz2 2552982 BLAKE2B d68639198dd7041865f6b7ac79cb94b63d8a85ee70f97628e27887d14f62814388a51521dabe91730570c382c6bb7edb36c15eba0f8ea9f5d4490dfce2bd121a SHA512 ab3426477f017e3a1b9da690189beae5086bbb52f88d302e6c91d7633f74ef781e6747f6b697b3ed6df13497a3e666f11c846104d2f00b975746d24bfd2a6cd5
DIST lirc-0.10.0.tar.bz2 2523528 BLAKE2B 5c133b40936060fbaa0a9463b1b07d9197d935388e3eb4e46791b1f844b82ea6b6d42ae0c6ce249ca306688fa5d15718f5a3a54b497fc9f168b8b736b06bdd1e SHA512 06ccc1c8c80bfd17a6d180ae39a17779cbba341086f90a03a2e552bfb71e3abcb13f991312fba0e57df79c1882c1e29a2f273dddcd46a9ff53160b556e1547ab
DIST lirc-0.9.0.tar.bz2 857286 BLAKE2B 034c7b8492dd42301bb6d40da8c6c95f714b925ee50e7396290231684024dc3fe3bb64987db92d2a4e4d56203436007e68222bbf9a775bb9d29bbefcc4a7c1e4 SHA512 e91534c63e6065bd7da3b15e1676edf1672b8beb21864a6825df86247d7d165bf2dee6f8191732933e24e42a406e46afc55559948e4061eed2de7b08fac13431
DIST lirc-0.9.4a.tar.bz2 2292119 BLAKE2B 6ca7562716fde3327aa3f8f9913da7d349969f1bcac095bf2e9b1e3025d1e39176e2fb386ca08bcf80d458262f9eb96dab363ef3aa2c1d56b914ac8a36fcbacf SHA512 16be0ac5dd9b07d717ceba63cdc38c0db4a2bdcfc373ca6346d7cd4ab2cd2973aa7585d10b045fcaea952a3aabf7617c564ccb8268db6c62b172683a4b2cc188
DIST lirc-0.9.4c.tar.bz2 2311300 BLAKE2B f58f3b3a701e0ae787e34ec65c1d29b0faa75958b95aa43663a78dbe04c1c1d5456df5a6c5e41c673db9f589a7c2d41423b5f6a667fac890fb18f29fd797438b SHA512 0a0d0e025b87a55ec919c92824d8288bfaf35cfebae0ee97d86e344109f584baa72a2eff6d24fbc526900671d6092e0eebef8d1566559b0d153e122e3127c0cb
DIST lirc-0.9.4d.tar.bz2 2489704 BLAKE2B 89cf8989aa84905d292fdf72632b7e5854aa2b225a6a6183839fa3e5fbc6624474e2723d3456cf5c5e6216abd134805fba495e89469808cd5ff139c31f86c032 SHA512 fb3892e12fbe5277e04c451694f1ea4ed45cc424d66ea57b11c4ac4760afa7df4b37897f380b4ade464a82523a0cee336f216d2009ea9431333fd7ca74a8336c

@ -1,9 +0,0 @@
# Options to pass to the irexec process
IREXEC_OPTS="/etc/lircrc"
# User to execute irexec as.
# Warning: Running irexec as root can open security holes
#IREXEC_USER="root"
# Use this to disable the warning printed when starting irexec as root
# IREXEC_DISABLE_ROOT_WARNING=yes

@ -1,27 +0,0 @@
#!/sbin/openrc-run
# Copyright 2003 Martin Hierling <mad@cc.fh-lippe.de>
# Distributed under the terms of the GNU General Public License v2
: ${IREXEC_USER:=root}
depend() {
need lirc
}
start() {
if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then
ewarn "Warning: Running irexec as root can open security holes"
fi
ebegin "Starting irexec"
start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER} --chdir / \
--exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS}
eend $? "Failed to start irexec."
}
stop() {
ebegin "Stopping irexec"
start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER}
eend $? "Failed to stop irexec."
}

@ -1,27 +0,0 @@
#!/sbin/openrc-run
# Copyright 2003 Martin Hierling <mad@cc.fh-lippe.de>
# Distributed under the terms of the GNU General Public License v2
: ${IREXEC_USER:=root}
depend() {
need lircd
}
start() {
if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then
ewarn "Warning: Running irexec as root can open security holes"
fi
ebegin "Starting irexec"
start-stop-daemon --start --user ${IREXEC_USER} --chdir / \
--exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS}
eend $? "Failed to start irexec."
}
stop() {
ebegin "Stopping irexec"
start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER}
eend $? "Failed to stop irexec."
}

@ -1,10 +0,0 @@
[Unit]
Description=IR Exec
After=lirc.service
Wants=lirc.service
[Service]
ExecStart=/usr/bin/irexec
[Install]
WantedBy=multi-user.target

@ -1,26 +0,0 @@
--- lirc-0.8.0/drivers/lirc_atiusb/lirc_atiusb.c.orig 2005-10-29 08:18:53.000000000 -0600
+++ lirc-0.8.0/drivers/lirc_atiusb/lirc_atiusb.c 2006-04-01 14:31:05.000000000 -0700
@@ -147,8 +147,9 @@
/* init strings */
#define USB_OUTLEN 7
-static char init1[] = {0x01, 0x00, 0x20, 0x14};
-static char init2[] = {0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20};
+static char init1[] = {0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15};
+static char init2[] = {0x83, 0x03};
+static char init3[] = {0x84, 0xd7, 0x020};
struct in_endpt {
/* inner link in list of endpoints for the remote specified by ir */
@@ -1034,8 +1034,9 @@
usb_sndintpipe(ir->usbdev, oep->ep->bEndpointAddress), oep->buf,
USB_OUTLEN, usb_remote_send, oep, oep->ep->bInterval);
- send_packet(oep, 0x8004, init1);
- send_packet(oep, 0x8007, init2);
+ send_packet(oep, 0x8007, init1);
+ send_packet(oep, 0x8002, init2);
+ send_packet(oep, 0x8003, init3);
}
}

@ -1,18 +0,0 @@
Portaudio is only needed for LIRC_DEVICES=audio, so not checking for Portaudio when the device is disabled will prevent automagic dependencies.
--- configure.ac.orig 2009-03-13 10:02:50.000000000 +0100
+++ configure.ac 2009-03-13 10:04:00.000000000 +0100
@@ -336,14 +336,6 @@
AC_DEFINE(HAVE_LIBIRMAN_SW)
possible_drivers="${possible_drivers} (irman_sw)"
)
-dnl audio driver requires PortAudio library installed and some linker flags
-AC_CHECK_HEADERS(portaudio.h,[
- AC_CHECK_LIB(portaudio, Pa_Initialize,[
- AC_DEFINE(HAVE_LIBPORTAUDIO)
- possible_drivers="${possible_drivers} (audio)"
- ],,${portaudio_lib_other}
- )]
-)
dnl audio_alsa driver requires ALSA library installed and some linker flags
have_alsa=no
AC_CHECK_HEADERS(alsa/asoundlib.h,[

@ -1,658 +0,0 @@
diff -rupN base/configure.ac mod/configure.ac
--- base/configure.ac 2011-03-25 23:28:18.000000000 +0100
+++ mod/configure.ac 2013-03-21 16:25:07.218419985 +0100
@@ -383,7 +383,7 @@ AC_CHECK_HEADERS(linux/input.h,[
dnl check if hiddev is available
AC_CHECK_HEADERS([linux/types.h])
AC_CHECK_HEADERS([linux/hiddev.h],[
- possible_drivers="${possible_drivers} (asusdh) (bw6130) (dvico) (macmini)"
+ possible_drivers="${possible_drivers} (asusdh) (bw6130) (dvico) (macmini) (zotac)"
AC_MSG_CHECKING(for HIDDEV_FLAG_UREF support)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <linux/types.h>
@@ -393,7 +393,7 @@ AC_CHECK_HEADERS([linux/hiddev.h],[
]])],[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_LINUX_HIDDEV_FLAG_UREF)
- possible_drivers="${possible_drivers} (samsung) (sb0540)"
+ possible_drivers="${possible_drivers} (samsung) (sb0540) (zotac)"
],[
AC_MSG_RESULT(no)
])
@@ -446,7 +446,7 @@ AC_ARG_WITH(driver,
srm7500libusb, tekram,
tekram_bt829, tira, tira_raw, ttusbir,
tuxbox, tvbox, udp, uirt2, uirt2_raw,
- usb_uirt_raw, usbx, wpc8769l],
+ usb_uirt_raw, usbx, wpc8769l, zotac],
driver=${withval},
driver="unset"
)
@@ -464,6 +464,7 @@ portaudio_lib=""
alsa_lib=""
atilibusb_lib=""
atwf83_lib=""
+zotac_lib=""
awlibusb_lib=""
dfclibusb_lib=""
srm7500libusb_lib=""
@@ -683,6 +684,10 @@ if test "$driver" = "userspace" -o "$dri
usbx)
hw_module="${hw_module} hw_usbx.o serial.o"
;;
+ zotac)
+ hw_module="${hw_module} hw_zotac.o"
+ zotac_lib=-lpthread
+ ;;
esac
done
#remove duplicates
@@ -733,6 +738,14 @@ if test "$driver" = "alsa_usb"; then
lircd_conf="creative/lircd.conf.alsa_usb"
fi
+if test "$driver" = "zotac"; then
+ lirc_driver="$driver"
+ hw_module="hw_zotac.o"
+ HW_DEFAULT="hw_zotac"
+ lircd_conf="zotac/lircd.conf.zotac"
+ zotac_lib=-lpthread
+fi
+
if test "$driver" = "animax"; then
lirc_driver="lirc_dev lirc_serial"
lircd_conf="animax/lircd.conf.animax"
@@ -1499,6 +1512,7 @@ if test "$lirc_driver" = "none" || \
test "$lirc_driver" = "macmini" || \
test "$lirc_driver" = "samsung" || \
test "$lirc_driver" = "sb0540" || \
+ test "$lirc_driver" = "zotac" || \
test "$lirc_driver" = "srm7500libusb" || \
test "$lirc_driver" = "userspace"; then
lirc_driver=
@@ -1669,7 +1683,7 @@ if ! echo ${hw_module}|grep " receive.o"
receive="receive.o"
fi
-hw_module_libs="${alsa_lib} ${atilibusb_lib} ${awlibusb_lib} ${caraca_lib} ${commandir_lib} ${dfclibusb_lib} ${ftdi_lib} ${iguanaIR_lib} ${irman_lib} ${portaudio_lib} ${srm7500libusb_lib} ${atwf83_lib}"
+hw_module_libs="${alsa_lib} ${atilibusb_lib} ${awlibusb_lib} ${caraca_lib} ${commandir_lib} ${dfclibusb_lib} ${ftdi_lib} ${iguanaIR_lib} ${irman_lib} ${portaudio_lib} ${srm7500libusb_lib} ${atwf83_lib} ${zotac_lib}"
dnl tell the Makefiles what we decided
AC_SUBST(daemon)
diff -rupN base/daemons/Makefile.am mod/daemons/Makefile.am
--- base/daemons/Makefile.am 2011-03-25 23:28:18.000000000 +0100
+++ mod/daemons/Makefile.am 2013-03-21 16:25:40.488790784 +0100
@@ -58,7 +58,8 @@ EXTRA_libhw_module_a_SOURCES = \
hw_usbx.c hw_usbx.h \
receive.c receive.h \
transmit.c transmit.h \
- serial.c serial.h
+ serial.c serial.h \
+ hw_zotac.c
libhw_module_a_LIBADD = @hw_module@
libhw_module_a_DEPENDENCIES = @hw_module@
diff -rupN base/daemons/hw-types.c mod/daemons/hw-types.c
--- base/daemons/hw-types.c 2011-03-25 23:28:18.000000000 +0100
+++ mod/daemons/hw-types.c 2013-03-21 16:26:38.913200218 +0100
@@ -59,6 +59,7 @@ extern struct hardware hw_uirt2;
extern struct hardware hw_uirt2_raw;
extern struct hardware hw_usb_uirt_raw;
extern struct hardware hw_usbx;
+extern struct hardware hw_zotac;
#ifndef HW_DEFAULT
# define HW_DEFAULT hw_default
@@ -160,6 +161,7 @@ struct hardware *hw_list[] = {
#ifdef HAVE_LINUX_HIDDEV_FLAG_UREF
&hw_samsung,
&hw_sb0540,
+ &hw_zotac,
#endif
&hw_silitek,
#ifdef HAVE_LIBUSB
diff -rupN base/daemons/hw_zotac.c mod/daemons/hw_zotac.c
--- base/daemons/hw_zotac.c 1970-01-01 01:00:00.000000000 +0100
+++ mod/daemons/hw_zotac.c 2013-03-21 16:31:06.989272556 +0100
@@ -0,0 +1,429 @@
+/****************************************************************************
+ ** hw_zotac.c *************************************************************
+ ****************************************************************************
+ *
+ * Lirc driver for Zotac remote
+ *
+ * Copyright (C) 2010 Rainer Hochecker
+ *
+ * Distribute under GPL version 2 or later.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <pthread.h>
+#include <sys/fcntl.h>
+#include <signal.h>
+#include <linux/hiddev.h>
+#include <sys/ioctl.h>
+#include "hardware.h"
+#include "ir_remote.h"
+#include "lircd.h"
+
+enum {
+ RPT_NO = 0,
+ RPT_YES = 1,
+};
+
+static int zotac_init();
+static int zotac_deinit();
+static char *zotac_rec(struct ir_remote *remotes);
+static int zotac_decode(struct ir_remote *remote, ir_code * prep, ir_code * codep, ir_code * postp, int *repeat_flagp,
+ lirc_t * min_remaining_gapp, lirc_t * max_remaining_gapp);
+static void *zotac_repeat();
+static int zotac_getcode();
+
+/** Max number of repetitions */
+static unsigned max_repeat_count = 500;
+/** Code that triggers key release */
+static unsigned release_code = 0x00000000;
+/** Code that triggers device remove */
+static unsigned remove_code =0x00FFFFFF;
+/** Time to wait before first repetition */
+static unsigned repeat_time1_us = 500000;
+/** Time to wait between two repetitions */
+static unsigned repeat_time2_us = 100000;
+/** Pipe between main thread and repetition thread */
+static int fd_pipe[2] = { -1, -1 };
+
+/** Thread that simulates repetitions */
+static pthread_t repeat_thread;
+/** File descriptor for the real device */
+static int fd_hidraw;
+
+static int main_code_length = 32;
+static signed int main_code = 0;
+static struct timeval start, end, last;
+static int repeat_state = RPT_NO;
+static int error_state = 0;
+static int probe_code = 0;
+
+#ifdef HAVE_LINUX_HIDDEV_FLAG_UREF
+/* Zotac USB iR Receiver */
+struct hardware hw_zotac = {
+ "/dev/usb/hiddev0", /* "device" */
+ -1, /* fd (device) */
+ LIRC_CAN_REC_LIRCCODE, /* features */
+ 0, /* send_mode */
+ LIRC_MODE_LIRCCODE, /* rec_mode */
+ 32, /* code_length */
+ zotac_init, /* init_func */
+ zotac_deinit, /* deinit_func */
+ NULL, /* send_func */
+ zotac_rec, /* rec_func */
+ zotac_decode, /* decode_func */
+ NULL, /* ioctl_func */
+ NULL, /* readdata */
+ "zotac" /* name */
+};
+#endif
+
+static int zotac_decode(struct ir_remote *remote, ir_code * prep, ir_code * codep, ir_code * postp, int *repeat_flagp,
+ lirc_t * min_remaining_gapp, lirc_t * max_remaining_gapp)
+{
+ LOGPRINTF(1, "zotac_decode");
+
+ if (!map_code(remote, prep, codep, postp, 0, 0, main_code_length, main_code, 0, 0)) {
+ return 0;
+ }
+
+ map_gap(remote, &start, &last, 0, repeat_flagp, min_remaining_gapp, max_remaining_gapp);
+ /* override repeat */
+ *repeat_flagp = repeat_state;
+
+ return 1;
+}
+
+static int zotac_getcode() {
+
+ ssize_t rd;
+ struct hiddev_usage_ref uref;
+ struct hiddev_report_info rinfo;
+ struct hiddev_field_info finfo;
+ int shift = 0;
+
+ rd = read(fd_hidraw, &uref, sizeof(uref));
+ if (rd < 0) {
+ logprintf(LOG_ERR, "error reading '%s'", hw.device);
+ logperror(LOG_ERR, NULL);
+ zotac_deinit();
+ error_state = 1;
+ return -1;
+ }
+
+ if (uref.field_index == HID_FIELD_INDEX_NONE) {
+ /*
+ * we get this when the new report has been send from
+ * device at this point we have the uref structure
+ * prefilled with correct report type and id
+ *
+ */
+
+ switch (uref.report_id) {
+ case 1: /* USB standard keyboard usage page */
+ {
+ /* This page reports cursor keys */
+ LOGPRINTF(3, "Keyboard (standard)\n");
+
+ /* check for special codes */
+ uref.field_index = 0;
+ uref.usage_index = 1;
+ /* fetch the usage code for given indexes */
+ ioctl(fd_hidraw, HIDIOCGUCODE, &uref, sizeof(uref));
+ /* fetch the value from report */
+ ioctl(fd_hidraw, HIDIOCGUSAGE, &uref, sizeof(uref));
+
+ if (uref.value)
+ shift = 1;
+
+ /* populate required field number */
+ uref.field_index = 1;
+ uref.usage_index = 0;
+ /* fetch the usage code for given indexes */
+ ioctl(fd_hidraw, HIDIOCGUCODE, &uref, sizeof(uref));
+ /* fetch the value from report */
+ ioctl(fd_hidraw, HIDIOCGUSAGE, &uref, sizeof(uref));
+ /* now we have the key */
+
+ LOGPRINTF(3, "usage: %x value: %x shift: %d\n",uref.usage_code, uref.value, shift);
+
+ /* now we have the key */
+ if (uref.value) {
+ probe_code = (uref.usage_code | uref.value);
+ if (shift)
+ probe_code |= 0x10000000;
+ LOGPRINTF(3, "Main code 1: %x\n", probe_code);
+ return 1;
+ }
+ else {
+ LOGPRINTF(3, "rel button\n");
+ probe_code = release_code;
+ return 2;
+ }
+ }
+ break;
+
+ case 2:
+ case 3: /* USB generic desktop usage page */
+ case 4:
+ {
+ /* This page reports power key
+ * (via SystemControl SLEEP)
+ */
+ LOGPRINTF(3, "Generic desktop (standard)\n");
+
+
+ /* traverse report descriptor */
+ rinfo.report_type = HID_REPORT_TYPE_INPUT;
+ rinfo.report_id = HID_REPORT_ID_FIRST;
+ rd = ioctl(fd_hidraw, HIDIOCGREPORTINFO, &rinfo);
+
+ unsigned int i,j;
+ while (rd >= 0) {
+ for (i = 0; i < rinfo.num_fields; i++) {
+ finfo.report_type = rinfo.report_type;
+ finfo.report_id = rinfo.report_id;
+ finfo.field_index = i;
+ ioctl(fd_hidraw, HIDIOCGFIELDINFO, &finfo);
+ for (j = 0; j < finfo.maxusage; j++) {
+ uref.field_index = i;
+ uref.usage_index = j;
+ ioctl(fd_hidraw, HIDIOCGUCODE, &uref);
+ ioctl(fd_hidraw, HIDIOCGUSAGE, &uref);
+
+ if (uref.value != 0) {
+ LOGPRINTF(3, "field: %d, idx: %d, usage: %x value: %x\n",i, j, uref.usage_code, uref.value);
+ probe_code = uref.usage_code;
+ return 1;
+ }
+ }
+ }
+ rinfo.report_id |= HID_REPORT_ID_NEXT;
+ rd = ioctl(fd_hidraw, HIDIOCGREPORTINFO, &rinfo);
+ }
+ return 2;
+ }
+ break;
+ default:
+ /* Unknown/unsupported report id.
+ * Should not happen because remaining reports
+ * from report descriptor seem to be unused by remote.
+ */
+ logprintf(LOG_ERR, "Unexpected report id %d", uref.report_id);
+ break;
+ }
+ }
+ else {
+ /* This page reports power key
+ * (via SystemControl SLEEP)
+ */
+ LOGPRINTF(3, "Same Event ...\n");
+
+ /* traverse report descriptor */
+ rinfo.report_type = HID_REPORT_TYPE_INPUT;
+ rinfo.report_id = HID_REPORT_ID_FIRST;
+ rd = ioctl(fd_hidraw, HIDIOCGREPORTINFO, &rinfo);
+
+ unsigned int i,j;
+ while (rd >= 0) {
+ for (i = 0; i < rinfo.num_fields; i++) {
+ finfo.report_type = rinfo.report_type;
+ finfo.report_id = rinfo.report_id;
+ finfo.field_index = i;
+ ioctl(fd_hidraw, HIDIOCGFIELDINFO, &finfo);
+ for (j = 0; j < finfo.maxusage; j++) {
+ uref.field_index = i;
+ uref.usage_index = j;
+ ioctl(fd_hidraw, HIDIOCGUCODE, &uref);
+ ioctl(fd_hidraw, HIDIOCGUSAGE, &uref);
+
+ if (uref.value != 0) {
+ LOGPRINTF(3, "usage: %x value: %x\n",uref.usage_code, uref.value);
+ //probe_code = uref.usage_code;
+ return 0;
+ }
+ }
+ }
+ rinfo.report_id |= HID_REPORT_ID_NEXT;
+ rd = ioctl(fd_hidraw, HIDIOCGREPORTINFO, &rinfo);
+ }
+ return 2;
+ }
+ return 0;
+}
+
+static int zotac_init()
+{
+ logprintf(LOG_INFO, "zotac initializing '%s'", hw.device);
+ if ((fd_hidraw = open(hw.device, O_RDONLY)) < 0) {
+ logprintf(LOG_ERR, "unable to open '%s'", hw.device);
+ return 0;
+ }
+ int flags = HIDDEV_FLAG_UREF | HIDDEV_FLAG_REPORT;
+ if (ioctl(fd_hidraw, HIDIOCSFLAG, &flags)) {
+ return 0;
+ }
+ hw.fd = fd_hidraw;
+
+ /* Create pipe so that events sent by the repeat thread will
+ trigger main thread */
+ if (pipe(fd_pipe) != 0) {
+ logperror(LOG_ERR, "couldn't open pipe");
+ close(fd_hidraw);
+ return 0;
+ }
+ hw.fd = fd_pipe[0];
+ /* Create thread to simulate repetitions */
+ if (pthread_create(&repeat_thread, NULL, zotac_repeat, NULL)) {
+ logprintf(LOG_ERR, "Could not create \"repeat thread\"");
+ return 0;
+ }
+ return 1;
+}
+
+static int zotac_deinit()
+{
+ pthread_cancel(repeat_thread);
+ if (fd_hidraw != -1) {
+ // Close device if it is open
+ logprintf(LOG_INFO, "closing '%s'", hw.device);
+ close(fd_hidraw);
+ fd_hidraw = -1;
+ }
+ // Close pipe input
+ if (fd_pipe[1] >= 0) {
+ close(fd_pipe[1]);
+ fd_pipe[1] = -1;
+ }
+ // Close pipe output
+ if (fd_pipe[0] >= 0) {
+ close(fd_pipe[0]);
+ fd_pipe[0] = -1;
+ }
+ hw.fd = -1;
+ return 1;
+}
+
+/**
+ * Runtime that reads device, forwards codes to main thread
+ * and simulates repetitions.
+ */
+static void *zotac_repeat()
+{
+ int repeat_count = 0;
+ unsigned current_code;
+ int ret;
+ int sel;
+ fd_set files;
+ struct timeval delay;
+ int pressed = 0;
+ int fd = fd_pipe[1];
+
+ while (1) {
+ // Initialize set to monitor device's events
+ FD_ZERO(&files);
+ FD_SET(fd_hidraw, &files);
+ if (pressed) {
+ sel = select(FD_SETSIZE, &files, NULL, NULL, &delay);
+ } else {
+ sel = select(FD_SETSIZE, &files, NULL, NULL, NULL);
+ }
+
+ switch (sel) {
+ case 1:
+ // Data ready in device's file
+ ret = zotac_getcode();
+
+ if (ret < 0) {
+ // Error
+ logprintf(LOG_ERR, "(%s) Could not read %s", __FUNCTION__, hw.device);
+ goto exit_loop;
+ }
+ if (ret == 1) {
+ // Key code : forward it to main thread
+ pressed = 1;
+ repeat_count = 0;
+ delay.tv_sec = 0;
+ delay.tv_usec = repeat_time1_us;
+ current_code = probe_code;
+ } else if (ret == 2) {
+ // Release code : stop repetitions
+ pressed = 0;
+ current_code = release_code;
+ } else if (ret == 0) {
+ continue;
+ }
+ break;
+ case 0:
+ repeat_count++;
+ if (repeat_count >= max_repeat_count) {
+ // Too many repetitions, something must have gone wrong
+ logprintf(LOG_ERR,"(%s) too many repetitions", __FUNCTION__);
+ goto exit_loop;
+ }
+ // Timeout : send current_code again to main
+ // thread to simulate repetition
+ delay.tv_sec = 0;
+ delay.tv_usec = repeat_time2_us;
+ break;
+ default:
+ // Error
+ logprintf(LOG_ERR, "(%s) select() failed", __FUNCTION__);
+ goto exit_loop;
+ }
+ // Send code to main thread through pipe
+ write(fd, &current_code, sizeof(current_code));
+ }
+exit_loop:
+
+ // Wake up main thread with special key code
+ current_code = remove_code;
+ write(fd, &current_code, sizeof(current_code));
+ return NULL;
+}
+
+/*
+* Aureal Technology ATWF@83 cheap remote
+* specific code.
+*/
+
+static char *zotac_rec(struct ir_remote *remotes)
+{
+ unsigned ev;
+ int rd;
+ last = end;
+ gettimeofday(&start, NULL);
+ rd = read(hw.fd, &ev, sizeof(ev));
+
+ if (rd == -1) {
+ // Error
+ logprintf(LOG_ERR, "(%s) could not read pipe", __FUNCTION__);
+ zotac_deinit();
+ return 0;
+ }
+
+ if (ev == release_code) {
+ // Release code
+ main_code = 0;
+ return 0;
+ } else if (ev == remove_code) {
+ // Device has been removed
+ zotac_deinit();
+ return 0;
+ }
+
+ LOGPRINTF(1, "zotac : %x", ev);
+ // Record the code and check for repetition
+ if (main_code == ev) {
+ repeat_state = RPT_YES;
+ } else {
+ main_code = ev;
+ repeat_state = RPT_NO;
+ }
+ gettimeofday(&end, NULL);
+ return decode_all(remotes);
+}
diff -rupN base/remotes/zotac/lircd.conf.zotac mod/remotes/zotac/lircd.conf.zotac
--- base/remotes/zotac/lircd.conf.zotac 1970-01-01 01:00:00.000000000 +0100
+++ mod/remotes/zotac/lircd.conf.zotac 2013-03-21 16:31:31.343367869 +0100
@@ -0,0 +1,77 @@
+
+# Please make this file available to others
+# by sending it to <lirc@bartelmus.de>
+#
+# this config file was automatically generated
+# using lirc-0.9.1-git(zotac) on Mon Apr 2 14:10:29 2012
+#
+# contributed by
+#
+# brand: zotac.conf
+# model no. of remote control:
+# devices being controlled by this remote:
+#
+
+begin remote
+
+ name zotac.conf
+ bits 32
+ eps 30
+ aeps 100
+
+ one 0 0
+ zero 0 0
+ gap 100123
+ min_repeat 9
+# suppress_repeat 9
+# uncomment to suppress unwanted repeats
+# toggle_bit_mask 0x7004F
+
+ begin codes
+ KEY_SLEEP 0x00010082
+ KEY_WAKEUP 0x00010083
+ KEY_RECORD 0x000C00B2
+ KEY_PAUSE 0x000C00B1
+ KEY_STOP 0x000C00B7
+ KEY_REWIND 0x000C00B4
+ KEY_PLAY 0x000C00B0
+ KEY_FORWARD 0x000C00B3
+ KEY_LEFTSHIFT 0x000C00B6
+ KEY_RIGHTSHIFT 0x000C00B5
+ KEY_BACK 0x000C0224
+ KEY_INFO 0x000C0209
+ KEY_MENU 0xFFBC000D
+ KEY_UP 0x00070052
+ KEY_LEFT 0x00070050
+ KEY_RIGHT 0x0007004F
+ KEY_DOWN 0x00070051
+ KEY_OK 0x00070028
+ KEY_VOLUMEUP 0x000C00E9
+ KEY_VOLUMEDOWN 0x000C00EA
+ KEY_MUTE 0x000C00E2
+ KEY_CHANNELUP 0x000C009C
+ KEY_CHANNELDOWN 0x000C009D
+ KEY_1 0x0007001E
+ KEY_2 0x0007001F
+ KEY_3 0x00070020
+ KEY_4 0x00070021
+ KEY_5 0x00070022
+ KEY_6 0x00070023
+ KEY_7 0x00070024
+ KEY_8 0x00070025
+ KEY_9 0x00070026
+ KEY_0 0x00070027
+ KEY_NUMERIC_STAR 0x10070025
+ KEY_NUMERIC_POUND 0x10070020
+ KEY_CLEAR 0x00070029
+ KEY_TEXT 0xFFBC005A
+ KEY_TITLE 0x000C008D
+ KEY_ENTER 0x00070028
+ KEY_RED 0xFFBC005B
+ KEY_GREEN 0xFFBC005C
+ KEY_YELLOW 0xFFBC005D
+ KEY_BLUE 0xFFBC005E
+ end codes
+
+end remote
+
diff -rupN base/setup.data mod/setup.data
--- base/setup.data 2011-03-25 23:28:18.000000000 +0100
+++ mod/setup.data 2013-03-21 16:28:11.433935463 +0100
@@ -146,6 +146,7 @@ hw_menu_entry: @hw-usb
usb_uirt_raw: "USB-UIRT"
mplay: "VLSystem MPlay Blast"
mplay: "VLSystem MPlay Mini"
+ zotac: "Zotac USB IR Receiver"
param_type: \
act200l \
@@ -260,7 +261,8 @@ param_type: \
ttusbir \
tvbox \
udp \
- wpc8769l
+ wpc8769l \
+ zotac
none:
default_param: \
@@ -331,7 +333,8 @@ default_param: \
ttusbir \
tvbox \
udp \
- wpc8769l
+ wpc8769l \
+ zotac
none:
default_param: \

@ -1,14 +0,0 @@
--- a/drivers/lirc_atiusb/lirc_atiusb.c 2012-07-17 16:04:39.000000000 -0400
+++ b/drivers/lirc_atiusb/lirc_atiusb.c 2012-07-17 16:19:06.000000000 -0400
@@ -1050,7 +1050,11 @@
goto new_irctl_failure_check;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38)
if (lirc_buffer_init(driver->rbuf, dclen, 1)) {
+#else
+ if (lirc_buffer_init(driver->rbuf, dclen, 2)) {
+#endif
mem_failure = 4;
goto new_irctl_failure_check;
}

@ -1,20 +0,0 @@
--- a/tools/xmode2.c 2011-03-25 23:28:18.000000000 +0100
+++ b/tools/xmode2.c 2012-07-29 19:36:34.972246587 +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[] = "fixed";
int w1_x = 0, w1_y = 0;
unsigned int w1_w = 640, w1_h = 480, w1_border = 0;
@@ -201,7 +201,7 @@
printf("coudn't allocate blue color\n");
f1_str = XLoadQueryFont(d1, font1_name);
if (f1_str == NULL) {
- printf("could't load font\n");
+ printf("couldn't load font\n");
exit(EXIT_FAILURE);
}

@ -1,67 +0,0 @@
diff -u a/drivers/lirc_atiusb/lirc_atiusb.c b/drivers/lirc_atiusb/lirc_atiusb.c
--- a/drivers/lirc_atiusb/lirc_atiusb.c
+++ b/drivers/lirc_atiusb/lirc_atiusb.c
@@ -48,7 +48,9 @@
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/kmod.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
#include <linux/smp_lock.h>
+#endif
#include <linux/completion.h>
#include <linux/uaccess.h>
#include <linux/usb.h>
diff -u a/drivers/lirc_i2c/lirc_i2c.c b/drivers/lirc_i2c/lirc_i2c.c
--- a/drivers/lirc_i2c/lirc_i2c.c
+++ b/drivers/lirc_i2c/lirc_i2c.c
@@ -555,8 +555,8 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
kfree(ir);
return -EINVAL;
}
- printk(KERN_INFO "lirc_i2c: chip 0x%x found @ 0x%02x (%s)\n",
- adap->id, addr, ir->c.name);
+ printk(KERN_INFO "lirc_i2c: chip found @ 0x%02x (%s)\n",
+ addr, ir->c.name);
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
/* register device */
diff -u a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
@@ -361,14 +361,22 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs)
size = count << 3;
ldata = (unsigned long *) data_buf;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
next_one = generic_find_next_le_bit(ldata, size, 0);
+#else
+ next_one = find_next_zero_bit_le(ldata, size, 0);
+#endif
if (next_one > 0)
put_pulse_bit(next_one
* WPC8769L_USECS_PER_BIT);
while (next_one < size) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
next_zero = generic_find_next_zero_le_bit(ldata,
+#else
+ next_zero = find_next_zero_bit_le(ldata,
+#endif
size, next_one + 1);
put_space_bit(
@@ -376,7 +384,11 @@ static irqreturn_t irq_handler(int irqno, void *blah, struct pt_regs *regs)
* WPC8769L_USECS_PER_BIT);
if (next_zero < size) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39)
next_one = generic_find_next_le_bit(ldata,
+#else
+ next_one = find_next_bit_le(ldata,
+#endif
size, next_zero + 1);
put_pulse_bit(
--
1.7.5.4

@ -1,50 +0,0 @@
diff -ur drivers/lirc_serial/lirc_serial.c drivers.new/lirc_serial/lirc_serial.c
--- drivers/lirc_serial/lirc_serial.c 2011-03-25 18:28:18.000000000 -0400
+++ drivers.new/lirc_serial/lirc_serial.c 2012-10-24 14:32:14.000000000 -0400
@@ -66,7 +66,12 @@
#include <linux/poll.h>
#include <linux/platform_device.h>
+#include "drivers/kcompat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 3, 0)
+#include <asm/switch_to.h>
+#else
#include <asm/system.h>
+#endif
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/fcntl.h>
@@ -80,7 +85,6 @@
#define UART_IE_IXP42X_UUE 0x40 /* IXP42X UART Unit enable */
#define UART_IE_IXP42X_RTOIE 0x10 /* IXP42X Receiver Data Timeout int.enable */
-#include "drivers/kcompat.h"
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
#include <media/lirc.h>
#include <media/lirc_dev.h>
diff -ur drivers/lirc_sir/lirc_sir.c drivers.new/lirc_sir/lirc_sir.c
--- drivers/lirc_sir/lirc_sir.c 2011-03-25 18:28:18.000000000 -0400
+++ drivers.new/lirc_sir/lirc_sir.c 2012-10-24 14:32:46.000000000 -0400
@@ -59,7 +59,14 @@
#include <linux/mm.h>
#include <linux/delay.h>
#include <linux/poll.h>
+
+#include "drivers/kcompat.h"
+#if LINUX_VERSION_CODE > KERNEL_VERSION(3, 3, 0)
+#include <asm/switch_to.h>
+#else
#include <asm/system.h>
+#endif
+
#include <linux/io.h>
#include <asm/irq.h>
#include <linux/fcntl.h>
@@ -74,7 +81,6 @@
#include <linux/timer.h>
-#include "drivers/kcompat.h"
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 35)
#include <media/lirc.h>
#include <media/lirc_dev.h>

@ -1,12 +0,0 @@
--- a/drivers/kcompat.h 2011-03-25 18:28:18.000000000 -0400
+++ b/drivers/kcompat.h 2012-11-27 13:37:55.000000000 -0500
@@ -136,4 +136,9 @@
)
#endif
+#ifndef err
+#define err(format, arg...) \
+ printk(KERN_ERR KBUILD_MODNAME ": " format "\n", ##arg)
+#endif
+
#endif /* _KCOMPAT_H */

@ -1,80 +0,0 @@
diff -Naur lirc-0.9.0/drivers/lirc_serial/lirc_serial.c lirc-0.9.0.new/drivers/lirc_serial/lirc_serial.c
--- lirc-0.9.0/drivers/lirc_serial/lirc_serial.c 2013-05-24 11:58:31.017566567 -0400
+++ lirc-0.9.0.new/drivers/lirc_serial/lirc_serial.c 2013-05-24 12:00:38.733568898 -0400
@@ -1107,12 +1107,12 @@
static struct platform_device *lirc_serial_dev;
-static int __devinit lirc_serial_probe(struct platform_device *dev)
+static int lirc_serial_probe(struct platform_device *dev)
{
return 0;
}
-static int __devexit lirc_serial_remove(struct platform_device *dev)
+static int lirc_serial_remove(struct platform_device *dev)
{
return 0;
}
@@ -1163,7 +1163,7 @@
static struct platform_driver lirc_serial_driver = {
.probe = lirc_serial_probe,
- .remove = __devexit_p(lirc_serial_remove),
+ .remove = lirc_serial_remove,
.suspend = lirc_serial_suspend,
.resume = lirc_serial_resume,
.driver = {
diff -Naur lirc-0.9.0/drivers/lirc_sir/lirc_sir.c lirc-0.9.0.new/drivers/lirc_sir/lirc_sir.c
--- lirc-0.9.0/drivers/lirc_sir/lirc_sir.c 2013-05-24 11:58:31.017566567 -0400
+++ lirc-0.9.0.new/drivers/lirc_sir/lirc_sir.c 2013-05-24 12:00:38.733568898 -0400
@@ -1296,19 +1296,19 @@
return 0;
}
-static int __devinit lirc_sir_probe(struct platform_device *dev)
+static int lirc_sir_probe(struct platform_device *dev)
{
return 0;
}
-static int __devexit lirc_sir_remove(struct platform_device *dev)
+static int lirc_sir_remove(struct platform_device *dev)
{
return 0;
}
static struct platform_driver lirc_sir_driver = {
.probe = lirc_sir_probe,
- .remove = __devexit_p(lirc_sir_remove),
+ .remove = lirc_sir_remove,
.driver = {
.name = "lirc_sir",
.owner = THIS_MODULE,
diff -Naur lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0.new/drivers/lirc_wpc8769l/lirc_wpc8769l.c
--- lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c 2013-05-24 11:58:30.974566567 -0400
+++ lirc-0.9.0.new/drivers/lirc_wpc8769l/lirc_wpc8769l.c 2013-05-24 12:00:38.734568898 -0400
@@ -942,12 +942,12 @@
#ifdef MODULE
static struct platform_device *lirc_wpc8769l_platform_dev;
-static int __devinit lirc_wpc8769l_probe(struct platform_device *dev)
+static int lirc_wpc8769l_probe(struct platform_device *dev)
{
return 0;
}
-static int __devexit lirc_wpc8769l_remove(struct platform_device *dev)
+static int lirc_wpc8769l_remove(struct platform_device *dev)
{
return 0;
}
@@ -975,7 +975,7 @@
static struct platform_driver lirc_wpc8769l_platform_driver = {
.probe = lirc_wpc8769l_probe,
- .remove = __devexit_p(lirc_wpc8769l_remove),
+ .remove = lirc_wpc8769l_remove,
.suspend = lirc_wpc8769l_suspend,
.resume = lirc_wpc8769l_resume,
.driver = {

@ -1,27 +0,0 @@
https://sourceforge.net/p/lirc/tickets/214/
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 53d0f21..f833b4b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -33,7 +33,6 @@ nodist_man_MANS += man/xmode2.1 man/irxevent.1
manpage_html += man-html/irxevent.html man-html/xmode2.html
endif
-docdir = @datadir@/doc/@PACKAGE@
dist_doc_DATA = irxevent.keys
if HAVE_DOXYGEN
@@ -58,10 +57,10 @@ if HAVE_PYMOD_YAML
nodist_website_html_DATA += table.html
endif
-vardocsdir = $(localstatedir)/lib/lirc/plugins
+vardocsdir = $(docdir)/plugins
vardocs_DATA = index.html html-source/lirc.css
-varimagedir = $(localstatedir)/lib/lirc/images
+varimagedir = $(docdir)/images
varimage_DATA = $(dist_image_DATA)
website_imagedir = $(docdir)/lirc.org/images

@ -1,11 +0,0 @@
[Unit]
Description=Linux Infrared Remote Control
After=network.target
[Service]
RuntimeDirectory=lirc
ExecStart=/usr/sbin/lircd --nodaemon --driver=default --device=/dev/lirc0
[Install]
WantedBy=multi-user.target

@ -1,51 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
PIDFILE=/var/run/lirc/${SVCNAME}.pid
: ${LIRCD_SYMLINKFILE:=/dev/lircd}
: ${LIRCD_SOCKET:=/var/run/lirc/lircd}
depend() {
need localmount
use modules
provide lirc
}
start() {
local retval
ebegin "Starting lircd"
for retval in ${LIRCD_SET_SYSCLASSRCS} ; do
if [ -e /sys/class/rc/${retval}/protocols ] && \
grep -qs 'lirc' /sys/class/rc/${retval}/protocols ; then
einfo "Setting lirc protocol active for ${retval}"
echo lirc >/sys/class/rc/${retval}/protocols
fi
done
checkpath -q -d -m 0755 -o root:root /var/run/lirc
rm -Rf ${LIRCD_SOCKET} && ln -s ${LIRCD_SOCKET} ${LIRCD_SYMLINKFILE}
if [ $? -ne 0 ]; then
eend $? "Unable to create symbolic link ${LIRCD_SYMLINKFILE}"
return 1
fi
start-stop-daemon --start --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd -- \
-P "${PIDFILE}" ${LIRCD_OPTS}
retval=$?
if [ ${retval} -ne 0 ]; then
rm -Rf ${LIRCD_SOCKET}
fi
eend ${retval}
}
stop() {
ebegin "Stopping lircd"
rm -f ${LIRCD_SYMLINKFILE}
start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd
eend $?
}

@ -1,22 +0,0 @@
# Options to pass to the lircd process
# for devices with lirc-kernel-module
#LIRCD_OPTS="-d /dev/lirc0"
#LIRCD_OPTS="-d /dev/lirc"
# for devices using the input-layer
#LIRCD_OPTS="-H devinput -d /dev/input/by-path/pci-0000:00:0a.0--event-ir"
# This should work, Bug #235107
#LIRCD_OPTS="-H devinput -d name=*DVB*"
# set default protocol to 'lirc' for in-kernel IR decoding
# for the following entries in /sys/class/rc/
# (space-separated list if there is more than one)
LIRCD_SET_SYSCLASSRCS="rc0"
# If running mulitple instances of lircd, the following
# can be used to override the default socket path and
# socket symlink
#LIRCD_SOCKET="/var/run/lirc/lircd"
#LIRCD_SYMLINKFILE="/dev/lircd"

@ -1,11 +0,0 @@
[Unit]
Description=LIRC Mouse
Requires=lirc.service
After=network.target lirc.service
[Service]
ExecStart=/usr/sbin/lircmd --nodaemon
[Install]
WantedBy=multi-user.target

@ -1,19 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need lircd
}
start() {
ebegin "Starting lircmd"
start-stop-daemon --start --quiet --exec /usr/sbin/lircmd
eend $?
}
stop() {
ebegin "Stopping lircmd"
start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
eend $?
}

@ -1,4 +0,0 @@
# Options to pass to the lircmd process
LIRCMD_OPTS=""

@ -1,19 +0,0 @@
#!/sbin/openrc-run
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
depend() {
need lircd
}
start() {
ebegin "Starting lircmd"
start-stop-daemon --start --quiet --exec /usr/sbin/lircmd -- ${LIRCMD_OPTS}
eend $?
}
stop() {
ebegin "Stopping lircmd"
start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd
eend $?
}

@ -1,4 +0,0 @@
# Options to pass to the lircmd process
LIRCMD_OPTS="--uinput"

@ -1,22 +0,0 @@
#
# For first serial receivers:
#
#options lirc_serial irq=4 io=0x3f8
#options lirc_sir irq=4 io=0x3f8
#
# Detach first serial port from serial-driver.
# Use this when you have your serial-port-driver statically
# compiled into your kernel, or as a module but loaded before
# the lirc-module.
#
#install lirc_serial setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_serial
#
#install lirc_sir setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_sir
#
# For parallel receivers:
#
#options lirc_parallel irq=7 io=0x3bc

@ -1,151 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_4 python3_{5,6} )
inherit eutils flag-o-matic linux-info python-single-r1 systemd xdg-utils
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
LIRC_DRIVER_DEVICE="/dev/lirc0"
MY_P=${PN}-${PV/_/-}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
IUSE="audio +devinput doc ftdi gtk inputlirc static-libs systemd +uinput usb X"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
gtk? ( X )
"
S="${WORKDIR}/${MY_P}"
COMMON_DEPEND="
${PYTHON_DEPS}
audio? (
>media-libs/portaudio-18
media-libs/alsa-lib
)
dev-python/pyyaml[${PYTHON_USEDEP}]
ftdi? ( dev-embedded/libftdi:0 )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:0 )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
)
"
DEPEND="
${COMMON_DEPEND}
dev-libs/libxslt
doc? ( app-doc/doxygen )
sys-apps/kmod
sys-kernel/linux-headers
"
RDEPEND="
${COMMON_DEPEND}
gtk? (
x11-libs/vte[introspection]
dev-python/pygobject[${PYTHON_USEDEP}]
)
inputlirc? ( app-misc/inputlircd )
"
pkg_setup() {
use uinput && CONFIG_CHECK="INPUT_UINPUT"
}
src_configure() {
xdg_environment_reset
econf \
--localstatedir="${EPREFIX}/var" \
$(use_enable static-libs static) \
$(use_enable devinput) \
$(use_enable uinput) \
$(use_with X x)
}
src_install() {
default
if use !gtk ; then
# lirc-setup requires gtk
rm "${ED%/}"/usr/bin/lirc-setup || die
fi
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd-0.9.4a-r2 lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
newconfd "${FILESDIR}"/lircmd-0.10.0.conf lircmd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r2 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
keepdir /etc/lirc
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
newdoc "${ED%/}"/etc/lirc/lircd.conf lircd.conf.example
fi
find "${ED}" -name '*.la' -delete || die
# Avoid QA notice
rm -d "${ED%/}"/var/run/lirc || die
rm -d "${ED%/}"/var/run || die
}
pkg_preinst() {
local dir="${EROOT%/}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
fi
# copy the first file that can be found
if [[ -f "${EROOT%/}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
elif [[ -f "${EROOT%/}"/etc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lircd.conf "${T}"/lircd.conf || die
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${ED%/}"/etc/lirc/lircd.conf ]]; then
cp "${ED%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
fi
# stop portage from touching the config file
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
rm -f "${ED%/}"/etc/lirc/lircd.conf || die
fi
}
pkg_postinst() {
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT%/}"/etc/lirc/lircd.conf || die
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT%/}"/etc/lircd.conf || die
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "${EROOT%/}/etc/lirc/ directory"
}

@ -1,151 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_4 python3_5 )
inherit eutils flag-o-matic linux-info python-single-r1 systemd xdg-utils
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
LIRC_DRIVER_DEVICE="/dev/lirc0"
MY_P=${PN}-${PV/_/-}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
IUSE="audio +devinput doc ftdi gtk inputlirc static-libs systemd +uinput usb X"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
gtk? ( X )
"
S="${WORKDIR}/${MY_P}"
COMMON_DEPEND="
${PYTHON_DEPS}
audio? (
>media-libs/portaudio-18
media-libs/alsa-lib
)
dev-python/pyyaml[${PYTHON_USEDEP}]
ftdi? ( dev-embedded/libftdi:0 )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:0 )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
)
"
DEPEND="
${COMMON_DEPEND}
dev-libs/libxslt
doc? ( app-doc/doxygen )
sys-apps/kmod
sys-kernel/linux-headers
"
RDEPEND="
${COMMON_DEPEND}
gtk? (
x11-libs/vte[introspection]
dev-python/pygobject[${PYTHON_USEDEP}]
)
inputlirc? ( app-misc/inputlircd )
"
pkg_setup() {
use uinput && CONFIG_CHECK="INPUT_UINPUT"
}
src_configure() {
xdg_environment_reset
econf \
--localstatedir="${EPREFIX}/var" \
$(use_enable static-libs static) \
$(use_enable devinput) \
$(use_enable uinput) \
$(use_with X x)
}
src_install() {
default
if use !gtk ; then
# lirc-setup requires gtk
rm "${ED%/}"/usr/bin/lirc-setup || die
fi
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd-0.9.4a-r2 lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
newconfd "${FILESDIR}"/lircmd-0.10.0.conf lircmd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r2 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
keepdir /etc/lirc
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
newdoc "${ED%/}"/etc/lirc/lircd.conf lircd.conf.example
fi
find "${ED}" -name '*.la' -delete || die
# Avoid QA notice
rm -d "${ED%/}"/var/run/lirc || die
rm -d "${ED%/}"/var/run || die
}
pkg_preinst() {
local dir="${EROOT%/}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
fi
# copy the first file that can be found
if [[ -f "${EROOT%/}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
elif [[ -f "${EROOT%/}"/etc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lircd.conf "${T}"/lircd.conf || die
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${ED%/}"/etc/lirc/lircd.conf ]]; then
cp "${ED%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
fi
# stop portage from touching the config file
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
rm -f "${ED%/}"/etc/lirc/lircd.conf || die
fi
}
pkg_postinst() {
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT%/}"/etc/lirc/lircd.conf || die
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT%/}"/etc/lircd.conf || die
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "${EROOT%/}/etc/lirc/ directory"
}

@ -1,428 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=4
inherit eutils linux-mod linux-info systemd toolchain-funcs flag-o-matic autotools
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
MY_P=${PN}-${PV/_/}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 ppc ppc64 x86"
IUSE="debug doc hardware-carrier transmitter static-libs X"
S="${WORKDIR}/${MY_P}"
RDEPEND="
X? (
x11-libs/libX11
x11-libs/libSM
x11-libs/libICE
)
lirc_devices_alsa_usb? ( media-libs/alsa-lib )
lirc_devices_audio? ( >media-libs/portaudio-18 )
lirc_devices_irman? ( media-libs/libirman )"
# 2012-07-17, Ian Stakenvicius
# A helper script that scrapes out values for nearly all of the variables below
# from lirc's configure.ac is available at
# https://dev.gentoo.org/~axs/helper-for-lirc-iuse.sh
# This are drivers with names matching the
# parameter --with-driver=NAME
IUSE_LIRC_DEVICES_DIRECT="
all userspace accent act200l act220l
adaptec alsa_usb animax asusdh atilibusb
atiusb audio audio_alsa avermedia avermedia_vdomate
avermedia98 awlibusb bestbuy bestbuy2 breakoutbox
bte bw6130 caraca chronos commandir
cph06x creative creative_infracd
devinput digimatrix dsp dvico ea65 ene0100
exaudio flyvideo ftdi gvbctv5pci hauppauge
hauppauge_dvb hercules_smarttv_stereo i2cuser
igorplugusb iguanaIR imon imon_24g imon_knob
imon_lcd imon_pad imon_rsc irdeo irdeo_remote
irlink irman irreal it87 ite8709
knc_one kworld leadtek_0007 leadtek_0010
leadtek_pvr2000 livedrive_midi
livedrive_seq logitech macmini
mediafocusI mouseremote
mouseremote_ps2 mp3anywhere mplay nslu2
packard_bell parallel pcmak pcmak_usb
pctv pixelview_bt878 pixelview_pak
pixelview_pro provideo realmagic
remotemaster sa1100 samsung sasem sb0540 serial
silitek sir slinke streamzap tekram
tekram_bt829 tira ttusbir tuxbox tvbox udp uirt2
uirt2_raw usb_uirt_raw usbx wpc8769l zotac"
# drivers that need special handling and
# must have another name specified for
# parameter --with-driver=NAME
IUSE_LIRC_DEVICES_SPECIAL="
serial_igor_cesko
remote_wonder_plus xboxusb inputlirc"
IUSE_LIRC_DEVICES="${IUSE_LIRC_DEVICES_DIRECT} ${IUSE_LIRC_DEVICES_SPECIAL}"
# The following are lists which are used to provide ewarns on incompatibilities
# with the kernel:
#drivers that do not build kernel modules
NO_KMOD_BUILT_FOR_DEV="
accent bte creative creative_infracd devinput dsp ea65 exaudio
ftdi i2cuser irlink irreal livedrive_midi livedrive_seq logitech
mediafocusI mouseremote mouseremote_ps2 mp3anywhere mplay mplay2
pcmak pcmak_usb pctv realmagic remotemaster silitek tira tira_raw
tuxbox udp uirt2 uirt2_raw usb_uirt_raw usbx"
#drivers that build lirc_dev and so will conflict with kernel lirc_dev
LIRCDEV_BUILT_FOR_DEV="all
act200l act220l adaptec animax atiusb breakoutbox hauppauge
hauppauge_dvb hercules_smarttv_stereo igorplugusb imon imon_24g
imon_knob imon_lcd imon_pad imon_rsc irdeo irdeo_remote knc_one
leadtek_pvr2000 nslu2 packard_bell parallel pixelview_bt878
provideo sa1100 sasem serial sir tekram tekram_bt829 ttusbir
tvbox wpc8769l zotac"
#lirc_gpio drivers, which cannot be supported on kernel >= 2.6.22
LIRC_GPIO_DEV="
avermedia avermedia98 avermedia_vdomate bestbuy bestbuy2 chronos
cph03x cph06x flyvideo gvbctv5pci kworld leadtek_0007 leadtek_0010
pixelview_pak pixelview_pro"
#device-driver which use libusb
LIBUSB_USED_BY_DEV="
all atilibusb awlibusb sasem igorplugusb imon imon_lcd imon_pad
imon_rsc streamzap xboxusb irlink commandir"
for dev in ${LIBUSB_USED_BY_DEV}; do
DEPEND="${DEPEND} lirc_devices_${dev}? ( virtual/libusb:0 )"
done
# adding only compile-time depends
DEPEND="${RDEPEND} ${DEPEND}
virtual/linux-sources
lirc_devices_ftdi? ( dev-embedded/libftdi:0 )
lirc_devices_all? ( dev-embedded/libftdi:0 )"
# adding only run-time depends
RDEPEND="${RDEPEND}
lirc_devices_inputlirc? ( app-misc/inputlircd )
lirc_devices_iguanaIR? ( app-misc/iguanaIR )"
# add all devices to IUSE
# and ensure lirc_devices_all is not set alongside lirc_devices_*
REQUIRED_USE="lirc_devices_all? ("
for dev in ${IUSE_LIRC_DEVICES}; do
IUSE="${IUSE} lirc_devices_${dev}"
if [[ "${dev}" != "all" ]]; then
REQUIRED_USE="${REQUIRED_USE} !lirc_devices_${dev}"
fi
done
REQUIRED_USE="${REQUIRED_USE} )"
add_device() {
local dev="${1}"
local desc="device ${dev}"
if [[ -n "${2}" ]]; then
desc="${2}"
fi
# Bug #187418
if kernel_is ge 2 6 22 && [[ " ${LIRC_GPIO_DEV} " == *" ${dev} "* ]]; then
eerror "${desc} uses lirc_gpio which fails with kernel 2.6.22 or above. Not building."
eerror "Use 'devinput' instead, or use 'userspace' along with in-kernel drivers"
return 0
fi
: ${lirc_device_count:=0}
((lirc_device_count++))
elog "Compiling support for ${desc}"
if [[ " ${LIRCDEV_BUILT_FOR_DEV} " == *" ${dev} "* ]] ; then
if linux_chkconfig_present LIRC ; then
ewarn "${desc} builds lirc_dev and CONFIG_LIRC is set in the kernel -- this may conflict."
fi
if ! linux_chkconfig_present MODULE_UNLOAD ; then
ewarn "${desc} builds modules and CONFIG_MODULE_UNLOAD is unset in kernel."
ewarn "You will need MODULE_UNLOAD support in your kernel."
fi
fi
if [[ " ${NO_KMOD_BUILT_FOR_DEV} " == *" ${dev} "* ]] && ! linux_chkconfig_present IR_LIRC_CODEC ; then
ewarn "${desc} builds no kernel module and CONFIG_IR_LIRC_CODEC is unset in kernel."
fi
if [[ ${lirc_device_count} -eq 2 ]] ; then
ewarn
ewarn "LIRC_DEVICES has more than one entry."
ewarn "When selecting multiple devices for lirc to be supported,"
ewarn "it can not be guaranteed that the drivers play nice together."
ewarn "If this is not intended, then please adjust LIRC_DEVICES"
ewarn "and re-emerge."
ewarn
fi
MY_OPTS="${MY_OPTS} --with-driver=${dev}"
}
pkg_pretend() {
if [[ -n "${LIRC_OPTS}" ]] ; then
ewarn
ewarn "LIRC_OPTS is deprecated from lirc-0.8.0-r1 on."
ewarn
ewarn "Please use LIRC_DEVICES from now on."
ewarn "e.g. LIRC_DEVICES=\"serial sir\""
ewarn
ewarn "Flags are now set per use-flags."
ewarn "e.g. transmitter, hardware-carrier"
local opt
local unsupported_opts=""
# test for allowed options for LIRC_OPTS
for opt in ${LIRC_OPTS}; do
case ${opt} in
--with-port=*|--with-irq=*|--with-timer=*|--with-tty=*)
MY_OPTS="${MY_OPTS} ${opt}"
;;
*)
unsupported_opts="${unsupported_opts} ${opt}"
;;
esac
done
if [[ -n ${unsupported_opts} ]]; then
eerror "These options are no longer allowed to be set"
eerror "with LIRC_OPTS: ${unsupported_opts}"
die "LIRC_OPTS is no longer supported, use LIRC_DEVICES."
fi
fi
}
pkg_setup() {
linux-mod_pkg_setup
# set default configure options
MY_OPTS=""
LIRC_DRIVER_DEVICE="/dev/lirc0"
if use lirc_devices_all; then
# compile in drivers for a lot of devices
add_device all "a lot of devices"
else
# compile in only requested drivers
local dev
for dev in ${IUSE_LIRC_DEVICES_DIRECT}; do
if use lirc_devices_${dev}; then
add_device ${dev}
fi
done
if use lirc_devices_remote_wonder_plus; then
add_device atiusb "device Remote Wonder Plus (atiusb-based)"
fi
if use lirc_devices_serial_igor_cesko; then
add_device serial "serial with Igor Cesko design"
MY_OPTS="${MY_OPTS} --with-igor"
fi
if use lirc_devices_imon_pad; then
ewarn "The imon_pad driver has incorporated the previous pad2keys patch"
ewarn "and removed the pad2keys_active option for the lirc_imon module"
ewarn "because it is always active."
ewarn "If you have an older imon VFD device, you may need to add the module"
ewarn "option display_type=1 to override autodetection and force VFD mode."
fi
if use lirc_devices_xboxusb; then
add_device atiusb "device xboxusb"
fi
if [[ "${MY_OPTS}" == "" ]]; then
if [[ "${PROFILE_ARCH}" == "xbox" ]]; then
# on xbox: use special driver
add_device atiusb "device xboxusb"
else
# no driver requested
elog
elog "Compiling only the lirc-applications, but no drivers."
elog "Enable drivers with LIRC_DEVICES if you need them."
MY_OPTS="--with-driver=none"
fi
fi
fi
use hardware-carrier && MY_OPTS="${MY_OPTS} --without-soft-carrier"
use transmitter && MY_OPTS="${MY_OPTS} --with-transmitter"
einfo
einfo "lirc-configure-opts: ${MY_OPTS}"
elog "Setting default lirc-device to ${LIRC_DRIVER_DEVICE}"
filter-flags -Wl,-O1
}
src_prepare() {
# Rip out dos CRLF
edos2unix contrib/lirc.rules
# Apply patches needed for some special device-types
use lirc_devices_audio || epatch "${FILESDIR}"/lirc-0.8.4-portaudio_check.patch
use lirc_devices_remote_wonder_plus && epatch "${FILESDIR}"/lirc-0.8.3_pre1-remotewonderplus.patch
# Apply fixes for kernel-2.6.39 and above
epatch "${FILESDIR}"/${P}-kernel-2.6.39-fixes.patch
# Slightly massaged upstream patch to fix kfifo issues >=2.6.38
# for bug 377033
epatch "${FILESDIR}"/${P}-atiusb_kfifo.patch
# Apply fixes for kernel-3.3 and above (bug 439538)
epatch "${FILESDIR}"/${P}-kernel-3.3.0-fixes.patch
# Apply fix for missing err() in usb.h for kernel 3.5+ (bug 444736)
epatch "${FILESDIR}"/${P}-kernel-3.5-err-fix.patch
# Apply fix for missing __devinit __devexit defines in kernel 3.8+ (bug 461532)
epatch "${FILESDIR}"/${P}-kernel-3.8-fixes.patch
# Add support for zotac remote, bug 342848
epatch "${FILESDIR}"/${P}-add-zotac-support.patch
# Use fixed font
epatch "${FILESDIR}"/${P}-fixed-font.patch
# Do not build drivers from the top-level Makefile
sed -i -e 's:\(SUBDIRS =\) drivers\(.*\):\1\2:' Makefile.am
# remove parallel driver on SMP systems
if linux_chkconfig_present SMP ; then
sed -i -e "s:lirc_parallel\.o::" drivers/lirc_parallel/Makefile.am
fi
# Bug #187418 - only need this part for lirc_devices_all as others die in pkg_setup
if use lirc_devices_all && kernel_is ge 2 6 22 ; then
ewarn "Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+"
sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am
fi
# respect CFLAGS
sed -i -e 's:CFLAGS="-O2:CFLAGS=""\n#CFLAGS="-O2:' configure.ac
# setting default device-node
local f
for f in configure.ac acconfig.h; do
[[ -f "$f" ]] && sed -i -e '/#define LIRC_DRIVER_DEVICE/d' "$f"
done
echo "#define LIRC_DRIVER_DEVICE \"${LIRC_DRIVER_DEVICE}\"" >> acconfig.h
sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.ac || die # automake 1.13
eautoreconf
}
src_configure() {
econf \
--localstatedir=/var \
--with-syslog=LOG_DAEMON \
--enable-sandboxed \
--with-kerneldir="${KV_DIR}" \
--with-moduledir="/lib/modules/${KV_FULL}/misc" \
$(use_enable debug) \
$(use_enable static-libs static) \
$(use_with X x) \
${MY_OPTS} \
ABI="${KERNEL_ABI}" \
ARCH="$(tc-arch-kernel)"
}
src_compile() {
# force non-parallel make, Bug 196134 (confirmed valid for 0.9.0-r2)
emake -j1
MODULE_NAMES="lirc(misc:${S}/drivers)"
BUILD_TARGETS="all"
linux-mod_src_compile
}
src_install() {
emake DESTDIR="${D}" install
emake -C drivers DESTDIR="${D}" install
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.8.6-r2 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
systemd_dounit "${FILESDIR}"/irexec.service
systemd_dounit "${FILESDIR}"/lirc.service
systemd_dounit "${FILESDIR}"/lircm.service
if use doc ; then
dohtml doc/html/*.html
insinto /usr/share/doc/${PF}/images
doins doc/images/*
fi
insinto /usr/share/lirc/remotes
doins -r remotes/*
keepdir /etc/lirc
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
newdoc "${D}"/etc/lirc/lircd.conf lircd.conf.example
fi
use static-libs || rm "${D}/usr/$(get_libdir)/liblirc_client.la"
}
pkg_preinst() {
linux-mod_pkg_preinst
local dir="${EROOT}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf"
fi
# copy the first file that can be found
if [[ -f "${EROOT}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT}"/etc/lirc/lircd.conf "${T}"/lircd.conf
elif [[ -f "${EROOT}"/etc/lircd.conf ]]; then
cp "${EROOT}"/etc/lircd.conf "${T}"/lircd.conf
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${D}"/etc/lirc/lircd.conf ]]; then
cp "${D}"/etc/lirc/lircd.conf "${T}"/lircd.conf
fi
# stop portage from touching the config file
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
rm -f "${D}"/etc/lirc/lircd.conf
fi
}
pkg_postinst() {
linux-mod_pkg_postinst
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT}"/etc/lirc/lircd.conf
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT}"/etc/lircd.conf
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "/etc/lirc/ directory"
}

@ -1,136 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit eutils flag-o-matic systemd
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
LIRC_DRIVER_DEVICE="/dev/lirc0"
MY_P=${PN}-${PV/_/}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="doc static-libs X audio irman ftdi inputlirc iguanair systemd usb"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
iguanair? ( irman )
"
DEPEND="
doc? ( app-doc/doxygen )
"
RDEPEND="
X? (
x11-libs/libX11
x11-libs/libSM
x11-libs/libICE
)
systemd? ( sys-apps/systemd )
audio? (
>media-libs/portaudio-18
media-libs/alsa-lib
)
irman? ( media-libs/libirman )
iguanair? ( app-misc/iguanaIR )
ftdi? ( dev-embedded/libftdi:0 )
inputlirc? ( app-misc/inputlircd )
usb? ( virtual/libusb:0 )
"
PATCHES=(
"${FILESDIR}"/lirc-0.9.4-doc-path-fix.patch # https://bugs.gentoo.org/show_bug.cgi?id=589246 https://sourceforge.net/p/lirc/tickets/214/
)
src_configure() {
filter-flags -Wl,-O1
econf \
--localstatedir=/var \
$(use_enable static-libs static) \
$(use_with X x)
}
# Defined src_compile as a workaround for a parallel make issue
# See https://bugs.gentoo.org/show_bug.cgi?id=588864
# and https://sourceforge.net/p/lirc/tickets/210/
src_compile() {
emake lib
emake
}
src_install() {
default
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd-0.9.4a-r2 lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
newconfd "${FILESDIR}"/lircmd.conf lircmd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r2 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
keepdir /etc/lirc
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
newdoc "${D}"/etc/lirc/lircd.conf lircd.conf.example
fi
find "${D}" -name '*.la' -delete || die
# Avoid QA notice
rm -d "${D}"/var/run/lirc || die
rm -d "${D}"/var/run || die
}
pkg_preinst() {
local dir="${EROOT}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
fi
# copy the first file that can be found
if [[ -f "${EROOT}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
elif [[ -f "${EROOT}"/etc/lircd.conf ]]; then
cp "${EROOT}"/etc/lircd.conf "${T}"/lircd.conf || die
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${D}"/etc/lirc/lircd.conf ]]; then
cp "${D}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
fi
# stop portage from touching the config file
if [[ -e "${D}"/etc/lirc/lircd.conf ]]; then
rm -f "${D}"/etc/lirc/lircd.conf || die
fi
}
pkg_postinst() {
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT}"/etc/lirc/lircd.conf || die
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT}"/etc/lircd.conf || die
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "/etc/lirc/ directory"
}

@ -1,150 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_4 python3_5 )
inherit eutils flag-o-matic python-single-r1 systemd xdg-utils
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
LIRC_DRIVER_DEVICE="/dev/lirc0"
MY_P=${PN}-${PV/_/}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="audio doc ftdi gtk inputlirc static-libs systemd usb X"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
gtk? ( X )
"
S="${WORKDIR}/${MY_P}"
COMMON_DEPEND="
${PYTHON_DEPS}
audio? (
>media-libs/portaudio-18
media-libs/alsa-lib
)
dev-python/pyyaml[${PYTHON_USEDEP}]
ftdi? ( dev-embedded/libftdi:0 )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:0 )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
)
"
DEPEND="
${COMMON_DEPEND}
dev-libs/libxslt
doc? ( app-doc/doxygen )
sys-apps/kmod
sys-kernel/linux-headers
"
RDEPEND="
${COMMON_DEPEND}
gtk? (
x11-libs/vte[introspection]
dev-python/pygobject[${PYTHON_USEDEP}]
)
inputlirc? ( app-misc/inputlircd )
"
PATCHES=(
# https://bugs.gentoo.org/show_bug.cgi?id=589246 https://sourceforge.net/p/lirc/tickets/214/
"${FILESDIR}"/lirc-0.9.4-doc-path-fix.patch
)
src_configure() {
xdg_environment_reset
econf \
--localstatedir="${EPREFIX}/var" \
$(use_enable static-libs static) \
$(use_with X x)
}
src_install() {
default
if use !gtk ; then
# lirc-setup requires gtk
rm "${ED%/}"/usr/bin/lirc-setup || die
fi
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd-0.9.4a-r2 lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
newconfd "${FILESDIR}"/lircmd.conf lircmd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r2 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
keepdir /etc/lirc
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
newdoc "${ED%/}"/etc/lirc/lircd.conf lircd.conf.example
fi
find "${ED}" -name '*.la' -delete || die
# Avoid QA notice
rm -d "${ED%/}"/var/run/lirc || die
rm -d "${ED%/}"/var/run || die
}
pkg_preinst() {
local dir="${EROOT%/}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
fi
# copy the first file that can be found
if [[ -f "${EROOT%/}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
elif [[ -f "${EROOT%/}"/etc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lircd.conf "${T}"/lircd.conf || die
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${ED%/}"/etc/lirc/lircd.conf ]]; then
cp "${ED%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
fi
# stop portage from touching the config file
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
rm -f "${ED%/}"/etc/lirc/lircd.conf || die
fi
}
pkg_postinst() {
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT%/}"/etc/lirc/lircd.conf || die
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT%/}"/etc/lircd.conf || die
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "${EROOT%/}/etc/lirc/ directory"
}

@ -1,155 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_4 python3_5 )
inherit autotools eutils flag-o-matic python-single-r1 systemd xdg-utils
DESCRIPTION="decode and send infra-red signals of many commonly used remote controls"
HOMEPAGE="http://www.lirc.org/"
LIRC_DRIVER_DEVICE="/dev/lirc0"
MY_P=${PN}-${PV/_/}
if [[ "${PV/_pre/}" = "${PV}" ]]; then
SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2"
else
SRC_URI="http://www.lirc.org/software/snapshots/${MY_P}.tar.bz2"
fi
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
IUSE="audio doc ftdi gtk inputlirc static-libs systemd usb X"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
gtk? ( X )
"
S="${WORKDIR}/${MY_P}"
COMMON_DEPEND="
${PYTHON_DEPS}
audio? (
>media-libs/portaudio-18
media-libs/alsa-lib
)
dev-python/pyyaml[${PYTHON_USEDEP}]
ftdi? ( dev-embedded/libftdi:0 )
systemd? ( sys-apps/systemd )
usb? ( virtual/libusb:0 )
X? (
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
)
"
DEPEND="
${COMMON_DEPEND}
dev-libs/libxslt
doc? ( app-doc/doxygen )
sys-apps/kmod
sys-kernel/linux-headers
"
RDEPEND="
${COMMON_DEPEND}
gtk? (
x11-libs/vte[introspection]
dev-python/pygobject[${PYTHON_USEDEP}]
)
inputlirc? ( app-misc/inputlircd )
"
PATCHES=(
# https://bugs.gentoo.org/show_bug.cgi?id=589246 https://sourceforge.net/p/lirc/tickets/214/
"${FILESDIR}"/lirc-0.9.4-doc-path-fix.patch
)
src_prepare() {
default
eautoreconf
}
src_configure() {
xdg_environment_reset
econf \
--localstatedir="${EPREFIX}/var" \
$(use_enable static-libs static) \
$(use_with X x)
}
src_install() {
default
if use !gtk ; then
# lirc-setup requires gtk
rm "${ED%/}"/usr/bin/lirc-setup || die
fi
newinitd "${FILESDIR}"/lircd-0.8.6-r2 lircd
newinitd "${FILESDIR}"/lircmd-0.9.4a-r2 lircmd
newconfd "${FILESDIR}"/lircd.conf.4 lircd
newconfd "${FILESDIR}"/lircmd.conf lircmd
insinto /etc/modprobe.d/
newins "${FILESDIR}"/modprobed.lirc lirc.conf
newinitd "${FILESDIR}"/irexec-initd-0.9.4a-r2 irexec
newconfd "${FILESDIR}"/irexec-confd irexec
keepdir /etc/lirc
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
newdoc "${ED%/}"/etc/lirc/lircd.conf lircd.conf.example
fi
find "${ED}" -name '*.la' -delete || die
# Avoid QA notice
rm -d "${ED%/}"/var/run/lirc || die
rm -d "${ED%/}"/var/run || die
}
pkg_preinst() {
local dir="${EROOT%/}/etc/modprobe.d"
if [[ -a "${dir}"/lirc && ! -a "${dir}"/lirc.conf ]]; then
elog "Renaming ${dir}/lirc to lirc.conf"
mv -f "${dir}/lirc" "${dir}/lirc.conf" || die
fi
# copy the first file that can be found
if [[ -f "${EROOT%/}"/etc/lirc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
elif [[ -f "${EROOT%/}"/etc/lircd.conf ]]; then
cp "${EROOT%/}"/etc/lircd.conf "${T}"/lircd.conf || die
MOVE_OLD_LIRCD_CONF=1
elif [[ -f "${ED%/}"/etc/lirc/lircd.conf ]]; then
cp "${ED%/}"/etc/lirc/lircd.conf "${T}"/lircd.conf || die
fi
# stop portage from touching the config file
if [[ -e "${ED%/}"/etc/lirc/lircd.conf ]]; then
rm -f "${ED%/}"/etc/lirc/lircd.conf || die
fi
}
pkg_postinst() {
# copy config file to new location
# without portage knowing about it
# so it will not delete it on unmerge or ever touch it again
if [[ -e "${T}"/lircd.conf ]]; then
cp "${T}"/lircd.conf "${EROOT%/}"/etc/lirc/lircd.conf || die
if [[ "$MOVE_OLD_LIRCD_CONF" = "1" ]]; then
elog "Moved /etc/lircd.conf to /etc/lirc/lircd.conf"
rm -f "${EROOT%/}"/etc/lircd.conf || die
fi
fi
einfo "The new default location for lircd.conf is inside of"
einfo "${EROOT%/}/etc/lirc/ directory"
}

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>candrews@gentoo.org</email>
<name>Craig Andrews</name>
</maintainer>
<use>
<flag name="uinput">Enable support for uinput</flag>
<flag name="devinput">Support the devinput input device</flag>
<flag name="hardware-carrier">The transmitter device generates its clock signal in hardware</flag>
<flag name="transmitter">Add transmitter support to some lirc-drivers (e.g. serial)</flag>
<flag name="inputlirc">Add a dependency on app-misc/inputlircd</flag>
<flag name="irman">Add a dependency on media-libs/libirman</flag>
<flag name="audio">Support using an audio device connected to an IR receiver</flag>
<flag name="iguanair">Support iguanaIR devices</flag>
<flag name="ftdi">Support FTDI devices</flag>
<flag name="gtk">Include GTK support which enables the use of lirc-setup</flag>
</use>
<upstream>
<remote-id type="sourceforge">lirc</remote-id>
</upstream>
<longdescription lang="en">
LIRC (Linux Infrared remote control) allows users to receive and send infrared signals.
</longdescription>
</pkgmetadata>

@ -458,6 +458,7 @@
~media-video/baka-mplayer-2.0.4 amd64 x86
~media-video/kamerka-0.12_p20161002 amd64 x86
~media-video/mkvtoolnix-18.0.0 amd64 x86
~media-video/pitivi-0.98.1 amd64 x86
~media-video/replex-0.1.6.8 amd64 x86
~media-video/subtitleeditor-0.54.0 amd64 x86
~media-video/syncplay-1.5.1 amd64 x86

Loading…
Cancel
Save