guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: wine-staging: Enable Vulkan support.


From: Rutger Helling
Subject: 01/02: gnu: wine-staging: Enable Vulkan support.
Date: Wed, 31 Jan 2018 03:42:17 -0500 (EST)

rhelling pushed a commit to branch core-updates
in repository guix.

commit 39b4744a07069882f38a86240d22eacb6f19a895
Author: Rutger Helling <address@hidden>
Date:   Wed Jan 31 09:34:47 2018 +0100

    gnu: wine-staging: Enable Vulkan support.
    
    * gnu/packages/wine.scm (wine-staging)[inputs]: Add vulkan-icd-loader.
    [arguments]: Don't inherit phases. Add 'hardcode-libvulkan-path phase.
---
 gnu/packages/wine.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 7543899..51e0600 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -54,6 +54,7 @@
   #:use-module (gnu packages scanner)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
+  #:use-module (gnu packages vulkan)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (ice-9 match))
@@ -227,7 +228,32 @@ integrate Windows applications into your desktop.")
                 "1pjaxj7h3q6y356np908fvsx0bf7yx5crqvgl4hza6gfssdmsr5r"))))
     (inputs `(("gtk+", gtk+)
               ("libva", libva)
+              ("vulkan-icd-loader" ,vulkan-icd-loader)
               ,@(package-inputs wine)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'hardcode-libvulkan-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((libvulkan (string-append (assoc-ref %build-inputs
+                               "vulkan-icd-loader") "/lib/libvulkan.so")))
+               ;; Hard-code the path to libvulkan.so.
+               (substitute* "dlls/vulkan/vulkan_thunks.c" (("libvulkan.so")
+                            libvulkan))
+               #t)))
+         (add-after 'configure 'patch-dlopen-paths
+           ;; Hardcode dlopened sonames to absolute paths.
+           (lambda _
+             (let* ((library-path (search-path-as-string->list
+                                   (getenv "LIBRARY_PATH")))
+                    (find-so (lambda (soname)
+                               (search-path library-path soname))))
+               (substitute* "include/config.h"
+                 (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
+                  (format #f "~a\"~a\"" defso (find-so soname))))
+               #t))))
+       ,@(strip-keyword-arguments '(#:phases)
+                                  (package-arguments wine))))
     (synopsis "Implementation of the Windows API (staging branch, 32-bit 
only)")
     (description "Wine-Staging is the testing area of Wine.  It
 contains bug fixes and features, which have not been integrated into



reply via email to

[Prev in Thread] Current Thread [Next in Thread]