# $Id: PKGBUILD 241683 2015-07-02 01:39:57Z foutrelis $
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>

pkgname=nvidia-304xx
pkgver=304.125
_extramodules=extramodules-4.0-ARCH
pkgrel=17
pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux>=4.0' 'linux<4.1' 'libgl' "nvidia-304xx-utils=${pkgver}")
makedepends=('linux-headers>=4.0' 'linux-headers<4.1')
conflicts=('nvidia')
license=('custom')
install=${pkgname}.install
options=(!strip)
source=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run"
        "http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
        'nv-drm.patch'
        'nvidia-3.19.patch'
        'nvidia-4.0.patch')
sha512sums=('cd77736790876b66c1e88bf30b7a93f755c0f94118edda8fde1701dc07dc4eb60f89a27b0ed432db74729f269cb239f32f3c5e045d701f60baf69da7fc0d0ea7'
            '3b50d1353ff6cfee9042455b78e889c198e40dfe832dde79eda1a47d9f1f02b29f0161f1ac694dc7502eb2a94bad6b98244568cc353f387b02de6cae1c17d4ae'
            'aaa36ef7179acdc86850381de145a3aebab22273cd3c702a9d1343dc3415192c74a35da692312555f36193c5d46a1771ce07ea9508113cb9d0698873064aa19f'
            'f52a9f82a73eef9e27046c51ce0b2671ee2893f9b12e17c722f17416c39ac0b8d7d5b1fed51b6ab6f36670b036cd96d5cfeae37300ef041c029fd3d3d136ff3d'
            'd00a2a4c5bf38041cf9e4f61aa0ad0d6123451839eb272c36d7e466d77b33d90415cfa6f96a3a9da8688a1048e93a03169f808e6b2ddc2d9d148bab8485dae27')

[[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}"
[[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"

prepare() {
    cd "${srcdir}"
    sh "${_pkg}.run" --extract-only
    cd "${_pkg}"
    # patches here
    patch -p0 -i "$srcdir/nv-drm.patch"
    patch -p1 -i "$srcdir/nvidia-3.19.patch"
    patch -p0 -i "$srcdir/nvidia-4.0.patch"
}

build() {
    _kernver="$(cat /usr/lib/modules/${_extramodules}/version)"
    cd "${_pkg}/kernel"
    make SYSSRC=/usr/lib/modules/"${_kernver}/build" module
}

package() {
    install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \
        "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"
    install -d -m755 "${pkgdir}/usr/lib/modprobe.d"
    echo "blacklist nouveau" >> "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
    sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/${pkgname}.install"
    gzip "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko"

    # the license file is part of nvidia-304xx-utils - the module depends on it, so we don't ship it another time.
}
