# $Id: PKGBUILD 219652 2014-08-13 06:38:34Z tpowa $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: Thomas Baechler <thomas@archlinux.org>

pkgname=nvidia-304xx
pkgver=304.123
_extramodules=extramodules-3.16-ARCH
pkgrel=5
pkgdesc="NVIDIA drivers for linux, 304xx legacy branch"
arch=('i686' 'x86_64')
url="http://www.nvidia.com/"
depends=('linux>=3.16' 'linux<3.17' 'nvidia-304xx-libgl' "nvidia-304xx-utils=${pkgver}")
makedepends=('linux-headers>=3.16' 'linux-headers<3.17')
conflicts=('nvidia' 'nvidia-96xx' 'nvidia-173xx')
license=('custom')
install=nvidia.install
options=(!strip)

if [ "$CARCH" = "i686" ]; then
    _arch='x86'
    _pkg="NVIDIA-Linux-${_arch}-${pkgver}"
    source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
    md5sums=('52307054483f5c40391608ce69114d48')
elif [ "$CARCH" = "x86_64" ]; then
    _arch='x86_64'
   _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32"
    source=("http://us.download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run")
    md5sums=('9d461e9e00e473f458aee96cd6d85101')
fi

prepare() {
    cd "${srcdir}"
    sh "${_pkg}.run" --extract-only
    cd "${pkg}"
    # patches here
}

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}/nvidia.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.
}
