summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD64
2 files changed, 63 insertions, 23 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3acb5d9e383e..d8fcd3943b9c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 2e11e1cfc599..32d5a67370fa 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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: