git: 9c96a7ef7ced - main - x11/xdg-desktop-portal-luminous: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sun, 08 Oct 2023 17:14:00 UTC
The branch main has been updated by jbeich:

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

commit 9c96a7ef7ceddb289cb70dcd45d6700d61a54621
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-10-08 05:28:38 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-10-08 17:13:11 +0000

    x11/xdg-desktop-portal-luminous: add new port
    
    An alternative to xdg-desktop-portal-wlr for wlroots compositors.
    This project is a stand alone binary and does not depend on grim.
    libwayshot is used as the screencopy backend to enable screenshots.
    
    https://github.com/waycrate/xdg-desktop-portal-luminous
---
 x11/Makefile                                       |    1 +
 x11/xdg-desktop-portal-luminous/Makefile           |   47 +
 x11/xdg-desktop-portal-luminous/Makefile.crates    |  523 ++
 x11/xdg-desktop-portal-luminous/distinfo           | 1049 +++
 .../files/patch-drm-sys                            | 6727 ++++++++++++++++++++
 .../files/patch-pipewire-i386                      |   53 +
 .../files/patch-pipewire_init                      |   59 +
 x11/xdg-desktop-portal-luminous/pkg-descr          |    3 +
 8 files changed, 8462 insertions(+)

diff --git a/x11/Makefile b/x11/Makefile
index eae51a8bba60..57e03c7a19c0 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -496,6 +496,7 @@
     SUBDIR += xdg-desktop-portal-gnome
     SUBDIR += xdg-desktop-portal-gtk
     SUBDIR += xdg-desktop-portal-hyprland
+    SUBDIR += xdg-desktop-portal-luminous
     SUBDIR += xdg-desktop-portal-wlr
     SUBDIR += xdialog
     SUBDIR += xditview
diff --git a/x11/xdg-desktop-portal-luminous/Makefile b/x11/xdg-desktop-portal-luminous/Makefile
new file mode 100644
index 000000000000..74fbac64fb07
--- /dev/null
+++ b/x11/xdg-desktop-portal-luminous/Makefile
@@ -0,0 +1,47 @@
+PORTNAME=	xdg-desktop-portal-luminous
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.1.1
+CATEGORIES=	x11 wayland
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	xdg-desktop-portal backend for wlroots
+WWW=		https://github.com/waycrate/xdg-desktop-portal-luminous
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BROKEN=		https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273258
+BROKEN_FreeBSD_12=	ld: error: undefined symbol: memfd_create
+
+LIB_DEPENDS=	libpipewire-0.3.so:multimedia/pipewire \
+		libxkbcommon.so:x11/libxkbcommon
+RUN_DEPENDS=	slurp:x11/slurp
+
+USES=		cargo llvm meson pkgconfig
+USE_GITHUB=	yes
+GH_ACCOUNT=	waycrate
+MAKE_ENV=	${CARGO_ENV}
+CARGO_BUILD=	no
+CARGO_INSTALL=	no
+CARGO_TEST=	no
+PLIST_FILES=	lib/systemd/user/${PORTNAME}.service \
+		libexec/${PORTNAME} \
+		share/dbus-1/services/org.freedesktop.impl.portal.desktop.luminous.service \
+		share/xdg-desktop-portal/portals/luminous.portal
+
+post-patch:
+	@${REINPLACE_CMD} -e 's,"llvm-config,"${LLVM_CONFIG},' \
+		${WRKSRC_crate_clang-sys}/build/common.rs \
+		${WRKSRC_crate_clang-sys}/src/support.rs
+# Make each cargo subcommand very verbose
+# Add explicit <triple> subdir for --target from USES=cargo
+# Adjust for CARGO_TARGET_DIR outside of meson.global_source_root()
+	@${REINPLACE_CMD} -e "/cargo.*build/s/$$/ '--verbose', '--verbose',/" \
+		-e "/cp/s,'target','..' / & / '${CARGO_BUILD_TARGET}'," \
+		${WRKSRC}/meson.build
+# XXX Drop after deskutils/xdg-desktop-portal >= 1.17.0 update
+# https://github.com/flatpak/xdg-desktop-portal/commit/939f0b0fcec6
+	@${ECHO_CMD} 'UseIn=wlroots;sway;Wayfire;river;phosh;Hyprland;' \
+		>>${WRKSRC}/misc/luminous.portal
+
+.include <bsd.port.mk>
diff --git a/x11/xdg-desktop-portal-luminous/Makefile.crates b/x11/xdg-desktop-portal-luminous/Makefile.crates
new file mode 100644
index 000000000000..72dcab54c1ef
--- /dev/null
+++ b/x11/xdg-desktop-portal-luminous/Makefile.crates
@@ -0,0 +1,523 @@
+CARGO_CRATES=	ab_glyph-0.2.22 \
+		ab_glyph_rasterizer-0.1.8 \
+		accesskit-0.11.2 \
+		accesskit_consumer-0.15.2 \
+		accesskit_macos-0.9.0 \
+		accesskit_unix-0.5.2 \
+		accesskit_windows-0.14.3 \
+		accesskit_winit-0.14.4 \
+		addr2line-0.21.0 \
+		adler-1.0.2 \
+		ahash-0.8.3 \
+		aho-corasick-1.1.1 \
+		android-activity-0.4.3 \
+		android-properties-0.2.2 \
+		anyhow-1.0.75 \
+		arrayref-0.3.7 \
+		arrayvec-0.7.4 \
+		as-raw-xcb-connection-1.0.0 \
+		async-broadcast-0.5.1 \
+		async-channel-1.9.0 \
+		async-executor-1.5.4 \
+		async-fs-1.6.0 \
+		async-io-1.13.0 \
+		async-lock-2.8.0 \
+		async-process-1.8.1 \
+		async-recursion-1.0.5 \
+		async-signal-0.2.3 \
+		async-task-4.4.1 \
+		async-trait-0.1.73 \
+		atomic-polyfill-1.0.3 \
+		atomic-waker-1.1.2 \
+		atspi-0.10.1 \
+		atspi-macros-0.2.0 \
+		auto_enums-0.8.2 \
+		autocfg-1.1.0 \
+		backtrace-0.3.69 \
+		base64-0.21.4 \
+		bindgen-0.66.1 \
+		bindgen-0.68.1 \
+		bit_field-0.10.2 \
+		bitflags-1.3.2 \
+		bitflags-2.4.0 \
+		block-0.1.6 \
+		block-buffer-0.10.4 \
+		block-sys-0.1.0-beta.1 \
+		block2-0.2.0-alpha.6 \
+		blocking-1.4.1 \
+		bumpalo-3.14.0 \
+		by_address-1.1.0 \
+		bytemuck-1.14.0 \
+		bytemuck_derive-1.5.0 \
+		byteorder-1.5.0 \
+		bytes-1.5.0 \
+		calloop-0.10.6 \
+		calloop-0.11.0 \
+		cc-1.0.83 \
+		cexpr-0.6.0 \
+		cfg-expr-0.15.5 \
+		cfg-if-1.0.0 \
+		cfg_aliases-0.1.1 \
+		cgl-0.3.2 \
+		clang-sys-1.6.1 \
+		clipboard-win-3.1.1 \
+		clru-0.6.1 \
+		cocoa-0.24.1 \
+		cocoa-0.25.0 \
+		cocoa-foundation-0.1.2 \
+		codemap-0.1.3 \
+		codemap-diagnostic-0.1.2 \
+		color_quant-1.1.0 \
+		concurrent-queue-2.3.0 \
+		const-field-offset-0.1.3 \
+		const-field-offset-macro-0.1.3 \
+		convert_case-0.4.0 \
+		convert_case-0.6.0 \
+		cookie-factory-0.3.2 \
+		copypasta-0.8.2 \
+		core-foundation-0.9.3 \
+		core-foundation-sys-0.8.4 \
+		core-graphics-0.22.3 \
+		core-graphics-0.23.1 \
+		core-graphics-types-0.1.2 \
+		core-text-19.2.0 \
+		countme-3.0.1 \
+		cpp-0.5.9 \
+		cpp_build-0.5.9 \
+		cpp_common-0.5.9 \
+		cpp_macros-0.5.9 \
+		cpufeatures-0.2.9 \
+		crc32fast-1.3.2 \
+		critical-section-1.1.2 \
+		crossbeam-channel-0.5.8 \
+		crossbeam-deque-0.8.3 \
+		crossbeam-epoch-0.9.15 \
+		crossbeam-utils-0.8.16 \
+		crunchy-0.2.2 \
+		crypto-common-0.1.6 \
+		css-color-parser2-1.0.1 \
+		csscolorparser-0.6.2 \
+		ctor-0.2.5 \
+		data-url-0.2.0 \
+		derivative-2.2.0 \
+		derive_more-0.99.17 \
+		derive_utils-0.13.2 \
+		digest-0.10.7 \
+		dispatch-0.2.0 \
+		dlib-0.5.2 \
+		downcast-rs-1.2.0 \
+		drm-0.9.0 \
+		drm-ffi-0.5.0 \
+		drm-fourcc-2.2.0 \
+		drm-sys-0.4.0 \
+		dunce-1.0.4 \
+		dwrote-0.11.0 \
+		either-1.9.0 \
+		enumflags2-0.7.8 \
+		enumflags2_derive-0.7.8 \
+		equivalent-1.0.1 \
+		errno-0.3.4 \
+		errno-dragonfly-0.1.2 \
+		euclid-0.22.9 \
+		event-listener-2.5.3 \
+		event-listener-3.0.0 \
+		exr-1.71.0 \
+		fastrand-1.9.0 \
+		fastrand-2.0.1 \
+		fdeflate-0.3.0 \
+		femtovg-0.7.1 \
+		field-offset-0.3.6 \
+		filetime-0.2.22 \
+		flate2-1.0.27 \
+		float-cmp-0.9.0 \
+		flume-0.11.0 \
+		fnv-1.0.7 \
+		fontconfig-parser-0.5.3 \
+		fontdb-0.14.1 \
+		fontdue-0.7.3 \
+		foreign-types-0.3.2 \
+		foreign-types-0.5.0 \
+		foreign-types-macros-0.2.3 \
+		foreign-types-shared-0.1.1 \
+		foreign-types-shared-0.3.1 \
+		form_urlencoded-1.2.0 \
+		fsevent-sys-4.1.0 \
+		futures-0.3.28 \
+		futures-channel-0.3.28 \
+		futures-core-0.3.28 \
+		futures-executor-0.3.28 \
+		futures-io-0.3.28 \
+		futures-lite-1.13.0 \
+		futures-macro-0.3.28 \
+		futures-sink-0.3.28 \
+		futures-task-0.3.28 \
+		futures-util-0.3.28 \
+		gbm-0.12.0 \
+		gbm-sys-0.2.2 \
+		generational-arena-0.2.9 \
+		generic-array-0.14.7 \
+		gethostname-0.2.3 \
+		gethostname-0.3.0 \
+		getrandom-0.2.10 \
+		gif-0.12.0 \
+		gimli-0.28.0 \
+		gl_generator-0.14.0 \
+		glob-0.3.1 \
+		glow-0.12.3 \
+		glutin-0.30.10 \
+		glutin-winit-0.3.0 \
+		glutin_egl_sys-0.5.1 \
+		glutin_glx_sys-0.4.0 \
+		glutin_wgl_sys-0.4.0 \
+		half-2.2.1 \
+		hashbrown-0.12.3 \
+		hashbrown-0.13.2 \
+		hashbrown-0.14.1 \
+		heck-0.4.1 \
+		hermit-abi-0.3.3 \
+		hex-0.4.3 \
+		home-0.5.5 \
+		i-slint-backend-linuxkms-1.2.2 \
+		i-slint-backend-qt-1.2.2 \
+		i-slint-backend-selector-1.2.2 \
+		i-slint-backend-winit-1.2.2 \
+		i-slint-common-1.2.2 \
+		i-slint-compiler-1.2.2 \
+		i-slint-core-1.2.2 \
+		i-slint-core-macros-1.2.2 \
+		i-slint-renderer-femtovg-1.2.2 \
+		i-slint-renderer-skia-1.2.2 \
+		idna-0.4.0 \
+		image-0.24.7 \
+		imagesize-0.12.0 \
+		imgref-1.9.4 \
+		indexmap-2.0.2 \
+		inotify-0.9.6 \
+		inotify-sys-0.1.5 \
+		input-0.8.3 \
+		input-sys-1.17.0 \
+		instant-0.1.12 \
+		integer-sqrt-0.1.5 \
+		io-lifetimes-1.0.11 \
+		itertools-0.11.0 \
+		itoa-1.0.9 \
+		jni-sys-0.3.0 \
+		jobserver-0.1.26 \
+		jpeg-decoder-0.3.0 \
+		js-sys-0.3.64 \
+		khronos_api-3.1.0 \
+		kqueue-1.0.8 \
+		kqueue-sys-1.0.4 \
+		kurbo-0.9.5 \
+		lazy-bytes-cast-5.0.1 \
+		lazy_static-1.4.0 \
+		lazycell-1.3.0 \
+		lebe-0.5.2 \
+		libc-0.2.149 \
+		libloading-0.7.4 \
+		libloading-0.8.1 \
+		libm-0.2.8 \
+		libseat-0.2.1 \
+		libseat-sys-0.1.7 \
+		libspa-0.7.2 \
+		libspa-sys-0.7.2 \
+		libudev-sys-0.1.4 \
+		libwayshot-0.3.0 \
+		linked-hash-map-0.5.6 \
+		linked_hash_set-0.1.4 \
+		linux-raw-sys-0.3.8 \
+		linux-raw-sys-0.4.8 \
+		lock_api-0.4.10 \
+		log-0.4.20 \
+		lru-0.10.1 \
+		lyon_algorithms-1.0.3 \
+		lyon_extra-1.0.1 \
+		lyon_geom-1.0.4 \
+		lyon_path-1.0.4 \
+		malloc_buf-0.0.6 \
+		memchr-2.6.4 \
+		memmap2-0.5.10 \
+		memmap2-0.6.2 \
+		memmap2-0.7.1 \
+		memmap2-0.9.0 \
+		memoffset-0.6.5 \
+		memoffset-0.7.1 \
+		memoffset-0.9.0 \
+		metal-0.24.0 \
+		minimal-lexical-0.2.1 \
+		miniz_oxide-0.7.1 \
+		mio-0.8.8 \
+		ndk-0.7.0 \
+		ndk-context-0.1.1 \
+		ndk-sys-0.4.1+23.1.7779620 \
+		nix-0.24.3 \
+		nix-0.25.1 \
+		nix-0.26.4 \
+		nix-0.27.1 \
+		nom-7.1.3 \
+		notify-6.1.1 \
+		nu-ansi-term-0.46.0 \
+		num-integer-0.1.45 \
+		num-rational-0.4.1 \
+		num-traits-0.2.17 \
+		num_cpus-1.16.0 \
+		num_enum-0.5.11 \
+		num_enum-0.6.1 \
+		num_enum-0.7.0 \
+		num_enum_derive-0.5.11 \
+		num_enum_derive-0.6.1 \
+		num_enum_derive-0.7.0 \
+		objc-0.2.7 \
+		objc-foundation-0.1.1 \
+		objc-sys-0.2.0-beta.2 \
+		objc2-0.3.0-beta.3.patch-leaks.3 \
+		objc2-encode-2.0.0-pre.2 \
+		objc_exception-0.1.2 \
+		objc_id-0.1.1 \
+		object-0.32.1 \
+		once_cell-1.18.0 \
+		orbclient-0.3.46 \
+		ordered-stream-0.2.0 \
+		overload-0.1.1 \
+		owned_ttf_parser-0.19.0 \
+		parking-2.1.1 \
+		parking_lot-0.12.1 \
+		parking_lot_core-0.9.8 \
+		paste-1.0.14 \
+		peeking_take_while-0.1.2 \
+		percent-encoding-2.3.0 \
+		phf-0.11.2 \
+		phf_generator-0.11.2 \
+		phf_macros-0.11.2 \
+		phf_shared-0.11.2 \
+		pico-args-0.5.0 \
+		pin-project-1.1.3 \
+		pin-project-internal-1.1.3 \
+		pin-project-lite-0.2.13 \
+		pin-utils-0.1.0 \
+		pin-weak-1.1.0 \
+		piper-0.2.1 \
+		pipewire-0.7.2 \
+		pipewire-sys-0.7.2 \
+		pkg-config-0.3.27 \
+		png-0.17.10 \
+		polling-2.8.0 \
+		portable-atomic-1.4.3 \
+		ppv-lite86-0.2.17 \
+		prettyplease-0.2.15 \
+		proc-macro-crate-1.3.1 \
+		proc-macro2-1.0.68 \
+		qoi-0.4.1 \
+		qttypes-0.2.9 \
+		quick-xml-0.28.2 \
+		quick-xml-0.30.0 \
+		quote-1.0.33 \
+		rand-0.8.5 \
+		rand_chacha-0.3.1 \
+		rand_core-0.6.4 \
+		raw-window-handle-0.5.2 \
+		rayon-1.8.0 \
+		rayon-core-1.12.0 \
+		rctree-0.5.0 \
+		redox_syscall-0.3.5 \
+		regex-1.9.6 \
+		regex-automata-0.3.9 \
+		regex-syntax-0.7.5 \
+		resvg-0.34.1 \
+		rgb-0.8.36 \
+		ring-0.16.20 \
+		rowan-0.15.13 \
+		roxmltree-0.18.1 \
+		rustc-demangle-0.1.23 \
+		rustc-hash-1.1.0 \
+		rustc_version-0.4.0 \
+		rustix-0.37.24 \
+		rustix-0.38.17 \
+		rustls-0.21.7 \
+		rustls-webpki-0.101.6 \
+		rustversion-1.0.14 \
+		rustybuzz-0.7.0 \
+		ryu-1.0.15 \
+		same-file-1.0.6 \
+		scoped-tls-1.0.1 \
+		scoped-tls-hkt-0.1.4 \
+		scopeguard-1.2.0 \
+		sct-0.7.0 \
+		sctk-adwaita-0.5.4 \
+		semver-1.0.19 \
+		send_wrapper-0.6.0 \
+		serde-1.0.188 \
+		serde_derive-1.0.188 \
+		serde_json-1.0.107 \
+		serde_repr-0.1.16 \
+		serde_spanned-0.6.3 \
+		sha1-0.10.6 \
+		sharded-slab-0.1.7 \
+		shlex-1.2.0 \
+		signal-hook-registry-1.4.1 \
+		simd-adler32-0.3.7 \
+		simplecss-0.2.1 \
+		siphasher-0.3.11 \
+		skia-bindings-0.66.3 \
+		skia-safe-0.66.3 \
+		slab-0.4.9 \
+		slint-1.2.2 \
+		slint-build-1.2.2 \
+		slint-macros-1.2.2 \
+		slotmap-1.0.6 \
+		smallvec-1.11.1 \
+		smithay-client-toolkit-0.16.1 \
+		smithay-clipboard-0.6.6 \
+		smol_str-0.2.0 \
+		socket2-0.4.9 \
+		socket2-0.5.4 \
+		softbuffer-0.3.1 \
+		spin-0.5.2 \
+		spin-0.9.8 \
+		spin_on-0.1.1 \
+		stable_deref_trait-1.2.0 \
+		static_assertions-1.1.0 \
+		strict-num-0.1.1 \
+		strum-0.25.0 \
+		strum_macros-0.25.2 \
+		svgtypes-0.11.0 \
+		syn-1.0.109 \
+		syn-2.0.38 \
+		system-deps-6.1.2 \
+		tar-0.4.40 \
+		target-lexicon-0.12.11 \
+		tempfile-3.8.0 \
+		termcolor-1.3.0 \
+		text-size-1.1.1 \
+		thiserror-1.0.49 \
+		thiserror-impl-1.0.49 \
+		thread_local-1.1.7 \
+		tiff-0.9.0 \
+		tiny-skia-0.8.4 \
+		tiny-skia-0.10.0 \
+		tiny-skia-path-0.8.4 \
+		tiny-skia-path-0.10.0 \
+		tiny-xlib-0.2.2 \
+		tinyvec-1.6.0 \
+		tinyvec_macros-0.1.1 \
+		tokio-1.32.0 \
+		tokio-macros-2.1.0 \
+		toml-0.7.8 \
+		toml-0.8.2 \
+		toml_datetime-0.6.3 \
+		toml_edit-0.19.15 \
+		toml_edit-0.20.2 \
+		tracing-0.1.37 \
+		tracing-attributes-0.1.26 \
+		tracing-core-0.1.31 \
+		tracing-log-0.1.3 \
+		tracing-subscriber-0.3.17 \
+		ttf-parser-0.15.2 \
+		ttf-parser-0.18.1 \
+		ttf-parser-0.19.2 \
+		typenum-1.17.0 \
+		udev-0.7.0 \
+		uds_windows-1.0.2 \
+		unicode-bidi-0.3.13 \
+		unicode-bidi-mirroring-0.1.0 \
+		unicode-ccc-0.1.2 \
+		unicode-general-category-0.6.0 \
+		unicode-ident-1.0.12 \
+		unicode-linebreak-0.1.5 \
+		unicode-normalization-0.1.22 \
+		unicode-script-0.5.5 \
+		unicode-segmentation-1.10.1 \
+		unicode-vo-0.1.0 \
+		unicode-xid-0.2.4 \
+		untrusted-0.7.1 \
+		ureq-2.8.0 \
+		url-2.4.1 \
+		usvg-0.34.1 \
+		usvg-parser-0.34.0 \
+		usvg-text-layout-0.34.0 \
+		usvg-tree-0.34.0 \
+		valuable-0.1.0 \
+		vec_map-0.8.2 \
+		version-compare-0.1.1 \
+		version_check-0.9.4 \
+		vtable-0.1.11 \
+		vtable-macro-0.1.10 \
+		waker-fn-1.1.1 \
+		walkdir-2.4.0 \
+		wasi-0.11.0+wasi-snapshot-preview1 \
+		wasm-bindgen-0.2.87 \
+		wasm-bindgen-backend-0.2.87 \
+		wasm-bindgen-macro-0.2.87 \
+		wasm-bindgen-macro-support-0.2.87 \
+		wasm-bindgen-shared-0.2.87 \
+		wayland-backend-0.1.2 \
+		wayland-backend-0.3.2 \
+		wayland-client-0.29.5 \
+		wayland-client-0.30.2 \
+		wayland-client-0.31.1 \
+		wayland-commons-0.29.5 \
+		wayland-cursor-0.29.5 \
+		wayland-protocols-0.29.5 \
+		wayland-protocols-0.31.0 \
+		wayland-protocols-misc-0.2.0 \
+		wayland-protocols-wlr-0.2.0 \
+		wayland-scanner-0.29.5 \
+		wayland-scanner-0.30.1 \
+		wayland-scanner-0.31.0 \
+		wayland-sys-0.29.5 \
+		wayland-sys-0.30.1 \
+		wayland-sys-0.31.1 \
+		web-sys-0.3.64 \
+		webpki-roots-0.25.2 \
+		weezl-0.1.7 \
+		which-4.4.2 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-util-0.1.6 \
+		winapi-wsapoll-0.1.1 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		windows-0.48.0 \
+		windows-implement-0.48.0 \
+		windows-interface-0.48.0 \
+		windows-sys-0.45.0 \
+		windows-sys-0.48.0 \
+		windows-targets-0.42.2 \
+		windows-targets-0.48.5 \
+		windows_aarch64_gnullvm-0.42.2 \
+		windows_aarch64_gnullvm-0.48.5 \
+		windows_aarch64_msvc-0.42.2 \
+		windows_aarch64_msvc-0.48.5 \
+		windows_i686_gnu-0.42.2 \
+		windows_i686_gnu-0.48.5 \
+		windows_i686_msvc-0.42.2 \
+		windows_i686_msvc-0.48.5 \
+		windows_x86_64_gnu-0.42.2 \
+		windows_x86_64_gnu-0.48.5 \
+		windows_x86_64_gnullvm-0.42.2 \
+		windows_x86_64_gnullvm-0.48.5 \
+		windows_x86_64_msvc-0.42.2 \
+		windows_x86_64_msvc-0.48.5 \
+		winit-0.28.7 \
+		winnow-0.5.16 \
+		wio-0.2.2 \
+		x11-clipboard-0.7.1 \
+		x11-dl-2.21.0 \
+		x11rb-0.10.1 \
+		x11rb-0.12.0 \
+		x11rb-protocol-0.10.0 \
+		x11rb-protocol-0.12.0 \
+		xattr-1.0.1 \
+		xcursor-0.3.4 \
+		xdg-home-1.0.0 \
+		xkbcommon-0.6.0 \
+		xkeysym-0.2.0 \
+		xml-rs-0.8.19 \
+		xmlparser-0.13.6 \
+		xmlwriter-0.1.0 \
+		zbus-3.14.1 \
+		zbus_macros-3.14.1 \
+		zbus_names-2.6.0 \
+		zune-inflate-0.2.54 \
+		zvariant-3.15.0 \
+		zvariant_derive-3.15.0 \
+		zvariant_utils-1.0.1
diff --git a/x11/xdg-desktop-portal-luminous/distinfo b/x11/xdg-desktop-portal-luminous/distinfo
new file mode 100644
index 000000000000..cd72d7bd8351
--- /dev/null
+++ b/x11/xdg-desktop-portal-luminous/distinfo
@@ -0,0 +1,1049 @@
+TIMESTAMP = 1696742918
+SHA256 (rust/crates/ab_glyph-0.2.22.crate) = b1061f3ff92c2f65800df1f12fc7b4ff44ee14783104187dd04dfee6f11b0fd2
+SIZE (rust/crates/ab_glyph-0.2.22.crate) = 18440
+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/accesskit-0.11.2.crate) = 76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8
+SIZE (rust/crates/accesskit-0.11.2.crate) = 27223
+SHA256 (rust/crates/accesskit_consumer-0.15.2.crate) = 04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00
+SIZE (rust/crates/accesskit_consumer-0.15.2.crate) = 24995
+SHA256 (rust/crates/accesskit_macos-0.9.0.crate) = 134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56
+SIZE (rust/crates/accesskit_macos-0.9.0.crate) = 17382
+SHA256 (rust/crates/accesskit_unix-0.5.2.crate) = e084cb5168790c0c112626175412dc5ad127083441a8248ae49ddf6725519e83
+SIZE (rust/crates/accesskit_unix-0.5.2.crate) = 17111
+SHA256 (rust/crates/accesskit_windows-0.14.3.crate) = 9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31
+SIZE (rust/crates/accesskit_windows-0.14.3.crate) = 39348
+SHA256 (rust/crates/accesskit_winit-0.14.4.crate) = 825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0
+SIZE (rust/crates/accesskit_winit-0.14.4.crate) = 21280
+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/ahash-0.8.3.crate) = 2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f
+SIZE (rust/crates/ahash-0.8.3.crate) = 42416
+SHA256 (rust/crates/aho-corasick-1.1.1.crate) = ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab
+SIZE (rust/crates/aho-corasick-1.1.1.crate) = 182812
+SHA256 (rust/crates/android-activity-0.4.3.crate) = 64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0
+SIZE (rust/crates/android-activity-0.4.3.crate) = 238185
+SHA256 (rust/crates/android-properties-0.2.2.crate) = fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04
+SIZE (rust/crates/android-properties-0.2.2.crate) = 4563
+SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
+SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
+SHA256 (rust/crates/arrayref-0.3.7.crate) = 6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545
+SIZE (rust/crates/arrayref-0.3.7.crate) = 9620
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
+SHA256 (rust/crates/as-raw-xcb-connection-1.0.0.crate) = 2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa
+SIZE (rust/crates/as-raw-xcb-connection-1.0.0.crate) = 2030
+SHA256 (rust/crates/async-broadcast-0.5.1.crate) = 7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b
+SIZE (rust/crates/async-broadcast-0.5.1.crate) = 20134
+SHA256 (rust/crates/async-channel-1.9.0.crate) = 81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35
+SIZE (rust/crates/async-channel-1.9.0.crate) = 13664
+SHA256 (rust/crates/async-executor-1.5.4.crate) = 2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499
+SIZE (rust/crates/async-executor-1.5.4.crate) = 21325
+SHA256 (rust/crates/async-fs-1.6.0.crate) = 279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06
+SIZE (rust/crates/async-fs-1.6.0.crate) = 16506
+SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af
+SIZE (rust/crates/async-io-1.13.0.crate) = 37191
+SHA256 (rust/crates/async-lock-2.8.0.crate) = 287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b
+SIZE (rust/crates/async-lock-2.8.0.crate) = 29944
+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.0.5.crate) = 5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0
+SIZE (rust/crates/async-recursion-1.0.5.crate) = 11890
+SHA256 (rust/crates/async-signal-0.2.3.crate) = 1079d27511f6c038736279421774ef4ad4bdd2e300825f4a48c4cc463a57cedf
+SIZE (rust/crates/async-signal-0.2.3.crate) = 13063
+SHA256 (rust/crates/async-task-4.4.1.crate) = b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921
+SIZE (rust/crates/async-task-4.4.1.crate) = 36349
+SHA256 (rust/crates/async-trait-0.1.73.crate) = bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0
+SIZE (rust/crates/async-trait-0.1.73.crate) = 28654
+SHA256 (rust/crates/atomic-polyfill-1.0.3.crate) = 8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4
+SIZE (rust/crates/atomic-polyfill-1.0.3.crate) = 11581
+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.10.1.crate) = 674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa
+SIZE (rust/crates/atspi-0.10.1.crate) = 55562
+SHA256 (rust/crates/atspi-macros-0.2.0.crate) = 97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768
+SIZE (rust/crates/atspi-macros-0.2.0.crate) = 3306
+SHA256 (rust/crates/auto_enums-0.8.2.crate) = dd4ba50b181a898ce52142184e3a46641002b3b190bf5ef827eb3c578fad4b70
+SIZE (rust/crates/auto_enums-0.8.2.crate) = 50765
+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/base64-0.21.4.crate) = 9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2
+SIZE (rust/crates/base64-0.21.4.crate) = 77029
+SHA256 (rust/crates/bindgen-0.66.1.crate) = f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7
+SIZE (rust/crates/bindgen-0.66.1.crate) = 218860
+SHA256 (rust/crates/bindgen-0.68.1.crate) = 726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078
+SIZE (rust/crates/bindgen-0.68.1.crate) = 218997
+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.4.0.crate) = b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635
+SIZE (rust/crates/bitflags-2.4.0.crate) = 36954
+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/block-sys-0.1.0-beta.1.crate) = 0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146
+SIZE (rust/crates/block-sys-0.1.0-beta.1.crate) = 9039
+SHA256 (rust/crates/block2-0.2.0-alpha.6.crate) = 8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42
+SIZE (rust/crates/block2-0.2.0-alpha.6.crate) = 10639
+SHA256 (rust/crates/blocking-1.4.1.crate) = 8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a
+SIZE (rust/crates/blocking-1.4.1.crate) = 17205
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/by_address-1.1.0.crate) = bf8dba2868114ed769a1f2590fc9ae5eb331175b44313b6c9b922f8f7ca813d0
+SIZE (rust/crates/by_address-1.1.0.crate) = 8165
+SHA256 (rust/crates/bytemuck-1.14.0.crate) = 374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6
+SIZE (rust/crates/bytemuck-1.14.0.crate) = 44933
+SHA256 (rust/crates/bytemuck_derive-1.5.0.crate) = 965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1
+SIZE (rust/crates/bytemuck_derive-1.5.0.crate) = 17323
+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/calloop-0.10.6.crate) = 52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8
+SIZE (rust/crates/calloop-0.10.6.crate) = 53711
+SHA256 (rust/crates/calloop-0.11.0.crate) = dea4bfce4c7fbd71e5bb8a7063b6cc7eed48c6d29ee9a08332a59e5d9d93e5c4
+SIZE (rust/crates/calloop-0.11.0.crate) = 60134
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+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.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/cfg_aliases-0.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e
+SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009
+SHA256 (rust/crates/cgl-0.3.2.crate) = 0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff
+SIZE (rust/crates/cgl-0.3.2.crate) = 7557
+SHA256 (rust/crates/clang-sys-1.6.1.crate) = c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f
+SIZE (rust/crates/clang-sys-1.6.1.crate) = 41346
+SHA256 (rust/crates/clipboard-win-3.1.1.crate) = 9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342
+SIZE (rust/crates/clipboard-win-3.1.1.crate) = 11964
+SHA256 (rust/crates/clru-0.6.1.crate) = b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807
+SIZE (rust/crates/clru-0.6.1.crate) = 16507
+SHA256 (rust/crates/cocoa-0.24.1.crate) = f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a
+SIZE (rust/crates/cocoa-0.24.1.crate) = 40445
+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/codemap-0.1.3.crate) = b9e769b5c8c8283982a987c6e948e540254f1058d5a74b8794914d4ef5fc2a24
+SIZE (rust/crates/codemap-0.1.3.crate) = 9483
+SHA256 (rust/crates/codemap-diagnostic-0.1.2.crate) = cc20770be05b566a963bf91505e60412c4a2d016d1ef95c5512823bb085a8122
+SIZE (rust/crates/codemap-diagnostic-0.1.2.crate) = 21541
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/concurrent-queue-2.3.0.crate) = f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400
+SIZE (rust/crates/concurrent-queue-2.3.0.crate) = 20189
+SHA256 (rust/crates/const-field-offset-0.1.3.crate) = 6304465f16f463cddc572b737c3df93576edd3a6b53f057bd8beeb29f4ef8dfd
+SIZE (rust/crates/const-field-offset-0.1.3.crate) = 8163
+SHA256 (rust/crates/const-field-offset-macro-0.1.3.crate) = 57aaaad9185d3bcb3afe63549d8ba60b2fb0ea8dc2da83f62dd56805edf56fd1
+SIZE (rust/crates/const-field-offset-macro-0.1.3.crate) = 4528
+SHA256 (rust/crates/convert_case-0.4.0.crate) = 6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e
+SIZE (rust/crates/convert_case-0.4.0.crate) = 8098
+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.2.crate) = 396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b
+SIZE (rust/crates/cookie-factory-0.3.2.crate) = 14325
+SHA256 (rust/crates/copypasta-0.8.2.crate) = 133fc8675ee3a4ec9aa513584deda9aa0faeda3586b87f7f0f2ba082c66fb172
+SIZE (rust/crates/copypasta-0.8.2.crate) = 13030
+SHA256 (rust/crates/core-foundation-0.9.3.crate) = 194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146
+SIZE (rust/crates/core-foundation-0.9.3.crate) = 27059
+SHA256 (rust/crates/core-foundation-sys-0.8.4.crate) = e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa
+SIZE (rust/crates/core-foundation-sys-0.8.4.crate) = 17725
+SHA256 (rust/crates/core-graphics-0.22.3.crate) = 2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb
+SIZE (rust/crates/core-graphics-0.22.3.crate) = 29514
+SHA256 (rust/crates/core-graphics-0.23.1.crate) = 970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212
+SIZE (rust/crates/core-graphics-0.23.1.crate) = 30714
+SHA256 (rust/crates/core-graphics-types-0.1.2.crate) = 2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33
+SIZE (rust/crates/core-graphics-types-0.1.2.crate) = 2641
+SHA256 (rust/crates/core-text-19.2.0.crate) = 99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25
+SIZE (rust/crates/core-text-19.2.0.crate) = 18446
+SHA256 (rust/crates/countme-3.0.1.crate) = 7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636
+SIZE (rust/crates/countme-3.0.1.crate) = 10784
+SHA256 (rust/crates/cpp-0.5.9.crate) = bfa65869ef853e45c60e9828aa08cdd1398cb6e13f3911d9cb2a079b144fcd64
+SIZE (rust/crates/cpp-0.5.9.crate) = 6494
+SHA256 (rust/crates/cpp_build-0.5.9.crate) = 0e361fae2caf9758164b24da3eedd7f7d7451be30d90d8e7b5d2be29a2f0cf5b
+SIZE (rust/crates/cpp_build-0.5.9.crate) = 15713
+SHA256 (rust/crates/cpp_common-0.5.9.crate) = 3e1a2532e4ed4ea13031c13bc7bc0dbca4aae32df48e9d77f0d1e743179f2ea1
+SIZE (rust/crates/cpp_common-0.5.9.crate) = 4725
+SHA256 (rust/crates/cpp_macros-0.5.9.crate) = 47ec9cc90633446f779ef481a9ce5a0077107dd5b87016440448d908625a83fd
+SIZE (rust/crates/cpp_macros-0.5.9.crate) = 7103
+SHA256 (rust/crates/cpufeatures-0.2.9.crate) = a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1
+SIZE (rust/crates/cpufeatures-0.2.9.crate) = 11895
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/critical-section-1.1.2.crate) = 7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216
+SIZE (rust/crates/critical-section-1.1.2.crate) = 18337
+SHA256 (rust/crates/crossbeam-channel-0.5.8.crate) = a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200
+SIZE (rust/crates/crossbeam-channel-0.5.8.crate) = 90455
+SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef
+SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746
+SHA256 (rust/crates/crossbeam-epoch-0.9.15.crate) = ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7
+SIZE (rust/crates/crossbeam-epoch-0.9.15.crate) = 48553
+SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294
+SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508
+SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7
+SIZE (rust/crates/crunchy-0.2.2.crate) = 2995
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/css-color-parser2-1.0.1.crate) = cf8ed1639f4b56ec6f31d007ff66ce4a13099dce5a9995d48368a30d62bf04bd
+SIZE (rust/crates/css-color-parser2-1.0.1.crate) = 8371
+SHA256 (rust/crates/csscolorparser-0.6.2.crate) = eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf
+SIZE (rust/crates/csscolorparser-0.6.2.crate) = 16859
+SHA256 (rust/crates/ctor-0.2.5.crate) = 37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583
+SIZE (rust/crates/ctor-0.2.5.crate) = 11014
+SHA256 (rust/crates/data-url-0.2.0.crate) = 8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5
+SIZE (rust/crates/data-url-0.2.0.crate) = 20553
+SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
+SIZE (rust/crates/derivative-2.2.0.crate) = 48076
+SHA256 (rust/crates/derive_more-0.99.17.crate) = 4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321
+SIZE (rust/crates/derive_more-0.99.17.crate) = 55771
+SHA256 (rust/crates/derive_utils-0.13.2.crate) = 9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21
+SIZE (rust/crates/derive_utils-0.13.2.crate) = 13714
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+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/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650
+SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670
+SHA256 (rust/crates/drm-0.9.0.crate) = edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f
+SIZE (rust/crates/drm-0.9.0.crate) = 46379
+SHA256 (rust/crates/drm-ffi-0.5.0.crate) = 1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525
+SIZE (rust/crates/drm-ffi-0.5.0.crate) = 7824
+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.4.0.crate) = 1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d
+SIZE (rust/crates/drm-sys-0.4.0.crate) = 53943
+SHA256 (rust/crates/dunce-1.0.4.crate) = 56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b
+SIZE (rust/crates/dunce-1.0.4.crate) = 8034
+SHA256 (rust/crates/dwrote-0.11.0.crate) = 439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b
+SIZE (rust/crates/dwrote-0.11.0.crate) = 21715
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
+SHA256 (rust/crates/enumflags2-0.7.8.crate) = 5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939
+SIZE (rust/crates/enumflags2-0.7.8.crate) = 15374
+SHA256 (rust/crates/enumflags2_derive-0.7.8.crate) = f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246
+SIZE (rust/crates/enumflags2_derive-0.7.8.crate) = 7901
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.4.crate) = add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480
+SIZE (rust/crates/errno-0.3.4.crate) = 10589
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/euclid-0.22.9.crate) = 87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787
+SIZE (rust/crates/euclid-0.22.9.crate) = 76671
+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.0.0.crate) = 29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325
+SIZE (rust/crates/event-listener-3.0.0.crate) = 37110
+SHA256 (rust/crates/exr-1.71.0.crate) = 832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8
+SIZE (rust/crates/exr-1.71.0.crate) = 244198
+SHA256 (rust/crates/fastrand-1.9.0.crate) = e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be
+SIZE (rust/crates/fastrand-1.9.0.crate) = 11910
+SHA256 (rust/crates/fastrand-2.0.1.crate) = 25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5
+SIZE (rust/crates/fastrand-2.0.1.crate) = 14664
+SHA256 (rust/crates/fdeflate-0.3.0.crate) = d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10
+SIZE (rust/crates/fdeflate-0.3.0.crate) = 21790
+SHA256 (rust/crates/femtovg-0.7.1.crate) = 5a3a2d0ff0df09856a5c1c89cc83863a1f0f994c55452186621bb57a01f270b3
+SIZE (rust/crates/femtovg-0.7.1.crate) = 81739
+SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
+SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
+SHA256 (rust/crates/filetime-0.2.22.crate) = d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0
+SIZE (rust/crates/filetime-0.2.22.crate) = 15029
+SHA256 (rust/crates/flate2-1.0.27.crate) = c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010
+SIZE (rust/crates/flate2-1.0.27.crate) = 73460
+SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4
+SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102
+SHA256 (rust/crates/flume-0.11.0.crate) = 55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181
+SIZE (rust/crates/flume-0.11.0.crate) = 67502
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/fontconfig-parser-0.5.3.crate) = 674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4
+SIZE (rust/crates/fontconfig-parser-0.5.3.crate) = 38070
+SHA256 (rust/crates/fontdb-0.14.1.crate) = af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e
+SIZE (rust/crates/fontdb-0.14.1.crate) = 107231
+SHA256 (rust/crates/fontdue-0.7.3.crate) = 0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc
+SIZE (rust/crates/fontdue-0.7.3.crate) = 139614
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-0.5.0.crate) = d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965
+SIZE (rust/crates/foreign-types-0.5.0.crate) = 7824
+SHA256 (rust/crates/foreign-types-macros-0.2.3.crate) = 1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742
+SIZE (rust/crates/foreign-types-macros-0.2.3.crate) = 7635
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/foreign-types-shared-0.3.1.crate) = aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b
+SIZE (rust/crates/foreign-types-shared-0.3.1.crate) = 6006
+SHA256 (rust/crates/form_urlencoded-1.2.0.crate) = a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652
+SIZE (rust/crates/form_urlencoded-1.2.0.crate) = 8923
+SHA256 (rust/crates/fsevent-sys-4.1.0.crate) = 76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2
+SIZE (rust/crates/fsevent-sys-4.1.0.crate) = 4620
+SHA256 (rust/crates/futures-0.3.28.crate) = 23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40
+SIZE (rust/crates/futures-0.3.28.crate) = 53229
+SHA256 (rust/crates/futures-channel-0.3.28.crate) = 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2
+SIZE (rust/crates/futures-channel-0.3.28.crate) = 32281
+SHA256 (rust/crates/futures-core-0.3.28.crate) = 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c
+SIZE (rust/crates/futures-core-0.3.28.crate) = 14780
+SHA256 (rust/crates/futures-executor-0.3.28.crate) = ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0
+SIZE (rust/crates/futures-executor-0.3.28.crate) = 17743
+SHA256 (rust/crates/futures-io-0.3.28.crate) = 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964
+SIZE (rust/crates/futures-io-0.3.28.crate) = 8910
+SHA256 (rust/crates/futures-lite-1.13.0.crate) = 49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce
+SIZE (rust/crates/futures-lite-1.13.0.crate) = 37058
+SHA256 (rust/crates/futures-macro-0.3.28.crate) = 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72
+SIZE (rust/crates/futures-macro-0.3.28.crate) = 11272
+SHA256 (rust/crates/futures-sink-0.3.28.crate) = f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e
+SIZE (rust/crates/futures-sink-0.3.28.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.28.crate) = 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65
+SIZE (rust/crates/futures-task-0.3.28.crate) = 11848
+SHA256 (rust/crates/futures-util-0.3.28.crate) = 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533
+SIZE (rust/crates/futures-util-0.3.28.crate) = 158510
+SHA256 (rust/crates/gbm-0.12.0.crate) = f2ec389cda876966cf824111bf6e533fb934c711d473498279964a990853b3c6
+SIZE (rust/crates/gbm-0.12.0.crate) = 11856
+SHA256 (rust/crates/gbm-sys-0.2.2.crate) = b63eba9b9b7a231514482deb08759301c9f9f049ac6869403f381834ebfeaf67
+SIZE (rust/crates/gbm-sys-0.2.2.crate) = 9268
+SHA256 (rust/crates/generational-arena-0.2.9.crate) = 877e94aff08e743b651baaea359664321055749b398adff8740a7399af7796e7
+SIZE (rust/crates/generational-arena-0.2.9.crate) = 21409
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/gethostname-0.2.3.crate) = c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e
+SIZE (rust/crates/gethostname-0.2.3.crate) = 8174
+SHA256 (rust/crates/gethostname-0.3.0.crate) = bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177
+SIZE (rust/crates/gethostname-0.3.0.crate) = 8440
+SHA256 (rust/crates/getrandom-0.2.10.crate) = be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427
+SIZE (rust/crates/getrandom-0.2.10.crate) = 34955
+SHA256 (rust/crates/gif-0.12.0.crate) = 80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045
+SIZE (rust/crates/gif-0.12.0.crate) = 634734
+SHA256 (rust/crates/gimli-0.28.0.crate) = 6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0
+SIZE (rust/crates/gimli-0.28.0.crate) = 269277
+SHA256 (rust/crates/gl_generator-0.14.0.crate) = 1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d
+SIZE (rust/crates/gl_generator-0.14.0.crate) = 22330
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/glow-0.12.3.crate) = ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728
+SIZE (rust/crates/glow-0.12.3.crate) = 149996
+SHA256 (rust/crates/glutin-0.30.10.crate) = 8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe
+SIZE (rust/crates/glutin-0.30.10.crate) = 65694
+SHA256 (rust/crates/glutin-winit-0.3.0.crate) = 629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4
+SIZE (rust/crates/glutin-winit-0.3.0.crate) = 5408
+SHA256 (rust/crates/glutin_egl_sys-0.5.1.crate) = af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5
+SIZE (rust/crates/glutin_egl_sys-0.5.1.crate) = 6258
+SHA256 (rust/crates/glutin_glx_sys-0.4.0.crate) = 1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494
+SIZE (rust/crates/glutin_glx_sys-0.4.0.crate) = 5905
+SHA256 (rust/crates/glutin_wgl_sys-0.4.0.crate) = ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165
+SIZE (rust/crates/glutin_wgl_sys-0.4.0.crate) = 5477
+SHA256 (rust/crates/half-2.2.1.crate) = 02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0
+SIZE (rust/crates/half-2.2.1.crate) = 47021
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e
+SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265
+SHA256 (rust/crates/hashbrown-0.14.1.crate) = 7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12
+SIZE (rust/crates/hashbrown-0.14.1.crate) = 127570
+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/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/home-0.5.5.crate) = 5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb
*** 7557 LINES SKIPPED ***