summaryrefslogtreecommitdiffstats
path: root/abs/core/lirc/PKGBUILD
blob: 0f71eba6466a252e1908b9cb282f7c3b1f13914e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# $Id$
# Maintainer: Paul Mattal <paul@archlinux.org>

pkgbase=lirc
pkgname=('lirc' 'lirc-utils')
_pkgver=0.9.1a
[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver"
pkgrel=15
epoch=1
_extramodules=extramodules-3.18-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>=3.18' 'linux<3.19' 'linux-headers>=3.18' 'linux-headers<3.19' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2' 'iguanair')
options=('!makeflags' '!strip')
source=("http://prdownloads.sourceforge.net/${pkgbase}/${pkgbase}-${_pkgver}.tar.bz2"
        wpc8769l-build-fix.patch
        lirc-0.9.1a-fix-segfaults.patch
        lirc.logrotate
        irexec.service
        lirc.tmpfiles)
md5sums=('1f1fac162ed309dd50f307e96a292957'
         '9ec33169b3407f74264062d7679dd269'
         'cd00acf480e82a0bf050032732d0d733'
         '3deb02604b37811d41816e9b4385fcc3'
         '32df3b9bc859565d6acf5f0e5b747083'
         'febf25c154a7d36f01159e84f26c2d9a')

prepare() {
  cd "${srcdir}/lirc-${_pkgver}"

  patch -Np1 -i "${srcdir}/wpc8769l-build-fix.patch"
  patch -Np1 -i "${srcdir}/lirc-0.9.1a-fix-segfaults.patch"

  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

  libtoolize
  autoreconf
}

build() {
  cd "${srcdir}/lirc-${_pkgver}"
  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"

  PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
      --with-driver=all --with-kerneldir="/usr/lib/modules/${_kernver}/build/" \
      --with-moduledir="/usr/lib/modules/${_kernver}/kernel/drivers/misc" \
      --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::" \
      -e "s:lirc_i2c::" \
      -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
      #removed removing lirc_atiusb which is needed for the firefly 
      #-e "s:lirc_atiusb::" -e "s:lirc_i2c::" \
  #change include smp_lock.h to smp.h 
  sed "s:linux/smp_lock.h:linux/smp.h:g" -i drivers/lirc_atiusb/lirc_atiusb.c
  make
}

package_lirc() {
  pkgdesc="Linux Infrared Remote Control kernel modules for stock arch kernel"
  depends=('lirc-utils' 'linux>=3.18' 'linux<3.19' 'iguanair')
  replaces=('lirc+pctv')
  install=lirc.install

  cd "${srcdir}/lirc-${_pkgver}/drivers"

  make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install
  gzip -9 "${pkgdir}/usr/lib/modules/${_extramodules}"/*.ko

  # set the kernel we've built for inside the install script
  sed -i "s/^EXTRAMODULES=.*$/EXTRAMODULES=${_extramodules}/" "${startdir}/lirc.install"
}

package_lirc-utils() {
  pkgdesc="Linux Infrared Remote Control utils"
  depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'iguanair')
  optdepends=('python2: pronto2lirc utility')
  options=('strip')
  backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf')
  install=lirc-utils.install

  cd "${srcdir}/lirc-${_pkgver}"

  make DESTDIR="${pkgdir}" install

  install -Dm644 "${srcdir}"/irexec.service "${pkgdir}"/usr/lib/systemd/system/irexec.service
  install -Dm644 "${srcdir}"/lirc.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/lirc.conf

  cp -rp remotes "${pkgdir}/usr/share/lirc"
  chmod -R go-w "${pkgdir}/usr/share/lirc/"

  # install the logrotate config
  install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
    
  # remove built modules
  rm -r "${pkgdir}/usr/lib/modules"

  # LinHES remotes service needs etc/lirc/lircd.conf symlinked to etc/lircd.conf
  rm -f  "${pkgdir}/etc/lirc/lircd.conf"
  ln -s "/etc/lircd.conf" "${pkgdir}/etc/lirc/lircd.conf"
}