@@ -2367,6 +2367,51 @@ (define-public openxr
;; Dual licensed. Either license applies.
(license (list license:asl2.0 license:expat))))
+(define-public tinygltf
+ (package
+ (name "tinygltf")
+ (version "2.8.21")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/syoyo/tinygltf")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14712lndwlk4y001jxf2rxhwrw0w5gbc2hyh9kpik1galdzg41ii"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ; tests are not managed by CMake
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-our-packages
+ ;; tinygltf ships json.hpp, stb_image.h and stb_image_write.h
+ ;; into the repo as common files. Delete those, and use the
+ ;; files from our packages instead.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each delete-file
+ (list "json.hpp"
+ "stb_image.h"
+ "stb_image_write.h"))
+ (symlink (search-input-file inputs "json.hpp")
+ "json.hpp")
+ (symlink (search-input-file inputs "stb_image.h")
+ "stb_image.h")
+ (symlink (search-input-file inputs "stb_image_write.h")
+ "stb_image_write.h")))
+ (add-after 'install 'delete-static-lib
+ (lambda _
+ (delete-file (string-append #$output
+ "/lib/libtinygltf.a")))))))
+ (inputs (list nlohmann-json stb-image stb-image-write))
+ (home-page "https://github.com/syoyo/tinygltf")
+ (synopsis "Header only C++11 tiny glTF 2.0 library")
+ (description "TinyGLTF is a header only C++11 tiny
+@url{https://github.com/KhronosGroup/glTF, glTF} 2.0 library.")
+ (license license:expat)))
+
(define-public monado
(package
(name "monado")