git: ff94a08526b8 - main - deskutils/cosmic-screenshot: New port: Screenshot capture tool for the COSMIC desktop environment

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Tue, 27 Oct 2026 03:30:27 UTC
The branch main has been updated by tagattie:

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

commit ff94a08526b89d1646b0783b59710d661d84ff30
Author:     Josh Megnauth <jo.sh@tutanota.com>
AuthorDate: 2026-10-23 19:05:46 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2026-10-27 03:30:03 +0000

    deskutils/cosmic-screenshot: New port: Screenshot capture tool for the COSMIC desktop environment
    
    COSMIC Screenshot is a utility to captures images of displays,
    cropped slices of those displays, or images of app windows.
    
    WWW: https://github.com/pop-os/cosmic-screenshot
    
    PR:             299953
    Reported by:    Josh Megnauth <jo.sh@tutanota.com> (new maintainer)
---
 deskutils/Makefile                          |   1 +
 deskutils/cosmic-screenshot/Makefile        |  42 +++
 deskutils/cosmic-screenshot/Makefile.crates | 212 ++++++++++++++
 deskutils/cosmic-screenshot/distinfo        | 427 ++++++++++++++++++++++++++++
 deskutils/cosmic-screenshot/pkg-descr       |   2 +
 5 files changed, 684 insertions(+)

diff --git a/deskutils/Makefile b/deskutils/Makefile
index 5a869d4d6708..0411c39de6a3 100644
--- a/deskutils/Makefile
+++ b/deskutils/Makefile
@@ -41,6 +41,7 @@
     SUBDIR += coolreader
     SUBDIR += copyq
     SUBDIR += coregarage
+    SUBDIR += cosmic-screenshot
     SUBDIR += countdown
     SUBDIR += crengine-ng
     SUBDIR += crqt-ng
diff --git a/deskutils/cosmic-screenshot/Makefile b/deskutils/cosmic-screenshot/Makefile
new file mode 100644
index 000000000000..e07124295a51
--- /dev/null
+++ b/deskutils/cosmic-screenshot/Makefile
@@ -0,0 +1,42 @@
+PORTNAME=	cosmic-screenshot
+PORTVERSION=	1.8.0
+DISTVERSIONPREFIX=	epoch-
+CATEGORIES=	deskutils
+
+MAINTAINER=	jo.sh@tutanota.com
+COMMENT=	Screenshot capture tool for the COSMIC desktop environment
+WWW=		https://github.com/pop-os/cosmic-screenshot
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	cosmic-icons>=${PORTVERSION}:x11-themes/cosmic-icons \
+		xdg-desktop-portal-cosmic>=${PORTVERSION}:x11/xdg-desktop-portal-cosmic
+
+USES=		cargo desktop-file-utils
+USE_GITHUB=	yes
+GH_ACCOUNT=	pop-os
+
+PLIST_FILES=	bin/cosmic-screenshot \
+		share/applications/com.system76.CosmicScreenshot.desktop \
+		share/icons/hicolor/16x16/apps/com.system76.CosmicScreenshot.svg \
+		share/icons/hicolor/24x24/apps/com.system76.CosmicScreenshot.svg \
+		share/icons/hicolor/32x32/apps/com.system76.CosmicScreenshot.svg \
+		share/icons/hicolor/48x48/apps/com.system76.CosmicScreenshot.svg \
+		share/icons/hicolor/64x64/apps/com.system76.CosmicScreenshot.svg \
+		share/icons/hicolor/128x128/apps/com.system76.CosmicScreenshot.svg \
+		share/icons/hicolor/256x256/apps/com.system76.CosmicScreenshot.svg
+
+post-install:
+	@${MKDIR} ${STAGEDIR}${DESKTOPDIR}
+	${INSTALL_DATA} \
+		${WRKSRC}/resources/com.system76.CosmicScreenshot.desktop \
+		${STAGEDIR}${DESKTOPDIR}
+.for size in 16x16 24x24 32x32 48x48 64x64 128x128 256x256
+	@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}/apps
+	${INSTALL_DATA} \
+		${WRKSRC}/resources/icons/hicolor/${size}/apps/com.system76.CosmicScreenshot.svg \
+		${STAGEDIR}${PREFIX}/share/icons/hicolor/${size}/apps
+.endfor
+
+.include <bsd.port.mk>
diff --git a/deskutils/cosmic-screenshot/Makefile.crates b/deskutils/cosmic-screenshot/Makefile.crates
new file mode 100644
index 000000000000..692b4d90cb47
--- /dev/null
+++ b/deskutils/cosmic-screenshot/Makefile.crates
@@ -0,0 +1,212 @@
+CARGO_CRATES=	anstream-1.0.0 \
+		anstyle-1.0.14 \
+		anstyle-parse-1.0.0 \
+		anstyle-query-1.1.5 \
+		anstyle-wincon-3.0.11 \
+		anyhow-1.0.102 \
+		arc-swap-1.9.1 \
+		ashpd-0.12.3 \
+		async-broadcast-0.7.2 \
+		async-recursion-1.1.1 \
+		async-trait-0.1.89 \
+		autocfg-1.5.0 \
+		basic-toml-0.1.10 \
+		bitflags-2.11.1 \
+		block-buffer-0.10.4 \
+		bumpalo-3.20.2 \
+		bytes-1.11.1 \
+		cfg-if-1.0.4 \
+		clap-4.6.1 \
+		clap_builder-4.6.0 \
+		clap_derive-4.6.1 \
+		clap_lex-1.1.0 \
+		colorchoice-1.0.5 \
+		concurrent-queue-2.5.0 \
+		cpufeatures-0.2.17 \
+		crossbeam-utils-0.8.21 \
+		crypto-common-0.1.7 \
+		digest-0.10.7 \
+		dirs-6.0.0 \
+		dirs-sys-0.5.0 \
+		displaydoc-0.2.5 \
+		endi-1.1.1 \
+		enumflags2-0.7.12 \
+		enumflags2_derive-0.7.12 \
+		equivalent-1.0.2 \
+		errno-0.3.14 \
+		event-listener-5.4.1 \
+		event-listener-strategy-0.5.4 \
+		fastrand-2.4.1 \
+		find-crate-0.6.3 \
+		fluent-0.17.0 \
+		fluent-bundle-0.16.0 \
+		fluent-langneg-0.13.1 \
+		fluent-syntax-0.12.0 \
+		foldhash-0.1.5 \
+		form_urlencoded-1.2.2 \
+		futures-channel-0.3.32 \
+		futures-core-0.3.32 \
+		futures-io-0.3.32 \
+		futures-lite-2.6.1 \
+		futures-macro-0.3.32 \
+		futures-task-0.3.32 \
+		futures-util-0.3.32 \
+		generic-array-0.14.7 \
+		getrandom-0.2.17 \
+		getrandom-0.3.4 \
+		getrandom-0.4.2 \
+		hashbrown-0.15.5 \
+		hashbrown-0.17.0 \
+		heck-0.5.0 \
+		hex-0.4.3 \
+		i18n-config-0.4.8 \
+		i18n-embed-0.16.0 \
+		i18n-embed-fl-0.10.0 \
+		i18n-embed-impl-0.8.4 \
+		icu_collections-2.2.0 \
+		icu_locale_core-2.2.0 \
+		icu_normalizer-2.2.0 \
+		icu_normalizer_data-2.2.0 \
+		icu_properties-2.2.0 \
+		icu_properties_data-2.2.0 \
+		icu_provider-2.2.0 \
+		id-arena-2.3.0 \
+		idna-1.1.0 \
+		idna_adapter-1.2.1 \
+		indexmap-2.14.0 \
+		intl-memoizer-0.5.3 \
+		intl_pluralrules-7.0.2 \
+		is_terminal_polyfill-1.70.2 \
+		itoa-1.0.18 \
+		jiff-0.2.24 \
+		jiff-static-0.2.24 \
+		jiff-tzdb-0.1.6 \
+		jiff-tzdb-platform-0.1.3 \
+		js-sys-0.3.95 \
+		leb128fmt-0.1.0 \
+		libc-0.2.186 \
+		libredox-0.1.16 \
+		linux-raw-sys-0.12.1 \
+		litemap-0.8.2 \
+		lock_api-0.4.14 \
+		log-0.4.29 \
+		memchr-2.8.0 \
+		memoffset-0.9.1 \
+		mio-1.2.0 \
+		once_cell-1.21.4 \
+		once_cell_polyfill-1.70.2 \
+		option-ext-0.2.0 \
+		ordered-stream-0.2.0 \
+		parking-2.2.1 \
+		parking_lot-0.12.5 \
+		parking_lot_core-0.9.12 \
+		percent-encoding-2.3.2 \
+		pin-project-lite-0.2.17 \
+		portable-atomic-1.13.1 \
+		portable-atomic-util-0.2.7 \
+		potential_utf-0.1.5 \
+		ppv-lite86-0.2.21 \
+		prettyplease-0.2.37 \
+		proc-macro-crate-3.5.0 \
+		proc-macro-error-attr2-2.0.0 \
+		proc-macro-error2-2.0.1 \
+		proc-macro2-1.0.106 \
+		quote-1.0.45 \
+		r-efi-5.3.0 \
+		r-efi-6.0.0 \
+		rand-0.9.4 \
+		rand_chacha-0.9.0 \
+		rand_core-0.9.5 \
+		redox_syscall-0.5.18 \
+		redox_users-0.5.2 \
+		rust-embed-8.11.0 \
+		rust-embed-impl-8.11.0 \
+		rust-embed-utils-8.11.0 \
+		rustc-hash-2.1.2 \
+		rustix-1.1.4 \
+		rustversion-1.0.22 \
+		same-file-1.0.6 \
+		scopeguard-1.2.0 \
+		self_cell-1.2.2 \
+		semver-1.0.28 \
+		serde-1.0.228 \
+		serde_core-1.0.228 \
+		serde_derive-1.0.228 \
+		serde_json-1.0.149 \
+		serde_repr-0.1.20 \
+		sha2-0.10.9 \
+		signal-hook-registry-1.4.8 \
+		slab-0.4.12 \
+		smallvec-1.15.1 \
+		socket2-0.6.3 \
+		stable_deref_trait-1.2.1 \
+		strsim-0.11.1 \
+		syn-2.0.117 \
+		synstructure-0.13.2 \
+		sys-locale-0.3.2 \
+		tempfile-3.27.0 \
+		thiserror-1.0.69 \
+		thiserror-2.0.18 \
+		thiserror-impl-1.0.69 \
+		thiserror-impl-2.0.18 \
+		tinystr-0.8.3 \
+		tokio-1.52.1 \
+		tokio-macros-2.7.0 \
+		toml-0.5.11 \
+		toml_datetime-1.1.1+spec-1.1.0 \
+		toml_edit-0.25.11+spec-1.1.0 \
+		toml_parser-1.1.2+spec-1.1.0 \
+		tracing-0.1.44 \
+		tracing-attributes-0.1.31 \
+		tracing-core-0.1.36 \
+		type-map-0.5.1 \
+		typenum-1.20.0 \
+		uds_windows-1.2.1 \
+		unic-langid-0.9.6 \
+		unic-langid-impl-0.9.6 \
+		unicode-ident-1.0.24 \
+		unicode-xid-0.2.6 \
+		url-2.5.8 \
+		utf8_iter-1.0.4 \
+		utf8parse-0.2.2 \
+		uuid-1.23.1 \
+		version_check-0.9.5 \
+		walkdir-2.5.0 \
+		wasi-0.11.1+wasi-snapshot-preview1 \
+		wasip2-1.0.3+wasi-0.2.9 \
+		wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06 \
+		wasm-bindgen-0.2.118 \
+		wasm-bindgen-macro-0.2.118 \
+		wasm-bindgen-macro-support-0.2.118 \
+		wasm-bindgen-shared-0.2.118 \
+		wasm-encoder-0.244.0 \
+		wasm-metadata-0.244.0 \
+		wasmparser-0.244.0 \
+		winapi-util-0.1.11 \
+		windows-link-0.2.1 \
+		windows-sys-0.61.2 \
+		winnow-1.0.2 \
+		wit-bindgen-0.51.0 \
+		wit-bindgen-0.57.1 \
+		wit-bindgen-core-0.51.0 \
+		wit-bindgen-rust-0.51.0 \
+		wit-bindgen-rust-macro-0.51.0 \
+		wit-component-0.244.0 \
+		wit-parser-0.244.0 \
+		writeable-0.6.3 \
+		yoke-0.8.2 \
+		yoke-derive-0.8.2 \
+		zbus-5.15.0 \
+		zbus_macros-5.15.0 \
+		zbus_names-4.3.2 \
+		zerocopy-0.8.48 \
+		zerocopy-derive-0.8.48 \
+		zerofrom-0.1.7 \
+		zerofrom-derive-0.1.7 \
+		zerotrie-0.2.4 \
+		zerovec-0.11.6 \
+		zerovec-derive-0.11.3 \
+		zmij-1.0.21 \
+		zvariant-5.10.1 \
+		zvariant_derive-5.10.1 \
+		zvariant_utils-3.3.1
diff --git a/deskutils/cosmic-screenshot/distinfo b/deskutils/cosmic-screenshot/distinfo
new file mode 100644
index 000000000000..9b271da70d46
--- /dev/null
+++ b/deskutils/cosmic-screenshot/distinfo
@@ -0,0 +1,427 @@
+TIMESTAMP = 1792780837
+SHA256 (rust/crates/anstream-1.0.0.crate) = 824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d
+SIZE (rust/crates/anstream-1.0.0.crate) = 28916
+SHA256 (rust/crates/anstyle-1.0.14.crate) = 940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000
+SIZE (rust/crates/anstyle-1.0.14.crate) = 17787
+SHA256 (rust/crates/anstyle-parse-1.0.0.crate) = 52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e
+SIZE (rust/crates/anstyle-parse-1.0.0.crate) = 22042
+SHA256 (rust/crates/anstyle-query-1.1.5.crate) = 40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc
+SIZE (rust/crates/anstyle-query-1.1.5.crate) = 10264
+SHA256 (rust/crates/anstyle-wincon-3.0.11.crate) = 291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d
+SIZE (rust/crates/anstyle-wincon-3.0.11.crate) = 12638
+SHA256 (rust/crates/anyhow-1.0.102.crate) = 7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c
+SIZE (rust/crates/anyhow-1.0.102.crate) = 48658
+SHA256 (rust/crates/arc-swap-1.9.1.crate) = 6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207
+SIZE (rust/crates/arc-swap-1.9.1.crate) = 81367
+SHA256 (rust/crates/ashpd-0.12.3.crate) = 33a3c86f3fd70c0ffa500ed189abfa90b5a52398a45d5dc372fcc38ebeb7a645
+SIZE (rust/crates/ashpd-0.12.3.crate) = 123754
+SHA256 (rust/crates/async-broadcast-0.7.2.crate) = 435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532
+SIZE (rust/crates/async-broadcast-0.7.2.crate) = 22746
+SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
+SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-trait-0.1.89.crate) = 9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb
+SIZE (rust/crates/async-trait-0.1.89.crate) = 32171
+SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
+SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
+SHA256 (rust/crates/basic-toml-0.1.10.crate) = ba62675e8242a4c4e806d12f11d136e626e6c8361d6b829310732241652a178a
+SIZE (rust/crates/basic-toml-0.1.10.crate) = 50648
+SHA256 (rust/crates/bitflags-2.11.1.crate) = c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3
+SIZE (rust/crates/bitflags-2.11.1.crate) = 49082
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/bumpalo-3.20.2.crate) = 5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb
+SIZE (rust/crates/bumpalo-3.20.2.crate) = 97696
+SHA256 (rust/crates/bytes-1.11.1.crate) = 1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33
+SIZE (rust/crates/bytes-1.11.1.crate) = 78584
+SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
+SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
+SHA256 (rust/crates/clap-4.6.1.crate) = 1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51
+SIZE (rust/crates/clap-4.6.1.crate) = 61836
+SHA256 (rust/crates/clap_builder-4.6.0.crate) = 714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f
+SIZE (rust/crates/clap_builder-4.6.0.crate) = 171122
+SHA256 (rust/crates/clap_derive-4.6.1.crate) = f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9
+SIZE (rust/crates/clap_derive-4.6.1.crate) = 33512
+SHA256 (rust/crates/clap_lex-1.1.0.crate) = c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9
+SIZE (rust/crates/clap_lex-1.1.0.crate) = 13470
+SHA256 (rust/crates/colorchoice-1.0.5.crate) = 1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570
+SIZE (rust/crates/colorchoice-1.0.5.crate) = 8187
+SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
+SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
+SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crypto-common-0.1.7.crate) = 78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a
+SIZE (rust/crates/crypto-common-0.1.7.crate) = 9619
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
+SHA256 (rust/crates/endi-1.1.1.crate) = 66b7e2430c6dff6a955451e2cfc438f09cea1965a9d6f87f7e3b90decc014099
+SIZE (rust/crates/endi-1.1.1.crate) = 5045
+SHA256 (rust/crates/enumflags2-0.7.12.crate) = 1027f7680c853e056ebcec683615fb6fbbc07dbaa13b4d5d9442b146ded4ecef
+SIZE (rust/crates/enumflags2-0.7.12.crate) = 17544
+SHA256 (rust/crates/enumflags2_derive-0.7.12.crate) = 67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827
+SIZE (rust/crates/enumflags2_derive-0.7.12.crate) = 8573
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.14.crate) = 39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb
+SIZE (rust/crates/errno-0.3.14.crate) = 12002
+SHA256 (rust/crates/event-listener-5.4.1.crate) = e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab
+SIZE (rust/crates/event-listener-5.4.1.crate) = 43782
+SHA256 (rust/crates/event-listener-strategy-0.5.4.crate) = 8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93
+SIZE (rust/crates/event-listener-strategy-0.5.4.crate) = 16179
+SHA256 (rust/crates/fastrand-2.4.1.crate) = 9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6
+SIZE (rust/crates/fastrand-2.4.1.crate) = 20773
+SHA256 (rust/crates/find-crate-0.6.3.crate) = 59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2
+SIZE (rust/crates/find-crate-0.6.3.crate) = 12092
+SHA256 (rust/crates/fluent-0.17.0.crate) = 8137a6d5a2c50d6b0ebfcb9aaa91a28154e0a70605f112d30cb0cd4a78670477
+SIZE (rust/crates/fluent-0.17.0.crate) = 10282
+SHA256 (rust/crates/fluent-bundle-0.16.0.crate) = 01203cb8918f5711e73891b347816d932046f95f54207710bda99beaeb423bf4
+SIZE (rust/crates/fluent-bundle-0.16.0.crate) = 35301
+SHA256 (rust/crates/fluent-langneg-0.13.1.crate) = 7eebbe59450baee8282d71676f3bfed5689aeab00b27545e83e5f14b1195e8b0
+SIZE (rust/crates/fluent-langneg-0.13.1.crate) = 11383
+SHA256 (rust/crates/fluent-syntax-0.12.0.crate) = 54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198
+SIZE (rust/crates/fluent-syntax-0.12.0.crate) = 32438
+SHA256 (rust/crates/foldhash-0.1.5.crate) = d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2
+SIZE (rust/crates/foldhash-0.1.5.crate) = 21901
+SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
+SHA256 (rust/crates/futures-channel-0.3.32.crate) = 07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d
+SIZE (rust/crates/futures-channel-0.3.32.crate) = 33213
+SHA256 (rust/crates/futures-core-0.3.32.crate) = 7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d
+SIZE (rust/crates/futures-core-0.3.32.crate) = 14684
+SHA256 (rust/crates/futures-io-0.3.32.crate) = cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718
+SIZE (rust/crates/futures-io-0.3.32.crate) = 9191
+SHA256 (rust/crates/futures-lite-2.6.1.crate) = f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad
+SIZE (rust/crates/futures-lite-2.6.1.crate) = 46095
+SHA256 (rust/crates/futures-macro-0.3.32.crate) = e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b
+SIZE (rust/crates/futures-macro-0.3.32.crate) = 11929
+SHA256 (rust/crates/futures-task-0.3.32.crate) = 037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393
+SIZE (rust/crates/futures-task-0.3.32.crate) = 11377
+SHA256 (rust/crates/futures-util-0.3.32.crate) = 389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6
+SIZE (rust/crates/futures-util-0.3.32.crate) = 168797
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/getrandom-0.2.17.crate) = ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0
+SIZE (rust/crates/getrandom-0.2.17.crate) = 40780
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
+SHA256 (rust/crates/getrandom-0.4.2.crate) = 0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555
+SIZE (rust/crates/getrandom-0.4.2.crate) = 53905
+SHA256 (rust/crates/hashbrown-0.15.5.crate) = 9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1
+SIZE (rust/crates/hashbrown-0.15.5.crate) = 140908
+SHA256 (rust/crates/hashbrown-0.17.0.crate) = 4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51
+SIZE (rust/crates/hashbrown-0.17.0.crate) = 154597
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/i18n-config-0.4.8.crate) = 3e06b90c8a0d252e203c94344b21e35a30f3a3a85dc7db5af8f8df9f3e0c63ef
+SIZE (rust/crates/i18n-config-0.4.8.crate) = 9082
+SHA256 (rust/crates/i18n-embed-0.16.0.crate) = a217bbb075dcaefb292efa78897fc0678245ca67f265d12c351e42268fcb0305
+SIZE (rust/crates/i18n-embed-0.16.0.crate) = 37661
+SHA256 (rust/crates/i18n-embed-fl-0.10.0.crate) = e598ed73b67db92f61e04672e599eef2991a262a40e1666735b8a86d2e7e9f30
+SIZE (rust/crates/i18n-embed-fl-0.10.0.crate) = 18641
+SHA256 (rust/crates/i18n-embed-impl-0.8.4.crate) = 0f2cc0e0523d1fe6fc2c6f66e5038624ea8091b3e7748b5e8e0c84b1698db6c2
+SIZE (rust/crates/i18n-embed-impl-0.8.4.crate) = 4830
+SHA256 (rust/crates/icu_collections-2.2.0.crate) = 2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c
+SIZE (rust/crates/icu_collections-2.2.0.crate) = 88011
+SHA256 (rust/crates/icu_locale_core-2.2.0.crate) = 92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29
+SIZE (rust/crates/icu_locale_core-2.2.0.crate) = 78639
+SHA256 (rust/crates/icu_normalizer-2.2.0.crate) = c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4
+SIZE (rust/crates/icu_normalizer-2.2.0.crate) = 78154
+SHA256 (rust/crates/icu_normalizer_data-2.2.0.crate) = da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38
+SIZE (rust/crates/icu_normalizer_data-2.2.0.crate) = 67134
+SHA256 (rust/crates/icu_properties-2.2.0.crate) = bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de
+SIZE (rust/crates/icu_properties-2.2.0.crate) = 63950
+SHA256 (rust/crates/icu_properties_data-2.2.0.crate) = 8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14
+SIZE (rust/crates/icu_properties_data-2.2.0.crate) = 168901
+SHA256 (rust/crates/icu_provider-2.2.0.crate) = 139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421
+SIZE (rust/crates/icu_provider-2.2.0.crate) = 51620
+SHA256 (rust/crates/id-arena-2.3.0.crate) = 3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954
+SIZE (rust/crates/id-arena-2.3.0.crate) = 12883
+SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
+SIZE (rust/crates/idna-1.1.0.crate) = 148747
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/indexmap-2.14.0.crate) = d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9
+SIZE (rust/crates/indexmap-2.14.0.crate) = 104085
+SHA256 (rust/crates/intl-memoizer-0.5.3.crate) = 310da2e345f5eb861e7a07ee182262e94975051db9e4223e909ba90f392f163f
+SIZE (rust/crates/intl-memoizer-0.5.3.crate) = 12171
+SHA256 (rust/crates/intl_pluralrules-7.0.2.crate) = 078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972
+SIZE (rust/crates/intl_pluralrules-7.0.2.crate) = 9201
+SHA256 (rust/crates/is_terminal_polyfill-1.70.2.crate) = a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695
+SIZE (rust/crates/is_terminal_polyfill-1.70.2.crate) = 7548
+SHA256 (rust/crates/itoa-1.0.18.crate) = 8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682
+SIZE (rust/crates/itoa-1.0.18.crate) = 15935
+SHA256 (rust/crates/jiff-0.2.24.crate) = f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d
+SIZE (rust/crates/jiff-0.2.24.crate) = 760237
+SHA256 (rust/crates/jiff-static-0.2.24.crate) = e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7
+SIZE (rust/crates/jiff-static-0.2.24.crate) = 83747
+SHA256 (rust/crates/jiff-tzdb-0.1.6.crate) = c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076
+SIZE (rust/crates/jiff-tzdb-0.1.6.crate) = 62478
+SHA256 (rust/crates/jiff-tzdb-platform-0.1.3.crate) = 875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8
+SIZE (rust/crates/jiff-tzdb-platform-0.1.3.crate) = 3179
+SHA256 (rust/crates/js-sys-0.3.95.crate) = 2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca
+SIZE (rust/crates/js-sys-0.3.95.crate) = 104031
+SHA256 (rust/crates/leb128fmt-0.1.0.crate) = 09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2
+SIZE (rust/crates/leb128fmt-0.1.0.crate) = 14138
+SHA256 (rust/crates/libc-0.2.186.crate) = 68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66
+SIZE (rust/crates/libc-0.2.186.crate) = 821883
+SHA256 (rust/crates/libredox-0.1.16.crate) = e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c
+SIZE (rust/crates/libredox-0.1.16.crate) = 9600
+SHA256 (rust/crates/linux-raw-sys-0.12.1.crate) = 32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53
+SIZE (rust/crates/linux-raw-sys-0.12.1.crate) = 3006116
+SHA256 (rust/crates/litemap-0.8.2.crate) = 92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0
+SIZE (rust/crates/litemap-0.8.2.crate) = 34572
+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.29.crate) = 5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897
+SIZE (rust/crates/log-0.4.29.crate) = 51515
+SHA256 (rust/crates/memchr-2.8.0.crate) = f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79
+SIZE (rust/crates/memchr-2.8.0.crate) = 97780
+SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
+SIZE (rust/crates/memoffset-0.9.1.crate) = 9032
+SHA256 (rust/crates/mio-1.2.0.crate) = 50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1
+SIZE (rust/crates/mio-1.2.0.crate) = 106403
+SHA256 (rust/crates/once_cell-1.21.4.crate) = 9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50
+SIZE (rust/crates/once_cell-1.21.4.crate) = 35010
+SHA256 (rust/crates/once_cell_polyfill-1.70.2.crate) = 384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe
+SIZE (rust/crates/once_cell_polyfill-1.70.2.crate) = 7448
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/ordered-stream-0.2.0.crate) = 9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50
+SIZE (rust/crates/ordered-stream-0.2.0.crate) = 19077
+SHA256 (rust/crates/parking-2.2.1.crate) = f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba
+SIZE (rust/crates/parking-2.2.1.crate) = 10685
+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/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
+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/portable-atomic-1.13.1.crate) = c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49
+SIZE (rust/crates/portable-atomic-1.13.1.crate) = 197001
+SHA256 (rust/crates/portable-atomic-util-0.2.7.crate) = c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618
+SIZE (rust/crates/portable-atomic-util-0.2.7.crate) = 53577
+SHA256 (rust/crates/potential_utf-0.1.5.crate) = 0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564
+SIZE (rust/crates/potential_utf-0.1.5.crate) = 10189
+SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
+SHA256 (rust/crates/prettyplease-0.2.37.crate) = 479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b
+SIZE (rust/crates/prettyplease-0.2.37.crate) = 72033
+SHA256 (rust/crates/proc-macro-crate-3.5.0.crate) = e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f
+SIZE (rust/crates/proc-macro-crate-3.5.0.crate) = 12709
+SHA256 (rust/crates/proc-macro-error-attr2-2.0.0.crate) = 96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5
+SIZE (rust/crates/proc-macro-error-attr2-2.0.0.crate) = 7745
+SHA256 (rust/crates/proc-macro-error2-2.0.1.crate) = 11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802
+SIZE (rust/crates/proc-macro-error2-2.0.1.crate) = 24807
+SHA256 (rust/crates/proc-macro2-1.0.106.crate) = 8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934
+SIZE (rust/crates/proc-macro2-1.0.106.crate) = 59765
+SHA256 (rust/crates/quote-1.0.45.crate) = 41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924
+SIZE (rust/crates/quote-1.0.45.crate) = 31564
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
+SHA256 (rust/crates/r-efi-6.0.0.crate) = f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf
+SIZE (rust/crates/r-efi-6.0.0.crate) = 65303
+SHA256 (rust/crates/rand-0.9.4.crate) = 44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea
+SIZE (rust/crates/rand-0.9.4.crate) = 99786
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
+SHA256 (rust/crates/rand_core-0.9.5.crate) = 76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c
+SIZE (rust/crates/rand_core-0.9.5.crate) = 24129
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
+SHA256 (rust/crates/redox_users-0.5.2.crate) = a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac
+SIZE (rust/crates/redox_users-0.5.2.crate) = 17280
+SHA256 (rust/crates/rust-embed-8.11.0.crate) = 04113cb9355a377d83f06ef1f0a45b8ab8cd7d8b1288160717d66df5c7988d27
+SIZE (rust/crates/rust-embed-8.11.0.crate) = 901130
+SHA256 (rust/crates/rust-embed-impl-8.11.0.crate) = da0902e4c7c8e997159ab384e6d0fc91c221375f6894346ae107f47dd0f3ccaa
+SIZE (rust/crates/rust-embed-impl-8.11.0.crate) = 9286
+SHA256 (rust/crates/rust-embed-utils-8.11.0.crate) = 5bcdef0be6fe7f6fa333b1073c949729274b05f123a0ad7efcb8efd878e5c3b1
+SIZE (rust/crates/rust-embed-utils-8.11.0.crate) = 5729
+SHA256 (rust/crates/rustc-hash-2.1.2.crate) = 94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe
+SIZE (rust/crates/rustc-hash-2.1.2.crate) = 14754
+SHA256 (rust/crates/rustix-1.1.4.crate) = b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190
+SIZE (rust/crates/rustix-1.1.4.crate) = 425241
+SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d
+SIZE (rust/crates/rustversion-1.0.22.crate) = 21096
+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/self_cell-1.2.2.crate) = b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89
+SIZE (rust/crates/self_cell-1.2.2.crate) = 23264
+SHA256 (rust/crates/semver-1.0.28.crate) = 8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd
+SIZE (rust/crates/semver-1.0.28.crate) = 33064
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
+SHA256 (rust/crates/serde_json-1.0.149.crate) = 83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86
+SIZE (rust/crates/serde_json-1.0.149.crate) = 155994
+SHA256 (rust/crates/serde_repr-0.1.20.crate) = 175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c
+SIZE (rust/crates/serde_repr-0.1.20.crate) = 12627
+SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
+SIZE (rust/crates/sha2-0.10.9.crate) = 29271
+SHA256 (rust/crates/signal-hook-registry-1.4.8.crate) = c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b
+SIZE (rust/crates/signal-hook-registry-1.4.8.crate) = 21668
+SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5
+SIZE (rust/crates/slab-0.4.12.crate) = 19080
+SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03
+SIZE (rust/crates/smallvec-1.15.1.crate) = 38116
+SHA256 (rust/crates/socket2-0.6.3.crate) = 3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e
+SIZE (rust/crates/socket2-0.6.3.crate) = 59330
+SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596
+SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/syn-2.0.117.crate) = e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99
+SIZE (rust/crates/syn-2.0.117.crate) = 306011
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/sys-locale-0.3.2.crate) = 8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4
+SIZE (rust/crates/sys-locale-0.3.2.crate) = 15072
+SHA256 (rust/crates/tempfile-3.27.0.crate) = 32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd
+SIZE (rust/crates/tempfile-3.27.0.crate) = 44780
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.18.crate) = 4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4
+SIZE (rust/crates/thiserror-2.0.18.crate) = 28875
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.18.crate) = ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5
+SIZE (rust/crates/thiserror-impl-2.0.18.crate) = 21413
+SHA256 (rust/crates/tinystr-0.8.3.crate) = c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d
+SIZE (rust/crates/tinystr-0.8.3.crate) = 24710
+SHA256 (rust/crates/tokio-1.52.1.crate) = b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6
+SIZE (rust/crates/tokio-1.52.1.crate) = 900270
+SHA256 (rust/crates/tokio-macros-2.7.0.crate) = 385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496
+SIZE (rust/crates/tokio-macros-2.7.0.crate) = 15859
+SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234
+SIZE (rust/crates/toml-0.5.11.crate) = 54910
+SHA256 (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7
+SIZE (rust/crates/toml_datetime-1.1.1+spec-1.1.0.crate) = 17982
+SHA256 (rust/crates/toml_edit-0.25.11+spec-1.1.0.crate) = 0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b
+SIZE (rust/crates/toml_edit-0.25.11+spec-1.1.0.crate) = 68598
+SHA256 (rust/crates/toml_parser-1.1.2+spec-1.1.0.crate) = a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526
+SIZE (rust/crates/toml_parser-1.1.2+spec-1.1.0.crate) = 35485
+SHA256 (rust/crates/tracing-0.1.44.crate) = 63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100
+SIZE (rust/crates/tracing-0.1.44.crate) = 463135
+SHA256 (rust/crates/tracing-attributes-0.1.31.crate) = 7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da
+SIZE (rust/crates/tracing-attributes-0.1.31.crate) = 39733
+SHA256 (rust/crates/tracing-core-0.1.36.crate) = db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a
+SIZE (rust/crates/tracing-core-0.1.36.crate) = 63967
+SHA256 (rust/crates/type-map-0.5.1.crate) = cb30dbbd9036155e74adad6812e9898d03ec374946234fbcebd5dfc7b9187b90
+SIZE (rust/crates/type-map-0.5.1.crate) = 8606
+SHA256 (rust/crates/typenum-1.20.0.crate) = 40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de
+SIZE (rust/crates/typenum-1.20.0.crate) = 105530
+SHA256 (rust/crates/uds_windows-1.2.1.crate) = f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e
+SIZE (rust/crates/uds_windows-1.2.1.crate) = 21931
+SHA256 (rust/crates/unic-langid-0.9.6.crate) = a28ba52c9b05311f4f6e62d5d9d46f094bd6e84cb8df7b3ef952748d752a7d05
+SIZE (rust/crates/unic-langid-0.9.6.crate) = 9031
+SHA256 (rust/crates/unic-langid-impl-0.9.6.crate) = dce1bf08044d4b7a94028c93786f8566047edc11110595914de93362559bc658
+SIZE (rust/crates/unic-langid-impl-0.9.6.crate) = 90020
+SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75
+SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298
+SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853
+SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744
+SHA256 (rust/crates/url-2.5.8.crate) = ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed
+SIZE (rust/crates/url-2.5.8.crate) = 86512
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/uuid-1.23.1.crate) = ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76
+SIZE (rust/crates/uuid-1.23.1.crate) = 62932
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b
+SIZE (rust/crates/wasi-0.11.1+wasi-snapshot-preview1.crate) = 28477
+SHA256 (rust/crates/wasip2-1.0.3+wasi-0.2.9.crate) = 20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6
+SIZE (rust/crates/wasip2-1.0.3+wasi-0.2.9.crate) = 134512
+SHA256 (rust/crates/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = 5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5
+SIZE (rust/crates/wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.crate) = 123354
+SHA256 (rust/crates/wasm-bindgen-0.2.118.crate) = 0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89
+SIZE (rust/crates/wasm-bindgen-0.2.118.crate) = 61149
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.118.crate) = eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed
+SIZE (rust/crates/wasm-bindgen-macro-0.2.118.crate) = 9288
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.118.crate) = 9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.118.crate) = 64823
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.118.crate) = 5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129
+SIZE (rust/crates/wasm-bindgen-shared-0.2.118.crate) = 10565
+SHA256 (rust/crates/wasm-encoder-0.244.0.crate) = 990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319
+SIZE (rust/crates/wasm-encoder-0.244.0.crate) = 85804
+SHA256 (rust/crates/wasm-metadata-0.244.0.crate) = bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909
+SIZE (rust/crates/wasm-metadata-0.244.0.crate) = 21500
+SHA256 (rust/crates/wasmparser-0.244.0.crate) = 47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe
+SIZE (rust/crates/wasmparser-0.244.0.crate) = 265607
+SHA256 (rust/crates/winapi-util-0.1.11.crate) = c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22
+SIZE (rust/crates/winapi-util-0.1.11.crate) = 13368
+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 (rust/crates/winnow-1.0.2.crate) = 2ee1708bef14716a11bae175f579062d4554d95be2c6829f518df847b7b3fdd0
+SIZE (rust/crates/winnow-1.0.2.crate) = 188047
+SHA256 (rust/crates/wit-bindgen-0.51.0.crate) = d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5
+SIZE (rust/crates/wit-bindgen-0.51.0.crate) = 68035
+SHA256 (rust/crates/wit-bindgen-0.57.1.crate) = 1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e
+SIZE (rust/crates/wit-bindgen-0.57.1.crate) = 71227
+SHA256 (rust/crates/wit-bindgen-core-0.51.0.crate) = ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc
+SIZE (rust/crates/wit-bindgen-core-0.51.0.crate) = 35048
+SHA256 (rust/crates/wit-bindgen-rust-0.51.0.crate) = b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21
+SIZE (rust/crates/wit-bindgen-rust-0.51.0.crate) = 57051
+SHA256 (rust/crates/wit-bindgen-rust-macro-0.51.0.crate) = 0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a
+SIZE (rust/crates/wit-bindgen-rust-macro-0.51.0.crate) = 14283
+SHA256 (rust/crates/wit-component-0.244.0.crate) = 9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2
+SIZE (rust/crates/wit-component-0.244.0.crate) = 256882
+SHA256 (rust/crates/wit-parser-0.244.0.crate) = ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736
+SIZE (rust/crates/wit-parser-0.244.0.crate) = 159371
+SHA256 (rust/crates/writeable-0.6.3.crate) = 1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4
+SIZE (rust/crates/writeable-0.6.3.crate) = 26685
+SHA256 (rust/crates/yoke-0.8.2.crate) = abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca
+SIZE (rust/crates/yoke-0.8.2.crate) = 32790
+SHA256 (rust/crates/yoke-derive-0.8.2.crate) = de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e
+SIZE (rust/crates/yoke-derive-0.8.2.crate) = 15077
+SHA256 (rust/crates/zbus-5.15.0.crate) = c3bcbf15c8708d7fc1be0c993622e0a5cbd5e8b52bfa40afa4c3e0cd8d724ac1
+SIZE (rust/crates/zbus-5.15.0.crate) = 180214
+SHA256 (rust/crates/zbus_macros-5.15.0.crate) = 51fa5406ad9175a8c825a931f8cf347116b531b3634fcb0b627c290f1f2516ff
+SIZE (rust/crates/zbus_macros-5.15.0.crate) = 39734
+SHA256 (rust/crates/zbus_names-4.3.2.crate) = 7074f3e50b894eac91750142016d30d0a89be8e67dbfd9704fb875825760e52d
+SIZE (rust/crates/zbus_names-4.3.2.crate) = 18088
+SHA256 (rust/crates/zerocopy-0.8.48.crate) = eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9
+SIZE (rust/crates/zerocopy-0.8.48.crate) = 287554
+SHA256 (rust/crates/zerocopy-derive-0.8.48.crate) = 70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4
+SIZE (rust/crates/zerocopy-derive-0.8.48.crate) = 97646
+SHA256 (rust/crates/zerofrom-0.1.7.crate) = 69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df
+SIZE (rust/crates/zerofrom-0.1.7.crate) = 6140
+SHA256 (rust/crates/zerofrom-derive-0.1.7.crate) = 11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1
+SIZE (rust/crates/zerofrom-derive-0.1.7.crate) = 8853
+SHA256 (rust/crates/zerotrie-0.2.4.crate) = 0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf
+SIZE (rust/crates/zerotrie-0.2.4.crate) = 83690
+SHA256 (rust/crates/zerovec-0.11.6.crate) = 90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239
+SIZE (rust/crates/zerovec-0.11.6.crate) = 128583
+SHA256 (rust/crates/zerovec-derive-0.11.3.crate) = 625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555
+SIZE (rust/crates/zerovec-derive-0.11.3.crate) = 22115
+SHA256 (rust/crates/zmij-1.0.21.crate) = b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa
+SIZE (rust/crates/zmij-1.0.21.crate) = 26665
+SHA256 (rust/crates/zvariant-5.10.1.crate) = c4db0ecb8987cf5e92653c57c098f7f0e39a03112edb796f4fe089fb7eaa14ff
+SIZE (rust/crates/zvariant-5.10.1.crate) = 93316
+SHA256 (rust/crates/zvariant_derive-5.10.1.crate) = 5b949b639ab1b4bed763aa7481ba0e368af68d8b55532f8ed4bec86a59f2ca98
+SIZE (rust/crates/zvariant_derive-5.10.1.crate) = 16806
+SHA256 (rust/crates/zvariant_utils-3.3.1.crate) = 6d464f5733ffa07a3164d656f18533caace9d0638596721355d73256a410d691
+SIZE (rust/crates/zvariant_utils-3.3.1.crate) = 15680
+SHA256 (pop-os-cosmic-screenshot-epoch-1.8.0_GH0.tar.gz) = 1f4c38e5219f3c12540eec98ef9d4fd8756908bfebe10a8e793e4b72b0aae032
+SIZE (pop-os-cosmic-screenshot-epoch-1.8.0_GH0.tar.gz) = 42337
diff --git a/deskutils/cosmic-screenshot/pkg-descr b/deskutils/cosmic-screenshot/pkg-descr
new file mode 100644
index 000000000000..944d264b347e
--- /dev/null
+++ b/deskutils/cosmic-screenshot/pkg-descr
@@ -0,0 +1,2 @@
+COSMIC Screenshot is a utility to captures images of displays,
+cropped slices of those displays, or images of app windows.