git: 81b2a1ed2ce3 - main - x11/ashell: add port: Ready to go Wayland status bar for Hyprland

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Tue, 12 Aug 2025 14:37:30 UTC
The branch main has been updated by tagattie:

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

commit 81b2a1ed2ce30505337299826d6e0b077a740096
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2025-08-12 14:35:10 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2025-08-12 14:37:21 +0000

    x11/ashell: add port: Ready to go Wayland status bar for Hyprland
    
    A ready to go Wayland status bar for Hyprland.
    
    - Ready to Go
      Ashell is ready to use out of the box. Just install it, start using
      it, and customize only what you need.
    - Everything You Need, Built In
      Ashell comes with essential modules like workspaces, time, battery,
      network, and more. No need to hunt for plugins or write custom
      scripts.
    - Powered by iced
      A cross-platform GUI library for Rust focused on simplicity and
      type-safety.
    
    WWW: https://malpenzibo.github.io/ashell/
---
 x11/Makefile                              |    1 +
 x11/ashell/Makefile                       |   42 +
 x11/ashell/Makefile.crates                |  608 ++++++++++++++
 x11/ashell/distinfo                       | 1219 +++++++++++++++++++++++++++++
 x11/ashell/files/extra-patch-iced         |  184 +++++
 x11/ashell/files/patch-pipewire-sys-0.8.0 |   59 ++
 x11/ashell/pkg-descr                      |   12 +
 7 files changed, 2125 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index e790d8bdf0ed..5e9dcb0641e5 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -16,6 +16,7 @@
     SUBDIR += apwal
     SUBDIR += arandr
     SUBDIR += arcan-trayicon
+    SUBDIR += ashell
     SUBDIR += aterm
     SUBDIR += autorandr
     SUBDIR += babl
diff --git a/x11/ashell/Makefile b/x11/ashell/Makefile
new file mode 100644
index 000000000000..a858fae5600b
--- /dev/null
+++ b/x11/ashell/Makefile
@@ -0,0 +1,42 @@
+PORTNAME=	ashell
+DISTVERSION=	0.5.0
+CATEGORIES=	x11 wayland
+
+MAINTAINER=	tagattie@FreeBSD.org
+COMMENT=	Ready to go Wayland status bar for Hyprland
+WWW=		https://malpenzibo.github.io/ashell/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libpulse.so:audio/pulseaudio \
+		libinotify.so:devel/libinotify \
+		libudev.so:devel/libudev-devd \
+		libpipewire-0.3.so:multimedia/pipewire \
+		libxkbcommon.so:x11/libxkbcommon
+
+USES=		cargo llvm localbase:ldflags
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	MalpenZibo
+
+LDFLAGS+=	-linotify
+
+PLIST_FILES=	bin/${PORTNAME}
+PORTDOCS=	CHANGELOG.md README.md
+
+OPTIONS_DEFINE=	DOCS
+
+post-patch:
+	@${PATCH} -s -p0 -d ${WRKSRC_crate_iced} < \
+		${PATCHDIR}/extra-patch-iced
+# https://github.com/RazrFalcon/fontdb/issues/61
+	@${REINPLACE_CMD} -e 's|/etc|${LOCALBASE}&|g' \
+		${WRKSRC_crate_fontdb-0.18.0}/src/lib.rs \
+		${WRKSRC_crate_fontdb-0.23.0}/src/lib.rs
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/x11/ashell/Makefile.crates b/x11/ashell/Makefile.crates
new file mode 100644
index 000000000000..6c18f7aab288
--- /dev/null
+++ b/x11/ashell/Makefile.crates
@@ -0,0 +1,608 @@
+CARGO_CRATES=	ab_glyph-0.2.29 \
+		ab_glyph_rasterizer-0.1.8 \
+		addr2line-0.24.2 \
+		adler2-2.0.0 \
+		ahash-0.4.8 \
+		ahash-0.8.12 \
+		aho-corasick-1.1.3 \
+		aliasable-0.1.3 \
+		aligned-vec-0.5.0 \
+		android-activity-0.6.0 \
+		android-properties-0.2.2 \
+		android-tzdata-0.1.1 \
+		android_system_properties-0.1.5 \
+		annotate-snippets-0.9.2 \
+		anyhow-1.0.98 \
+		approx-0.5.1 \
+		arbitrary-1.4.1 \
+		arg_enum_proc_macro-0.3.4 \
+		arrayref-0.3.9 \
+		arrayvec-0.7.6 \
+		as-raw-xcb-connection-1.0.1 \
+		ash-0.38.0+1.3.281 \
+		async-broadcast-0.5.1 \
+		async-broadcast-0.7.2 \
+		async-channel-2.3.1 \
+		async-io-1.13.0 \
+		async-io-2.4.0 \
+		async-lock-2.8.0 \
+		async-lock-3.4.0 \
+		async-process-1.8.1 \
+		async-recursion-1.1.1 \
+		async-signal-0.2.10 \
+		async-stream-0.3.6 \
+		async-stream-impl-0.3.6 \
+		async-task-4.7.1 \
+		async-trait-0.1.88 \
+		atomic-waker-1.1.2 \
+		atspi-0.19.0 \
+		atspi-common-0.3.0 \
+		atspi-connection-0.3.0 \
+		atspi-proxies-0.3.0 \
+		autocfg-1.4.0 \
+		av1-grain-0.2.4 \
+		avif-serialize-0.8.3 \
+		backtrace-0.3.75 \
+		base64-0.22.1 \
+		bindgen-0.69.5 \
+		bit-set-0.6.0 \
+		bit-vec-0.7.0 \
+		bit_field-0.10.2 \
+		bitflags-1.3.2 \
+		bitflags-2.9.1 \
+		bitstream-io-2.6.0 \
+		block-0.1.6 \
+		block-buffer-0.10.4 \
+		block2-0.5.1 \
+		blocking-1.6.1 \
+		built-0.7.7 \
+		bumpalo-3.17.0 \
+		by_address-1.2.1 \
+		bytemuck-1.23.0 \
+		bytemuck_derive-1.9.3 \
+		byteorder-1.5.0 \
+		byteorder-lite-0.1.0 \
+		bytes-1.10.1 \
+		calloop-0.13.0 \
+		calloop-wayland-source-0.3.0 \
+		cc-1.2.24 \
+		cesu8-1.1.0 \
+		cexpr-0.6.0 \
+		cfg-expr-0.15.8 \
+		cfg-if-1.0.0 \
+		cfg_aliases-0.1.1 \
+		cfg_aliases-0.2.1 \
+		chrono-0.4.41 \
+		clang-sys-1.8.1 \
+		clipboard-win-5.4.0 \
+		cocoa-0.25.0 \
+		cocoa-foundation-0.1.2 \
+		codespan-reporting-0.11.1 \
+		color_quant-1.1.0 \
+		com-0.6.0 \
+		com_macros-0.6.0 \
+		com_macros_support-0.6.0 \
+		combine-4.6.7 \
+		concurrent-queue-2.5.0 \
+		convert_case-0.6.0 \
+		cookie-factory-0.3.3 \
+		core-foundation-0.9.4 \
+		core-foundation-sys-0.8.7 \
+		core-graphics-0.23.2 \
+		core-graphics-types-0.1.3 \
+		core_maths-0.1.1 \
+		cpufeatures-0.2.17 \
+		crc32fast-1.4.2 \
+		crossbeam-deque-0.8.6 \
+		crossbeam-epoch-0.9.18 \
+		crossbeam-utils-0.8.21 \
+		crunchy-0.2.3 \
+		crypto-common-0.1.6 \
+		ctor-lite-0.1.0 \
+		cursor-icon-1.1.0 \
+		d3d12-22.0.0 \
+		darling-0.20.11 \
+		darling_core-0.20.11 \
+		darling_macro-0.20.11 \
+		data-url-0.3.1 \
+		deranged-0.4.0 \
+		derivative-2.2.0 \
+		derive_more-1.0.0 \
+		derive_more-impl-1.0.0 \
+		digest-0.10.7 \
+		dirs-5.0.1 \
+		dirs-sys-0.4.1 \
+		dispatch-0.2.0 \
+		dlib-0.5.2 \
+		dlv-list-0.2.3 \
+		document-features-0.2.11 \
+		downcast-rs-1.2.1 \
+		drm-0.11.1 \
+		drm-ffi-0.7.1 \
+		drm-fourcc-2.2.0 \
+		drm-sys-0.6.1 \
+		either-1.15.0 \
+		endi-1.1.0 \
+		enumflags2-0.7.11 \
+		enumflags2_derive-0.7.11 \
+		equivalent-1.0.2 \
+		errno-0.3.12 \
+		error-code-3.3.2 \
+		etagere-0.2.15 \
+		euclid-0.22.11 \
+		event-listener-2.5.3 \
+		event-listener-3.1.0 \
+		event-listener-5.4.0 \
+		event-listener-strategy-0.5.4 \
+		exr-1.73.0 \
+		fast-srgb8-1.0.0 \
+		fastrand-1.9.0 \
+		fastrand-2.3.0 \
+		fdeflate-0.3.7 \
+		flate2-1.1.1 \
+		flexi_logger-0.29.8 \
+		float-cmp-0.9.0 \
+		float_next_after-1.0.0 \
+		fnv-1.0.7 \
+		foldhash-0.1.5 \
+		font-types-0.9.0 \
+		fontconfig-parser-0.5.8 \
+		fontdb-0.18.0 \
+		fontdb-0.23.0 \
+		foreign-types-0.5.0 \
+		foreign-types-macros-0.2.3 \
+		foreign-types-shared-0.3.1 \
+		freedesktop-icons-0.3.1 \
+		freedesktop_entry_parser-1.3.0 \
+		futures-0.3.31 \
+		futures-channel-0.3.31 \
+		futures-core-0.3.31 \
+		futures-executor-0.3.31 \
+		futures-io-0.3.31 \
+		futures-lite-1.13.0 \
+		futures-lite-2.6.0 \
+		futures-macro-0.3.31 \
+		futures-sink-0.3.31 \
+		futures-task-0.3.31 \
+		futures-util-0.3.31 \
+		generic-array-0.14.7 \
+		gethostname-0.4.3 \
+		getrandom-0.2.16 \
+		getrandom-0.3.3 \
+		gif-0.13.1 \
+		gimli-0.31.1 \
+		gl_generator-0.14.0 \
+		glam-0.25.0 \
+		glob-0.3.2 \
+		glow-0.13.1 \
+		glutin_wgl_sys-0.6.1 \
+		gpu-alloc-0.6.0 \
+		gpu-alloc-types-0.3.0 \
+		gpu-allocator-0.26.0 \
+		gpu-descriptor-0.3.2 \
+		gpu-descriptor-types-0.2.0 \
+		guillotiere-0.6.2 \
+		half-2.6.0 \
+		hashbrown-0.9.1 \
+		hashbrown-0.12.3 \
+		hashbrown-0.15.3 \
+		hassle-rs-0.11.0 \
+		heck-0.4.1 \
+		heck-0.5.0 \
+		hermit-abi-0.3.9 \
+		hermit-abi-0.4.0 \
+		hex-0.4.3 \
+		hex_color-3.0.0 \
+		hexf-parse-0.2.1 \
+		hyprland-0.4.0-beta.2 \
+		hyprland-macros-0.4.0-beta.2 \
+		iana-time-zone-0.1.63 \
+		iana-time-zone-haiku-0.1.2 \
+		ident_case-1.0.1 \
+		image-0.25.6 \
+		image-webp-0.2.1 \
+		imagesize-0.12.0 \
+		imgref-1.11.0 \
+		immutable-chunkmap-2.0.6 \
+		indexmap-1.9.3 \
+		indexmap-2.9.0 \
+		ini_core-0.2.0 \
+		inotify-0.11.0 \
+		inotify-sys-0.1.5 \
+		instant-0.1.13 \
+		interpolate_name-0.2.4 \
+		io-lifetimes-1.0.11 \
+		itertools-0.12.1 \
+		itertools-0.14.0 \
+		itoa-1.0.15 \
+		jni-0.21.1 \
+		jni-sys-0.3.0 \
+		jobserver-0.1.33 \
+		jpeg-decoder-0.3.1 \
+		js-sys-0.3.77 \
+		kamadak-exif-0.5.5 \
+		khronos-egl-6.0.0 \
+		khronos_api-3.1.0 \
+		kurbo-0.10.4 \
+		kurbo-0.11.2 \
+		lazy_static-1.5.0 \
+		lazycell-1.3.0 \
+		lebe-0.5.2 \
+		libc-0.2.172 \
+		libfuzzer-sys-0.4.9 \
+		libloading-0.8.7 \
+		libm-0.2.15 \
+		libpulse-binding-2.30.1 \
+		libpulse-sys-1.23.0 \
+		libredox-0.1.3 \
+		libspa-0.8.0 \
+		libspa-sys-0.8.0 \
+		libudev-sys-0.1.4 \
+		linicon-theme-1.2.0 \
+		linux-raw-sys-0.3.8 \
+		linux-raw-sys-0.4.15 \
+		linux-raw-sys-0.6.5 \
+		linux-raw-sys-0.9.4 \
+		litrs-0.4.1 \
+		lock_api-0.4.12 \
+		log-0.4.27 \
+		loop9-0.1.5 \
+		lru-0.12.5 \
+		lyon-1.0.1 \
+		lyon_algorithms-1.0.5 \
+		lyon_geom-1.0.6 \
+		lyon_path-1.0.7 \
+		lyon_tessellation-1.0.15 \
+		malloc_buf-0.0.6 \
+		maybe-rayon-0.1.1 \
+		memchr-2.7.4 \
+		memmap2-0.8.0 \
+		memmap2-0.9.5 \
+		memoffset-0.7.1 \
+		memoffset-0.9.1 \
+		metal-0.29.0 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.8.8 \
+		mio-1.0.4 \
+		mutate_once-0.1.1 \
+		naga-22.1.0 \
+		ndk-0.9.0 \
+		ndk-context-0.1.1 \
+		ndk-sys-0.5.0+25.2.9519653 \
+		ndk-sys-0.6.0+11769913 \
+		new_debug_unreachable-1.0.6 \
+		nix-0.26.4 \
+		nix-0.27.1 \
+		nix-0.30.1 \
+		nom-7.1.3 \
+		noop_proc_macro-0.3.0 \
+		ntapi-0.4.1 \
+		nu-ansi-term-0.50.1 \
+		num-bigint-0.4.6 \
+		num-conv-0.1.0 \
+		num-derive-0.4.2 \
+		num-integer-0.1.46 \
+		num-rational-0.4.2 \
+		num-traits-0.2.19 \
+		num_cpus-1.16.0 \
+		num_enum-0.7.3 \
+		num_enum_derive-0.7.3 \
+		objc-0.2.7 \
+		objc-foundation-0.1.1 \
+		objc-sys-0.3.5 \
+		objc2-0.5.2 \
+		objc2-app-kit-0.2.2 \
+		objc2-cloud-kit-0.2.2 \
+		objc2-contacts-0.2.2 \
+		objc2-core-data-0.2.2 \
+		objc2-core-image-0.2.2 \
+		objc2-core-location-0.2.2 \
+		objc2-encode-4.1.0 \
+		objc2-foundation-0.2.2 \
+		objc2-link-presentation-0.2.2 \
+		objc2-metal-0.2.2 \
+		objc2-quartz-core-0.2.2 \
+		objc2-symbols-0.2.2 \
+		objc2-ui-kit-0.2.2 \
+		objc2-uniform-type-identifiers-0.2.2 \
+		objc2-user-notifications-0.2.2 \
+		objc_id-0.1.1 \
+		object-0.36.7 \
+		once_cell-1.21.3 \
+		option-ext-0.2.0 \
+		orbclient-0.3.48 \
+		ordered-multimap-0.3.1 \
+		ordered-stream-0.2.0 \
+		ouroboros-0.18.5 \
+		ouroboros_macro-0.18.5 \
+		owned_ttf_parser-0.25.0 \
+		palette-0.7.6 \
+		palette_derive-0.7.6 \
+		parking-2.2.1 \
+		parking_lot-0.11.2 \
+		parking_lot-0.12.3 \
+		parking_lot_core-0.8.6 \
+		parking_lot_core-0.9.10 \
+		paste-1.0.15 \
+		percent-encoding-2.3.1 \
+		phf-0.11.3 \
+		phf_generator-0.11.3 \
+		phf_macros-0.11.3 \
+		phf_shared-0.11.3 \
+		pico-args-0.5.0 \
+		pin-project-1.1.10 \
+		pin-project-internal-1.1.10 \
+		pin-project-lite-0.2.16 \
+		pin-utils-0.1.0 \
+		piper-0.2.4 \
+		pipewire-0.8.0 \
+		pipewire-sys-0.8.0 \
+		pkg-config-0.3.32 \
+		png-0.17.16 \
+		polling-2.8.0 \
+		polling-3.7.4 \
+		powerfmt-0.2.0 \
+		ppv-lite86-0.2.21 \
+		presser-0.3.1 \
+		proc-macro-crate-1.3.1 \
+		proc-macro-crate-3.3.0 \
+		proc-macro2-1.0.95 \
+		proc-macro2-diagnostics-0.10.1 \
+		profiling-1.0.16 \
+		profiling-procmacros-1.0.16 \
+		qoi-0.4.1 \
+		quick-error-2.0.1 \
+		quick-xml-0.37.5 \
+		quote-1.0.40 \
+		r-efi-5.2.0 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		range-alloc-0.1.4 \
+		rangemap-1.5.1 \
+		rav1e-0.7.1 \
+		ravif-0.11.12 \
+		raw-window-handle-0.6.2 \
+		rayon-1.10.0 \
+		rayon-core-1.12.1 \
+		read-fonts-0.29.1 \
+		redox_syscall-0.2.16 \
+		redox_syscall-0.4.1 \
+		redox_syscall-0.5.12 \
+		redox_users-0.4.6 \
+		regex-1.11.1 \
+		regex-automata-0.4.9 \
+		regex-syntax-0.8.5 \
+		renderdoc-sys-1.1.0 \
+		resvg-0.42.0 \
+		rgb-0.8.50 \
+		roxmltree-0.20.0 \
+		rust-ini-0.17.0 \
+		rustc-demangle-0.1.24 \
+		rustc-hash-1.1.0 \
+		rustc-hash-2.1.1 \
+		rustix-0.37.28 \
+		rustix-0.38.44 \
+		rustix-1.0.7 \
+		rustversion-1.0.21 \
+		rustybuzz-0.14.1 \
+		ryu-1.0.20 \
+		same-file-1.0.6 \
+		scoped-tls-1.0.1 \
+		scopeguard-1.2.0 \
+		sctk-adwaita-0.10.1 \
+		self_cell-1.2.0 \
+		serde-1.0.219 \
+		serde_derive-1.0.219 \
+		serde_json-1.0.140 \
+		serde_repr-0.1.20 \
+		serde_spanned-0.6.8 \
+		serde_with-3.12.0 \
+		serde_with_macros-3.12.0 \
+		sha1-0.10.6 \
+		shlex-1.3.0 \
+		signal-hook-registry-1.4.5 \
+		simd-adler32-0.3.7 \
+		simd_helpers-0.1.0 \
+		simplecss-0.2.2 \
+		siphasher-1.0.1 \
+		skrifa-0.31.1 \
+		slab-0.4.9 \
+		slotmap-1.0.7 \
+		smallvec-1.15.0 \
+		smithay-client-toolkit-0.19.2 \
+		smol_str-0.2.2 \
+		socket2-0.4.10 \
+		socket2-0.5.9 \
+		spirv-0.3.0+sdk-1.3.268.0 \
+		static_assertions-1.1.0 \
+		strict-num-0.1.1 \
+		strsim-0.11.1 \
+		svg_fmt-0.4.5 \
+		svgtypes-0.15.3 \
+		swash-0.2.5 \
+		syn-1.0.109 \
+		syn-2.0.101 \
+		sys-locale-0.3.2 \
+		sysinfo-0.33.1 \
+		system-deps-6.2.2 \
+		target-lexicon-0.12.16 \
+		tempfile-3.20.0 \
+		termcolor-1.4.1 \
+		thiserror-1.0.69 \
+		thiserror-2.0.12 \
+		thiserror-impl-1.0.69 \
+		thiserror-impl-2.0.12 \
+		tiff-0.9.1 \
+		time-0.3.41 \
+		time-core-0.1.4 \
+		time-macros-0.2.22 \
+		tiny-skia-0.11.4 \
+		tiny-skia-path-0.11.4 \
+		tiny-xlib-0.2.4 \
+		tinyvec-1.9.0 \
+		tinyvec_macros-0.1.1 \
+		tokio-1.45.1 \
+		tokio-macros-2.5.0 \
+		tokio-stream-0.1.17 \
+		toml-0.8.22 \
+		toml_datetime-0.6.9 \
+		toml_edit-0.19.15 \
+		toml_edit-0.22.26 \
+		toml_write-0.1.1 \
+		tracing-0.1.41 \
+		tracing-attributes-0.1.28 \
+		tracing-core-0.1.33 \
+		ttf-parser-0.21.1 \
+		ttf-parser-0.25.1 \
+		typenum-1.18.0 \
+		udev-0.9.3 \
+		uds_windows-1.1.0 \
+		unicode-bidi-0.3.18 \
+		unicode-bidi-mirroring-0.2.0 \
+		unicode-ccc-0.2.0 \
+		unicode-ident-1.0.18 \
+		unicode-linebreak-0.1.5 \
+		unicode-properties-0.1.3 \
+		unicode-script-0.5.7 \
+		unicode-segmentation-1.12.0 \
+		unicode-vo-0.1.0 \
+		unicode-width-0.1.14 \
+		unicode-xid-0.2.6 \
+		usvg-0.42.0 \
+		uuid-1.17.0 \
+		v_frame-0.3.8 \
+		version-compare-0.2.0 \
+		version_check-0.9.5 \
+		waker-fn-1.2.0 \
+		walkdir-2.5.0 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasi-0.14.2+wasi-0.2.4 \
+		wasm-bindgen-0.2.100 \
+		wasm-bindgen-backend-0.2.100 \
+		wasm-bindgen-futures-0.4.50 \
+		wasm-bindgen-macro-0.2.100 \
+		wasm-bindgen-macro-support-0.2.100 \
+		wasm-bindgen-shared-0.2.100 \
+		wasm-timer-0.2.5 \
+		wayland-backend-0.3.10 \
+		wayland-client-0.31.10 \
+		wayland-csd-frame-0.3.0 \
+		wayland-cursor-0.31.10 \
+		wayland-protocols-0.32.8 \
+		wayland-protocols-plasma-0.3.8 \
+		wayland-protocols-wlr-0.3.8 \
+		wayland-scanner-0.31.6 \
+		wayland-server-0.31.9 \
+		wayland-sys-0.31.6 \
+		web-sys-0.3.77 \
+		web-time-1.1.0 \
+		weezl-0.1.10 \
+		wgpu-22.1.0 \
+		wgpu-core-22.1.0 \
+		wgpu-hal-22.0.0 \
+		wgpu-types-22.0.0 \
+		widestring-1.2.0 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.9 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-0.52.0 \
+		windows-0.54.0 \
+		windows-0.57.0 \
+		windows-core-0.52.0 \
+		windows-core-0.54.0 \
+		windows-core-0.57.0 \
+		windows-core-0.61.2 \
+		windows-implement-0.53.0 \
+		windows-implement-0.57.0 \
+		windows-implement-0.60.0 \
+		windows-interface-0.53.0 \
+		windows-interface-0.57.0 \
+		windows-interface-0.59.1 \
+		windows-link-0.1.1 \
+		windows-result-0.1.2 \
+		windows-result-0.3.4 \
+		windows-strings-0.4.2 \
+		windows-sys-0.45.0 \
+		windows-sys-0.48.0 \
+		windows-sys-0.52.0 \
+		windows-sys-0.59.0 \
+		windows-targets-0.42.2 \
+		windows-targets-0.48.5 \
+		windows-targets-0.52.6 \
+		windows-targets-0.53.0 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_gnullvm-0.52.6 \
+		windows_aarch64_gnullvm-0.53.0 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_aarch64_msvc-0.52.6 \
+		windows_aarch64_msvc-0.53.0 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_gnu-0.52.6 \
+		windows_i686_gnu-0.53.0 \
+		windows_i686_gnullvm-0.52.6 \
+		windows_i686_gnullvm-0.53.0 \
+		windows_i686_msvc-0.42.2 \
+		windows_i686_msvc-0.48.5 \
+		windows_i686_msvc-0.52.6 \
+		windows_i686_msvc-0.53.0 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnu-0.52.6 \
+		windows_x86_64_gnu-0.53.0 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_gnullvm-0.52.6 \
+		windows_x86_64_gnullvm-0.53.0 \
+		windows_x86_64_msvc-0.42.2 \
+		windows_x86_64_msvc-0.48.5 \
+		windows_x86_64_msvc-0.52.6 \
+		windows_x86_64_msvc-0.53.0 \
+		winnow-0.5.40 \
+		winnow-0.7.10 \
+		wit-bindgen-rt-0.39.0 \
+		x11-dl-2.21.0 \
+		x11rb-0.13.1 \
+		x11rb-protocol-0.13.1 \
+		xcursor-0.3.8 \
+		xdg-2.5.2 \
+		xdg-home-1.3.0 \
+		xkbcommon-0.7.0 \
+		xkbcommon-dl-0.4.2 \
+		xkeysym-0.2.1 \
+		xml-rs-0.8.26 \
+		xmlwriter-0.1.0 \
+		yansi-1.0.1 \
+		yansi-term-0.1.2 \
+		yazi-0.2.1 \
+		zbus-3.15.2 \
+		zbus-5.7.1 \
+		zbus_macros-3.15.2 \
+		zbus_macros-5.7.1 \
+		zbus_names-2.6.1 \
+		zbus_names-4.2.0 \
+		zeno-0.3.3 \
+		zerocopy-0.8.25 \
+		zerocopy-derive-0.8.25 \
+		zune-core-0.4.12 \
+		zune-inflate-0.2.54 \
+		zune-jpeg-0.4.14 \
+		zvariant-3.15.2 \
+		zvariant-5.5.3 \
+		zvariant_derive-3.15.2 \
+		zvariant_derive-5.5.3 \
+		zvariant_utils-1.0.1 \
+		zvariant_utils-3.2.0 \
+		dpi,winit@git+https://github.com/pop-os/winit.git?tag=iced-xdg-surface-0.13\#1cc02bdab141072eaabad639d74b032fd0fcc62e \
+		cosmic-client-toolkit,cosmic-protocols@git+https://github.com/pop-os/cosmic-protocols?rev=178eb0b\#178eb0b14a0e5c192f64f6dee6c40341a8e5ee51 \
+		iced_glyphon@git+https://github.com/pop-os/glyphon.git?tag=iced-0.14-dev\#6ef9d12a20cfd0f7bdf38136a26ded9f7459ec8b \
+		clipboard_macos,clipboard_wayland,clipboard_x11,dnd,mime,window_clipboard@git+https://github.com/pop-os/window_clipboard.git?tag=pop-0.13-2\#6b9faab87bea9cebec6ae036906fd67fed254f5f \
+		softbuffer@git+https://github.com/pop-os/softbuffer?tag=cosmic-4.0\#6e75b1ad7e98397d37cb187886d05969bc480995 \
+		iced,iced_accessibility,iced_core,iced_futures,iced_graphics,iced_renderer,iced_runtime,iced_tiny_skia,iced_wgpu,iced_widget,iced_winit@git+https://github.com/MalpenZibo/iced\#b0beb3ff2ddc8ee80e4b894e0a239aabcd45ae60 \
+		cosmic-text@git+https://github.com/pop-os/cosmic-text.git\#987ff45ff20f3cee1322e2f2909ac4c2c26f8321 \
+		accesskit,accesskit_atspi_common,accesskit_consumer,accesskit_macos,accesskit_unix,accesskit_windows,accesskit_winit@git+https://github.com/wash2/accesskit?tag=iced-xdg-surface-0.13\#956955342dadab7e588e21be726817fca39510f3 \
+		smithay-clipboard@git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-5\#5a3007def49eb678d1144850c9ee04b80707c56a
diff --git a/x11/ashell/distinfo b/x11/ashell/distinfo
new file mode 100644
index 000000000000..c64e90764447
--- /dev/null
+++ b/x11/ashell/distinfo
@@ -0,0 +1,1219 @@
+TIMESTAMP = 1754943102
+SHA256 (rust/crates/ab_glyph-0.2.29.crate) = ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0
+SIZE (rust/crates/ab_glyph-0.2.29.crate) = 20011
+SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046
+SIZE (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = 11010
+SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
+SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
+SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
+SHA256 (rust/crates/ahash-0.4.8.crate) = 0453232ace82dee0dd0b4c87a59bd90f7b53b314f3e0f61fe2ee7c8a16482289
+SIZE (rust/crates/ahash-0.4.8.crate) = 51510
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/aliasable-0.1.3.crate) = 250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd
+SIZE (rust/crates/aliasable-0.1.3.crate) = 6169
+SHA256 (rust/crates/aligned-vec-0.5.0.crate) = 4aa90d7ce82d4be67b64039a3d588d38dbcc6736577de4a847025ce5b0c468d1
+SIZE (rust/crates/aligned-vec-0.5.0.crate) = 8921
+SHA256 (rust/crates/android-activity-0.6.0.crate) = ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046
+SIZE (rust/crates/android-activity-0.6.0.crate) = 258597
+SHA256 (rust/crates/android-properties-0.2.2.crate) = fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04
+SIZE (rust/crates/android-properties-0.2.2.crate) = 4563
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/annotate-snippets-0.9.2.crate) = ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e
+SIZE (rust/crates/annotate-snippets-0.9.2.crate) = 32065
+SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
+SIZE (rust/crates/anyhow-1.0.98.crate) = 53334
+SHA256 (rust/crates/approx-0.5.1.crate) = cab112f0a86d568ea0e627cc1d6be74a1e9cd55214684db5561995f6dad897c6
+SIZE (rust/crates/approx-0.5.1.crate) = 15100
+SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223
+SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
+SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/as-raw-xcb-connection-1.0.1.crate) = 175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b
+SIZE (rust/crates/as-raw-xcb-connection-1.0.1.crate) = 6460
+SHA256 (rust/crates/ash-0.38.0+1.3.281.crate) = 0bb44936d800fea8f016d7f2311c6a4f97aebd5dc86f09906139ec848cf3a46f
+SIZE (rust/crates/ash-0.38.0+1.3.281.crate) = 457775
+SHA256 (rust/crates/async-broadcast-0.5.1.crate) = 7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b
+SIZE (rust/crates/async-broadcast-0.5.1.crate) = 20134
+SHA256 (rust/crates/async-broadcast-0.7.2.crate) = 435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532
+SIZE (rust/crates/async-broadcast-0.7.2.crate) = 22746
+SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a
+SIZE (rust/crates/async-channel-2.3.1.crate) = 14576
+SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af
+SIZE (rust/crates/async-io-1.13.0.crate) = 37191
+SHA256 (rust/crates/async-io-2.4.0.crate) = 43a2b323ccce0a1d90b449fd71f2a06ca7faa7c54c2751f06c9bd851fc061059
+SIZE (rust/crates/async-io-2.4.0.crate) = 49252
+SHA256 (rust/crates/async-lock-2.8.0.crate) = 287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b
+SIZE (rust/crates/async-lock-2.8.0.crate) = 29944
+SHA256 (rust/crates/async-lock-3.4.0.crate) = ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18
+SIZE (rust/crates/async-lock-3.4.0.crate) = 34446
+SHA256 (rust/crates/async-process-1.8.1.crate) = ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88
+SIZE (rust/crates/async-process-1.8.1.crate) = 22758
+SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
+SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-signal-0.2.10.crate) = 637e00349800c0bdf8bfc21ebbc0b6524abea702b0da4168ac00d070d0c0b9f3
+SIZE (rust/crates/async-signal-0.2.10.crate) = 16970
+SHA256 (rust/crates/async-stream-0.3.6.crate) = 0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476
+SIZE (rust/crates/async-stream-0.3.6.crate) = 13823
+SHA256 (rust/crates/async-stream-impl-0.3.6.crate) = c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d
+SIZE (rust/crates/async-stream-impl-0.3.6.crate) = 4312
+SHA256 (rust/crates/async-task-4.7.1.crate) = 8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de
+SIZE (rust/crates/async-task-4.7.1.crate) = 38077
+SHA256 (rust/crates/async-trait-0.1.88.crate) = e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5
+SIZE (rust/crates/async-trait-0.1.88.crate) = 32084
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/atspi-0.19.0.crate) = 6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca
+SIZE (rust/crates/atspi-0.19.0.crate) = 6572
+SHA256 (rust/crates/atspi-common-0.3.0.crate) = 92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5
+SIZE (rust/crates/atspi-common-0.3.0.crate) = 48524
+SHA256 (rust/crates/atspi-connection-0.3.0.crate) = a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939
+SIZE (rust/crates/atspi-connection-0.3.0.crate) = 9355
+SHA256 (rust/crates/atspi-proxies-0.3.0.crate) = 6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52
+SIZE (rust/crates/atspi-proxies-0.3.0.crate) = 26272
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/av1-grain-0.2.4.crate) = 4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8
+SIZE (rust/crates/av1-grain-0.2.4.crate) = 37050
+SHA256 (rust/crates/avif-serialize-0.8.3.crate) = 98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e
+SIZE (rust/crates/avif-serialize-0.8.3.crate) = 12696
+SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
+SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/bindgen-0.69.5.crate) = 271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088
+SIZE (rust/crates/bindgen-0.69.5.crate) = 221128
+SHA256 (rust/crates/bit-set-0.6.0.crate) = f0481a0e032742109b1133a095184ee93d88f3dc9e0d28a5d033dc77a073f44f
+SIZE (rust/crates/bit-set-0.6.0.crate) = 15557
+SHA256 (rust/crates/bit-vec-0.7.0.crate) = d2c54ff287cfc0a34f38a6b832ea1bd8e448a330b3e40a50859e6488bee07f22
+SIZE (rust/crates/bit-vec-0.7.0.crate) = 23206
+SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61
+SIZE (rust/crates/bit_field-0.10.2.crate) = 10568
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
+SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
+SHA256 (rust/crates/bitstream-io-2.6.0.crate) = 6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2
+SIZE (rust/crates/bitstream-io-2.6.0.crate) = 38256
+SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
+SIZE (rust/crates/block-0.1.6.crate) = 4077
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/block2-0.5.1.crate) = 2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f
+SIZE (rust/crates/block2-0.5.1.crate) = 24191
+SHA256 (rust/crates/blocking-1.6.1.crate) = 703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea
+SIZE (rust/crates/blocking-1.6.1.crate) = 17788
+SHA256 (rust/crates/built-0.7.7.crate) = 56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b
+SIZE (rust/crates/built-0.7.7.crate) = 29776
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/by_address-1.2.1.crate) = 64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06
+SIZE (rust/crates/by_address-1.2.1.crate) = 8437
+SHA256 (rust/crates/bytemuck-1.23.0.crate) = 9134a6ef01ce4b366b50689c94f82c14bc72bc5d0386829828a2e2752ef7958c
+SIZE (rust/crates/bytemuck-1.23.0.crate) = 52534
+SHA256 (rust/crates/bytemuck_derive-1.9.3.crate) = 7ecc273b49b3205b83d648f0690daa588925572cc5063745bfe547fe7ec8e1a1
+SIZE (rust/crates/bytemuck_derive-1.9.3.crate) = 23555
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
+SIZE (rust/crates/bytes-1.10.1.crate) = 76779
+SHA256 (rust/crates/calloop-0.13.0.crate) = b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec
+SIZE (rust/crates/calloop-0.13.0.crate) = 69698
+SHA256 (rust/crates/calloop-wayland-source-0.3.0.crate) = 95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20
+SIZE (rust/crates/calloop-wayland-source-0.3.0.crate) = 11300
+SHA256 (rust/crates/cc-1.2.24.crate) = 16595d3be041c03b09d08d0858631facccee9221e579704070e6e9e4915d3bc7
+SIZE (rust/crates/cc-1.2.24.crate) = 106557
+SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
+SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
+SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
+SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
+SHA256 (rust/crates/cfg-expr-0.15.8.crate) = d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02
+SIZE (rust/crates/cfg-expr-0.15.8.crate) = 42108
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cfg_aliases-0.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e
+SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
+SIZE (rust/crates/chrono-0.4.41.crate) = 234621
+SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4
+SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009
+SHA256 (rust/crates/clipboard-win-5.4.0.crate) = 15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892
+SIZE (rust/crates/clipboard-win-5.4.0.crate) = 20559
+SHA256 (rust/crates/cocoa-0.25.0.crate) = f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c
+SIZE (rust/crates/cocoa-0.25.0.crate) = 42163
+SHA256 (rust/crates/cocoa-foundation-0.1.2.crate) = 8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7
+SIZE (rust/crates/cocoa-foundation-0.1.2.crate) = 15028
+SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e
+SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/com-0.6.0.crate) = 7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6
+SIZE (rust/crates/com-0.6.0.crate) = 24855
+SHA256 (rust/crates/com_macros-0.6.0.crate) = d375883580a668c7481ea6631fc1a8863e33cc335bf56bfad8d7e6d4b04b13a5
+SIZE (rust/crates/com_macros-0.6.0.crate) = 1075
+SHA256 (rust/crates/com_macros_support-0.6.0.crate) = ad899a1087a9296d5644792d7cb72b8e34c1bec8e7d4fbc002230169a6e8710c
+SIZE (rust/crates/com_macros_support-0.6.0.crate) = 17334
+SHA256 (rust/crates/combine-4.6.7.crate) = ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd
+SIZE (rust/crates/combine-4.6.7.crate) = 134808
+SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
+SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
+SHA256 (rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca
+SIZE (rust/crates/convert_case-0.6.0.crate) = 18675
+SHA256 (rust/crates/cookie-factory-0.3.3.crate) = 9885fa71e26b8ab7855e2ec7cae6e9b380edff76cd052e07c683a0319d51b3a2
+SIZE (rust/crates/cookie-factory-0.3.3.crate) = 19084
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/core-graphics-0.23.2.crate) = c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081
+SIZE (rust/crates/core-graphics-0.23.2.crate) = 30763
+SHA256 (rust/crates/core-graphics-types-0.1.3.crate) = 45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf
+SIZE (rust/crates/core-graphics-types-0.1.3.crate) = 7063
+SHA256 (rust/crates/core_maths-0.1.1.crate) = 77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30
+SIZE (rust/crates/core_maths-0.1.1.crate) = 6528
+SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929
+SIZE (rust/crates/crunchy-0.2.3.crate) = 3775
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/ctor-lite-0.1.0.crate) = 1f791803201ab277ace03903de1594460708d2d54df6053f2d9e82f592b19e3b
+SIZE (rust/crates/ctor-lite-0.1.0.crate) = 10506
+SHA256 (rust/crates/cursor-icon-1.1.0.crate) = 96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991
+SIZE (rust/crates/cursor-icon-1.1.0.crate) = 11453
+SHA256 (rust/crates/d3d12-22.0.0.crate) = bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017
+SIZE (rust/crates/d3d12-22.0.0.crate) = 16716
+SHA256 (rust/crates/darling-0.20.11.crate) = fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee
+SIZE (rust/crates/darling-0.20.11.crate) = 37614
+SHA256 (rust/crates/darling_core-0.20.11.crate) = 0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e
+SIZE (rust/crates/darling_core-0.20.11.crate) = 68006
+SHA256 (rust/crates/darling_macro-0.20.11.crate) = fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead
+SIZE (rust/crates/darling_macro-0.20.11.crate) = 2532
+SHA256 (rust/crates/data-url-0.3.1.crate) = 5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a
+SIZE (rust/crates/data-url-0.3.1.crate) = 21109
+SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
+SIZE (rust/crates/deranged-0.4.0.crate) = 23235
+SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
+SIZE (rust/crates/derivative-2.2.0.crate) = 48076
+SHA256 (rust/crates/derive_more-1.0.0.crate) = 4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05
+SIZE (rust/crates/derive_more-1.0.0.crate) = 64854
+SHA256 (rust/crates/derive_more-impl-1.0.0.crate) = cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22
+SIZE (rust/crates/derive_more-impl-1.0.0.crate) = 76182
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/dirs-5.0.1.crate) = 44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225
+SIZE (rust/crates/dirs-5.0.1.crate) = 12255
+SHA256 (rust/crates/dirs-sys-0.4.1.crate) = 520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c
+SIZE (rust/crates/dirs-sys-0.4.1.crate) = 10719
+SHA256 (rust/crates/dispatch-0.2.0.crate) = bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b
+SIZE (rust/crates/dispatch-0.2.0.crate) = 10229
+SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412
+SIZE (rust/crates/dlib-0.5.2.crate) = 5806
+SHA256 (rust/crates/dlv-list-0.2.3.crate) = 68df3f2b690c1b86e65ef7830956aededf3cb0a16f898f79b9a6f421a7b6211b
+SIZE (rust/crates/dlv-list-0.2.3.crate) = 12311
+SHA256 (rust/crates/document-features-0.2.11.crate) = 95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d
+SIZE (rust/crates/document-features-0.2.11.crate) = 14640
+SHA256 (rust/crates/downcast-rs-1.2.1.crate) = 75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2
+SIZE (rust/crates/downcast-rs-1.2.1.crate) = 11821
+SHA256 (rust/crates/drm-0.11.1.crate) = a0f8a69e60d75ae7dab4ef26a59ca99f2a89d4c142089b537775ae0c198bdcde
+SIZE (rust/crates/drm-0.11.1.crate) = 49655
+SHA256 (rust/crates/drm-ffi-0.7.1.crate) = 41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6
+SIZE (rust/crates/drm-ffi-0.7.1.crate) = 9581
+SHA256 (rust/crates/drm-fourcc-2.2.0.crate) = 0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4
+SIZE (rust/crates/drm-fourcc-2.2.0.crate) = 12192
+SHA256 (rust/crates/drm-sys-0.6.1.crate) = 2d09ff881f92f118b11105ba5e34ff8f4adf27b30dae8f12e28c193af1c83176
+SIZE (rust/crates/drm-sys-0.6.1.crate) = 10363
+SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
+SIZE (rust/crates/either-1.15.0.crate) = 20114
+SHA256 (rust/crates/endi-1.1.0.crate) = a3d8a32ae18130a3c84dd492d4215c3d913c3b07c6b63c2eb3eb7ff1101ab7bf
+SIZE (rust/crates/endi-1.1.0.crate) = 4872
+SHA256 (rust/crates/enumflags2-0.7.11.crate) = ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147
+SIZE (rust/crates/enumflags2-0.7.11.crate) = 17500
+SHA256 (rust/crates/enumflags2_derive-0.7.11.crate) = fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79
+SIZE (rust/crates/enumflags2_derive-0.7.11.crate) = 8524
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/errno-0.3.12.crate) = cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18
+SIZE (rust/crates/errno-0.3.12.crate) = 12423
+SHA256 (rust/crates/error-code-3.3.2.crate) = dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59
+SIZE (rust/crates/error-code-3.3.2.crate) = 8516
+SHA256 (rust/crates/etagere-0.2.15.crate) = fc89bf99e5dc15954a60f707c1e09d7540e5cd9af85fa75caa0b510bc08c5342
+SIZE (rust/crates/etagere-0.2.15.crate) = 21203
+SHA256 (rust/crates/euclid-0.22.11.crate) = ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48
+SIZE (rust/crates/euclid-0.22.11.crate) = 79261
+SHA256 (rust/crates/event-listener-2.5.3.crate) = 0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0
+SIZE (rust/crates/event-listener-2.5.3.crate) = 15392
+SHA256 (rust/crates/event-listener-3.1.0.crate) = d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2
+SIZE (rust/crates/event-listener-3.1.0.crate) = 38793
+SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae
*** 1222 LINES SKIPPED ***