summaryrefslogtreecommitdiff
path: root/libre/lirc-libre/PKGBUILD
blob: f647e39139c2a41ca15355ee5f19c690733e12c9 (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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# $Id: PKGBUILD 181035 2013-03-30 11:31:35Z foutrelis $
# Maintainer: Paul Mattal <paul@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>

_pkgbase=lirc
pkgbase=lirc-libre
pkgname=('lirc-libre' 'lirc-utils-libre')
pkgver=0.9.0
pkgrel=40
epoch=1
_extramodules=extramodules-3.8-LIBRE
arch=('i686' 'x86_64' 'mips64el')
url="http://www.lirc.org/"
license=('GPL')
### NOTICE don't forget to bump version in depends in package_lirc
makedepends=('help2man' 'linux-libre-headers>=3.8' 'linux-libre-headers<3.9' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
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
        linux-3.8.patch
        lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd
        lirc.service lircm.service irexec.service
        lirc.tmpfiles)

build() {
  _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
  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"

  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

  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

  # 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 
  make
}

package_lirc-libre() {
  pkgdesc="Linux Infrared Remote Control kernel modules for stock kernel (built for the linux-libre kernel package)"
  depends=('lirc-utils-libre' 'linux-libre>=3.8' 'linux-libre<3.9')
  replaces=('lirc' 'lirc+pctv')
  conflicts=('lirc')
  provides=("lirc=$pkgver")
  install=lirc.install

  cd "${srcdir}/lirc-${pkgver}/drivers"
  make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install

  # set the kernel we've built for inside the install script
  sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${_extramodules}/g" "${startdir}/lirc.install"
  # gzip -9 modules
  find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
}

package_lirc-utils-libre() {
  pkgdesc="Linux Infrared Remote Control utils"
  depends=('alsa-lib' 'libx11' 'libftdi' 'libirman')
  optdepends=('python2: pronto2lirc utility')
  options=('strip' '!libtool')
  replaces=('lirc-utils')
  conflicts=('lirc-utils')
  provides=("lirc-utils=$pkgver")
  backup=('etc/conf.d/lircd.conf' 'etc/conf.d/irexec.conf')
  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
  install -D -m644 "${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"
    
  # 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'
         '9ee196bd03ea44af5a752fb0cc6ca96a'
         '8d0e238dc0eda95e340fe570605da492'
         '85f7fdac55e5256967241864049bf5e9'
         '3deb02604b37811d41816e9b4385fcc3'
         '5b1f8c9cd788a39a6283f93302ce5c6e'
         'f0c0ac930326168035f0c8e24357ae55'
         '69d099e6deedfa3c1ee2b6e82d9b8bfb'
         'dab8a73bcc5fd5479d8750493d8d97dc'
         'c2e20fe68b034df752dba2773db16ebe'
         '07131d117fcfe9dcd50c453c3a5e9531'
         'febf25c154a7d36f01159e84f26c2d9a')