gnu: vulkan: Add glslang.
* gnu/packages/vulkan.scm (glslang): New variable. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
parent
794d740e08
commit
6a11d5f149
|
@ -23,6 +23,7 @@
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix build-system cmake)
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages bison)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python))
|
#:use-module (gnu packages python))
|
||||||
|
|
||||||
|
@ -98,3 +99,46 @@ and for the GLSL.std.450 extended instruction set.
|
||||||
SPIR-V modules. The project includes an assembler, binary module parser,
|
SPIR-V modules. The project includes an assembler, binary module parser,
|
||||||
disassembler, validator, and optimizer for SPIR-V.")
|
disassembler, validator, and optimizer for SPIR-V.")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
|
(define-public glslang
|
||||||
|
;; Version 3.0 is too old for vulkan-icd-loader. Use a recent git commit
|
||||||
|
;; until the next stable version.
|
||||||
|
(let ((commit "471bfed0621162a7513fc24a51e8a1ccc2e640ff")
|
||||||
|
(revision "1"))
|
||||||
|
(package
|
||||||
|
(name "glslang")
|
||||||
|
(version (string-append "3.0-" revision "." (string-take commit 9)))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/KhronosGroup/glslang")
|
||||||
|
(commit commit)))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0m2vljmrqppp80ghbbwfnayqw2canxlcjhgy6jw9xjdssln0d3pd"))
|
||||||
|
(file-name (string-append name "-" version "-checkout"))))
|
||||||
|
(build-system cmake-build-system)
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ;; No tests
|
||||||
|
;; glslang tries to set CMAKE_INSTALL_PREFIX manually. Remove the
|
||||||
|
;; offending line.
|
||||||
|
#:phases (modify-phases %standard-phases
|
||||||
|
(add-after 'patch-source-shebangs 'fix-cmakelists
|
||||||
|
(lambda _
|
||||||
|
(substitute* "CMakeLists.txt"
|
||||||
|
(("set.*CMAKE_INSTALL_PREFIX.*") ""))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs `(("bison" ,bison)
|
||||||
|
("pkg-config" ,pkg-config)))
|
||||||
|
(home-page "https://github.com/KhronosGroup/glslang")
|
||||||
|
(synopsis "OpenGL and OpenGL ES shader front end and validator")
|
||||||
|
(description
|
||||||
|
"Glslang is the official reference compiler front end for the
|
||||||
|
OpenGL@tie{}ES and OpenGL shading languages. It implements a strict
|
||||||
|
interpretation of the specifications for these languages.")
|
||||||
|
;; Modified BSD license. See "copyright" section of
|
||||||
|
;; https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/
|
||||||
|
(license (list license:bsd-3
|
||||||
|
;; include/SPIRV/{bitutils,hex_float}.h are Apache 2.0.
|
||||||
|
license:asl2.0)))))
|
||||||
|
|
Loading…
Reference in New Issue