summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nongnu/packages/nvidia.scm16
1 files changed, 15 insertions, 1 deletions
diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm
index 8ca79cc..0aeada5 100644
--- a/nongnu/packages/nvidia.scm
+++ b/nongnu/packages/nvidia.scm
@@ -320,7 +320,10 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
'("nvidia-smi")))))
(add-before 'patch-elf 'relocate-libraries
(lambda _
- (let* ((libdir (string-append #$output "/lib"))
+ (let* ((version #$(package-version this-package))
+ (libdir (string-append #$output "/lib"))
+ (gbmdir (string-append libdir "/gbm"))
+ (vdpaudir (string-append libdir "/vdpau"))
(xorgmoddir (string-append libdir "/xorg/modules"))
(xorgdrvdir (string-append xorgmoddir "/drivers"))
(xorgextdir (string-append xorgmoddir "/extensions"))
@@ -328,6 +331,17 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\
(install-file file dir)
(delete-file file))))
(for-each
+ (lambda (file)
+ (mkdir-p gbmdir)
+ (with-directory-excursion gbmdir
+ (symlink file "nvidia-drm_gbm.so")))
+ (find-files libdir "libnvidia-allocator\\.so\\."))
+
+ (for-each
+ (cut move-to-dir <> vdpaudir)
+ (find-files libdir "libvdpau_nvidia\\.so\\."))
+
+ (for-each
(cut move-to-dir <> xorgdrvdir)
(find-files libdir "nvidia_drv\\.so$"))