diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 25 |
1 files changed, 13 insertions, 12 deletions
@@ -4,42 +4,43 @@ # Contributor: Dan Vratil pkgname=nvidia-beta -pkgver=450.51 +pkgver=450.57 pkgrel=1 pkgdesc="NVIDIA drivers for Arch's official 'linux' package (beta version)" arch=('x86_64') url='https://www.nvidia.com/' license=('custom') -depends=('linux' "nvidia-utils-beta>=${pkgver}" 'libglvnd') -makedepends=('linux-headers') +makedepends=('linux-headers' 'dkms') provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}") conflicts=('nvidia') options=('!strip') _pkg="NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32" source=("http://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_pkg}.run" - '010-nvidia-kernel-5.7.patch') -sha256sums=('7e08a97f68e9d4b8fbae9811926fdfbff216fa37252aa114425bc1aa85730d22' - '37cf072fdaee3f9f0c5a8b4d5f2dac722c7b96720fc317bc2da947bde52fb946') + '110-nvidia-change-dkms-conf.patch') +sha256sums=('8a65da18761a2e6547d681b0d87201a46d822e71a318c89a849767a95fbd1e07' + '3f0940fa30468d237cda6cab354b4c40c7baacad5bd5aaf31706740f855e35ce') prepare() { # extract the source file [ -d "$_pkg" ] && rm -rf "$_pkg" printf '%s\n' " -> Self-Extracting ${_pkg}.run..." sh "${_pkg}.run" --extract-only + ln -s kernel "${_pkg}/nvidia-${pkgver}" - patch -d "$_pkg" -Np1 -i "${srcdir}/010-nvidia-kernel-5.7.patch" + patch -d "$_pkg" -Np1 -i "${srcdir}/110-nvidia-change-dkms-conf.patch" } build() { - printf '%s\n' " -> Building Nvidia module for kernel $(</usr/src/linux/version)..." - make -C "${_pkg}/kernel" SYSSRC='/usr/src/linux' module + dkms build --dkmstree "$srcdir" --sourcetree "${srcdir}/${_pkg}" -m "nvidia/${pkgver}" -k "$(</usr/src/linux/version)" } package() { - local _extradir - _extradir="/usr/lib/modules/$(</usr/src/linux/version)/extramodules" + depends=('linux' "nvidia-utils-beta>=${pkgver}" 'libglvnd') - install -D -m644 "${_pkg}/kernel/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}${_extradir}" + local _kernver + _kernver="$(</usr/src/linux/version)" + + install -D -m644 "nvidia/${pkgver}/${_kernver}/${CARCH}/module"/* -t "${pkgdir}/usr/lib/modules/${_kernver}/extramodules" find "$pkgdir" -name '*.ko' -exec xz -T1 {} + printf '%s\n' 'blacklist nouveau' | install -D -m644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf" install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}" |