Newer
Older
# FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads'
# Maintainer: Philip Müller <philm[at]manjaro[dot]org>
# Maintainer: Bernhard Landauer <bernhard[at]manjaro[dot]org>
# Maintainer: Helmut Stult <helmut[at]manjaro[dot]org>
# Arch credits:
# Maintainer : Thomas Baechler <thomas@archlinux.org>
# Contributor: Alonso Rodriguez <alonsorodi20 (at) gmail (dot) com>
# Contributor: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Felix Yan <felixonmars@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
# Contributor: loqs
# Contributor: Dede Dindin Qudsy <xtrymind+gmail+com>
# Contributor: Ike Devolder <ike.devolder+gmail+com>
_linuxprefix=linux510
_extramodules=extramodules-5.10-MANJARO
# don't edit here
pkgname=$_linuxprefix-nvidia-${_nver}xx
_pkgname=nvidia
_pkgver="${_nver}.${_sver}"
pkgdesc="NVIDIA drivers for linux."
arch=('x86_64')
url="http://www.nvidia.com/"
depends=("$_linuxprefix" "nvidia-390xx-utils=${_pkgver}")
makedepends=("$_linuxprefix-headers")
groups=("$_linuxprefix-extramodules")
provides=("nvidia=$pkgver")
conflicts=("$_linuxprefix-nvidia-340xx" "$_linuxprefix-nvidia-418xx" "$_linuxprefix-nvidia-430xx"
"$_linuxprefix-nvidia-435xx" "$_linuxprefix-nvidia-440xx" "$_linuxprefix-nvidia-450xx"
"$_linuxprefix-nvidia-455xx")
license=('custom')
install=nvidia.install
options=(!strip)
durl="http://us.download.nvidia.com/XFree86/Linux-x86"
source=("${durl}_64/${_pkgver}/NVIDIA-Linux-x86_64-${_pkgver}-no-compat32.run"
"kernel-4.16.patch" "kernel-5.7.patch" "kernel-5.8.patch" "kernel-5.9.patch" "kernel-5.10.patch")
sha256sums=('a34a19b618be0eb06c4699247489833a8f22c59423f246248614e0a59b1508da'
'622ac792ec200b2239cb663c0010392118b78c9904973d82cd261165c16d6385'
'b5f733102fb749c5dc2a959004dd555d108989a6e375e52d46add290e0f6723f'
'd5dbb2841234b892190de16dce83485457e934e2a239fc87dc5649dc80aa7cfc'
'58f5d459b3096354bc02ac811a3089f0dc6ca01da946ce5e93e575673c93d686'
'3d175e85a20dca2743f7a2627461baaa061d1f63ab4e175aafa8de0e9af0739e')
_pkg="NVIDIA-Linux-x86_64-${_pkgver}-no-compat32"
pkgver() {
printf '%s' "${_pkgver}"
}
prepare() {
sh "${_pkg}.run" --extract-only
cd "${_pkg}"
# patches here
# Fix compile problem with 4.16
msg2 "PATCH: kernel-4.16"
patch -p1 --no-backup-if-mismatch -i "$srcdir"/kernel-4.16.patch
msg2 "PATCH: kernel-5.7"
patch -p1 --no-backup-if-mismatch -i "$srcdir"/kernel-5.7.patch
# Fix compile problem with 5.8
msg2 "PATCH: kernel-5.8"
patch -p1 --no-backup-if-mismatch -i "$srcdir"/kernel-5.8.patch
# Fix compile problem with 5.9
msg2 "PATCH: kernel-5.9"
patch -p1 --no-backup-if-mismatch -i "$srcdir"/kernel-5.9.patch
# Fix compile problem with 5.10
msg2 "PATCH: kernel-5.10"
patch -p1 -i "$srcdir"/kernel-5.10.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 -m644 "${srcdir}/${_pkg}/kernel/nvidia-modeset.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-modeset.ko"
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-drm.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-drm.ko"
install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia-uvm.ko" \
"${pkgdir}/usr/lib/modules/${_extramodules}/nvidia-uvm.ko"
gzip "${pkgdir}/usr/lib/modules/${_extramodules}/"*.ko
sed -i -e "s/EXTRAMODULES='.*'/EXTRAMODULES='${_extramodules}'/" "${startdir}/nvidia.install"
}