diff options
author | Hilton Chain <hako@ultrarare.space> | 2024-01-29 18:20:43 +0800 |
---|---|---|
committer | John Kehayias <john.kehayias@protonmail.com> | 2024-04-24 20:06:28 -0400 |
commit | f6c8eb082ccf3acad7d21b3c036c29497ca7a57f (patch) | |
tree | 14dfd77ca56a90393a059eb3f5cd7900b9eb1ead /nongnu | |
parent | d59c557f79321d5372cb24b10dc609b4fdf1f503 (diff) |
nongnu: nvidia-driver: Add architecture to configuration filenames.
* nongnu/packages/nvidia.scm (nvidia-driver)[arguments]<#:phases>: Add
architecture to configuration filenames.
Signed-off-by: John Kehayias <john.kehayias@protonmail.com>
Diffstat (limited to 'nongnu')
-rw-r--r-- | nongnu/packages/nvidia.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/nongnu/packages/nvidia.scm b/nongnu/packages/nvidia.scm index 6cd5f00..2d07085 100644 --- a/nongnu/packages/nvidia.scm +++ b/nongnu/packages/nvidia.scm @@ -285,6 +285,30 @@ ACTION==\"unbind\", SUBSYSTEM==\"pci\", ATTR{vendor}==\"0x10de\", ATTR{class}==\ ;; Add udev rules (symlink #$%nvidia-udev-rules "90-nvidia.rules"))) + (add-after 'install 'add-architecture-to-filename + (lambda _ + (for-each + (lambda (path) + (let* ((out #$output) + (system #$(or (%current-target-system) + (%current-system))) + (dash (string-index system #\-)) + (arch (string-take system dash)) + + (dot (string-index-right path #\.)) + (base (string-take path dot)) + (ext (string-drop path (+ 1 dot)))) + ;; <...>/nvidia.icd -> <...>/nvidia.x86_64.icd + ;; <...>/nvidia_icd.json -> <...>/nvidia_icd.x86_64.json + (rename-file + (string-append out path) + (string-append out base "." arch "." ext)))) + '("/etc/OpenCL/vendors/nvidia.icd" + "/share/egl/egl_external_platform.d/10_nvidia_wayland.json" + "/share/egl/egl_external_platform.d/15_nvidia_gbm.json" + "/share/glvnd/egl_vendor.d/10_nvidia.json" + "/share/vulkan/icd.d/nvidia_icd.json" + "/share/vulkan/implicit_layer.d/nvidia_layers.json")))) (add-after 'install 'patch-elf (lambda _ (let* ((ld.so (string-append #$(this-package-input "glibc") |