diff options
Diffstat (limited to 'gnu/packages/vulkan.scm')
-rw-r--r-- | gnu/packages/vulkan.scm | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 6a2c219aac..39dd5215b6 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -107,6 +107,57 @@ SPIR-V modules. The project includes an assembler, binary module parser,disassembler, validator, and optimizer for SPIR-V.") (license license:asl2.0))) +(define-public spirv-cross + (package + (name "spirv-cross") + (version "2020-04-03") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/SPIRV-Cross") + (commit (string-append version)))) + (sha256 + (base32 + "0489s29kqgq20clxqg22y299yxz23p0yjh87yhka705hm9skx4sa")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;FIXME: Tests fail. + #:configure-flags + (list "-DSPIRV_CROSS_SHARED=YES") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests-to-find-deps + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (((string-append "PATHS " + "\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}" + "/external/glslang-build/output/bin")) + (string-append "PATHS " + (assoc-ref inputs "glslang") "/bin"))) + (substitute* "CMakeLists.txt" + (((string-append "PATHS " + "\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}" + "/external/spirv-tools-build/output/bin")) + (string-append "PATHS " + (assoc-ref inputs "spirv-tools") "/bin"))) + #t))))) + (native-inputs `(("glslang" ,glslang) + ("python" ,python) + ("spirv-headers" ,spirv-headers) + ("spirv-tools" ,spirv-tools))) + (home-page "https://github.com/KhronosGroup/SPIRV-Cross") + (synopsis "Parser for and converter of SPIR-V to other shader languages") + (description + "SPIRV-Cross tries hard to emit readable and clean output from the +SPIR-V. The goal is to emit GLSL or MSL that looks like it was written by a +human and not awkward IR/assembly-like code. NOTE: Individual features are +expected to be mostly complete, but it is possible that certain obscure GLSL +features are not yet supported. However, most missing features are expected +to be \"trivial\" improvements at this stage.") + (license license:asl2.0))) + (define-public glslang (package (name "glslang") |