diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 64 |
2 files changed, 63 insertions, 23 deletions
@@ -1,19 +1,14 @@ pkgbase = nvidia-ck - pkgdesc = NVIDIA drivers for linux-ck. pkgver = 435.21 - pkgrel = 10 + pkgrel = 11 epoch = 2 url = https://www.nvidia.com/ arch = x86_64 license = custom makedepends = nvidia-utils=435.21 makedepends = libglvnd + makedepends = linux-ck makedepends = linux-ck-headers - depends = linux-ck - depends = libgl - depends = nvidia-utils=435.21 - conflicts = nvidia-340xx-ck - conflicts = nvidia-390xx-ck options = !strip source = https://us.download.nvidia.com/XFree86/Linux-x86_64/435.21/NVIDIA-Linux-x86_64-435.21.run source = fs62142.patch @@ -21,4 +16,17 @@ pkgbase = nvidia-ck sha256sums = 24a3082688ee4d60d27f601d535b1e6ced7537b46cc83fc9bb6da0f76e07e017 pkgname = nvidia-ck + pkgdesc = NVIDIA drivers for linux-ck. + depends = dkms + depends = nvidia-utils=435.21 + depends = libglvnd + +pkgname = nvidia-ck-dkms + pkgdesc = NVIDIA drivers for linux-ck. + depends = dkms + depends = nvidia-utils=435.21 + depends = libglvnd + optdepends = linux-ck: Build the module for ck kernel + provides = nvidia=435.21 + conflicts = nvidia-ck @@ -2,20 +2,14 @@ # Contributor: Sven-Hendrik Haase <sh@lutzhaase.com> # Contrubutor: Thomas Baechler <thomas@archlinux.org> -pkgname=nvidia-ck +pkgbase=nvidia-ck +pkgname=(nvidia-ck nvidia-ck-dkms) pkgver=435.21 -pkgrel=10 +pkgrel=11 epoch=2 -_extramodules=extramodules-ck -_pkgdesc="NVIDIA drivers for linux-ck." -pkgdesc="$_pkgdesc" arch=('x86_64') url="https://www.nvidia.com/" -depends=('linux-ck' 'libgl' "nvidia-utils=${pkgver}") -makedepends=("nvidia-utils=${pkgver}" 'libglvnd' 'linux-ck-headers') -conflicts=('nvidia-340xx-ck' 'nvidia-390xx-ck') -#groups=('ck-generic') -#replaces=() +makedepends=("nvidia-utils=${pkgver}" 'libglvnd' 'linux-ck' 'linux-ck-headers') license=('custom') options=('!strip') _pkg="NVIDIA-Linux-x86_64-${pkgver}" @@ -27,13 +21,31 @@ sha256sums=('fac7c02ccd35c7043f4e1add0224a7380d0bd1e4aa15ca6bc3012c758ec1776c' # default is 'linux' substitute custom name here _kernelname=linux-ck _kernver="$(</usr/src/$_kernelname/version)" +_extradir="/usr/lib/modules/$_kernver/extramodules" prepare() { - sh "${_pkg}.run" --extract-only - cd "${_pkg}" + sh "${_pkg}.run" --extract-only + cd "${_pkg}" - # Fix https://bugs.archlinux.org/task/62142 - patch -Np1 -i ../fs62142.patch + # Fix https://bugs.archlinux.org/task/62142 + patch -Np1 -i ../fs62142.patch + + cp -a kernel kernel-dkms + cd kernel-dkms + sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf + sed -i 's/__JOBS/`nproc`/' dkms.conf + sed -i 's/__DKMS_MODULES//' dkms.conf + sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\ +DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[1]="nvidia-uvm"\ +DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[2]="nvidia-modeset"\ +DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[3]="nvidia-drm"\ +DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf + + # Gift for linux-rt guys + sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf } build() { @@ -41,8 +53,10 @@ build() { make SYSSRC=/usr/src/"$_kernelname" module } -package() { - _extradir="/usr/lib/modules/$_kernver/extramodules" +package_nvidia-ck() { + pkgdesc="NVIDIA drivers for linux-ck." + depends=('dkms' "nvidia-utils=${pkgver}" 'libglvnd') + install -Dt "${pkgdir}${_extradir}" -m644 \ "${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko @@ -54,4 +68,22 @@ package() { install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" } +package_nvidia-ck-dkms() { + pkgdesc="NVIDIA drivers for linux-ck." + depends=('dkms' "nvidia-utils=${pkgver}" 'libglvnd') + optdepends=('linux-ck: Build the module for ck kernel') + provides=("nvidia=$pkgver") + conflicts+=('nvidia-ck') + + cd "${_pkg}" + install -dm 755 "${pkgdir}"/usr/src + + cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}" + + echo "blacklist nouveau" | + install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" +} + # vim:set ts=2 sw=2 et: |