diff options
Diffstat (limited to 'libre/lirc-parabola/PKGBUILD')
-rw-r--r-- | libre/lirc-parabola/PKGBUILD | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/libre/lirc-parabola/PKGBUILD b/libre/lirc-parabola/PKGBUILD new file mode 100644 index 000000000..e22d22841 --- /dev/null +++ b/libre/lirc-parabola/PKGBUILD @@ -0,0 +1,139 @@ +# $Id: PKGBUILD 220120 2014-08-16 22:32:11Z lfleischer $ +# Maintainer (Arch): Paul Mattal <paul@archlinux.org> +# Maintainer: André Silva <emulatorman@parabola.nu> +# Contributor: Luke Shumaker <lukeshu@sbcglobal.net> + +# Kernel info +_basekernel=3.16 +_kernelname= + +# Source info +_pkgname=lirc-parabola${_kernelname} +# Only build lirc-utils once; for the stock kernel +if [[ -n "${_kernelname}" ]]; then + pkgname=$_pkgname +else + pkgbase=$_pkgname + pkgname=("$_pkgname" lirc-utils-parabola) +fi + +_pkgver=0.9.1a +[[ $_pkgver =~ [a-z]$ ]] && pkgver="${_pkgver:0:-1}.${_pkgver: -1}" || pkgver="$_pkgver" + +url="http://www.lirc.org/" +license=('GPL') +source=("http://prdownloads.sourceforge.net/lirc/lirc-${_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') + +# Package info +pkgrel=3.${_basekernel/./} +epoch=1 +arch=('i686' 'x86_64' 'mips64el') +options=('!makeflags' '!strip') +makedepends=('help2man' 'alsa-lib' 'libx11' 'libftdi-compat' 'libirman' 'python2') + +# Generic (you shouldn't have to modify any of these variables) +_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1))) +_extramodules=extramodules-${_basekernel}${_kernelname:--PARABOLA} +makedepends+=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}" + "linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}") + +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_atiusb::" -e "s:lirc_i2c::" \ + -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile + make +} + +_package_lirc() { + pkgdesc="Linux Infrared Remote Control kernel modules (built for the linux-libre${_kernelname} kernel package)" + depends=('lirc-libre-utils' "linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}") + replaces=('lirc+pctv') + [[ -z "$_kernelname" ]] || provides=("lirc-parabola=${pkgver}") + install=kmod.install + + replaces+=( "lirc${_kernelname}" "lirc-libre${_kernelname}") + conflicts+=("lirc${_kernelname}" "lirc-libre${_kernelname}") + provides+=( "lirc${_kernelname}=${pkgver}" "lirc-libre${_kernelname}=${pkgver}") + + cd "${srcdir}/lirc-${_pkgver}/drivers" + + # Set the correct extramodules directory for install + cp -f "${startdir}/${install}" "${startdir}/${install}.pkg" + true && install=${install}.pkg + sed -r "s/(_extramodules=).*/\1${_extramodules}/" -i "${startdir}/${install}" + + make DESTDIR="${pkgdir}" moduledir="/usr/lib/modules/${_extramodules}" install + gzip -9 "${pkgdir}/usr/lib/modules/${_extramodules}"/*.ko +} +if [[ -n "$_kernelname" ]]; then + eval "package() { _package_lirc; }" +else + eval "package_${_pkgname}() { _package_lirc; }" +fi + +package_lirc-utils-parabola() { + pkgdesc="Linux Infrared Remote Control utilities" + depends=('alsa-lib' 'libx11' 'libftdi-compat' 'libirman') + optdepends=('python2: pronto2lirc utility') + options=('strip') + backup=('etc/lirc/lirc_options.conf' 'etc/lirc/lircd.conf' 'etc/lirc/lircmd.conf') + + replaces=( 'lirc-utils' 'lirc-utils-libre') + conflicts=('lirc-utils' 'lirc-utils-libre') + provides=( "lirc-utils=$pkgver" "lirc-utils-libre=$pkgver") + install=kmod.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" +} |