From 8c247d9a23dd90b4e62b04138035b6650178eeff Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Sun, 16 Feb 2014 17:53:55 -0600
Subject: lirc: update for kernel 3.12 update binary path to /usr/bin refs #961

---
 abs/core/lirc/PKGBUILD        | 82 +++++++++++++++++++++++--------------------
 abs/core/lirc/linux-3.8.patch | 80 +++++++++++++++++++++++++++++++++++++++++
 abs/core/lirc/lirc.install    |  2 +-
 abs/core/lirc/lirc.service    |  5 +--
 abs/core/lirc/lircm.service   |  7 ++--
 5 files changed, 131 insertions(+), 45 deletions(-)
 create mode 100644 abs/core/lirc/linux-3.8.patch

diff --git a/abs/core/lirc/PKGBUILD b/abs/core/lirc/PKGBUILD
index 956b1e5..666865f 100644
--- a/abs/core/lirc/PKGBUILD
+++ b/abs/core/lirc/PKGBUILD
@@ -1,60 +1,88 @@
-# $Id: PKGBUILD 170041 2012-10-31 07:25:00Z tpowa $
+# $Id: PKGBUILD 202757 2013-12-26 13:05:51Z thomas $
 # Maintainer: Paul Mattal <paul@archlinux.org>
 
 pkgbase=lirc
 pkgname=('lirc' 'lirc-utils')
 pkgver=0.9.0
-pkgrel=34
+pkgrel=67
 epoch=1
-_extramodules=extramodules-3.6-ARCH
+_extramodules=extramodules-3.12-ARCH
 arch=('i686' 'x86_64')
 url="http://www.lirc.org/"
 license=('GPL')
 ### NOTICE don't forget to bump version in depends in package_lirc
-makedepends=('help2man' 'linux-headers>=3.6' 'linux-headers<3.7' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2' 'iguanair')
+makedepends=('help2man' 'linux>=3.12' 'linux<3.13' 'linux-headers>=3.12' 'linux-headers<3.13' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2' 'iguanair')
 options=('!makeflags' '!strip')
 source=(http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2
         lirc_wpc8769l.patch
         lircd-handle-large-config.patch
         lirc_atiusb-kfifo.patch
         kernel-2.6.39.patch
-	lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd
-	lirc.service lircm.service irexec.service
-	lirc.tmpfiles
-	)
+        linux-3.8.patch
+        lirc.logrotate
+        lirc.service 
+        lircm.service 
+        irexec.service
+        lirc.tmpfiles)
+md5sums=('b232aef26f23fe33ea8305d276637086'
+         '1cce37e18e3f6f46044abab29016d18f'
+         'b70cc9640505205446ec47b7d4779f38'
+         '1f8b104a2365d9f93404b143f499059b'
+         '087a7d102e1c96bf1179f38db2b0b237'
+         '9ee196bd03ea44af5a752fb0cc6ca96a'
+         '3deb02604b37811d41816e9b4385fcc3'
+         'a9ab637e7207472e61e55a2fa75dc555'
+         '1847b9997685bc3ad2cf11bea4590a92'
+         '07131d117fcfe9dcd50c453c3a5e9531'
+         'febf25c154a7d36f01159e84f26c2d9a')
 
-build() {
-  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+prepare() {
   cd "${srcdir}/lirc-${pkgver}"
   patch -Np1 -i "${srcdir}/lirc_wpc8769l.patch"
   patch -Np1 -i "${srcdir}/lircd-handle-large-config.patch"
   patch -Np1 -i "${srcdir}/lirc_atiusb-kfifo.patch"
   patch -Np1 -i "${srcdir}/kernel-2.6.39.patch"
+  patch -Np1 -i "${srcdir}/linux-3.8.patch"
+
+  # use fixed instead of Courier w/xmode2, should be more prevalent on linux boxen
+  sed -i -e 's|char.*font1_name.*Courier.*$|char		font1_name[]="-misc-fixed-*-r-*-*-12-*-*-*-*-*-iso8859-1";|g' tools/xmode2.c
+
+  # use /dev/lirc0 by default instead of /dev/lirc
+  sed -i -e 's|#define DEV_LIRC	"lirc"|#define DEV_LIRC	"lirc0"|' config.h.in
 
   sed -i '/AC_PATH_XTRA/d' configure.ac
   sed -e 's/@X_CFLAGS@//g' \
       -e 's/@X_LIBS@//g' \
       -e 's/@X_PRE_LIBS@//g' \
       -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
+
+  # fix for new automake #33497
+  sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADER/' configure.ac
   libtoolize
   autoreconf
+}
+
+build() {
+  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
+  cd "${srcdir}/lirc-${pkgver}"
 
   PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
       --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
       --with-moduledir=/usr/lib/modules/${_kernver}/kernel/drivers/misc \
-      --with-transmitter
+      --sbindir=/usr/bin --with-transmitter
 
   # Remove drivers already in kernel
   sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
       -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
       -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
-      -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile 
+      -e "s:lirc_atiusb::" -e "s:lirc_i2c::" \
+      -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
   make
 }
 
 package_lirc() {
   pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
-  depends=('lirc-utils' 'linux>=3.6' 'linux<3.7' 'iguanair')
+  depends=('lirc-utils' 'linux>=3.12' 'linux<3.13' 'iguanair')
   replaces=('lirc+pctv')
   install=lirc.install
 
@@ -69,16 +97,13 @@ package_lirc() {
 
 package_lirc-utils() {
   pkgdesc="Linux Infrared Remote Control utils"
-  depends=('alsa-lib' 'libx11' 'libftdi' 'libirman')
+  depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'iguanair')
   optdepends=('python2: pronto2lirc utility')
-  options=('strip' '!libtool')
-  backup=('etc/conf.d/lircd.conf' 'etc/conf.d/irexec.conf')
+  options=('strip')
   install=lirc-utils.install
 
   cd "${srcdir}/lirc-${pkgver}"
   make DESTDIR="${pkgdir}" install
-  install -d "${pkgdir}/usr/share/lirc" "${pkgdir}/etc/rc.d"
-  cp "${srcdir}"/{lircd,lircmd,irexecd} "${pkgdir}/etc/rc.d"
   install -D -m644 "${srcdir}"/lirc.service "${pkgdir}"/usr/lib/systemd/system/lirc.service
   install -D -m644 "${srcdir}"/lircm.service "${pkgdir}"/usr/lib/systemd/system/lircm.service
   install -D -m644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
@@ -89,29 +114,8 @@ package_lirc-utils() {
   # install the logrotate config
   install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
     
-  # install conf.d file
-  install -Dm644 "${srcdir}/lircd.conf" "${pkgdir}/etc/conf.d/lircd.conf"
-
-  # install conf.d file
-  install -Dm644 "${srcdir}/irexec.conf" "${pkgdir}/etc/conf.d/irexec.conf"
-
   install -d "${pkgdir}/etc/lirc"
   
   # remove built modules
   rm -r "${pkgdir}/usr/lib/modules"
 }
-md5sums=('b232aef26f23fe33ea8305d276637086'
-         '1cce37e18e3f6f46044abab29016d18f'
-         'b70cc9640505205446ec47b7d4779f38'
-         '1f8b104a2365d9f93404b143f499059b'
-         '087a7d102e1c96bf1179f38db2b0b237'
-         '8d0e238dc0eda95e340fe570605da492'
-         '85f7fdac55e5256967241864049bf5e9'
-         '3deb02604b37811d41816e9b4385fcc3'
-         '5b1f8c9cd788a39a6283f93302ce5c6e'
-         'f0c0ac930326168035f0c8e24357ae55'
-         '69d099e6deedfa3c1ee2b6e82d9b8bfb'
-         'dab8a73bcc5fd5479d8750493d8d97dc'
-         'c2e20fe68b034df752dba2773db16ebe'
-         '07131d117fcfe9dcd50c453c3a5e9531'
-         'febf25c154a7d36f01159e84f26c2d9a')
diff --git a/abs/core/lirc/linux-3.8.patch b/abs/core/lirc/linux-3.8.patch
new file mode 100644
index 0000000..7b6378a
--- /dev/null
+++ b/abs/core/lirc/linux-3.8.patch
@@ -0,0 +1,80 @@
+diff -upr lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c lirc-0.9.0/drivers/lirc_serial/lirc_serial.c
+--- lirc-0.9.0.orig/drivers/lirc_serial/lirc_serial.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_serial/lirc_serial.c	2013-02-21 02:39:55.000000000 +0200
+@@ -1103,12 +1103,12 @@ static struct lirc_driver driver = {
+ 
+ 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;
+ }
+@@ -1159,7 +1159,7 @@ static int lirc_serial_resume(struct pla
+ 
+ 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 -upr lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c lirc-0.9.0/drivers/lirc_sir/lirc_sir.c
+--- lirc-0.9.0.orig/drivers/lirc_sir/lirc_sir.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_sir/lirc_sir.c	2013-02-21 02:38:24.000000000 +0200
+@@ -1290,19 +1290,19 @@ static int init_lirc_sir(void)
+ 	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 -upr lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0.orig/drivers/lirc_wpc8769l/lirc_wpc8769l.c	2013-02-21 02:36:25.000000000 +0200
++++ lirc-0.9.0/drivers/lirc_wpc8769l/lirc_wpc8769l.c	2013-02-21 02:39:39.000000000 +0200
+@@ -930,12 +930,12 @@ static int wpc8769l_acpi_detect(void)
+ #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;
+ }
+@@ -963,7 +963,7 @@ static int lirc_wpc8769l_resume(struct p
+ 
+ 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		= {
diff --git a/abs/core/lirc/lirc.install b/abs/core/lirc/lirc.install
index a9f1c5c..31d4bcf 100644
--- a/abs/core/lirc/lirc.install
+++ b/abs/core/lirc/lirc.install
@@ -1,4 +1,4 @@
-EXTRAMODULES=extramodules-3.6-ARCH
+EXTRAMODULES=extramodules-3.12-ARCH
 
 post_install() {
   # updating module dependencies
diff --git a/abs/core/lirc/lirc.service b/abs/core/lirc/lirc.service
index 953601f..a797d16 100644
--- a/abs/core/lirc/lirc.service
+++ b/abs/core/lirc/lirc.service
@@ -1,11 +1,12 @@
 [Unit]
 Description=Linux Infrared Remote Control
+After=network.target
 
 [Service]
-ExecStartPre=/usr/bin/ln -sf /run/lirc/lircd /dev/lircd
-ExecStart=/usr/sbin/lircd --pidfile=/run/lirc/lircd.pid
 Type=forking
 PIDFile=/run/lirc/lircd.pid
+ExecStart=/usr/sbin/lircd --driver=default --device=/dev/lirc0 
 
 [Install]
 WantedBy=multi-user.target
+
diff --git a/abs/core/lirc/lircm.service b/abs/core/lirc/lircm.service
index 6b258e3..c0b5e36 100644
--- a/abs/core/lirc/lircm.service
+++ b/abs/core/lirc/lircm.service
@@ -1,11 +1,12 @@
 [Unit]
 Description=LIRC Mouse
-After=lirc.service
-Wants=lirc.service
+Requires=lirc.service
+After=network.target lirc.service
 
 [Service]
-ExecStart=/usr/sbin/lircmd -u
 Type=forking
+ExecStart=/usr/sbin/lircmd 
 
 [Install]
 WantedBy=multi-user.target
+
-- 
cgit v0.12

