diff options
Diffstat (limited to 'libre/bbswitch')
-rw-r--r-- | libre/bbswitch/PKGBUILD | 88 | ||||
-rw-r--r-- | libre/bbswitch/kmod.install | 14 |
2 files changed, 102 insertions, 0 deletions
diff --git a/libre/bbswitch/PKGBUILD b/libre/bbswitch/PKGBUILD new file mode 100644 index 000000000..a7d017da3 --- /dev/null +++ b/libre/bbswitch/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor (Arch): M0Rf30 +# Contributor (Arch): Samsagax <samsagax@gmail.com> +# Maintainer: André Silva <emulatorman@parabola.nu> +# Contributor: Luke Shumaker <lukeshu@sbcglobal.net> +# Contributor: Márcio Silva <coadde@parabola.nu> + +_kernelname= +_basekernel=3.16 +_archrel=15 +_parabolarel=1 + +if [[ ${_kernelname} == "" ]]; then + _basekernel=${_basekernel} + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -lts ]]; then + _basekernel=3.14 + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -grsec ]]; then + _basekernel=3.15 + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -lts-grsec ]]; then + _basekernel=3.14 + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -lts-knock ]]; then + _basekernel=3.10 + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -rt ]]; then + _basekernel=3.14 + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -pae ]]; then + _basekernel=${_basekernel} + _archrel=${_archrel} + _parabolarel=${_parabolarel} +elif [[ ${_kernelname} == -xen ]]; then + _basekernel=${_basekernel} + _archrel=${_archrel} + _parabolarel=${_parabolarel} +fi + +_pkgname=bbswitch +pkgname=${_pkgname}${_kernelname} +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' 'mips64el') +url="http://github.com/Bumblebee-Project/${_pkgname}" +license=('GPL') + +# Generic (you shouldn't have to modify any of these variables) +_toohigh=$(IFS=. read a b <<<$_basekernel; echo $a.$((b+1))) +depends=("linux-libre${_kernelname}>=${_basekernel}" "linux-libre${_kernelname}<${_toohigh}") +makedepends=("linux-libre${_kernelname}-headers>=${_basekernel}" "linux-libre${_kernelname}-headers<${_toohigh}") + +replaces=("${_pkgname}-libre${_kernelname}" "${_pkgname}-parabola${_kernelname}") +conflicts=("${_pkgname}-libre${_kernelname}" "${_pkgname}-parabola${_kernelname}") + +install='kmod.install' +source=("https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz") +md5sums=('5b116b31ace3604ddf9d1fc1f4bc5807') + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" + + make KDIR=/lib/modules/${_kernver}/build +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}" + + # Set the correct extramodules directory for install + cp -f "${startdir}/${install}" "${startdir}/${install}.pkg" + true && install=${install}.pkg + sed -i "s/^_EXTRAMODULES=.*/_EXTRAMODULES="${_extramodules}"/" "${startdir}/${install}" + + # Actually install + install -Dm644 ${_pkgname}.ko "${pkgdir}"/usr/lib/modules/${_extramodules}/${_pkgname}.ko + gzip "${pkgdir}/usr/lib/modules/${_extramodules}/${_pkgname}.ko" +} diff --git a/libre/bbswitch/kmod.install b/libre/bbswitch/kmod.install new file mode 100644 index 000000000..40caa464f --- /dev/null +++ b/libre/bbswitch/kmod.install @@ -0,0 +1,14 @@ +_EXTRAMODULES= + +post_install() { + echo ">>> Updating module dependencies. Please wait ..." + depmod "$(cat /usr/lib/modules/$_EXTRAMODULES/version)" >/dev/null 2>&1 +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} |