diff options
author | Kaelyn Takata <kaelyn.alexi@protonmail.com> | 2023-05-04 20:12:26 +0000 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-05-07 13:04:23 -0400 |
commit | 61a326442442f9b09911d35b3a3a48cf5335d7d7 (patch) | |
tree | dc18657231dc4cefe3fa48a0b8f8c503f4455ef7 | |
parent | 4c3532d7ab81a20e21d23bcf25e06999fcee2571 (diff) | |
download | guix-61a326442442f9b09911d35b3a3a48cf5335d7d7.tar.gz guix-61a326442442f9b09911d35b3a3a48cf5335d7d7.zip |
gnu: mesa: Fix library paths in Vulkan layer manifests.
* gnu/packages/gl.scm (mesa): Fix library paths in Vulkan layer manifests.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-rw-r--r-- | gnu/packages/gl.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 3a63d70c7a..6521170ebb 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> +;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -488,7 +489,28 @@ svga,swrast,virgl"))) file) (symlink reference file))) others)))) - (delete-duplicates inodes)))))))) + (delete-duplicates inodes))))) + (add-after 'install 'set-layer-path-in-manifests + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (implicit-path (string-append + out + "/share/vulkan/implicit_layer.d/")) + (explicit-path (string-append + out + "/share/vulkan/explicit_layer.d/")) + (fix-layer-path + (lambda (layer-name) + (let* ((explicit (string-append explicit-path layer-name ".json")) + (implicit (string-append implicit-path layer-name ".json")) + (manifest (if (file-exists? explicit) + explicit + implicit))) + (substitute* manifest + (((string-append "\"lib" layer-name ".so\"")) + (string-append "\"" out "/lib/lib" layer-name ".so\""))))))) + (for-each fix-layer-path '("VkLayer_MESA_device_select" + "VkLayer_MESA_overlay")))))))) (home-page "https://mesa3d.org/") (synopsis "OpenGL and Vulkan implementations") (description "Mesa is a free implementation of the OpenGL and Vulkan |