# Maintainer : Luca Bennati pkgname=nvidia-pf pkgver=304.64 pkgrel=1 _goodkver=3.6 _badkver=3.7 _kernver=${_goodkver}-pf _extramodules=extramodules-${_kernver} _SYSSRC="/usr/lib/modules/${_kernver}/build" _pf_kernel=$(pacman -Qqo /boot/vmlinuz-linux-pf) #_pf_headers=$(pacman -Qqo ${_SYSSRC}) _cpu=$(sed -e "s/linux-pf//" <<<${_pf_kernel}) pkgdesc="NVIDIA drivers for linux-pf." arch=('i686' 'x86_64') url="http://www.nvidia.com/" makedepends=("linux-pf-headers>=${_goodkver}" "linux-pf-headers<${_badkver}") depends=("linux-pf>=${_goodkver}" "linux-pf<${_badkver}" "nvidia-utils=${pkgver}") if [[ ${_cpu} ]]; then true && pkgdesc="NVIDIA drivers for linux-pf${_cpu}." true && makedepends=("linux-pf-headers${_cpu}>=${_goodkver}" "linux-pf-headers${_cpu}<${_badkver}") true && depends=("linux-pf${_cpu}>=${_goodkver}" "linux-pf${_cpu}<${_badkver}" "nvidia-utils=${pkgver}") fi conflicts=( 'nvidia-96xx' 'nvidia-173xx' 'nvidia-pf-core2' 'nvidia-pf-k8' 'nvidia-pf-atom' 'nvidia-pf-psc' 'nvidia-pf-p4' 'nvidia-pf-p3' 'nvidia-pf-pm' 'nvidia-pf-k7') license=('custom') install=nvidia.install options=(!strip) if [ "$CARCH" = "i686" ]; then _arch='x86' _pkg="NVIDIA-Linux-${_arch}-${pkgver}" source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run") md5sums=('6964415cf648a5f4f38117b168369de2') elif [ "$CARCH" = "x86_64" ]; then _arch='x86_64' _pkg="NVIDIA-Linux-${_arch}-${pkgver}-no-compat32" source=("ftp://download.nvidia.com/XFree86/Linux-${_arch}/${pkgver}/${_pkg}.run") md5sums=('76007ed4b72afd334e26377b646f5f7e') fi build() { cd "${srcdir}" [[ -d "${_pkg}" ]] && rm -rf "${_pkg}" sh "${_pkg}.run" --extract-only cd "${_pkg}/kernel" [[ ${_cpu} ]] && msg "Found optimized linux-pf${_cpu}, building ${pkgname}${_cpu}." make SYSSRC=${_SYSSRC} module } package() { if [[ ${_cpu} ]]; then true && pkgname=${pkgname}${_cpu} true && conflicts=(${conflicts[@]/nvidia-pf${_cpu}/} 'nvidia-pf') fi 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-pf.conf" echo "blacklist nvidiafb" >> "${pkgdir}/usr/lib/modprobe.d/nvidia-pf.conf" sed -i -e "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" \ -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install" gzip -9 "${pkgdir}/usr/lib/modules/${_extramodules}/nvidia.ko" install -D -m644 "${srcdir}/${_pkg}/LICENSE" \ "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" }