diff options
Diffstat (limited to 'nongnu')
-rw-r--r-- | nongnu/packages/nvidia.scm | 16 |
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$")) |