git: 2fe19bafb31b - main - graphics/vtracer: New port: Raster to Vector Graphics Converter

Yuri Victorovich <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.ports
Message-ID <[email protected]>
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2fe19bafb31bc7f92e5546a09b8abb7d074deeab

commit 2fe19bafb31bc7f92e5546a09b8abb7d074deeab
Author:     Yuri Victorovich <[email protected]>
AuthorDate: 2026-08-07 16:54:50 +0000
Commit:     Yuri Victorovich <[email protected]>
CommitDate: 2026-08-07 17:18:56 +0000

    graphics/vtracer: New port: Raster to Vector Graphics Converter
---
 graphics/Makefile          |   1 +
 graphics/vtracer/Makefile  | 124 ++++++++++++++++++++++++++++
 graphics/vtracer/distinfo  | 197 +++++++++++++++++++++++++++++++++++++++++++++
 graphics/vtracer/pkg-descr |   3 +
 4 files changed, 325 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 4ca45e63c59c..de75d209c1aa 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1280,6 +1280,7 @@
     SUBDIR += volpack
     SUBDIR += vp
     SUBDIR += vpaint
+    SUBDIR += vtracer
     SUBDIR += vulkan-caps-viewer
     SUBDIR += vulkan-extension-layer
     SUBDIR += vulkan-headers
diff --git a/graphics/vtracer/Makefile b/graphics/vtracer/Makefile
new file mode 100644
index 000000000000..33542c8f49fb
--- /dev/null
+++ b/graphics/vtracer/Makefile
@@ -0,0 +1,124 @@
+PORTNAME=	vtracer
+DISTVERSION=	0.6.15
+CATEGORIES=	graphics
+
+MAINTAINER=	[email protected]
+COMMENT=	Raster to Vector Graphics Converter
+WWW=		https://www.visioncortex.org/vtracer/ \
+		https://github.com/visioncortex/vtracer
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cargo
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	visioncortex
+
+CARGO_CRATES=	adler-1.0.2 \
+		adler32-1.2.0 \
+		ansi_term-0.12.1 \
+		atty-0.2.14 \
+		autocfg-1.5.1 \
+		bit-vec-0.6.3 \
+		bitflags-1.3.2 \
+		bitflags-2.13.1 \
+		bumpalo-3.20.3 \
+		bytemuck-1.25.2 \
+		byteorder-1.5.0 \
+		cfg-if-0.1.10 \
+		cfg-if-1.0.4 \
+		clap-2.34.0 \
+		color_quant-1.1.0 \
+		console_error_panic_hook-0.1.7 \
+		console_log-0.2.2 \
+		crc32fast-1.5.0 \
+		crossbeam-deque-0.8.7 \
+		crossbeam-epoch-0.9.20 \
+		crossbeam-utils-0.8.22 \
+		deflate-0.8.6 \
+		either-1.17.0 \
+		fastrand-2.5.0 \
+		flo_curves-0.3.1 \
+		futures-core-0.3.33 \
+		futures-task-0.3.33 \
+		futures-util-0.3.33 \
+		getrandom-0.4.3 \
+		gif-0.11.4 \
+		hermit-abi-0.1.19 \
+		image-0.23.14 \
+		indoc-1.0.9 \
+		itertools-0.8.2 \
+		itoa-1.0.18 \
+		jpeg-decoder-0.1.22 \
+		js-sys-0.3.103 \
+		libc-0.2.189 \
+		lock_api-0.4.14 \
+		log-0.4.33 \
+		memchr-2.8.3 \
+		memoffset-0.9.1 \
+		miniz_oxide-0.3.7 \
+		miniz_oxide-0.4.4 \
+		num-integer-0.1.46 \
+		num-iter-0.1.46 \
+		num-rational-0.3.2 \
+		num-traits-0.2.19 \
+		once_cell-1.21.4 \
+		parking_lot-0.12.5 \
+		parking_lot_core-0.9.12 \
+		pin-project-lite-0.2.17 \
+		png-0.16.8 \
+		proc-macro2-1.0.107 \
+		pyo3-0.19.2 \
+		pyo3-build-config-0.19.2 \
+		pyo3-ffi-0.19.2 \
+		pyo3-macros-0.19.2 \
+		pyo3-macros-backend-0.19.2 \
+		quote-1.0.47 \
+		r-efi-6.0.0 \
+		rayon-1.12.0 \
+		rayon-core-1.13.0 \
+		redox_syscall-0.5.18 \
+		roots-0.0.6 \
+		rustversion-1.0.23 \
+		scoped_threadpool-0.1.9 \
+		scopeguard-1.2.0 \
+		serde-1.0.229 \
+		serde_core-1.0.229 \
+		serde_derive-1.0.229 \
+		serde_json-1.0.151 \
+		slab-0.4.12 \
+		smallvec-1.15.2 \
+		strsim-0.8.0 \
+		syn-1.0.109 \
+		syn-2.0.119 \
+		syn-3.0.3 \
+		target-lexicon-0.12.16 \
+		textwrap-0.11.0 \
+		tiff-0.6.1 \
+		unicode-ident-1.0.24 \
+		unicode-width-0.1.14 \
+		unindent-0.1.11 \
+		vec_map-0.8.2 \
+		visioncortex-0.8.10 \
+		wasm-bindgen-0.2.126 \
+		wasm-bindgen-macro-0.2.126 \
+		wasm-bindgen-macro-support-0.2.126 \
+		wasm-bindgen-shared-0.2.126 \
+		web-sys-0.3.103 \
+		weezl-0.1.12 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-link-0.2.1 \
+		zmij-1.0.23
+
+PLIST_FILES=	bin/${PORTNAME}
+
+do-install:
+	# binaries (workaround for error: found a virtual manifest at `xx` instead of a package manifest)
+	${INSTALL_PROGRAM} \
+		${WRKDIR}/target/release/${PORTNAME} \
+		${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/graphics/vtracer/distinfo b/graphics/vtracer/distinfo
new file mode 100644
index 000000000000..63df4e0e7712
--- /dev/null
+++ b/graphics/vtracer/distinfo
@@ -0,0 +1,197 @@
+TIMESTAMP = 1786121562
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
+SIZE (rust/crates/adler32-1.2.0.crate) = 6411
+SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
+SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.5.1.crate) = f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53
+SIZE (rust/crates/autocfg-1.5.1.crate) = 18911
+SHA256 (rust/crates/bit-vec-0.6.3.crate) = 349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb
+SIZE (rust/crates/bit-vec-0.6.3.crate) = 19927
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.13.1.crate) = b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da
+SIZE (rust/crates/bitflags-2.13.1.crate) = 51395
+SHA256 (rust/crates/bumpalo-3.20.3.crate) = 72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649
+SIZE (rust/crates/bumpalo-3.20.3.crate) = 98671
+SHA256 (rust/crates/bytemuck-1.25.2.crate) = 95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797
+SIZE (rust/crates/bytemuck-1.25.2.crate) = 54075
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
+SIZE (rust/crates/clap-2.34.0.crate) = 202210
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/console_error_panic_hook-0.1.7.crate) = a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc
+SIZE (rust/crates/console_error_panic_hook-0.1.7.crate) = 507196
+SHA256 (rust/crates/console_log-0.2.2.crate) = e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f
+SIZE (rust/crates/console_log-0.2.2.crate) = 28932
+SHA256 (rust/crates/crc32fast-1.5.0.crate) = 9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511
+SIZE (rust/crates/crc32fast-1.5.0.crate) = 40723
+SHA256 (rust/crates/crossbeam-deque-0.8.7.crate) = 5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb
+SIZE (rust/crates/crossbeam-deque-0.8.7.crate) = 24141
+SHA256 (rust/crates/crossbeam-epoch-0.9.20.crate) = 2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f
+SIZE (rust/crates/crossbeam-epoch-0.9.20.crate) = 47545
+SHA256 (rust/crates/crossbeam-utils-0.8.22.crate) = 61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17
+SIZE (rust/crates/crossbeam-utils-0.8.22.crate) = 46874
+SHA256 (rust/crates/deflate-0.8.6.crate) = 73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174
+SIZE (rust/crates/deflate-0.8.6.crate) = 62365
+SHA256 (rust/crates/either-1.17.0.crate) = 9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d
+SIZE (rust/crates/either-1.17.0.crate) = 21820
+SHA256 (rust/crates/fastrand-2.5.0.crate) = da7c62ceae207dd37ea5b845da6a0696c799f85e97da1ab5b7910be3c1c80223
+SIZE (rust/crates/fastrand-2.5.0.crate) = 20782
+SHA256 (rust/crates/flo_curves-0.3.1.crate) = 1c227ffb4f98baa9073c033e23243089d0ed3dd1f5cd620894452074db48a29b
+SIZE (rust/crates/flo_curves-0.3.1.crate) = 832811
+SHA256 (rust/crates/futures-core-0.3.33.crate) = 2cd50c473c80f6d7c3670a752354b8e569b1a7cbfdc0419ec88e5edad85e0dc7
+SIZE (rust/crates/futures-core-0.3.33.crate) = 14691
+SHA256 (rust/crates/futures-task-0.3.33.crate) = b231ed28831efb4a61a08580c4bc233ec56bc009f4cd8f52da2c3cb97df0c109
+SIZE (rust/crates/futures-task-0.3.33.crate) = 11381
+SHA256 (rust/crates/futures-util-0.3.33.crate) = a77a90a256fce34da66415271e30f94ee91c57b04b8a2c042d9cf3220179deaa
+SIZE (rust/crates/futures-util-0.3.33.crate) = 169725
+SHA256 (rust/crates/getrandom-0.4.3.crate) = 300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099
+SIZE (rust/crates/getrandom-0.4.3.crate) = 52437
+SHA256 (rust/crates/gif-0.11.4.crate) = 3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06
+SIZE (rust/crates/gif-0.11.4.crate) = 634244
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/image-0.23.14.crate) = 24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1
+SIZE (rust/crates/image-0.23.14.crate) = 226804
+SHA256 (rust/crates/indoc-1.0.9.crate) = bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306
+SIZE (rust/crates/indoc-1.0.9.crate) = 13475
+SHA256 (rust/crates/itertools-0.8.2.crate) = f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484
+SIZE (rust/crates/itertools-0.8.2.crate) = 89203
+SHA256 (rust/crates/itoa-1.0.18.crate) = 8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682
+SIZE (rust/crates/itoa-1.0.18.crate) = 15935
+SHA256 (rust/crates/jpeg-decoder-0.1.22.crate) = 229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2
+SIZE (rust/crates/jpeg-decoder-0.1.22.crate) = 228366
+SHA256 (rust/crates/js-sys-0.3.103.crate) = 53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102
+SIZE (rust/crates/js-sys-0.3.103.crate) = 108366
+SHA256 (rust/crates/libc-0.2.189.crate) = 3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2
+SIZE (rust/crates/libc-0.2.189.crate) = 851502
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.33.crate) = 0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad
+SIZE (rust/crates/log-0.4.33.crate) = 52997
+SHA256 (rust/crates/memchr-2.8.3.crate) = cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98
+SIZE (rust/crates/memchr-2.8.3.crate) = 99165
+SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
+SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
+SHA256 (rust/crates/miniz_oxide-0.3.7.crate) = 791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435
+SIZE (rust/crates/miniz_oxide-0.3.7.crate) = 44996
+SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
+SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-iter-0.1.46.crate) = c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b
+SIZE (rust/crates/num-iter-0.1.46.crate) = 10763
+SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
+SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/once_cell-1.21.4.crate) = 9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50
+SIZE (rust/crates/once_cell-1.21.4.crate) = 35010
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+SHA256 (rust/crates/pin-project-lite-0.2.17.crate) = a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd
+SIZE (rust/crates/pin-project-lite-0.2.17.crate) = 31034
+SHA256 (rust/crates/png-0.16.8.crate) = 3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6
+SIZE (rust/crates/png-0.16.8.crate) = 52598
+SHA256 (rust/crates/proc-macro2-1.0.107.crate) = 985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9
+SIZE (rust/crates/proc-macro2-1.0.107.crate) = 59588
+SHA256 (rust/crates/pyo3-0.19.2.crate) = e681a6cfdc4adcc93b4d3cf993749a4552018ee0a9b65fc0ccfad74352c72a38
+SIZE (rust/crates/pyo3-0.19.2.crate) = 418228
+SHA256 (rust/crates/pyo3-build-config-0.19.2.crate) = 076c73d0bc438f7a4ef6fdd0c3bb4732149136abd952b110ac93e4edb13a6ba5
+SIZE (rust/crates/pyo3-build-config-0.19.2.crate) = 29206
+SHA256 (rust/crates/pyo3-ffi-0.19.2.crate) = e53cee42e77ebe256066ba8aa77eff722b3bb91f3419177cf4cd0f304d3284d9
+SIZE (rust/crates/pyo3-ffi-0.19.2.crate) = 66500
+SHA256 (rust/crates/pyo3-macros-0.19.2.crate) = dfeb4c99597e136528c6dd7d5e3de5434d1ceaf487436a3f03b2d56b6fc9efd1
+SIZE (rust/crates/pyo3-macros-0.19.2.crate) = 7173
+SHA256 (rust/crates/pyo3-macros-backend-0.19.2.crate) = 947dc12175c254889edc0c02e399476c2f652b4b9ebd123aa655c224de259536
+SIZE (rust/crates/pyo3-macros-backend-0.19.2.crate) = 49962
+SHA256 (rust/crates/quote-1.0.47.crate) = 1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001
+SIZE (rust/crates/quote-1.0.47.crate) = 31622
+SHA256 (rust/crates/r-efi-6.0.0.crate) = f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf
+SIZE (rust/crates/r-efi-6.0.0.crate) = 65303
+SHA256 (rust/crates/rayon-1.12.0.crate) = fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d
+SIZE (rust/crates/rayon-1.12.0.crate) = 183391
+SHA256 (rust/crates/rayon-core-1.13.0.crate) = 22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91
+SIZE (rust/crates/rayon-core-1.13.0.crate) = 73151
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+SHA256 (rust/crates/roots-0.0.6.crate) = 84348444bd7ad45729d0c49a4240d7cdc11c9d512c06c5ad1835c1ad4acda6db
+SIZE (rust/crates/roots-0.0.6.crate) = 29110
+SHA256 (rust/crates/rustversion-1.0.23.crate) = cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f
+SIZE (rust/crates/rustversion-1.0.23.crate) = 21013
+SHA256 (rust/crates/scoped_threadpool-0.1.9.crate) = 1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8
+SIZE (rust/crates/scoped_threadpool-0.1.9.crate) = 7800
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/serde-1.0.229.crate) = 4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba
+SIZE (rust/crates/serde-1.0.229.crate) = 83669
+SHA256 (rust/crates/serde_core-1.0.229.crate) = 67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48
+SIZE (rust/crates/serde_core-1.0.229.crate) = 63100
+SHA256 (rust/crates/serde_derive-1.0.229.crate) = e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348
+SIZE (rust/crates/serde_derive-1.0.229.crate) = 59864
+SHA256 (rust/crates/serde_json-1.0.151.crate) = c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14
+SIZE (rust/crates/serde_json-1.0.151.crate) = 156556
+SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5
+SIZE (rust/crates/slab-0.4.12.crate) = 19080
+SHA256 (rust/crates/smallvec-1.15.2.crate) = 8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90
+SIZE (rust/crates/smallvec-1.15.2.crate) = 34899
+SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
+SIZE (rust/crates/strsim-0.8.0.crate) = 9309
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.119.crate) = 872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297
+SIZE (rust/crates/syn-2.0.119.crate) = 307407
+SHA256 (rust/crates/syn-3.0.3.crate) = 53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3
+SIZE (rust/crates/syn-3.0.3.crate) = 312999
+SHA256 (rust/crates/target-lexicon-0.12.16.crate) = 61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1
+SIZE (rust/crates/target-lexicon-0.12.16.crate) = 26488
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/tiff-0.6.1.crate) = 9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437
+SIZE (rust/crates/tiff-0.6.1.crate) = 1399263
+SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75
+SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298
+SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af
+SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615
+SHA256 (rust/crates/unindent-0.1.11.crate) = e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c
+SIZE (rust/crates/unindent-0.1.11.crate) = 7700
+SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
+SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
+SHA256 (rust/crates/visioncortex-0.8.10.crate) = 7c9a7e6cc136c7c79b4adbd311c46c323a19db7baf446822b5f90f84375934e3
+SIZE (rust/crates/visioncortex-0.8.10.crate) = 70050
+SHA256 (rust/crates/wasm-bindgen-0.2.126.crate) = 4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4
+SIZE (rust/crates/wasm-bindgen-0.2.126.crate) = 67461
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.126.crate) = 167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1
+SIZE (rust/crates/wasm-bindgen-macro-0.2.126.crate) = 9303
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.126.crate) = f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.126.crate) = 82688
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.126.crate) = dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24
+SIZE (rust/crates/wasm-bindgen-shared-0.2.126.crate) = 11287
+SHA256 (rust/crates/web-sys-0.3.103.crate) = 8622dcb61c0bcc9fffa6938bed81210af2da9a7e4a1a834b2e37a59b6dfb6141
+SIZE (rust/crates/web-sys-0.3.103.crate) = 675560
+SHA256 (rust/crates/weezl-0.1.12.crate) = a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88
+SIZE (rust/crates/weezl-0.1.12.crate) = 46045
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
+SHA256 (rust/crates/zmij-1.0.23.crate) = 29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b
+SIZE (rust/crates/zmij-1.0.23.crate) = 28612
+SHA256 (visioncortex-vtracer-0.6.15_GH0.tar.gz) = 2ad16823ca897de2f3c12e104845ecdf2c018bdf871ebb7c07e63dbfd4a2ffa9
+SIZE (visioncortex-vtracer-0.6.15_GH0.tar.gz) = 30969314
diff --git a/graphics/vtracer/pkg-descr b/graphics/vtracer/pkg-descr
new file mode 100644
index 000000000000..d850c87a499c
--- /dev/null
+++ b/graphics/vtracer/pkg-descr
@@ -0,0 +1,3 @@
+VTracer is an open source software to convert raster images (like jpg & png)
+into vector graphics (svg). It can vectorize graphics and photographs and trace
+the curves to output compact vector files.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.