gnu: add spirv-cross.
* gnu/packages/vulkan.scm (spirv-cross): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
This commit is contained in:
		
							parent
							
								
									68a671abc8
								
							
						
					
					
						commit
						0bc6a5796a
					
				
					 1 changed files with 51 additions and 0 deletions
				
			
		|  | @ -102,6 +102,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-05-19") | ||||
|     (source | ||||
|      (origin | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/KhronosGroup/SPIRV-Cross") | ||||
|              (commit version))) | ||||
|        (sha256 | ||||
|         (base32 "0zyijp9zx9wbd4i5lwjap7n793iz6yjkf27la60dsffxl75yy9pd")) | ||||
|        (file-name (git-file-name name version)))) | ||||
|     (build-system cmake-build-system) | ||||
|     (arguments | ||||
|      `(#:configure-flags | ||||
|        (list "-DSPIRV_CROSS_SHARED=YES") | ||||
|        ;; FIXME: The following tests fail: | ||||
|        ;;   15 - spirv-cross-test-opt | ||||
|        ;;   16 - spirv-cross-test-metal-opt | ||||
|        ;;   17 - spirv-cross-test-hlsl-opt | ||||
|        #:tests? #f | ||||
|        #:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-after 'unpack 'fix-tests-to-find-deps | ||||
|            (lambda* (#:key inputs #:allow-other-keys) | ||||
|              (substitute* "CMakeLists.txt" | ||||
|                (("\\$\\{CMAKE_(.*)_DIR\\}/external/glslang(.*)/bin") | ||||
|                 (string-append (assoc-ref inputs "glslang") "/bin"))) | ||||
|              (substitute* "CMakeLists.txt" | ||||
|                (("\\$\\{CMAKE_(.*)_DIR\\}/external/spirv-tools(.*)/bin") | ||||
|                 (string-append (assoc-ref inputs "spirv-tools") "/bin"))) | ||||
|              #t))))) | ||||
|     (inputs | ||||
|      `(("glslang" ,glslang) | ||||
|        ("spirv-headers" ,spirv-headers) | ||||
|        ("spirv-tools" ,spirv-tools))) | ||||
|     (native-inputs `(("python" ,python))) | ||||
|     (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") | ||||
|  |  | |||
		Reference in a new issue