git: dc9c65e02b95 - main - graphics/satty: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Tue, 26 Dec 2023 00:45:23 UTC
The branch main has been updated by jbeich:

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

commit dc9c65e02b95ac2fc0cce442b150a4904854260e
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-12-06 11:30:42 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-12-26 00:44:17 +0000

    graphics/satty: add new port
    
    Satty is a screenshot annotation tool inspired by Swappy and Flameshot.
    
    Satty has been created to provide the following improvements over
    existing screenshot annotation tools:
    
    - very simple and easy to understand toolset (like Swappy)
    - fullscreen annotation mode and post shot cropping (like Flameshot)
    - working on wlroots based compositors (Sway, Hyprland, River, ...)
    - minimal, modern looking UI, thanks to GTK and Adwaita
    - be a playground for new features (post window selection, post paint editing, ...)
    
    https://github.com/gabm/Satty
---
 graphics/Makefile              |   1 +
 graphics/satty/Makefile        |  30 ++++
 graphics/satty/Makefile.crates | 175 ++++++++++++++++++++
 graphics/satty/distinfo        | 353 +++++++++++++++++++++++++++++++++++++++++
 graphics/satty/pkg-descr       |  10 ++
 5 files changed, 569 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 557aeb3500e7..50f1c22899e1 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -1082,6 +1082,7 @@
     SUBDIR += sane-airscan
     SUBDIR += sane-backends
     SUBDIR += sane-epkowa
+    SUBDIR += satty
     SUBDIR += scale2x
     SUBDIR += scantailor
     SUBDIR += scr2png
diff --git a/graphics/satty/Makefile b/graphics/satty/Makefile
new file mode 100644
index 000000000000..61b8b3b3331a
--- /dev/null
+++ b/graphics/satty/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	satty
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.8.2
+CATEGORIES=	graphics wayland
+MASTER_SITES=	CRATESIO
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Modern screenshot annotation
+WWW=		https://github.com/gabm/Satty
+
+LICENSE=	MPL20
+
+USES=		cargo desktop-file-utils gnome
+USE_GITHUB=	yes
+USE_GNOME=	cairo gdkpixbuf2 gtk40 libadwaita
+GH_ACCOUNT=	gabm
+GH_PROJECT=	Satty
+PLIST_FILES=	bin/${PORTNAME} \
+		share/applications/${PORTNAME}.desktop \
+		share/icons/hicolor/scalable/apps/${PORTNAME}.svg
+
+post-install:
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+.for f in *.desktop assets/*.svg
+	${MKDIR} ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*.${f:E}:H}
+	${INSTALL_DATA} ${WRKSRC}/${f} \
+		${STAGEDIR}${PREFIX}/${PLIST_FILES:M*.${f:E}}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/graphics/satty/Makefile.crates b/graphics/satty/Makefile.crates
new file mode 100644
index 000000000000..97255f4ebcf5
--- /dev/null
+++ b/graphics/satty/Makefile.crates
@@ -0,0 +1,175 @@
+CARGO_CRATES=	addr2line-0.21.0 \
+		adler-1.0.2 \
+		anstream-0.6.4 \
+		anstyle-1.0.4 \
+		anstyle-parse-0.2.3 \
+		anstyle-query-1.0.1 \
+		anstyle-wincon-3.0.2 \
+		anyhow-1.0.75 \
+		async-trait-0.1.74 \
+		autocfg-1.1.0 \
+		backtrace-0.3.69 \
+		bitflags-1.3.2 \
+		bumpalo-3.14.0 \
+		byteorder-1.5.0 \
+		bytes-1.5.0 \
+		cairo-rs-0.17.10 \
+		cairo-sys-rs-0.17.10 \
+		cc-1.0.83 \
+		cfg-expr-0.15.5 \
+		cfg-if-1.0.0 \
+		clap-4.4.11 \
+		clap_builder-4.4.11 \
+		clap_complete-4.4.4 \
+		clap_complete_fig-4.4.2 \
+		clap_complete_nushell-4.4.2 \
+		clap_derive-4.4.7 \
+		clap_lex-0.6.0 \
+		colorchoice-1.0.0 \
+		crc32fast-1.3.2 \
+		equivalent-1.0.1 \
+		field-offset-0.3.6 \
+		flate2-1.0.28 \
+		flume-0.10.14 \
+		fragile-2.0.0 \
+		futures-0.3.29 \
+		futures-channel-0.3.29 \
+		futures-core-0.3.29 \
+		futures-executor-0.3.29 \
+		futures-io-0.3.29 \
+		futures-macro-0.3.29 \
+		futures-sink-0.3.29 \
+		futures-task-0.3.29 \
+		futures-util-0.3.29 \
+		gdk-pixbuf-0.17.10 \
+		gdk-pixbuf-sys-0.17.10 \
+		gdk4-0.6.3 \
+		gdk4-sys-0.6.3 \
+		getrandom-0.2.11 \
+		gimli-0.28.1 \
+		gio-0.17.10 \
+		gio-sys-0.17.10 \
+		glib-0.17.10 \
+		glib-macros-0.17.10 \
+		glib-sys-0.17.10 \
+		gobject-sys-0.17.10 \
+		graphene-rs-0.17.10 \
+		graphene-sys-0.17.10 \
+		gsk4-0.6.3 \
+		gsk4-sys-0.6.3 \
+		gtk4-0.6.6 \
+		gtk4-macros-0.6.6 \
+		gtk4-sys-0.6.3 \
+		gvdb-0.4.2 \
+		hashbrown-0.14.3 \
+		heck-0.4.1 \
+		hermit-abi-0.3.3 \
+		indexmap-2.1.0 \
+		itoa-1.0.9 \
+		js-sys-0.3.66 \
+		lazy_static-1.4.0 \
+		libadwaita-0.4.4 \
+		libadwaita-sys-0.4.4 \
+		libc-0.2.150 \
+		lock_api-0.4.11 \
+		log-0.4.20 \
+		memchr-2.6.4 \
+		memmap2-0.7.1 \
+		memoffset-0.9.0 \
+		miniz_oxide-0.7.1 \
+		mio-0.8.9 \
+		nanorand-0.7.0 \
+		num_cpus-1.16.0 \
+		object-0.32.1 \
+		once_cell-1.18.0 \
+		pango-0.17.10 \
+		pango-sys-0.17.10 \
+		pangocairo-0.17.10 \
+		pangocairo-sys-0.17.10 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.9 \
+		pin-project-1.1.3 \
+		pin-project-internal-1.1.3 \
+		pin-project-lite-0.2.13 \
+		pin-utils-0.1.0 \
+		pkg-config-0.3.27 \
+		proc-macro-crate-1.3.1 \
+		proc-macro-error-1.0.4 \
+		proc-macro-error-attr-1.0.4 \
+		proc-macro2-1.0.70 \
+		quick-xml-0.29.0 \
+		quote-1.0.33 \
+		redox_syscall-0.4.1 \
+		relm4-0.6.2 \
+		relm4-icons-0.6.0 \
+		relm4-macros-0.6.2 \
+		rustc-demangle-0.1.23 \
+		rustc_version-0.4.0 \
+		ryu-1.0.15 \
+		safe-transmute-0.11.2 \
+		same-file-1.0.6 \
+		scopeguard-1.2.0 \
+		semver-1.0.20 \
+		serde-1.0.193 \
+		serde_derive-1.0.193 \
+		serde_json-1.0.108 \
+		serde_spanned-0.6.4 \
+		signal-hook-registry-1.4.1 \
+		slab-0.4.9 \
+		smallvec-1.11.2 \
+		socket2-0.5.5 \
+		spin-0.9.8 \
+		static_assertions-1.1.0 \
+		strsim-0.10.0 \
+		syn-1.0.109 \
+		syn-2.0.39 \
+		system-deps-6.2.0 \
+		target-lexicon-0.12.12 \
+		thiserror-1.0.50 \
+		thiserror-impl-1.0.50 \
+		tokio-1.34.0 \
+		tokio-macros-2.2.0 \
+		toml-0.8.8 \
+		toml_datetime-0.6.5 \
+		toml_edit-0.19.15 \
+		toml_edit-0.21.0 \
+		tracing-0.1.40 \
+		tracing-attributes-0.1.27 \
+		tracing-core-0.1.32 \
+		unicode-ident-1.0.12 \
+		utf8parse-0.2.1 \
+		version-compare-0.1.1 \
+		version_check-0.9.4 \
+		walkdir-2.4.0 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.89 \
+		wasm-bindgen-backend-0.2.89 \
+		wasm-bindgen-macro-0.2.89 \
+		wasm-bindgen-macro-support-0.2.89 \
+		wasm-bindgen-shared-0.2.89 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.6 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-sys-0.48.0 \
+		windows-sys-0.52.0 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.0 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.0 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.0 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.0 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.0 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.0 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.0 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.0 \
+		winnow-0.5.25 \
+		zvariant-3.15.0 \
+		zvariant_derive-3.15.0 \
+		zvariant_utils-1.0.1
diff --git a/graphics/satty/distinfo b/graphics/satty/distinfo
new file mode 100644
index 000000000000..bdcf4ddedd00
--- /dev/null
+++ b/graphics/satty/distinfo
@@ -0,0 +1,353 @@
+TIMESTAMP = 1701862242
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/anstream-0.6.4.crate) = 2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44
+SIZE (rust/crates/anstream-0.6.4.crate) = 20593
+SHA256 (rust/crates/anstyle-1.0.4.crate) = 7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87
+SIZE (rust/crates/anstyle-1.0.4.crate) = 13998
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.1.crate) = a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748
+SIZE (rust/crates/anstyle-query-1.0.1.crate) = 8620
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
+SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
+SHA256 (rust/crates/async-trait-0.1.74.crate) = a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9
+SIZE (rust/crates/async-trait-0.1.74.crate) = 28997
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
+SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.5.0.crate) = a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223
+SIZE (rust/crates/bytes-1.5.0.crate) = 58909
+SHA256 (rust/crates/cairo-rs-0.17.10.crate) = ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a
+SIZE (rust/crates/cairo-rs-0.17.10.crate) = 53805
+SHA256 (rust/crates/cairo-sys-rs-0.17.10.crate) = 691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1
+SIZE (rust/crates/cairo-sys-rs-0.17.10.crate) = 11646
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cfg-expr-0.15.5.crate) = 03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3
+SIZE (rust/crates/cfg-expr-0.15.5.crate) = 41639
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-4.4.11.crate) = bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2
+SIZE (rust/crates/clap-4.4.11.crate) = 54782
+SHA256 (rust/crates/clap_builder-4.4.11.crate) = a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb
+SIZE (rust/crates/clap_builder-4.4.11.crate) = 163317
+SHA256 (rust/crates/clap_complete-4.4.4.crate) = bffe91f06a11b4b9420f62103854e90867812cd5d01557f853c5ee8e791b12ae
+SIZE (rust/crates/clap_complete-4.4.4.crate) = 37405
+SHA256 (rust/crates/clap_complete_fig-4.4.2.crate) = 87e571d70e22ec91d34e1c5317c8308035a2280d925167646bf094fc5de1737c
+SIZE (rust/crates/clap_complete_fig-4.4.2.crate) = 10495
+SHA256 (rust/crates/clap_complete_nushell-4.4.2.crate) = 948bf70d7e1f179635d3ef819ce8baa2d3074d0d57816ac37387cd6f9eed0c31
+SIZE (rust/crates/clap_complete_nushell-4.4.2.crate) = 33390
+SHA256 (rust/crates/clap_derive-4.4.7.crate) = cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442
+SIZE (rust/crates/clap_derive-4.4.7.crate) = 29046
+SHA256 (rust/crates/clap_lex-0.6.0.crate) = 702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1
+SIZE (rust/crates/clap_lex-0.6.0.crate) = 12272
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
+SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
+SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e
+SIZE (rust/crates/flate2-1.0.28.crate) = 73690
+SHA256 (rust/crates/flume-0.10.14.crate) = 1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577
+SIZE (rust/crates/flume-0.10.14.crate) = 65389
+SHA256 (rust/crates/fragile-2.0.0.crate) = 6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa
+SIZE (rust/crates/fragile-2.0.0.crate) = 14668
+SHA256 (rust/crates/futures-0.3.29.crate) = da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335
+SIZE (rust/crates/futures-0.3.29.crate) = 53624
+SHA256 (rust/crates/futures-channel-0.3.29.crate) = ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb
+SIZE (rust/crates/futures-channel-0.3.29.crate) = 32432
+SHA256 (rust/crates/futures-core-0.3.29.crate) = eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c
+SIZE (rust/crates/futures-core-0.3.29.crate) = 14808
+SHA256 (rust/crates/futures-executor-0.3.29.crate) = 0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc
+SIZE (rust/crates/futures-executor-0.3.29.crate) = 17745
+SHA256 (rust/crates/futures-io-0.3.29.crate) = 8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa
+SIZE (rust/crates/futures-io-0.3.29.crate) = 8908
+SHA256 (rust/crates/futures-macro-0.3.29.crate) = 53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb
+SIZE (rust/crates/futures-macro-0.3.29.crate) = 11278
+SHA256 (rust/crates/futures-sink-0.3.29.crate) = e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817
+SIZE (rust/crates/futures-sink-0.3.29.crate) = 7853
+SHA256 (rust/crates/futures-task-0.3.29.crate) = efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2
+SIZE (rust/crates/futures-task-0.3.29.crate) = 11853
+SHA256 (rust/crates/futures-util-0.3.29.crate) = a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104
+SIZE (rust/crates/futures-util-0.3.29.crate) = 160207
+SHA256 (rust/crates/gdk-pixbuf-0.17.10.crate) = 695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717
+SIZE (rust/crates/gdk-pixbuf-0.17.10.crate) = 18097
+SHA256 (rust/crates/gdk-pixbuf-sys-0.17.10.crate) = 9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb
+SIZE (rust/crates/gdk-pixbuf-sys-0.17.10.crate) = 9689
+SHA256 (rust/crates/gdk4-0.6.3.crate) = c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff
+SIZE (rust/crates/gdk4-0.6.3.crate) = 87365
+SHA256 (rust/crates/gdk4-sys-0.6.3.crate) = 1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64
+SIZE (rust/crates/gdk4-sys-0.6.3.crate) = 64159
+SHA256 (rust/crates/getrandom-0.2.11.crate) = fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f
+SIZE (rust/crates/getrandom-0.2.11.crate) = 35391
+SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
+SIZE (rust/crates/gimli-0.28.1.crate) = 270497
+SHA256 (rust/crates/gio-0.17.10.crate) = a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a
+SIZE (rust/crates/gio-0.17.10.crate) = 211583
+SHA256 (rust/crates/gio-sys-0.17.10.crate) = 0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3
+SIZE (rust/crates/gio-sys-0.17.10.crate) = 81313
+SHA256 (rust/crates/glib-0.17.10.crate) = d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b
+SIZE (rust/crates/glib-0.17.10.crate) = 259266
+SHA256 (rust/crates/glib-macros-0.17.10.crate) = eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26
+SIZE (rust/crates/glib-macros-0.17.10.crate) = 48038
+SHA256 (rust/crates/glib-sys-0.17.10.crate) = d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0
+SIZE (rust/crates/glib-sys-0.17.10.crate) = 60124
+SHA256 (rust/crates/gobject-sys-0.17.10.crate) = cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062
+SIZE (rust/crates/gobject-sys-0.17.10.crate) = 18631
+SHA256 (rust/crates/graphene-rs-0.17.10.crate) = def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9
+SIZE (rust/crates/graphene-rs-0.17.10.crate) = 17613
+SHA256 (rust/crates/graphene-sys-0.17.10.crate) = 1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d
+SIZE (rust/crates/graphene-sys-0.17.10.crate) = 11496
+SHA256 (rust/crates/gsk4-0.6.3.crate) = 6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c
+SIZE (rust/crates/gsk4-0.6.3.crate) = 26706
+SHA256 (rust/crates/gsk4-sys-0.6.3.crate) = c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0
+SIZE (rust/crates/gsk4-sys-0.6.3.crate) = 12299
+SHA256 (rust/crates/gtk4-0.6.6.crate) = b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b
+SIZE (rust/crates/gtk4-0.6.6.crate) = 473518
+SHA256 (rust/crates/gtk4-macros-0.6.6.crate) = 6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f
+SIZE (rust/crates/gtk4-macros-0.6.6.crate) = 16725
+SHA256 (rust/crates/gtk4-sys-0.6.3.crate) = 5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f
+SIZE (rust/crates/gtk4-sys-0.6.3.crate) = 104419
+SHA256 (rust/crates/gvdb-0.4.2.crate) = a7139233c0ecb66f285c47a3c1c02b35c8d52a42ca4c7448d0163e5637bb4bd3
+SIZE (rust/crates/gvdb-0.4.2.crate) = 34072
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7
+SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253
+SHA256 (rust/crates/indexmap-2.1.0.crate) = d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f
+SIZE (rust/crates/indexmap-2.1.0.crate) = 68224
+SHA256 (rust/crates/itoa-1.0.9.crate) = af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38
+SIZE (rust/crates/itoa-1.0.9.crate) = 10492
+SHA256 (rust/crates/js-sys-0.3.66.crate) = cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca
+SIZE (rust/crates/js-sys-0.3.66.crate) = 80765
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libadwaita-0.4.4.crate) = 1ab9c0843f9f23ff25634df2743690c3a1faffe0a190e60c490878517eb81abf
+SIZE (rust/crates/libadwaita-0.4.4.crate) = 99823
+SHA256 (rust/crates/libadwaita-sys-0.4.4.crate) = 4231cb2499a9f0c4cdfa4885414b33e39901ddcac61150bc0bb4ff8a57ede404
+SIZE (rust/crates/libadwaita-sys-0.4.4.crate) = 24615
+SHA256 (rust/crates/libc-0.2.150.crate) = 89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c
+SIZE (rust/crates/libc-0.2.150.crate) = 719359
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/memchr-2.6.4.crate) = f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167
+SIZE (rust/crates/memchr-2.6.4.crate) = 94439
+SHA256 (rust/crates/memmap2-0.7.1.crate) = f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6
+SIZE (rust/crates/memmap2-0.7.1.crate) = 30741
+SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
+SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
+SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7
+SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194
+SHA256 (rust/crates/mio-0.8.9.crate) = 3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0
+SIZE (rust/crates/mio-0.8.9.crate) = 102227
+SHA256 (rust/crates/nanorand-0.7.0.crate) = 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
+SIZE (rust/crates/nanorand-0.7.0.crate) = 18437
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/object-0.32.1.crate) = 9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0
+SIZE (rust/crates/object-0.32.1.crate) = 275463
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
+SHA256 (rust/crates/pango-0.17.10.crate) = 35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48
+SIZE (rust/crates/pango-0.17.10.crate) = 47701
+SHA256 (rust/crates/pango-sys-0.17.10.crate) = 3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195
+SIZE (rust/crates/pango-sys-0.17.10.crate) = 24753
+SHA256 (rust/crates/pangocairo-0.17.10.crate) = 86bf29cb1c2e73817944f66011fb12135e1c6d268e8e4c5cfc689101c25822cf
+SIZE (rust/crates/pangocairo-0.17.10.crate) = 5599
+SHA256 (rust/crates/pangocairo-sys-0.17.10.crate) = 94dfd38d9bf8ff5f881be2107ba49fcb22090d247aa00133f8dadf96b122b97a
+SIZE (rust/crates/pangocairo-sys-0.17.10.crate) = 3214
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e
+SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445
+SHA256 (rust/crates/pin-project-1.1.3.crate) = fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422
+SIZE (rust/crates/pin-project-1.1.3.crate) = 57740
+SHA256 (rust/crates/pin-project-internal-1.1.3.crate) = 4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405
+SIZE (rust/crates/pin-project-internal-1.1.3.crate) = 27824
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
+SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.70.crate) = 39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b
+SIZE (rust/crates/proc-macro2-1.0.70.crate) = 44343
+SHA256 (rust/crates/quick-xml-0.29.0.crate) = 81b9228215d82c7b61490fec1de287136b5de6f5700f6e58ea9ad61a7964ca51
+SIZE (rust/crates/quick-xml-0.29.0.crate) = 160308
+SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
+SIZE (rust/crates/quote-1.0.33.crate) = 28090
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/relm4-0.6.2.crate) = 0c16f3fad883034773b7f5af4d7e865532b8f3641e5a8bab2a34561a8d960d81
+SIZE (rust/crates/relm4-0.6.2.crate) = 127269
+SHA256 (rust/crates/relm4-icons-0.6.0.crate) = 6e28bcc718a587bcfa31b034e0b8f4efe5b70e945b7de9d7d154b45357a0dadc
+SIZE (rust/crates/relm4-icons-0.6.0.crate) = 1163890
+SHA256 (rust/crates/relm4-macros-0.6.2.crate) = 9340e2553c0a184a80a0bfa1dcf73c47f3d48933aa6be90724b202f9fbd24735
+SIZE (rust/crates/relm4-macros-0.6.2.crate) = 40310
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/ryu-1.0.15.crate) = 1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741
+SIZE (rust/crates/ryu-1.0.15.crate) = 46906
+SHA256 (rust/crates/safe-transmute-0.11.2.crate) = 98a01dab6acf992653be49205bdd549f32f17cb2803e8eacf1560bf97259aae8
+SIZE (rust/crates/safe-transmute-0.11.2.crate) = 27427
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/semver-1.0.20.crate) = 836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090
+SIZE (rust/crates/semver-1.0.20.crate) = 30451
+SHA256 (rust/crates/serde-1.0.193.crate) = 25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89
+SIZE (rust/crates/serde-1.0.193.crate) = 76863
+SHA256 (rust/crates/serde_derive-1.0.193.crate) = 43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3
+SIZE (rust/crates/serde_derive-1.0.193.crate) = 55692
+SHA256 (rust/crates/serde_json-1.0.108.crate) = 3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b
+SIZE (rust/crates/serde_json-1.0.108.crate) = 146476
+SHA256 (rust/crates/serde_spanned-0.6.4.crate) = 12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80
+SIZE (rust/crates/serde_spanned-0.6.4.crate) = 7756
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.11.2.crate) = 4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970
+SIZE (rust/crates/smallvec-1.11.2.crate) = 34801
+SHA256 (rust/crates/socket2-0.5.5.crate) = 7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9
+SIZE (rust/crates/socket2-0.5.5.crate) = 54863
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.39.crate) = 23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a
+SIZE (rust/crates/syn-2.0.39.crate) = 244129
+SHA256 (rust/crates/system-deps-6.2.0.crate) = 2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331
+SIZE (rust/crates/system-deps-6.2.0.crate) = 24961
+SHA256 (rust/crates/target-lexicon-0.12.12.crate) = 14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a
+SIZE (rust/crates/target-lexicon-0.12.12.crate) = 25156
+SHA256 (rust/crates/thiserror-1.0.50.crate) = f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2
+SIZE (rust/crates/thiserror-1.0.50.crate) = 19414
+SHA256 (rust/crates/thiserror-impl-1.0.50.crate) = 266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8
+SIZE (rust/crates/thiserror-impl-1.0.50.crate) = 15357
+SHA256 (rust/crates/tokio-1.34.0.crate) = d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9
+SIZE (rust/crates/tokio-1.34.0.crate) = 736847
+SHA256 (rust/crates/tokio-macros-2.2.0.crate) = 5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b
+SIZE (rust/crates/tokio-macros-2.2.0.crate) = 11520
+SHA256 (rust/crates/toml-0.8.8.crate) = a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35
+SIZE (rust/crates/toml-0.8.8.crate) = 50451
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421
+SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324
+SHA256 (rust/crates/toml_edit-0.21.0.crate) = d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03
+SIZE (rust/crates/toml_edit-0.21.0.crate) = 101265
+SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
+SIZE (rust/crates/tracing-0.1.40.crate) = 79459
+SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
+SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
+SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
+SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29
+SIZE (rust/crates/version-compare-0.1.1.crate) = 13224
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/walkdir-2.4.0.crate) = d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee
+SIZE (rust/crates/walkdir-2.4.0.crate) = 23550
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.89.crate) = 0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e
+SIZE (rust/crates/wasm-bindgen-0.2.89.crate) = 181935
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826
+SIZE (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 28205
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2
+SIZE (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 13906
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = 20008
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7265
+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-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
+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-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (rust/crates/winnow-0.5.25.crate) = b7e87b8dfbe3baffbe687eef2e164e32286eff31a5ee16463ce03d991643ec94
+SIZE (rust/crates/winnow-0.5.25.crate) = 149699
+SHA256 (rust/crates/zvariant-3.15.0.crate) = 44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c
+SIZE (rust/crates/zvariant-3.15.0.crate) = 72221
+SHA256 (rust/crates/zvariant_derive-3.15.0.crate) = 934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd
+SIZE (rust/crates/zvariant_derive-3.15.0.crate) = 10943
+SHA256 (rust/crates/zvariant_utils-1.0.1.crate) = 7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200
+SIZE (rust/crates/zvariant_utils-1.0.1.crate) = 6223
+SHA256 (gabm-Satty-v0.8.2_GH0.tar.gz) = d66284cc8fe7e507c24eb607844bbd8523343aa31e5ccf69a4a7d4c95b9c6a3e
+SIZE (gabm-Satty-v0.8.2_GH0.tar.gz) = 910347
diff --git a/graphics/satty/pkg-descr b/graphics/satty/pkg-descr
new file mode 100644
index 000000000000..6284242269d2
--- /dev/null
+++ b/graphics/satty/pkg-descr
@@ -0,0 +1,10 @@
+Satty is a screenshot annotation tool inspired by Swappy and Flameshot.
+
+Satty has been created to provide the following improvements over
+existing screenshot annotation tools:
+
+- very simple and easy to understand toolset (like Swappy)
+- fullscreen annotation mode and post shot cropping (like Flameshot)
+- working on wlroots based compositors (Sway, Hyprland, River, ...)
+- minimal, modern looking UI, thanks to GTK and Adwaita
+- be a playground for new features (post window selection, post paint editing, ...)