Date: Thursday, April 20, 2023 @ 17:17:40
Author: heftig
Revision: 474791
archrelease: copy trunk to testing-x86_64
Added:
nvidia-open/repos/testing-x86_64/
nvidia-open/repos/testing-x86_64/PKGBUILD
(from rev 474790, nvidia-open/trunk/PKGBUILD)
nvidia-open/repos/testing-x86_64/nvidia-open-gcc-ibt-sls.patch
(from rev 474790, nvidia-open/trunk/nvidia-open-gcc-ibt-sls.patch)
-------------------------------+
PKGBUILD | 94 ++++++++++++++++++++++++++++++++++++++++
nvidia-open-gcc-ibt-sls.patch | 10 ++++
2 files changed, 104 insertions(+)
Copied: nvidia-open/repos/testing-x86_64/PKGBUILD (from rev 474790,
nvidia-open/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD (rev 0)
+++ testing-x86_64/PKGBUILD 2023-04-20 17:17:40 UTC (rev 474791)
@@ -0,0 +1,94 @@
+# Maintainer: Sven-Hendrik Haase <[email protected]>
+pkgbase=nvidia-open
+pkgname=(nvidia-open nvidia-open-dkms)
+pkgver=530.41.03
+pkgrel=5
+pkgdesc="NVIDIA open kernel modules"
+arch=('x86_64')
+url="https://github.com/NVIDIA/open-gpu-kernel-modules"
+depends=("nvidia-utils=${pkgver}" 'libglvnd')
+makedepends=('linux-headers')
+license=('GPL')
+options=('!lto' '!buildflags')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/${pkgver}.tar.gz"
+ nvidia-open-gcc-ibt-sls.patch)
+sha512sums=('159f913ec6c46ec29f8b9ba7858965f7f4ff34cf5ea5fdf2e48a59b2145a1e113330f574148213a98b475113db920ecde4d5059a31a251c204ee838c662e854e'
+
'263c4c5e75ef8cb8ca2641c022dfaf8bd9222fadf68ed15120b0ae7dd9cc901a04ce2e55625d513a0995759c9d82dfbdc4c33d4751159124915d7404b1400e34')
+
+prepare() {
+ cd open-gpu-kernel-modules-${pkgver}
+
+ # Fix for https://bugs.archlinux.org/task/74886
+ patch -Np1 --no-backup-if-mismatch -i "$srcdir"/nvidia-open-gcc-ibt-sls.patch
+
+ # Attempt to make this reproducible
+ sed -i "s/^HOSTNAME.*/HOSTNAME = echo archlinux"/ utils.mk
+ sed -i "s/^WHOAMI.*/WHOAMI = echo archlinux-builder"/ utils.mk
+ sed -i "s/^DATE.*/DATE = date -r version.mk"/ utils.mk
+
+ sed -i "s/__VERSION_STRING/${pkgver}/" kernel-open/dkms.conf
+ sed -i 's/__JOBS/`nproc`/' kernel-open/dkms.conf
+ sed -i 's/__EXCLUDE_MODULES//' kernel-open/dkms.conf
+ sed -i 's/__DKMS_MODULES//' kernel-open/dkms.conf
+ sed -i '$i\
+BUILT_MODULE_NAME[0]="nvidia"\
+BUILT_MODULE_LOCATION[0]="kernel-open"\
+DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[1]="nvidia-uvm"\
+BUILT_MODULE_LOCATION[1]="kernel-open"\
+DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[2]="nvidia-modeset"\
+BUILT_MODULE_LOCATION[2]="kernel-open"\
+DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[3]="nvidia-drm"\
+BUILT_MODULE_LOCATION[3]="kernel-open"\
+DEST_MODULE_LOCATION[3]="/kernel/drivers/video"\
+BUILT_MODULE_NAME[4]="nvidia-peermem"\
+BUILT_MODULE_LOCATION[4]="kernel-open"\
+DEST_MODULE_LOCATION[4]="/kernel/drivers/video"' kernel-open/dkms.conf
+
+ # Clean version for later copying for DKMS
+ cp -r ../open-gpu-kernel-modules-${pkgver}
"$srcdir"/open-gpu-kernel-modules-dkms
+}
+
+build() {
+ cd open-gpu-kernel-modules-${pkgver}
+ make SYSSRC="/usr/src/linux"
+}
+
+package_nvidia-open() {
+ depends+=('linux')
+ conflicts=('NVIDIA-MODULE')
+ provides=('NVIDIA-MODULE')
+
+ cd open-gpu-kernel-modules-${pkgver}
+ _extradir="/usr/lib/modules/$(</usr/src/linux/version)/extramodules"
+ install -Dt "${pkgdir}${_extradir}" -m644 kernel-open/*.ko
+ find "${pkgdir}" -name '*.ko' -exec strip --strip-debug {} +
+ find "${pkgdir}" -name '*.ko' -exec xz {} +
+
+ # Force module to load even on unsupported GPUs
+ mkdir -p "$pkgdir"/usr/lib/modprobe.d
+ echo "options nvidia NVreg_OpenRmEnableUnsupportedGpus=1" >
"$pkgdir"/usr/lib/modprobe.d/nvidia-open.conf
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+package_nvidia-open-dkms() {
+ depends+=('dkms')
+ conflicts=('nvidia-open' 'NVIDIA-MODULE')
+ provides=('nvidia-open' 'NVIDIA-MODULE')
+
+ install -dm 755 "${pkgdir}"/usr/src
+ # cp -dr --no-preserve='ownership' kernel-open
"${pkgdir}/usr/src/nvidia-$pkgver"
+ cp -dr --no-preserve='ownership' open-gpu-kernel-modules-dkms
"${pkgdir}/usr/src/nvidia-$pkgver"
+ mv "${pkgdir}/usr/src/nvidia-$pkgver/kernel-open/dkms.conf"
"${pkgdir}/usr/src/nvidia-$pkgver/dkms.conf"
+
+ # Force module to load even on unsupported GPUs
+ mkdir -p "$pkgdir"/usr/lib/modprobe.d
+ echo "options nvidia NVreg_OpenRmEnableUnsupportedGpus=1" >
"$pkgdir"/usr/lib/modprobe.d/nvidia-open.conf
+
+ install -Dm644 open-gpu-kernel-modules-${pkgver}/COPYING
"$pkgdir"/usr/share/licenses/$pkgname
+}
+
+# vim:set sw=2 et:
Copied: nvidia-open/repos/testing-x86_64/nvidia-open-gcc-ibt-sls.patch (from
rev 474790, nvidia-open/trunk/nvidia-open-gcc-ibt-sls.patch)
===================================================================
--- testing-x86_64/nvidia-open-gcc-ibt-sls.patch
(rev 0)
+++ testing-x86_64/nvidia-open-gcc-ibt-sls.patch 2023-04-20 17:17:40 UTC
(rev 474791)
@@ -0,0 +1,10 @@
+--- a/src/nvidia-modeset/Makefile
++++ b/src/nvidia-modeset/Makefile
+@@ -142,6 +142,7 @@ ifeq ($(TARGET_ARCH),x86_64)
+ CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -fno-jump-tables)
+ CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch=thunk-extern)
+ CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mindirect-branch-register)
++ CONDITIONAL_CFLAGS += $(call TEST_CC_ARG, -mharden-sls=all)
+ endif
+
+ CFLAGS += $(CONDITIONAL_CFLAGS)