# Maintainer (Arch): Sven-Hendrik Haase # Contributor (Arch): M0Rf30 # Contributor (Arch): Samsagax # Contributor (Hyperbola): André Silva # Contributor (Hyperbola): Márcio Silva # Maintainer: Omar Vega Ramos # Contributor: Luke Shumaker _kernelname= if [[ ${_kernelname} == "" ]]; then _basekernel=4.14 _archrel=96 _parabolarel=1 elif [[ ${_kernelname} == -lts ]]; then _basekernel=4.9 _archrel=38 _parabolarel=1 fi pkgbase=bbswitch pkgver=0.8 pkgrel=${_archrel}.parabola${_parabolarel}.basekernel${_basekernel} _extramodules=extramodules-${_basekernel}${_kernelname} pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops (built for the linux-libre${_kernelname} kernel package)" arch=('i686' 'x86_64') url="http://github.com/Bumblebee-Project/${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::https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz") sha256sums=('76cabd3f734fb4fe6ebfe3ec9814138d0d6f47d47238521ecbd6a986b60d1477') build() { cd "${pkgbase}-${pkgver}" _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" make KDIR=/lib/modules/${_kernver}/build } _package() { depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}") replaces=("${pkgbase}-libre${_kernelname}" "${pkgbase}-parabola${_kernelname}") conflicts=("${pkgbase}-libre${_kernelname}" "${pkgbase}-parabola${_kernelname}") cd "${pkgbase}-${pkgver}" install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 bbswitch.ko find "${pkgdir}" -name '*.ko' -exec gzip -n {} + } if [[ ${_kernelname} == "" ]]; then _package-dkms() { depends=('dkms') conflicts=('bbswitch') provides=('bbswitch') cd "${pkgbase}-${pkgver}" install -Dt "${pkgdir}/usr/src/${pkgbase}-${pkgver}" -m644 Makefile bbswitch.c dkms/dkms.conf } pkgname=("${pkgbase}${_kernelname}" "${pkgbase}${_kernelname}-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