Subject: [PATCH 1/6] gnu: Add rust-keyframe-1.

From: Jaeme Sifat <[email-masked]>
Date: Sat, 20 Jan 2024 18:30:20 -0500

* gnu/packages/crates-graphics.scm (rust-keyframe-1): New variable.

Change-Id: I67721b97a744d82ac6df38e17ed84e628ff4687a
---
 gnu/packages/crates-graphics.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index e8bc113d8b..e94fb856e0 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -2260,6 +2260,35 @@ (define-public rust-jpeg-decoder-0.1
         ("rust-png" ,rust-png-0.14)
         ("rust-walkdir" ,rust-walkdir-2))))))
 
+(define-public rust-keyframe-1
+  (package
+    (name "rust-keyframe")
+    (version "1.1.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (crate-uri "keyframe" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32 "1afr5ffns3k79xaqnw6rw3qn8sngwly6gxfnjn8d060mk3vqnw30"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t ; Done to avoid dev dependency on ggez, a game engine.
+       #:cargo-inputs (("rust-mint" ,rust-mint-0.5)
+                       ("rust-num-traits" ,rust-num-traits-0.2))))
+    (home-page "https://github.com/HannesMann/keyframe")
+    (synopsis "Simple library for animation in Rust")
+    (description
+     "This package provides a simple library for animation in Rust.
+It's features include:
+
+@enumerate
+@item Several easing functions, including user-defined Bézier curves and keyframable curves.
+@item Animation sequences (like CSS keyframes).
+@item @code{mint} integration for 2D/3D/4D support (points, rectangles, colors, etc).
+@end enumerate")
+    (license license:expat)))
+
 (define-public rust-libdav1d-sys-0.6
   (package
     (name "rust-libdav1d-sys")
-- 
2.41.0