nongnu: Add dxvk.

* nongnu/packages/wine.scm (dxvk): New variable.
This commit is contained in:
Pierre Neidhardt 2019-06-06 10:46:55 +02:00
parent 051c670a17
commit 94e5adeb05

View file

@ -76,3 +76,51 @@ It has a menu of supported games/apps for which it can do all the workarounds
automatically. It also allows the installation of missing nonfree DLLs and automatically. It also allows the installation of missing nonfree DLLs and
tweaking of various Wine settings.") tweaking of various Wine settings.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
;; TODO: We could package from source and distribute in upstream Guix.
;; See bug #35031.
(define-public dxvk
(package
(name "dxvk")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/doitsujin/dxvk/releases/download/v"
version "/dxvk-" version ".tar.gz"))
(sha256
(base32
"1aix9isys8n0hp8vwrmm4c58716g6famsm62x40z24sdlfhfqaqr"))))
(build-system trivial-build-system)
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(inputs
`(("wine" ,wine64)
("bash" ,bash-minimal)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((out (assoc-ref %outputs "out"))
(bash (assoc-ref %build-inputs "bash")))
(setenv "PATH" (string-append
(assoc-ref %build-inputs "gzip") "/bin:"
(assoc-ref %build-inputs "tar") "/bin"))
(invoke "tar" "xvf" (assoc-ref %build-inputs "source"))
(mkdir-p out)
(copy-recursively (string-append ,name "-" ,version "/") out)
(chdir out)
(mkdir-p "bin")
(rename-file "setup_dxvk.sh" "bin/setup_dxvk")
(patch-shebang "bin/setup_dxvk" (list (string-append bash "/bin")))
(substitute* "bin/setup_dxvk"
(("wine=\"wine\"")
(string-append "wine=" (assoc-ref %build-inputs "wine") "/bin/wine"))
(("x32") "../x32")
(("x64") "../x64")))
#t)))
(home-page "https://github.com/doitsujin/dxvk/")
(synopsis "Vulkan-based D3D11 and D3D10 implementation for Wine")
(description "Vulkan-based D3D11 and D3D10 implementation for Wine.")
(license license:zlib)))