[PATCH 0/2] Add Draco (3d graphics compression).

  • Open
  • quality assurance status badge
Details
One participant
  • Vinicius Monego
Owner
unassigned
Submitted by
Vinicius Monego
Severity
normal
V
V
Vinicius Monego wrote on 10 Apr 02:10 +0200
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
cover.1712707652.git.monego@posteo.net
Vinicius Monego (2):
gnu: Add tinygltf.
gnu: Add draco.

gnu/packages/compression.scm | 42 +++++++++++++++++++++++++++++++++
gnu/packages/graphics.scm | 45 ++++++++++++++++++++++++++++++++++++
2 files changed, 87 insertions(+)


base-commit: 51de844a0ff6ea224367a384092896bce6848b9f
--
2.39.2
V
V
Vinicius Monego wrote on 10 Apr 02:12 +0200
[PATCH 1/2] gnu: Add tinygltf.
(address . 70319@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
769daf7ae2277aecea26723b2a8e3165aa92e146.1712707652.git.monego@posteo.net
* gnu/packages/graphics.scm (tinygltf): New variable.

Change-Id: I749ced85142b8dd2ebbe916533f27bf6d167bbff
---
gnu/packages/graphics.scm | 45 +++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index a63629823a..d04fcbfd6d 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -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")
--
2.39.2
V
V
Vinicius Monego wrote on 10 Apr 02:12 +0200
[PATCH 2/2] gnu: Add draco.
(address . 70319@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
a6232d601410a6e0c6d157467c3cf4df77b207f8.1712707652.git.monego@posteo.net
* gnu/packages/compression.scm (draco): New variable.

Change-Id: Ibba9180ac2ee176aa445684472fa7d34327f8ce5
---
gnu/packages/compression.scm | 42 ++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (76 lines)
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 02a20e5c62..cbed6d947c 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -71,6 +71,7 @@ (define-module (gnu packages compression)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
@@ -79,6 +80,7 @@ (define-module (gnu packages compression)
#:use-module (gnu packages benchmark)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cpp)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
@@ -86,6 +88,7 @@ (define-module (gnu packages compression)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages java)
#:use-module (gnu packages llvm)
@@ -831,6 +834,45 @@ (define-public sfarkxtc
sfArk file format to the uncompressed sf2 format.")
(license license:gpl3+))))
+(define-public draco
+ (package
+ (name "draco")
+ (version "1.5.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/draco")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1v1idvqr9mww9wi36yzb10lq66ls78dlrgnxchjjjv5paw2g0mk3"))))
+ (build-system cmake-build-system)
+ (inputs (list eigen gulrak-filesystem tinygltf))
+ (arguments
+ ;; There is a testdata directory but apparently no actual tests.
+ (list #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=true"
+ (string-append "-DDRACO_EIGEN_PATH="
+ #$(this-package-input "eigen"))
+ (string-append "-DDRACO_FILESYSTEM_PATH="
+ #$(this-package-input "gulrak-filesystem"))
+ (string-append "-DDRACO_TINYGLTF_PATH="
+ #$(this-package-input "tinygltf")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'delete-static-lib
+ (lambda _
+ (delete-file (string-append #$output
+ "/lib/libdraco.a")))))))
+ (home-page "https://google.github.io/draco/")
+ (synopsis "Compress and decompress 3D geometric meshes and point clouds")
+ (description "Draco is a library for compressing and decompressing 3D
+geometric meshes and point clouds. It is intended to improve the storage and
+transmission of 3D graphics.")
+ (license license:asl2.0)))
+
(define-public libmspack
(package
(name "libmspack")
--
2.39.2
?