git: 9219a90fd9e8 - main - graphics/tlottie: add new port (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Wed, 09 Sep 2026 12:20:46 UTC
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9219a90fd9e836100bad80e02c6ebf500dbfe1e5

commit 9219a90fd9e836100bad80e02c6ebf500dbfe1e5
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2026-09-09 11:59:13 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2026-09-09 11:59:13 +0000

    graphics/tlottie: add new port (+)
    
    tlottie is a library for drawing lottie animations, written in Rust.
---
 graphics/Makefile                       |  1 +
 graphics/tlottie/Makefile               | 28 ++++++++++++++++++++++++++++
 graphics/tlottie/Makefile.crates        |  7 +++++++
 graphics/tlottie/distinfo               | 17 +++++++++++++++++
 graphics/tlottie/files/patch-Cargo.toml | 11 +++++++++++
 graphics/tlottie/pkg-descr              |  5 +++++
 graphics/tlottie/pkg-plist              |  5 +++++
 7 files changed, 74 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index a0de2ba33c20..8c306b1eee7c 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1262,6 +1262,7 @@
     SUBDIR += tintfu
     SUBDIR += tinyows
     SUBDIR += tkpng
+    SUBDIR += tlottie
     SUBDIR += togl
     SUBDIR += tslib
     SUBDIR += ttygif
diff --git a/graphics/tlottie/Makefile b/graphics/tlottie/Makefile
new file mode 100644
index 000000000000..f82643192cfd
--- /dev/null
+++ b/graphics/tlottie/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	tlottie
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.1.0
+CATEGORIES=	graphics
+
+MAINTAINER=	fluffy@FreeBSD.org
+COMMENT=	Rust library for drawing Lottie animations
+WWW=		https://github.com/dkaraush/tlottie
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+CARGO_FEATURES=	c-api
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	dkaraush
+GH_TAGNAME=	4b940c7
+
+do-install:
+	${INSTALL_DATA} ${WRKSRC}/include/tlottie.h ${STAGEDIR}${PREFIX}/include
+	${INSTALL_DATA} ${WRKDIR}/target/release/libtlottie.a ${STAGEDIR}${PREFIX}/lib
+# Get ready to install shared library too when needed
+#	${INSTALL_LIB} ${WRKDIR}/target/release/libtlottie.so ${STAGEDIR}${PREFIX}/lib
+#	${LN} -sf libtlottie.so ${STAGEDIR}${PREFIX}/lib/libtlottie.so.${DISTVERSION:R}
+#	${LN} -sf libtlottie.so ${STAGEDIR}${PREFIX}/lib/libtlottie.so.${DISTVERSION:R:R}
+
+.include <bsd.port.mk>
diff --git a/graphics/tlottie/Makefile.crates b/graphics/tlottie/Makefile.crates
new file mode 100644
index 000000000000..c55019cb2607
--- /dev/null
+++ b/graphics/tlottie/Makefile.crates
@@ -0,0 +1,7 @@
+CARGO_CRATES=	cfg-if-1.0.4 \
+		dlmalloc-0.2.14 \
+		foldhash-0.1.5 \
+		hashbrown-0.15.5 \
+		libc-0.2.189 \
+		windows-link-0.2.1 \
+		windows-sys-0.61.2
diff --git a/graphics/tlottie/distinfo b/graphics/tlottie/distinfo
new file mode 100644
index 000000000000..847aadd8dbec
--- /dev/null
+++ b/graphics/tlottie/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1788937454
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/dlmalloc-0.2.14.crate) = ad5208a115eaba24916f7456929832e310a81518c641f93fee4f89aa93aa3675
+SIZE (rust/crates/dlmalloc-0.2.14.crate) = 33285
+SHA256 (rust/crates/foldhash-0.1.5.crate) = d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2
+SIZE (rust/crates/foldhash-0.1.5.crate) = 21901
+SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
+SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
+SHA256 (rust/crates/libc-0.2.189.crate) = 3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2
+SIZE (rust/crates/libc-0.2.189.crate) = 851502
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/windows-sys-0.61.2.crate) = ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc
+SIZE (rust/crates/windows-sys-0.61.2.crate) = 2517186
+SHA256 (dkaraush-tlottie-v0.1.0-4b940c7_GH0.tar.gz) = 1853094b6b35bdeec6085fe49e47c431a300a17f8eafd7fb083586647ba43915
+SIZE (dkaraush-tlottie-v0.1.0-4b940c7_GH0.tar.gz) = 1218856
diff --git a/graphics/tlottie/files/patch-Cargo.toml b/graphics/tlottie/files/patch-Cargo.toml
new file mode 100644
index 000000000000..94a024ef77dd
--- /dev/null
+++ b/graphics/tlottie/files/patch-Cargo.toml
@@ -0,0 +1,11 @@
+--- Cargo.toml.orig	2026-09-08 16:14:24 UTC
++++ Cargo.toml
+@@ -6,7 +6,7 @@ name = "tlottie"
+ 
+ [lib]
+ name = "tlottie"
+-crate-type = ["rlib", "cdylib"]
++crate-type = ["rlib", "cdylib","staticlib"]
+ 
+ [[bin]]
+ name = "tlottie-cli"
diff --git a/graphics/tlottie/pkg-descr b/graphics/tlottie/pkg-descr
new file mode 100644
index 000000000000..ae5fff17e07b
--- /dev/null
+++ b/graphics/tlottie/pkg-descr
@@ -0,0 +1,5 @@
+tlottie is a library for drawing lottie animations, written in Rust.
+
+Lottie loads and renders animations and vectors exported in the bodymovin JSON
+format. Bodymovin JSON can be created and exported from After Effects with
+bodymovin, Sketch with Lottie Sketch Export, and from Haiku.
diff --git a/graphics/tlottie/pkg-plist b/graphics/tlottie/pkg-plist
new file mode 100644
index 000000000000..99886d898c30
--- /dev/null
+++ b/graphics/tlottie/pkg-plist
@@ -0,0 +1,5 @@
+include/tlottie.h
+lib/libtlottie.a
+@comment lib/libtlottie.so
+@comment lib/libtlottie.so.0
+@comment lib/libtlottie.so.0.1