# Maintainer (Arch): Maxime Gauduin # Contributor (Arch): mortzu # Contributor (Arch): fnord0 # Contributor (Hyperbola): André Silva # Contributor (Hyperbola): Márcio Silva # Maintainer: Omar Vega Ramos # Contributor: Luke Shumaker _kernelname= if [[ ${_kernelname} == "" ]]; then _basekernel=4.14 _archrel=90 _parabolarel=1 elif [[ ${_kernelname} == -lts ]]; then _basekernel=4.9 _archrel=53 _parabolarel=1 fi pkgbase=acpi_call pkgver=1.1.0 pkgrel=${_archrel}.parabola${_parabolarel}.basekernel${_basekernel} _extramodules=extramodules-${_basekernel}${_kernelname} pkgdesc="A linux kernel module that enables calls to ACPI methods through /proc/acpi/call (built for the linux-libre${_kernelname} kernel package)" arch=('i686' 'x86_64' 'armv7h') url="http://github.com/mkottman/${pkgbase}" license=('GPL') # Generic (you shouldn't have to modify any of these variables) _toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1))) makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}" "linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}") makedepends+=('libelf') if [[ ${_kernelname} != "" ]]; then provides=("${pkgbase}") fi source=("${pkgbase}-${pkgver}.tar.gz::${url}/archive/v${pkgver}.tar.gz" 'dkms.conf') sha256sums=('d0d14b42944282724fca76f57d598eed794ef97448f387d1c489d85ad813f2f0' '32e6ea6523b13132c6c7838bba7fbf3d040ba2d35a892c2c356245612720df8a') prepare() { cd "${pkgbase}-${pkgver}" if [[ ${_basekernel} > 3.16 ]]; then # Fix build with Linux-libre 3.17-gnu sed -i 's|acpi/acpi.h|linux/acpi.h|' acpi_call.c fi if [[ ${_basekernel} > 4.11 ]]; then # Fix build with Linux-libre 4.12-gnu sed -i 's|asm/uaccess.h|linux/uaccess.h|' acpi_call.c fi } build() { cd "${pkgbase}-${pkgver}" make KVERSION="$(cat /usr/lib/modules/$_extramodules/version)" } _package() { depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}") replaces=("${pkgbase}-libre${_kernelname}" "${pkgbase}-parabola${_kernelname}") [[ -n ${_kernelname} ]] && replaces+=("${_pkgname}${_kernelname}-parabola") conflicts=("${pkgbase}-libre${_kernelname}" "${pkgbase}-parabola${_kernelname}") [[ -n ${_kernelname} ]] && conflicts+=("${_pkgname}${_kernelname}-parabola") cd $pkgbase-$pkgver # Actually install install -Dt "$pkgdir/usr/lib/modules/$_extramodules" -m644 acpi_call.ko find "$pkgdir" -name '*.ko' -exec gzip -n {} + echo acpi_call | install -Dm644 /dev/stdin "$pkgdir/usr/lib/modules-load.d/acpi_call${_kernelname}.conf" mkdir -p "$pkgdir/usr/share/acpi_call${_kernelname}" cp -t "$pkgdir/usr/share/acpi_call${_kernelname}" -dr --no-preserve=ownership examples support } if [[ ${_kernelname} == "" ]]; then _package-dkms() { depends=(dkms) provides=("acpi_call=$pkgver-$pkgrel") conflicts=(acpi_call) cd $pkgbase-$pkgver # Actually install install -Dt "$pkgdir/usr/src/$pkgbase-$pkgver" -m644 Makefile acpi_call.c ../dkms.conf echo acpi_call | install -Dm644 /dev/stdin "$pkgdir/usr/lib/modules-load.d/acpi_call.conf" mkdir -p "$pkgdir/usr/share/acpi_call" cp -t "$pkgdir/usr/share/acpi_call" -dr --no-preserve=ownership examples support } pkgname=("${pkgbase}" "${pkgbase}-dkms") else pkgname=("${pkgbase}${_kernelname}") fi for _p in ${pkgname[@]}; do eval "package_${_p}() { $(declare -f "_package${_p#${pkgbase}${_kernelname}}") _package${_p#${pkgbase}${_kernelname}} }" done # vim:set ts=2 sw=2 et: