[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#69461] [PATCH] gnu: Add directx-shader-compiler.
From: |
dan |
Subject: |
[bug#69461] [PATCH] gnu: Add directx-shader-compiler. |
Date: |
Sun, 7 Jul 2024 23:11:14 +0800 |
* gnu/packages/vulkan.scm (directx-headers-for-dxc): New variable.
Change-Id: I6e81f59ebd7122c007cce2df820359c055df5fd9
---
gnu/packages/vulkan.scm | 65 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm
index 25542c1e06..61d49c7b2b 100644
--- a/gnu/packages/vulkan.scm
+++ b/gnu/packages/vulkan.scm
@@ -44,7 +44,9 @@ (define-module (gnu packages vulkan)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages wine)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public spirv-headers
@@ -642,3 +644,66 @@ (define-public vulkan-utility-libraries
(synopsis "Utility libraries for Vulkan developers")
(description "Utility libraries for Vulkan developers.")
(license license:asl2.0)))
+
+;; directx-shader-compiler depends on an old version of directx-headers.
+(define directx-headers-for-dxc
+ (let ((commit "980971e835876dc0cde415e8f9bc646e64667bf7")
+ (revision "115"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference (url
+ "https://github.com/microsoft/DirectX-Headers.git")
+ (commit commit)))
+ (file-name (git-file-name "directx-headers-for-dxc"
+ (git-version "0" revision commit)))
+ (sha256 (base32
"0c7l2xdsbr132ga2nyqjhz9xa42dxvhh9idjxnl673mz5kab1j6h")))))
+
+(define-public directx-shader-compiler
+ (package
+ (name "directx-shader-compiler")
+ (version "1.8.2405")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/microsoft/DirectXShaderCompiler.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19rc3nb32ic0bz2vc3nbpb5lw3dh63vnpf2jvdk131m6j7kwbi4k"))
+ (modules '((guix build utils)))
+ (snippet '(substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(external\\)")
+ "find_package(SPIRV-Tools REQUIRED)
+find_package(SPIRV-Tools-opt CONFIG REQUIRED)")))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-G"
+ "Unix Makefiles"
+ "-C"
+ "../source/cmake/caches/PredefinedParams.cmake"
+ (string-append "-DSPIRV_HEADER_INCLUDE_DIR="
+ #$(this-package-input
+ "spirv-headers") "/include")
+ (string-append "-DSPIRV_TOOLS_INCLUDE_DIR="
+ #$(this-package-input
+ "spirv-tools") "/include")
+ (string-append "-DDIRECTX_HEADER_INCLUDE_DIR="
+ #$directx-headers-for-dxc
+ "/include"))
+ #:phases #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key make-flags outputs #:allow-other-keys)
+ (apply invoke "make" "install-distribution"
+ make-flags))))))
+ (inputs (list libxml2 spirv-headers spirv-tools))
+ (native-inputs (list git python))
+ (home-page "https://github.com/microsoft/DirectXShaderCompiler")
+ (synopsis
+ "@acronym{HLSL, High-Level Shader Language} shader compiler")
+ (description
+ "The DirectX Shader Compiler project includes a compiler and related
+tools for compiling @acronym{HLSL, High-Level Shader Language} programs into
+SPIR-V.")
+ (license license:ncsa)))
base-commit: c86a07bacc2469e7a00fbc66cfe4f322e4bafb06
--
2.41.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug#69461] [PATCH] gnu: Add directx-shader-compiler.,
dan <=