me
/
guix
Archived
1
0
Fork 0

gnu: shaderc: Update to 2020.0.

* gnu/packages/vulkan.scm (shaderc): Update to 2020.0.
[build-system]: Change to CMAKE-BUILD-SYSTEM.
[arguments]: Move custom configure invokation to #:configure-flags.  Add phase
to prevent using bundled code.
[inputs]: Add GLSLANG, SPIRV-HEADERS, and SPIRV-TOOLS.
[native-inputs]: Remove CMAKE-MINIMAL, GLSLANG:SOURCE, SPIRV-HEADERS:SOURCE,
and SPIRV-TOOLS:SOURCE.
master
Marius Bakke 2020-05-22 17:38:36 +02:00 committed by Marius Bakke
parent f26bceb470
commit 4c5e45eb6b
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
1 changed files with 26 additions and 45 deletions

View File

@ -253,7 +253,7 @@ API.")
(define-public shaderc (define-public shaderc
(package (package
(name "shaderc") (name "shaderc")
(version "2019.0") (version "2020.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -263,56 +263,37 @@ API.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1l5mmyxhzsbp0a6y2d86i8jmf46c6bjgjkdgkr5l8hmhflmm7gi2")))) "1kqqvsvib01bsmfbdy3fbwwpvkcdlfb6k71kjvzb3crql7w0rxff"))))
(build-system meson-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; FIXME: Tests fail. `(#:tests? #f ; FIXME: Tests fail.
#:configure-flags '("-DSHADERC_SKIP_TESTS=ON")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (add-after 'unpack 'do-not-look-for-bundled-sources
(lambda* (#:key outputs #:allow-other-keys) (lambda _
(let ((out (assoc-ref outputs "out"))) (substitute* "CMakeLists.txt"
;; Remove various lines and touch build-version.inc or (("add_subdirectory\\(third_party\\)")
;; configuring won't work. ""))
(invoke "touch" "glslc/src/build-version.inc")
(substitute* "CMakeLists.txt" (("..PYTHON_EXE..*") "")) ;; Do not attempt to use git to encode version information.
(substitute* "CMakeLists.txt" (substitute* "glslc/CMakeLists.txt"
((".*update_build_version.py..*") "")) (("add_dependencies\\(glslc_exe build-version\\)")
(substitute* "CMakeLists.txt" ""))
((".*add_custom_target.build-version.*") "")) (call-with-output-file "glslc/src/build-version.inc"
(substitute* "CMakeLists.txt" (lambda (port)
((".*spirv-tools_SOURCE_DIR.*glslang_SOURCE_DIR.*") (format port "\"~a\"\n\"~a\"\n\"~a\"~%"
"")) ,version
(substitute* "CMakeLists.txt" ,(package-version spirv-tools)
((".*Update build-version.inc.*") "")) ,(package-version glslang))))
(substitute* "CMakeLists.txt" ((".*--check.*") "")) #t)))))
(substitute* "glslc/src/main.cc" ((".*build-version.inc.*")
"\"1\""))
(invoke "cmake" "-GNinja" "-DCMAKE_BUILD_TYPE=Release"
"-DSHADERC_SKIP_TESTS=ON"
"-DCMAKE_INSTALL_LIBDIR=lib"
(string-append "-DCMAKE_INSTALL_PREFIX="
out)))))
(add-after 'unpack 'unpack-sources
(lambda* (#:key inputs #:allow-other-keys)
(let ((spirv-tools-source (assoc-ref inputs "spirv-tools-source"))
(spirv-headers-source (assoc-ref inputs "spirv-headers-source"))
(glslang-source (assoc-ref inputs "glslang-source")))
(copy-recursively spirv-tools-source "third_party/spirv-tools")
(copy-recursively spirv-headers-source
(string-append "third_party/spirv-tools"
"/external/spirv-headers"))
(copy-recursively glslang-source "third_party/glslang")
#t))))))
(inputs (inputs
`(("googletest" ,googletest) `(("glslang" ,glslang)
("python" ,python))) ("python" ,python)
("spirv-headers" ,spirv-headers)
("spirv-tools" ,spirv-tools)))
(native-inputs (native-inputs
`(("cmake" ,cmake-minimal) `(("pkg-config" ,pkg-config)))
("glslang-source" ,(package-source glslang))
("pkg-config" ,pkg-config)
("spirv-headers-source" ,(package-source spirv-headers))
("spirv-tools-source" ,(package-source spirv-tools))))
(home-page "https://github.com/google/shaderc") (home-page "https://github.com/google/shaderc")
(synopsis "Tools for shader compilation") (synopsis "Tools for shader compilation")
(description "Shaderc is a collection of tools, libraries, and tests for (description "Shaderc is a collection of tools, libraries, and tests for