# $Id$
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>

pkgname=bumblebee
pkgver=3.2.1
pkgrel=10
pkgdesc="NVIDIA Optimus support for Linux through VirtualGL"
arch=('i686' 'x86_64')
depends=('virtualgl' 'glib2' 'mesa-libgl')
makedepends=('help2man')
optdepends=('bbswitch: switch on/off discrete card' 
            'nvidia: NVIDIA kernel driver'
            'nvidia-340xx: NVIDIA kernel driver for older devices'
            'nvidia-304xx: NVIDIA kernel driver for even older devices'
            'primus: faster back-end for optirun')
if [ "$CARCH" = "x86_64" ]; then
     optdepends[${#optdepends[@]}]='lib32-virtualgl: run 32bit applications with optirun'
     optdepends[${#optdepends[@]}]='lib32-primus: faster back-end for optirun'
fi
conflicts=('nvidia-libgl' 'nvidia-340xx-libgl' 'nvidia-304xx-libgl')
provides=('nvidia-libgl' 'nvidia-340xx-libgl' 'nvidia-304xx-libgl')
url="http://www.bumblebee-project.org"
license=("GPL3")
install='bumblebee.install'
backup=('etc/bumblebee/bumblebee.conf' 
        'etc/bumblebee/xorg.conf.nouveau' 
        'etc/bumblebee/xorg.conf.nvidia')
source=("http://www.bumblebee-project.org/${pkgname}-${pkgver}.tar.gz"
        "bumblebee-hexadecimal.patch::https://github.com/Bumblebee-Project/Bumblebee/commit/2073f8537412aa47755eb6f3f22a114403e5285b.patch")
md5sums=('30974e677bb13e8a3825fd6f3e7d3b24'
         'd0a7d504a717e34b05fb4bc9ee68f881')

build() {
    cd "${srcdir}/${pkgname}-${pkgver}"

    patch -Np1 < ${srcdir}/bumblebee-hexadecimal.patch

    ./configure \
        CONF_DRIVER_MODULE_NVIDIA=nvidia \
        CONF_LDPATH_NVIDIA=/usr/lib/nvidia:/usr/lib32/nvidia \
        CONF_MODPATH_NVIDIA=/usr/lib/nvidia/xorg/,/usr/lib/xorg/modules \
        --prefix=/usr \
        --sbindir=/usr/bin \
        --with-udev-rules=/usr/lib/udev/rules.d/ \
        --sysconfdir=/etc \
        --without-pidfile

    make
}

package() {
    cd "${srcdir}/${pkgname}-${pkgver}"

    make install DESTDIR="$pkgdir"

    # Stop nvidia from loading on boot
    mkdir -p "${pkgdir}/usr/lib/modprobe.d/"
    echo "blacklist nvidia" > "${pkgdir}/usr/lib/modprobe.d/bumblebee.conf"

    # Install systemd unit
    install -D -m644 "scripts/systemd/bumblebeed.service" "${pkgdir}/usr/lib/systemd/system/bumblebeed.service"    
    sed -i "s/sbin/bin/" "${pkgdir}/usr/lib/systemd/system/bumblebeed.service"

    # Make bash_completion work
    mv -v "${pkgdir}/etc/bash_completion.d/bumblebee" "${pkgdir}/etc/bash_completion.d/optirun"

    echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/bumblebee.conf"
}
