# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Autogenerated by pycargoebuild 0.16.0

EAPI=8

CRATES="
	accesskit@0.24.1
	accesskit_atspi_common@0.19.1
	accesskit_consumer@0.38.0
	accesskit_macos@0.26.3
	accesskit_unix@0.22.1
	accesskit_windows@0.34.0
	addr2line@0.25.1
	addr2line@0.26.1
	adler2@2.0.1
	adler32@1.2.0
	aes@0.8.4
	agent-client-protocol-derive@2.2.0
	agent-client-protocol-schema@1.9.1
	agent-client-protocol@2.2.0
	ahash@0.7.8
	ahash@0.8.12
	aho-corasick@1.1.3
	aliasable@0.1.3
	aligned-vec@0.6.4
	aligned@0.4.3
	alloca@0.4.0
	allocator-api2@0.2.21
	alsa-sys@0.3.1
	alsa@0.10.0
	ambient-authority@0.0.2
	ammonia@4.1.4
	android_system_properties@0.1.5
	anes@0.1.6
	annotate-snippets@0.12.12
	anstream@0.6.21
	anstyle-parse@0.2.7
	anstyle-query@1.1.4
	anstyle-wincon@3.0.10
	anstyle@1.0.13
	any_vec@0.14.0
	anyhow@1.0.104
	approx@0.5.1
	ar_archive_writer@0.5.1
	arbitrary@1.4.2
	arc-swap@1.9.0
	arg_enum_proc_macro@0.3.4
	arraydeque@0.5.1
	arrayref@0.3.9
	arrayvec@0.7.6
	as-raw-xcb-connection@1.0.1
	as-slice@0.2.1
	ascii@1.1.0
	ash@0.38.0+1.3.281
	ashpd@0.13.5
	async-attributes@1.1.2
	async-broadcast@0.7.2
	async-channel@1.9.0
	async-channel@2.5.0
	async-compat@0.2.5
	async-compression@0.4.32
	async-dispatcher@0.1.2
	async-executor@1.13.3
	async-fs@2.2.0
	async-global-executor@2.4.1
	async-io@2.6.0
	async-lock@3.4.2
	async-net@2.0.0
	async-recursion@1.1.1
	async-signal@0.2.13
	async-std@1.13.2
	async-stream-impl@0.3.6
	async-stream@0.3.6
	async-trait@0.1.89
	async-tungstenite@0.33.0
	async_zip@0.0.18
	asynchronous-codec@0.7.0
	atoi@2.0.0
	atomic-waker@1.1.2
	atomic@0.5.3
	atspi-common@0.13.0
	atspi-proxies@0.13.0
	atspi@0.29.0
	auditable-serde@0.8.0
	autocfg@1.5.0
	av-scenechange@0.14.1
	av1-grain@0.2.4
	avif-serialize@0.8.6
	aws-config@1.8.14
	aws-credential-types@1.2.12
	aws-lc-rs@1.17.1
	aws-lc-sys@0.42.0
	aws-runtime@1.7.0
	aws-sdk-bedrockruntime@1.125.0
	aws-sdk-kinesis@1.100.0
	aws-sdk-s3@1.123.0
	aws-sdk-sso@1.94.0
	aws-sdk-ssooidc@1.96.0
	aws-sdk-sts@1.98.0
	aws-sigv4@1.4.0
	aws-smithy-async@1.2.14
	aws-smithy-checksums@0.64.4
	aws-smithy-eventstream@0.60.20
	aws-smithy-http-client@1.1.10
	aws-smithy-http@0.63.4
	aws-smithy-json@0.62.5
	aws-smithy-observability@0.2.5
	aws-smithy-query@0.60.15
	aws-smithy-runtime-api@1.11.4
	aws-smithy-runtime@1.10.1
	aws-smithy-types@1.4.7
	aws-smithy-xml@0.60.15
	aws-types@1.3.12
	axum-core@0.3.4
	axum@0.6.20
	backtrace@0.3.76
	base16ct@0.1.1
	base64-simd@0.8.0
	base64@0.21.7
	base64@0.22.1
	base64ct@1.8.0
	beef@0.5.2
	betlang@0.1.1
	bigdecimal@0.4.8
	bincode@1.3.3
	bindgen@0.72.1
	bit-set@0.8.0
	bit-set@0.9.1
	bit-vec@0.8.0
	bit-vec@0.9.1
	bit_field@0.10.3
	bitflags@1.3.2
	bitflags@2.13.1
	bitstream-io@4.9.0
	bitvec@1.0.1
	block-buffer@0.10.4
	block-padding@0.3.3
	block2@0.5.1
	block2@0.6.2
	block@0.1.6
	blocking@1.6.2
	bmrng@0.5.2
	bon-macros@3.8.2
	bon@3.8.2
	borrow-or-share@0.2.4
	borsh-derive@1.5.7
	borsh@1.5.7
	brush-parser@0.3.0
	bs58@0.5.1
	bstr@1.12.1
	built@0.8.0
	bumpalo@3.20.3
	by_address@1.2.1
	bytecheck@0.6.12
	bytecheck_derive@0.6.12
	bytecount@0.6.9
	bytemuck@1.24.0
	bytemuck_derive@1.10.2
	byteorder-lite@0.1.0
	byteorder@1.5.0
	bytes-utils@0.1.4
	bytes@0.4.12
	bytes@1.11.1
	bzip2-sys@0.1.13+1.0.8
	bzip2@0.4.4
	bzip2@0.6.1
	c-enum@0.2.3
	cached@0.56.0
	cached_proc_macro@0.25.0
	cached_proc_macro_types@0.1.1
	calloop-wayland-source@0.4.1
	camino@1.2.6
	cap-fs-ext@4.0.3
	cap-primitives@4.0.3
	cap-std@4.0.3
	cargo-platform@0.1.9
	cargo-platform@0.3.2
	cargo_metadata@0.19.2
	cargo_metadata@0.23.1
	cargo_toml@0.21.0
	cast@0.3.0
	cbc@0.1.2
	cbindgen@0.28.0
	cc@1.4.3
	cesu8@1.1.0
	cexpr@0.6.0
	cfg-expr@0.20.9
	cfg-if@1.0.4
	cfg_aliases@0.2.1
	cgl@0.3.2
	chacha20@0.10.1
	chardetng@0.1.17
	chrono@0.4.42
	chunked_transfer@1.5.0
	ciborium-io@0.2.2
	ciborium-ll@0.2.2
	ciborium@0.2.2
	cipher@0.4.4
	circular-buffer@1.2.0
	clang-sys@1.8.1
	clap@4.5.49
	clap_builder@4.5.49
	clap_complete@4.5.59
	clap_complete_nushell@4.6.0
	clap_derive@4.5.49
	clap_lex@0.7.6
	cmake@0.1.56
	cobs@0.3.0
	cocoa-foundation@0.1.2
	cocoa-foundation@0.2.0
	cocoa@0.25.0
	cocoa@0.26.0
	codespan-reporting@0.13.0
	color_quant@1.1.0
	colorchoice@1.0.4
	combine@4.6.7
	command-fds@0.3.2
	compression-codecs@0.4.31
	compression-core@0.4.29
	concurrent-queue@2.5.0
	console@0.16.3
	console_error_panic_hook@0.1.7
	const-oid@0.9.6
	const-random-macro@0.1.16
	const-random@0.1.18
	const_format@0.2.35
	const_format_proc_macros@0.2.34
	constant_time_eq@0.1.5
	convert_case@0.10.0
	convert_case@0.11.0
	core-foundation-sys@0.8.7
	core-foundation@0.10.0
	core-foundation@0.9.4
	core-graphics-helmer-fork@0.24.0
	core-graphics-types@0.1.3
	core-graphics-types@0.2.0
	core-graphics2@0.5.2
	core-graphics@0.23.2
	core-graphics@0.24.0
	core-services@1.0.0
	core-text@21.0.0
	core-video@0.5.2
	core2@0.4.0
	core_maths@0.1.1
	coreaudio-rs@0.12.1
	coreaudio-rs@0.13.0
	coreaudio-sys@0.2.18
	cosmic-text@0.19.0
	cpal@0.17.1
	cpp_demangle@0.5.1
	cpufeatures@0.2.17
	cpufeatures@0.3.0
	cranelift-assembler-x64-meta@0.135.1
	cranelift-assembler-x64@0.135.1
	cranelift-bforest@0.135.1
	cranelift-bitset@0.135.1
	cranelift-codegen-meta@0.135.1
	cranelift-codegen-shared@0.135.1
	cranelift-codegen@0.135.1
	cranelift-control@0.135.1
	cranelift-entity@0.135.1
	cranelift-frontend@0.135.1
	cranelift-isle@0.135.1
	cranelift-native@0.135.1
	cranelift-srcgen@0.135.1
	crash-context@0.8.0
	crash-handler@0.8.0
	crc-catalog@2.4.0
	crc-fast@1.9.0
	crc32fast@1.5.0
	crc@3.3.0
	criterion-plot@0.8.2
	criterion@0.8.2
	crossbeam-channel@0.5.15
	crossbeam-deque@0.8.6
	crossbeam-epoch@0.9.18
	crossbeam-queue@0.3.12
	crossbeam-utils@0.8.21
	crunchy@0.2.4
	crypto-bigint@0.4.9
	crypto-bigint@0.5.5
	crypto-common@0.1.6
	cssparser-macros@0.6.1
	cssparser@0.36.0
	cssparser@0.37.0
	ctor@1.0.12
	ctrlc@3.5.0
	cursor-icon@1.2.0
	cxx-build@1.0.187
	cxx@1.0.187
	cxxbridge-cmd@1.0.187
	cxxbridge-flags@1.0.187
	cxxbridge-macro@1.0.187
	darling@0.20.11
	darling@0.21.3
	darling@0.23.0
	darling_core@0.20.11
	darling_core@0.21.3
	darling_core@0.23.0
	darling_macro@0.20.11
	darling_macro@0.21.3
	darling_macro@0.23.0
	dary_heap@0.3.9
	dashmap@6.1.0
	dasp_sample@0.11.0
	data-encoding@2.9.0
	data-url@0.3.2
	dbus@0.9.9
	debug-ignore@1.0.5
	debugid@0.8.0
	deflate64@0.1.10
	der@0.6.1
	der@0.7.10
	deranged@0.5.4
	derive_more-impl@2.1.1
	derive_more@2.1.1
	derive_setters@0.1.9
	dialoguer@0.12.0
	diff@0.1.13
	diffy@0.4.2
	digest@0.10.7
	dirs-sys@0.5.0
	dirs@6.0.0
	dispatch2@0.3.1
	dispatch@0.2.0
	displaydoc@0.2.5
	dlib@0.5.3
	document-features@0.2.12
	documented-macros@0.10.0
	documented@0.10.0
	dotenvy@0.15.7
	downcast-rs@1.2.1
	doxygen-rs@0.4.2
	dtoa-short@0.3.5
	dtoa@1.0.10
	dugong-graphlib@0.8.0-alpha.5
	dugong@0.8.0-alpha.5
	dunce@1.0.5
	dwrote@0.11.5
	dyn-clone@1.0.20
	ec4rs@1.2.0
	ecdsa@0.14.8
	either@1.15.0
	elasticlunr-rs@3.0.2
	elliptic-curve@0.12.3
	email_address@0.2.9
	embed-resource@3.0.6
	embedded-io@0.4.0
	embedded-io@0.6.1
	emojis@0.9.0
	encode_unicode@1.0.0
	encoding_rs@0.8.35
	endi@1.1.0
	enumflags2@0.7.12
	enumflags2_derive@0.7.12
	enumn@0.1.14
	env_filter@0.1.4
	env_logger@0.10.2
	env_logger@0.11.8
	envy@0.4.2
	equator-macro@0.4.2
	equator@0.4.2
	equivalent@1.0.2
	erased-serde@0.4.9
	errno-dragonfly@0.1.2
	errno@0.2.8
	errno@0.3.14
	error-graph@0.1.1
	etagere@0.2.15
	etcetera@0.8.0
	euclid@0.22.14
	event-listener-strategy@0.5.4
	event-listener@2.5.3
	event-listener@5.4.1
	exec@0.3.1
	exr@1.74.0
	extended@0.1.0
	failspot@0.2.0
	fancy-regex@0.19.0
	fast-srgb8@1.0.0
	fastrand@1.9.0
	fastrand@2.3.0
	fax@0.2.6
	fax_derive@0.2.0
	fdeflate@0.3.7
	fearless_simd@0.4.1
	ff@0.12.1
	filedescriptor@0.8.3
	filetime@0.2.29
	find-msvc-tools@0.1.11
	fixedbitset@0.5.7
	flate2@1.1.8
	float-cmp@0.9.0
	float-ord@0.3.2
	float_next_after@1.0.0
	fluent-uri@0.4.1
	flume@0.11.1
	flume@0.12.0
	fnv@1.0.7
	foldhash@0.1.5
	foldhash@0.2.0
	font-types@0.10.0
	font-types@0.11.0
	fontconfig-parser@0.5.8
	fontdb@0.23.0
	foreign-types-macros@0.2.3
	foreign-types-shared@0.1.1
	foreign-types-shared@0.3.1
	foreign-types@0.3.2
	foreign-types@0.5.0
	fork@0.4.0
	form_urlencoded@1.2.2
	fraction@0.16.0
	freetype-sys@0.20.1
	fs-set-times@0.20.3
	fs2@0.4.3
	fs_extra@1.3.0
	fsevent-sys@4.1.0
	fuchsia-cprng@0.1.1
	funty@2.0.0
	futures-channel@0.3.34
	futures-concurrency@7.7.1
	futures-core@0.3.34
	futures-executor@0.3.34
	futures-intrusive@0.5.0
	futures-io@0.3.34
	futures-lite@1.13.0
	futures-lite@2.6.1
	futures-macro@0.3.34
	futures-sink@0.3.34
	futures-task@0.3.34
	futures-util@0.3.34
	futures@0.1.31
	futures@0.3.34
	gaoya@0.2.0
	generator@0.8.9
	generic-array@0.14.7
	gethostname@1.1.0
	getrandom@0.2.16
	getrandom@0.3.4
	getrandom@0.4.1
	gif@0.14.2
	gimli@0.32.3
	gimli@0.33.0
	gio-sys@0.21.5
	gl_generator@0.14.0
	glib-macros@0.21.5
	glib-sys@0.21.5
	glib@0.21.5
	glob@0.3.3
	globset@0.4.17
	gloo-timers@0.3.0
	glow@0.17.0
	glutin_wgl_sys@0.6.1
	gobject-sys@0.21.5
	goblin@0.9.3
	gpu-allocator@0.28.0
	gpu-descriptor-types@0.2.0
	gpu-descriptor@0.3.2
	granit-parser@1.0.0
	group@0.12.1
	guppy-workspace-hack@0.1.0
	guppy@0.18.0
	h2@0.3.27
	h2@0.4.19
	half@2.7.1
	handlebars@4.5.0
	handlebars@5.1.2
	harfrust@0.5.0
	hash32@0.3.1
	hashbrown@0.12.3
	hashbrown@0.14.5
	hashbrown@0.15.5
	hashbrown@0.16.1
	hashbrown@0.17.1
	hashlink@0.10.0
	hashlink@0.8.4
	hdrhistogram@7.5.4
	headers-core@0.2.0
	headers@0.3.9
	heapless@0.9.2
	heck@0.4.1
	heck@0.5.0
	heed-traits@0.20.0
	heed-types@0.21.0
	heed@0.21.0
	hermit-abi@0.5.2
	hex@0.4.3
	hexf-parse@0.2.1
	hkdf@0.12.4
	hmac@0.12.1
	home@0.5.11
	hound@3.5.1
	html5ever@0.39.0
	htmlize@1.1.0
	http-body-util@0.1.3
	http-body@0.4.6
	http-body@1.0.1
	http-range-header@0.3.1
	http@0.2.12
	http@1.3.1
	httparse@1.10.1
	httpdate@1.0.3
	human_bytes@0.4.3
	humantime@2.3.0
	hyper-rustls@0.27.9
	hyper-timeout@0.5.2
	hyper-tls@0.5.0
	hyper-util@0.1.17
	hyper@0.14.32
	hyper@1.11.1
	iana-time-zone-haiku@0.1.2
	iana-time-zone@0.1.64
	icu_collator@2.3.0
	icu_collator_data@2.3.0
	icu_collections@2.3.0
	icu_locale_core@2.3.0
	icu_locale_fallback@2.3.0
	icu_locale_fallback_data@2.3.0
	icu_normalizer@2.3.0
	icu_normalizer_data@2.3.0
	icu_properties@2.3.0
	icu_properties_data@2.3.0
	icu_provider@2.3.0
	id-arena@2.3.0
	ident_case@1.0.1
	idna@1.1.0
	idna_adapter@1.2.1
	ignore@0.4.24
	image-webp@0.2.4
	image@0.25.10
	imagesize@0.14.0
	imara-diff@0.2.0
	imgref@1.12.0
	include-flate-codegen@0.3.4
	include-flate-compress@0.3.4
	include-flate@0.3.4
	indenter@0.3.4
	indexmap@1.9.3
	indexmap@2.14.0
	indoc@2.0.6
	inherent@1.0.13
	inotify-sys@0.1.5
	inotify@0.11.0
	inotify@0.9.6
	inout@0.1.4
	instant@0.1.13
	interpolate_name@0.2.4
	inventory@0.3.21
	io-extras@0.19.0
	io-lifetimes@2.0.4
	io-lifetimes@3.0.1
	io-surface@0.16.1
	iovec@0.1.4
	ipc-channel@0.19.0
	ipnet@2.11.0
	is-docker@0.2.0
	is-terminal@0.4.16
	is-wsl@0.4.0
	is_executable@1.0.5
	is_terminal_polyfill@1.70.1
	itertools@0.10.5
	itertools@0.13.0
	itertools@0.14.0
	itertools@0.15.0
	itoa@1.0.18
	jiff-static@0.2.15
	jiff-tzdb-platform@0.1.3
	jiff-tzdb@0.1.8
	jiff@0.2.15
	jni-macros@0.22.4
	jni-sys-macros@0.4.1
	jni-sys@0.3.0
	jni-sys@0.4.1
	jni@0.21.1
	jni@0.22.4
	jobserver@0.1.34
	js-sys@0.3.97
	json5@1.3.1
	jsonschema-regex@0.51.0
	jsonschema-value@0.51.0
	jsonschema@0.51.0
	jsonwebtoken@10.3.0
	jupyter-protocol@1.4.0
	jupyter-websocket-client@1.1.0
	khronos-egl@6.0.0
	khronos_api@3.1.0
	kqueue-sys@1.1.2
	kqueue@1.2.0
	kurbo@0.13.1
	kv-log-macro@1.0.7
	lalrpop-util@0.23.1
	lazy_static@1.5.0
	leak@0.1.2
	leaky-cow@0.1.1
	leb128@0.2.5
	leb128fmt@0.1.0
	lebe@0.5.3
	libbz2-rs-sys@0.2.2
	libc@0.2.186
	libdbus-sys@0.2.6
	libflate@2.3.1
	libflate_lz77@2.3.0
	libfuzzer-sys@0.4.10
	libloading@0.8.9
	libm@0.2.16
	libmimalloc-sys@0.1.44
	libredox@0.1.10
	libsqlite3-sys@0.30.1
	linebender_resource_handle@0.1.1
	link-cplusplus@1.0.12
	link-section@0.19.2
	linkify@0.10.0
	linktime-proc-macro@0.2.2
	linux-raw-sys@0.12.1
	litemap@0.8.0
	litrs@1.0.0
	lmdb-master-sys@0.2.5
	lock_api@0.4.14
	log@0.4.29
	logos-codegen@0.15.1
	logos-codegen@0.16.1
	logos-derive@0.15.1
	logos-derive@0.16.1
	logos@0.15.1
	logos@0.16.1
	lol_html@3.0.1
	loom@0.7.2
	loop9@0.1.5
	lru-slab@0.1.2
	lru@0.16.4
	lyon@1.0.16
	lyon_algorithms@1.0.16
	lyon_extra@1.0.3
	lyon_geom@1.0.17
	lyon_path@1.0.16
	lyon_tessellation@1.0.16
	mac-notification-sys@0.6.15
	mach2@0.5.0
	mach2@0.6.0
	malloc_buf@0.0.6
	manatee@0.8.0-alpha.5
	maplit@1.0.2
	markup5ever@0.39.0
	markup5ever_rcdom@0.39.0+unofficial
	matchers@0.2.0
	matchit@0.7.3
	maybe-owned@0.3.4
	maybe-rayon@0.1.1
	md-5@0.10.6
	mdbook@0.4.40
	memchr@2.8.3
	memfd@0.6.5
	memmap2@0.9.8
	memoffset@0.9.1
	merge@0.1.0
	merge_derive@0.1.0
	merman-core@0.8.0-alpha.5
	merman-render@0.8.0-alpha.5
	merman@0.8.0-alpha.5
	metal@0.33.0
	micromap@0.3.0
	miette-derive@7.6.0
	miette@7.6.0
	mimalloc@0.1.48
	mime@0.3.17
	mime_guess@2.0.5
	minidump-common@0.26.1
	minidump-writer@0.13.0
	minidumper@0.11.0
	minimal-lexical@0.2.1
	miniz_oxide@0.8.9
	mio@0.8.11
	mio@1.2.0
	miow@0.6.1
	moka@0.12.11
	moxcms@0.8.1
	msvc_spectre_libs@0.1.3
	multimap@0.8.3
	naga@29.0.4
	nanoid@0.4.0
	native-tls@0.2.18
	nbformat@1.2.0
	ndk-context@0.1.1
	ndk-sys@0.6.0+11769913
	ndk@0.9.0
	nested@0.1.1
	new_debug_unreachable@1.0.6
	nix@0.30.1
	no_std_io2@0.9.4
	nom@7.1.3
	nom@8.0.0
	noop_proc_macro@0.3.0
	normpath@1.5.0
	notify-debouncer-mini@0.4.1
	notify-rust@4.18.0
	notify@6.1.1
	ntapi@0.4.1
	nu-ansi-term@0.50.3
	nucleo-matcher@0.3.1
	nucleo@0.5.0
	num-bigint-dig@0.8.6
	num-bigint-dig@0.9.1
	num-bigint@0.4.8
	num-cmp@0.1.0
	num-complex@0.4.6
	num-conv@0.2.0
	num-derive@0.4.2
	num-format@0.4.4
	num-integer@0.1.46
	num-iter@0.1.45
	num-rational@0.4.2
	num-traits@0.2.19
	num@0.4.3
	num_cpus@1.17.0
	num_enum@0.7.4
	num_enum_derive@0.7.4
	num_threads@0.1.7
	objc-foundation@0.1.1
	objc-sys@0.3.5
	objc2-app-kit@0.2.2
	objc2-app-kit@0.3.2
	objc2-audio-toolbox@0.3.2
	objc2-avf-audio@0.3.2
	objc2-core-audio-types@0.3.2
	objc2-core-audio@0.3.2
	objc2-core-data@0.2.2
	objc2-core-foundation@0.3.2
	objc2-core-graphics@0.3.2
	objc2-core-image@0.2.2
	objc2-core-location@0.3.2
	objc2-core-media@0.3.2
	objc2-core-services@0.3.2
	objc2-core-video@0.3.2
	objc2-encode@4.1.0
	objc2-foundation@0.2.2
	objc2-foundation@0.3.2
	objc2-io-kit@0.3.2
	objc2-io-surface@0.3.2
	objc2-metal@0.2.2
	objc2-metal@0.3.2
	objc2-open-directory@0.3.2
	objc2-quartz-core@0.2.2
	objc2-quartz-core@0.3.2
	objc2-screen-capture-kit@0.3.2
	objc2-user-notifications@0.3.2
	objc2@0.5.2
	objc2@0.6.3
	objc@0.2.7
	objc_exception@0.1.2
	objc_id@0.1.1
	object@0.37.3
	object@0.39.1
	octocrab@0.49.7
	once_cell@1.21.4
	once_cell_polyfill@1.70.1
	oo7@0.6.0
	oorandom@11.1.5
	open@5.3.2
	opener@0.7.2
	openssl-macros@0.1.1
	openssl-probe@0.2.1
	openssl-sys@0.9.117
	openssl@0.10.81
	optfield@0.4.0
	option-ext@0.2.0
	ordered-float@4.6.0
	ordered-float@5.5.0
	ordered-stream@0.2.0
	ouroboros@0.18.5
	ouroboros_macro@0.18.5
	outref@0.5.2
	p256@0.11.1
	page_size@0.6.0
	palette@0.7.6
	palette_derive@0.7.6
	parking@2.2.1
	parking_lot@0.12.5
	parking_lot_core@0.9.12
	parse_int@0.9.0
	partial-json-fixer@0.5.3
	password-hash@0.4.2
	paste@1.0.15
	pastey@0.1.1
	pathdiff@0.2.3
	pathfinder_geometry@0.5.1
	pathfinder_simd@0.5.6
	pbjson-build@0.9.0
	pbjson-types@0.9.0
	pbjson@0.9.0
	pbkdf2@0.11.0
	pbkdf2@0.12.2
	pciid-parser@0.8.0
	peg-macros@0.8.5
	peg-runtime@0.8.5
	peg@0.8.5
	pem-rfc7468@0.7.0
	pem@3.0.6
	percent-encoding@2.3.2
	perf-event-data@0.1.8
	perf-event-open-sys2@5.0.6
	perf-event2@0.7.4
	pest@2.8.3
	pest_derive@2.8.3
	pest_generator@2.8.3
	pest_meta@2.8.3
	petgraph@0.8.3
	pgvector@0.4.1
	phf@0.11.3
	phf@0.13.1
	phf_codegen@0.13.1
	phf_generator@0.11.3
	phf_generator@0.13.1
	phf_macros@0.11.3
	phf_macros@0.13.1
	phf_shared@0.11.3
	phf_shared@0.13.1
	pico-args@0.5.0
	pin-project-internal@1.1.10
	pin-project-lite@0.2.16
	pin-project@1.1.10
	pin-utils@0.1.0
	piper@0.2.4
	pkcs1@0.7.5
	pkcs8@0.10.2
	pkcs8@0.9.0
	pkg-config@0.3.32
	plain@0.2.3
	plist@1.10.0
	plotters-backend@0.3.7
	plotters-svg@0.3.7
	plotters@0.3.7
	png@0.17.16
	png@0.18.0
	polling@3.11.0
	pollster@0.2.5
	pollster@0.4.0
	polycool@0.4.0
	pori@0.0.0
	portable-atomic-util@0.2.4
	portable-atomic@1.11.1
	postage@0.5.0
	postcard@1.1.3
	potential_utf@0.1.3
	powerfmt@0.2.0
	ppv-lite86@0.2.21
	precomputed-hash@0.1.1
	presser@0.3.1
	pretty_assertions@1.4.1
	prettyplease@0.2.37
	proc-macro-crate@3.4.0
	proc-macro-error-attr3@3.1.1
	proc-macro-error-attr@1.0.4
	proc-macro-error3@3.1.1
	proc-macro-error@1.0.4
	proc-macro2-diagnostics@0.10.1
	proc-macro2@1.0.107
	process-backend@0.1.0
	process-reader@0.1.0
	procfs-core@0.18.0
	profiling-procmacros@1.0.17
	profiling@1.0.17
	prometheus@0.14.0
	proptest-derive@0.8.0
	prost-build@0.14.4
	prost-derive@0.14.4
	prost-reflect@0.16.5
	prost-types@0.14.4
	prost@0.14.4
	protobuf-support@3.7.2
	protobuf@3.7.2
	protox-parse@0.9.0
	protox@0.9.1
	proxyvars@0.2.0
	psm@0.1.30
	ptr_meta@0.1.4
	ptr_meta_derive@0.1.4
	pulldown-cmark-escape@0.10.1
	pulldown-cmark@0.10.3
	pulldown-cmark@0.13.4
	pulley-interpreter@48.0.1
	pulley-macros@48.0.1
	pxfm@0.1.25
	qoi@0.4.1
	quick-error@1.2.3
	quick-error@2.0.1
	quick-xml@0.30.0
	quick-xml@0.37.5
	quick-xml@0.39.3
	quick-xml@0.41.0
	quinn-proto@0.11.17
	quinn-udp@0.5.14
	quinn@0.11.9
	quote@1.0.47
	r-efi@5.3.0
	radium@0.7.0
	rand@0.10.2
	rand@0.3.23
	rand@0.4.6
	rand@0.8.6
	rand@0.9.4
	rand_chacha@0.3.1
	rand_chacha@0.9.0
	rand_core@0.10.1
	rand_core@0.3.1
	rand_core@0.4.2
	rand_core@0.6.4
	rand_core@0.9.3
	rand_distr@0.5.1
	rand_pcg@0.10.2
	rand_pcg@0.3.1
	rand_xorshift@0.4.0
	random_choice@0.3.2
	range-alloc@0.1.4
	range-map@0.2.0
	rangemap@1.7.1
	rav1e@0.8.1
	ravif@0.13.0
	raw-window-handle@0.6.2
	raw-window-metal@1.1.0
	rayon-core@1.13.0
	rayon@1.11.0
	rdrand@0.4.0
	read-fonts@0.35.0
	read-fonts@0.37.0
	redox_syscall@0.5.18
	redox_syscall@0.7.5
	redox_users@0.5.2
	ref-cast-impl@1.0.25
	ref-cast@1.0.25
	referencing@0.51.0
	regalloc2@0.15.2
	regex-automata@0.4.18
	regex-lite@0.1.8
	regex-syntax@0.8.11
	regex@1.12.3
	rend@0.4.2
	renderdoc-sys@1.1.0
	reqwest@0.11.27
	reqwest@0.12.24
	resvg@0.46.0
	rfc6979@0.3.1
	rgb@0.8.52
	ring@0.17.14
	rkyv@0.7.45
	rkyv_derive@0.7.45
	rle-decode-fast@1.0.3
	rmp@0.8.14
	rmpv@1.3.0
	roughr-merman@0.12.3
	roxmltree@0.20.0
	roxmltree@0.21.1
	rpassword@7.5.2
	rsa@0.9.10
	rtoolbox@0.0.3
	rtrb@0.3.2
	runtimelib@1.4.0
	rust-embed-impl@8.11.0
	rust-embed-utils@8.11.0
	rust-embed@8.11.0
	rust_decimal@1.39.0
	rustc-demangle@0.1.26
	rustc-hash@1.1.0
	rustc-hash@2.1.1
	rustc_version@0.4.1
	rustix-linux-procfs@0.1.1
	rustix-openpty@0.2.0
	rustix@1.1.4
	rustls-native-certs@0.8.3
	rustls-pemfile@1.0.4
	rustls-pemfile@2.2.0
	rustls-pki-types@1.12.0
	rustls-platform-verifier-android@0.1.1
	rustls-platform-verifier@0.7.0
	rustls-webpki@0.103.13
	rustls@0.23.40
	rustversion@1.0.22
	rusty-fork@0.3.1
	rustybuzz@0.20.1
	ryu-js@1.0.2
	ryu@1.0.23
	saa@5.4.9
	same-file@1.0.6
	scc@3.5.6
	schannel@0.1.28
	schemars@0.9.0
	schemars@1.0.4
	schemars_derive@1.0.4
	scoped-tls@1.0.1
	scopeguard@1.2.0
	screencapturekit-sys@0.2.8
	screencapturekit@0.2.8
	scroll@0.12.0
	scroll_derive@0.12.1
	sdd@4.6.2
	sea-bae@0.2.2
	sea-orm-macros@1.1.10
	sea-orm@1.1.10
	sea-query-binder@0.7.0
	sea-query@0.32.7
	seahash@4.1.0
	sec1@0.3.0
	seccompiler@0.5.0
	secrecy@0.10.3
	security-framework-sys@2.15.0
	security-framework@3.5.1
	selectors@0.37.0
	self_cell@1.2.2
	semver@1.0.28
	send_wrapper@0.6.0
	serde@1.0.229
	serde_bytes@0.11.19
	serde_core@1.0.229
	serde_derive@1.0.229
	serde_derive_internals@0.29.1
	serde_fmt@1.0.3
	serde_json@1.0.151
	serde_json_lenient@0.2.4
	serde_path_to_error@0.1.20
	serde_repr@0.1.20
	serde_spanned@0.6.9
	serde_spanned@1.0.3
	serde_urlencoded@0.7.1
	serde_with@3.22.0
	serde_with_macros@3.22.0
	serde_yaml@0.9.34+deprecated
	serde_yaml_ng@0.10.0
	servo_arc@0.4.3
	sha-1@0.10.1
	sha1@0.10.6
	sha1_smol@1.0.1
	sha2@0.10.9
	sharded-slab@0.1.7
	shell-words@1.1.0
	shellexpand@3.1.1
	shingles@0.1.1
	shlex@1.3.0
	shlex@2.0.1
	signal-hook-registry@1.4.6
	signal-hook@0.4.4
	signature@1.6.4
	signature@2.2.0
	simd-adler32@0.3.7
	simd_cesu8@1.2.0
	simd_helpers@0.1.0
	simdutf8@0.1.5
	similar@2.7.0
	simple_asn1@0.6.3
	simplecss@0.2.2
	simplelog@0.12.2
	siphasher@0.3.11
	siphasher@1.0.1
	skrifa@0.37.0
	skrifa@0.40.0
	slab@0.4.11
	slotmap@1.0.7
	smallvec@1.16.1
	smart-default@0.7.1
	smol@2.0.2
	smol_str@0.3.6
	snafu-derive@0.8.9
	snafu@0.8.9
	socket2@0.5.10
	socket2@0.6.5
	spdx@0.10.9
	spin@0.10.0
	spin@0.9.8
	spirv@0.4.0+sdk-1.4.341.0
	spki@0.6.0
	spki@0.7.3
	sqlformat@0.2.6
	sqlx-core@0.8.6
	sqlx-macros-core@0.8.6
	sqlx-macros@0.8.6
	sqlx-mysql@0.8.6
	sqlx-postgres@0.8.6
	sqlx-sqlite@0.8.6
	sqlx@0.8.6
	stable_deref_trait@1.2.1
	stacker@0.1.25
	stacksafe-macro@1.0.3
	stacksafe@1.0.3
	static_assertions@1.1.0
	streaming-iterator@0.1.9
	strict-num@0.1.1
	string_cache@0.9.0
	string_cache_codegen@0.6.1
	stringprep@0.1.5
	strsim@0.11.1
	strum@0.26.3
	strum@0.28.0
	strum_macros@0.27.2
	strum_macros@0.28.0
	subtle@2.6.1
	sval@2.15.0
	sval_buffer@2.15.0
	sval_dynamic@2.15.0
	sval_fmt@2.15.0
	sval_json@2.15.0
	sval_nested@2.15.0
	sval_ref@2.15.0
	sval_serde@2.15.0
	svg_fmt@0.4.5
	svgtypes@0.16.1
	swash@0.2.6
	symphonia-codec-pcm@0.5.5
	symphonia-core@0.5.5
	symphonia-format-riff@0.5.5
	symphonia-metadata@0.5.5
	symphonia@0.5.5
	syn@1.0.109
	syn@2.0.117
	syn@3.0.3
	sync_wrapper@0.1.2
	sync_wrapper@1.0.2
	synchronoise@1.0.1
	synstructure@0.13.2
	sys-locale@0.3.2
	sysinfo@0.31.4
	sysinfo@0.39.6
	system-configuration-sys@0.5.0
	system-configuration-sys@0.6.0
	system-configuration@0.5.1
	system-configuration@0.8.0
	system-deps@7.0.7
	taffy@0.13.0
	tagptr@0.2.0
	tao-core-video-sys@0.2.0
	tap@1.0.1
	target-lexicon@0.13.5
	target-spec@3.7.0
	tauri-winrt-notification@0.7.3
	tempfile@3.27.0
	tendril@0.5.1
	termcolor@1.4.1
	terminal_size@0.4.3
	thiserror-impl@1.0.69
	thiserror-impl@2.0.17
	thiserror@1.0.69
	thiserror@2.0.17
	thread_local@1.1.9
	tiff@0.11.3
	time-core@0.1.8
	time-macros@0.2.27
	time@0.3.47
	tiny-keccak@2.0.2
	tiny-skia-path@0.11.4
	tiny-skia@0.11.4
	tiny_http@0.12.0
	tinystr@0.8.4
	tinytemplate@1.2.1
	tinyvec@1.10.0
	tinyvec_macros@0.1.1
	tokio-io@0.1.13
	tokio-macros@2.7.0
	tokio-native-tls@0.3.1
	tokio-rustls@0.26.4
	tokio-socks@0.5.2
	tokio-stream@0.1.17
	tokio-tungstenite@0.20.1
	tokio-tungstenite@0.21.0
	tokio-tungstenite@0.28.0
	tokio-util@0.7.18
	tokio@1.52.1
	toml@0.5.11
	toml@0.8.23
	toml@0.9.8
	toml_datetime@0.6.11
	toml_datetime@0.7.3
	toml_edit@0.22.27
	toml_edit@0.23.7
	toml_parser@1.0.4
	toml_write@0.1.2
	toml_writer@1.0.4
	topological-sort@0.2.2
	tower-http@0.4.4
	tower-http@0.6.11
	tower-layer@0.3.3
	tower-service@0.3.3
	tower@0.4.13
	tower@0.5.2
	tracing-attributes@0.1.31
	tracing-core@0.1.35
	tracing-log@0.2.0
	tracing-serde@0.2.0
	tracing-subscriber@0.3.22
	tracing-tracy@0.11.4
	tracing@0.1.43
	tracy-client-sys@0.27.0
	tracy-client@0.18.3
	tree-sitter-bash@0.25.1
	tree-sitter-c@0.24.1
	tree-sitter-css@0.23.2
	tree-sitter-diff@0.1.0
	tree-sitter-elixir@0.3.4
	tree-sitter-embedded-template@0.23.2
	tree-sitter-go@0.25.0
	tree-sitter-html@0.23.2
	tree-sitter-jsdoc@0.23.2
	tree-sitter-json@0.24.8
	tree-sitter-python@0.25.0
	tree-sitter-regex@0.24.3
	tree-sitter-ruby@0.23.1
	tree-sitter-rust@0.24.2
	triomphe@0.1.15
	try-lock@0.2.5
	ttf-parser@0.25.1
	tungstenite@0.20.1
	tungstenite@0.21.0
	tungstenite@0.28.0
	typeid@1.0.3
	typenum@1.19.0
	ucd-trie@0.1.7
	uds@0.4.2
	uds_windows@1.1.0
	unarray@0.1.4
	unicase@2.8.1
	unicode-bidi-mirroring@0.4.0
	unicode-bidi@0.3.18
	unicode-ccc@0.4.0
	unicode-general-category@1.1.0
	unicode-ident@1.0.24
	unicode-linebreak@0.1.5
	unicode-normalization@0.1.25
	unicode-properties@0.1.3
	unicode-script@0.5.8
	unicode-segmentation@1.13.3
	unicode-vo@0.1.0
	unicode-width@0.1.14
	unicode-width@0.2.2
	unicode-xid@0.2.6
	unicode_categories@0.1.1
	unindent@0.2.4
	unsafe-libyaml@0.2.11
	untrusted@0.7.1
	untrusted@0.9.0
	url@2.5.7
	urlencoding@2.1.3
	usvg@0.46.0
	utf-8@0.7.6
	utf16_iter@1.0.5
	utf8-chars@3.0.6
	utf8_iter@1.0.4
	utf8parse@0.2.2
	uuid-simd@0.8.0
	uuid@1.18.1
	v_frame@0.3.9
	valuable@0.1.1
	value-bag-serde1@1.12.0
	value-bag-sval2@1.12.0
	value-bag@1.12.0
	vcpkg@0.2.15
	version-compare@0.2.0
	version_check@0.9.5
	vscode_theme@0.2.0
	vsimd@0.8.0
	vswhom-sys@0.1.3
	vswhom@0.1.0
	vte@0.15.0
	wait-timeout@0.2.1
	waker-fn@1.2.0
	walkdir@2.5.0
	want@0.3.1
	warp@0.3.7
	wasi@0.11.1+wasi-snapshot-preview1
	wasip2@1.0.1+wasi-0.2.4
	wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
	wasite@0.1.0
	wasm-bindgen-futures@0.4.70
	wasm-bindgen-macro-support@0.2.120
	wasm-bindgen-macro@0.2.120
	wasm-bindgen-shared@0.2.120
	wasm-bindgen@0.2.120
	wasm-encoder@0.201.0
	wasm-encoder@0.227.1
	wasm-encoder@0.244.0
	wasm-encoder@0.254.0
	wasm-metadata@0.201.0
	wasm-metadata@0.227.1
	wasm-metadata@0.244.0
	wasm-metadata@0.254.0
	wasm-streams@0.4.2
	wasmparser@0.201.0
	wasmparser@0.227.1
	wasmparser@0.244.0
	wasmparser@0.254.0
	wasmprinter@0.254.0
	wasmtime-c-api-impl@48.0.1
	wasmtime-environ@48.0.1
	wasmtime-internal-c-api-macros@48.0.1
	wasmtime-internal-component-macro@48.0.1
	wasmtime-internal-component-util@48.0.1
	wasmtime-internal-core@48.0.1
	wasmtime-internal-cranelift@48.0.1
	wasmtime-internal-fiber@48.0.1
	wasmtime-internal-jit-debug@48.0.1
	wasmtime-internal-jit-icache-coherence@48.0.1
	wasmtime-internal-unwinder@48.0.1
	wasmtime-internal-versioned-export-macros@48.0.1
	wasmtime-internal-wit-bindgen@48.0.1
	wasmtime-wasi-io@48.0.1
	wasmtime-wasi@48.0.1
	wasmtime@48.0.1
	wax@0.7.0
	wayland-backend@0.3.15
	wayland-client@0.31.11
	wayland-cursor@0.31.11
	wayland-protocols-plasma@0.3.9
	wayland-protocols-wlr@0.3.9
	wayland-protocols@0.32.9
	wayland-scanner@0.31.7
	wayland-sys@0.31.11
	web-sys@0.3.97
	web-time@1.1.0
	web_atoms@0.2.6
	webpki-root-certs@1.0.9
	webpki-roots@0.26.8
	webpki-roots@1.0.8
	weezl@0.1.10
	wgpu-core-deps-apple@29.0.4
	wgpu-core-deps-emscripten@29.0.4
	wgpu-core-deps-wasm@29.0.4
	wgpu-core-deps-windows-linux-android@29.0.4
	wgpu-core@29.0.4
	wgpu-hal@29.0.4
	wgpu-naga-bridge@29.0.4
	wgpu-types@29.0.4
	wgpu@29.0.4
	which@8.0.5
	whoami@1.6.1
	winapi-i686-pc-windows-gnu@0.4.0
	winapi-util@0.1.11
	winapi-x86_64-pc-windows-gnu@0.4.0
	winapi@0.3.9
	windows-bindgen@0.61.1
	windows-collections@0.2.0
	windows-collections@0.3.2
	windows-core@0.56.0
	windows-core@0.57.0
	windows-core@0.58.0
	windows-core@0.61.2
	windows-core@0.62.2
	windows-future@0.2.1
	windows-future@0.3.2
	windows-implement@0.56.0
	windows-implement@0.57.0
	windows-implement@0.58.0
	windows-implement@0.60.2
	windows-interface@0.56.0
	windows-interface@0.57.0
	windows-interface@0.58.0
	windows-interface@0.59.3
	windows-link@0.1.3
	windows-link@0.2.1
	windows-numerics@0.2.0
	windows-numerics@0.3.1
	windows-registry@0.4.0
	windows-registry@0.6.1
	windows-result@0.1.2
	windows-result@0.2.0
	windows-result@0.3.4
	windows-result@0.4.1
	windows-strings@0.1.0
	windows-strings@0.3.1
	windows-strings@0.4.2
	windows-strings@0.5.1
	windows-sys@0.45.0
	windows-sys@0.48.0
	windows-sys@0.52.0
	windows-sys@0.59.0
	windows-sys@0.60.2
	windows-sys@0.61.2
	windows-targets@0.42.2
	windows-targets@0.48.5
	windows-targets@0.52.6
	windows-targets@0.53.5
	windows-threading@0.1.0
	windows-threading@0.2.1
	windows-version@0.1.7
	windows@0.56.0
	windows@0.57.0
	windows@0.58.0
	windows@0.61.3
	windows@0.62.2
	windows_aarch64_gnullvm@0.42.2
	windows_aarch64_gnullvm@0.48.5
	windows_aarch64_gnullvm@0.52.6
	windows_aarch64_gnullvm@0.53.1
	windows_aarch64_msvc@0.42.2
	windows_aarch64_msvc@0.48.5
	windows_aarch64_msvc@0.52.6
	windows_aarch64_msvc@0.53.1
	windows_i686_gnu@0.42.2
	windows_i686_gnu@0.48.5
	windows_i686_gnu@0.52.6
	windows_i686_gnu@0.53.1
	windows_i686_gnullvm@0.52.6
	windows_i686_gnullvm@0.53.1
	windows_i686_msvc@0.42.2
	windows_i686_msvc@0.48.5
	windows_i686_msvc@0.52.6
	windows_i686_msvc@0.53.1
	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.1
	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.1
	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.1
	winnow@0.7.13
	winnow@1.0.2
	winreg@0.50.0
	winreg@0.55.0
	winresource@0.1.23
	winx@0.36.4
	wio@0.2.2
	wit-bindgen-core@0.22.0
	wit-bindgen-core@0.41.0
	wit-bindgen-core@0.51.0
	wit-bindgen-rt@0.22.0
	wit-bindgen-rt@0.41.0
	wit-bindgen-rust-macro@0.22.0
	wit-bindgen-rust-macro@0.41.0
	wit-bindgen-rust-macro@0.51.0
	wit-bindgen-rust@0.22.0
	wit-bindgen-rust@0.41.0
	wit-bindgen-rust@0.51.0
	wit-bindgen@0.22.0
	wit-bindgen@0.41.0
	wit-bindgen@0.46.0
	wit-bindgen@0.51.0
	wit-component@0.201.0
	wit-component@0.227.1
	wit-component@0.244.0
	wit-component@0.254.0
	wit-parser@0.201.0
	wit-parser@0.227.1
	wit-parser@0.244.0
	wit-parser@0.254.0
	write16@1.0.0
	writeable@0.6.4
	wyz@0.5.1
	x11@2.21.0
	x11rb-protocol@0.13.2
	x11rb@0.13.2
	xattr@1.6.1
	xcb@1.6.0
	xcursor@0.3.10
	xkbcommon@0.8.0
	xkeysym@0.2.1
	xml-rs@0.8.28
	xml5ever@0.39.0
	xmlparser@0.13.6
	xmlwriter@0.1.0
	xxhash-rust@0.8.15
	y4m@0.8.0
	yaml-rust2@0.8.1
	yansi@1.0.1
	yawc@0.4.2
	yazi@0.2.1
	yeslogic-fontconfig-sys@6.0.0
	yoke-derive@0.8.2
	yoke@0.8.3
	zbus-lockstep-macros@0.5.2
	zbus-lockstep@0.5.2
	zbus@5.13.2
	zbus_macros@5.13.2
	zbus_names@4.3.2
	zbus_xml@5.1.1
	zed_extension_api@0.1.0
	zed_extension_api@0.7.0
	zeno@0.3.3
	zerocopy-derive@0.8.27
	zerocopy@0.8.27
	zerofrom-derive@0.1.6
	zerofrom@0.1.6
	zeroize@1.8.2
	zeroize_derive@1.4.2
	zeromq@0.5.0
	zerotrie@0.2.5
	zerovec-derive@0.11.5
	zerovec@0.11.8
	zip@0.6.6
	zmij@1.0.23
	zstd-safe@5.0.2+zstd.1.5.2
	zstd-safe@7.3.0
	zstd-sys@2.0.16+zstd.1.5.7
	zstd@0.11.2+zstd.1.5.2
	zstd@0.13.3
	zune-core@0.5.1
	zune-inflate@0.2.54
	zune-jpeg@0.5.15
	zvariant@5.11.0
	zvariant_derive@5.11.0
	zvariant_utils@3.3.1
"

declare -A GIT_CRATES=(
	[alacritty_terminal]='https://github.com/zed-industries/alacritty;4c129667ce56611becdc82de6e28218c80e2e88f;alacritty-%commit%/alacritty_terminal'
	[async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%'
	[async-process]='https://github.com/zed-industries/async-process;0b6d6713570af61806e1e5cb40e0f757cb93fd9d;async-process-%commit%'
	[async-tar]='https://github.com/zed-industries/async-tar;bd3ad6f89df9a9da7a8535958756d6bf465936a0;async-tar-%commit%'
	[async-task]='https://github.com/smol-rs/async-task;b4486cd71e4e94fbda54ce6302444de14f4d190e;async-task-%commit%'
	[calloop]='https://github.com/zed-industries/calloop;eb6b4fd17b9af5ecc226546bdd04185391b3e265;calloop-%commit%'
	[dap-types]='https://github.com/zed-industries/dap-types;1b461b310481d01e02b2603c16d7144b926339f8;dap-types-%commit%/dap-types'
	[gh-workflow-macros]='https://github.com/zed-industries/gh-workflow;37f3c0575d379c218a9c455ee67585184e40d43f;gh-workflow-%commit%/crates/gh-workflow-macros'
	[gh-workflow]='https://github.com/zed-industries/gh-workflow;37f3c0575d379c218a9c455ee67585184e40d43f;gh-workflow-%commit%/crates/gh-workflow'
	[libwebrtc]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/libwebrtc'
	[livekit-api]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/livekit-api'
	[livekit-protocol]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/livekit-protocol'
	[livekit-runtime]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/livekit-runtime'
	[livekit]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/livekit'
	[lsp-types]='https://github.com/zed-industries/lsp-types;f1783e63a7f4eb4397bf51d4148b4895a1f7ab16;lsp-types-%commit%'
	[notify-types]='https://github.com/zed-industries/notify;d842f16b2716bd60f09caf3ae3a894237ab38f54;notify-%commit%/notify-types'
	[notify]='https://github.com/zed-industries/notify;d842f16b2716bd60f09caf3ae3a894237ab38f54;notify-%commit%/notify'
	[nvim-rs]='https://github.com/KillTheMule/nvim-rs;764dd270c642f77f10f3e19d05cc178a6cbe69f3;nvim-rs-%commit%'
	[pet-conda]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-conda'
	[pet-core]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-core'
	[pet-env-var-path]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-env-var-path'
	[pet-fs]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-fs'
	[pet-global-virtualenvs]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-global-virtualenvs'
	[pet-hatch]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-hatch'
	[pet-homebrew]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-homebrew'
	[pet-jsonrpc]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-jsonrpc'
	[pet-linux-global-python]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-linux-global-python'
	[pet-mac-commandlinetools]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-mac-commandlinetools'
	[pet-mac-python-org]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-mac-python-org'
	[pet-mac-xcode]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-mac-xcode'
	[pet-pipenv]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-pipenv'
	[pet-pixi]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-pixi'
	[pet-poetry]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-poetry'
	[pet-pyenv]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-pyenv'
	[pet-python-utils]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-python-utils'
	[pet-reporter]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-reporter'
	[pet-telemetry]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-telemetry'
	[pet-uv]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-uv'
	[pet-venv]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-venv'
	[pet-virtualenv]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-virtualenv'
	[pet-virtualenvwrapper]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-virtualenvwrapper'
	[pet-windows-registry]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-windows-registry'
	[pet-windows-store]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-windows-store'
	[pet-winpython]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet-winpython'
	[pet]='https://github.com/zed-industries/python-environment-tools;5aad7164bfc2a58977b103c8ef8fdd7302ed2e9f;python-environment-tools-%commit%/crates/pet'
	[proptest-macro]='https://github.com/proptest-rs/proptest;3dca198a8fef1b32e3a66f1e1897c955b4dc5b5b;proptest-%commit%/proptest-macro'
	[proptest]='https://github.com/proptest-rs/proptest;3dca198a8fef1b32e3a66f1e1897c955b4dc5b5b;proptest-%commit%/proptest'
	[rodio]='https://github.com/RustAudio/rodio;e50e726ddd0292f6ef9de0dda6b90af4ed1fb66a;rodio-%commit%'
	[trash]='https://github.com/zed-industries/trash-rs;41c6c800d884a89351f3b8856d12894cccee261d;trash-rs-%commit%'
	[tree-sitter-cpp]='https://github.com/tree-sitter/tree-sitter-cpp;5cb9b693cfd7bfacab1d9ff4acac1a4150700609;tree-sitter-cpp-%commit%'
	[tree-sitter-gitcommit]='https://github.com/zed-industries/tree-sitter-git-commit;88309716a69dd13ab83443721ba6e0b491d37ee9;tree-sitter-git-commit-%commit%'
	[tree-sitter-gomod]='https://github.com/camdencheek/tree-sitter-go-mod;2e886870578eeba1927a2dc4bd2e2b3f598c5f9a;tree-sitter-go-mod-%commit%'
	[tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%'
	[tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%'
	[tree-sitter-language]='https://github.com/tree-sitter/tree-sitter;43623ec9bf0eaaf7113285c46e8a09018f181b18;tree-sitter-%commit%/crates/language'
	[tree-sitter-md]='https://github.com/zed-industries/tree-sitter-markdown;b596e737286780d7bfa9fcddceaeeb754574b352;tree-sitter-markdown-%commit%'
	[tree-sitter-typescript]='https://github.com/zed-industries/tree-sitter-typescript;e2c53597d6a5d9cf7bbe8dccde576fe1e46c5899;tree-sitter-typescript-%commit%'
	[tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%'
	[tree-sitter]='https://github.com/tree-sitter/tree-sitter;43623ec9bf0eaaf7113285c46e8a09018f181b18;tree-sitter-%commit%/lib'
	[wasm_thread]='https://github.com/zed-industries/wasm_thread;0cf96c7708dfb97ccf3da50347e25edcf75d6937;wasm_thread-%commit%'
	[webrtc-sys-build]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/webrtc-sys/build'
	[webrtc-sys]='https://github.com/zed-industries/livekit-rust-sdks;0a1c519cfce9b365229026b55de9b9dbdb6fed3c;livekit-rust-sdks-%commit%/webrtc-sys'
	[windows-capture]='https://github.com/zed-industries/windows-capture;f0d6c1b6691db75461b732f6d5ff56eed002eeb9;windows-capture-%commit%'
	[wprcontrol]='https://github.com/zed-industries/wprcontrol;cd811f7d744f65291e13131b1d907fda63ed91a1;wprcontrol-%commit%'
	[xim-ctext]='https://github.com/zed-industries/xim-rs;16f35a2c881b815a2b6cdfd6687988e84f8447d8;xim-rs-%commit%/xim-ctext'
	[xim-parser]='https://github.com/zed-industries/xim-rs;16f35a2c881b815a2b6cdfd6687988e84f8447d8;xim-rs-%commit%/xim-parser'
	[zed-font-kit]='https://github.com/zed-industries/font-kit;94b0f28166665e8fd2f53ff6d268a14955c82269;font-kit-%commit%'
	[zed-reqwest]='https://github.com/zed-industries/reqwest;33bc764aa15ff7b200bf7c93bd96e24878d53e14;reqwest-%commit%'
	[zed-scap]='https://github.com/zed-industries/scap;4afea48c3b002197176fb19cd0f9b180dd36eaac;scap-%commit%'
	[zed-xim]='https://github.com/zed-industries/xim-rs;16f35a2c881b815a2b6cdfd6687988e84f8447d8;xim-rs-%commit%'
)
# Built from upstream's tagged release, unpatched: this package is the source
# twin of app-editors/zed-bin. The patched snapshot with the Claude integration
# ships as app-editors/zeo. Upstream tags a preview "vX.Y.Z-pre", which Gentoo
# spells X.Y.Z_pre.
MY_PV="${PV/_pre/-pre}"
LLVM_COMPAT=( 22 )
RUST_MIN_VER="1.98.1"
RUST_NEEDS_LLVM=1
WEBRTC_COMMIT="0001d84-4"

# BENTOO-DIVERGENCE: INHERIT - llvm-r1, because series 1.20 needs a pinned LLVM
# slot to build; 1.14 in ::gentoo does not.
inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg

# BENTOO-DIVERGENCE: metadata.xml - a <use> block describing fourteen flags,
# where ::gentoo's file has none. Every one of them is a flag this overlay adds
# (see the IUSE tag): X, wayland, collab, neovim, mimalloc, tracy, inspector,
# remote-server and the rest. ::gentoo has nothing to describe because it
# exposes none of them.
# BENTOO-DIVERGENCE: KEYWORDS - no ~arm64, where ::gentoo has it. It was
# dropped while this package carried the Claude adapters, which ship x64-only
# binaries; those now belong to app-editors/zeo. Nothing here is amd64-bound
# any more, but no arm64 build of this package has been run, so the keyword is
# not restored on faith.
DESCRIPTION="The fast, collaborative code editor"
HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed"
SRC_URI="
	https://github.com/zed-industries/zed/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz
	amd64? (
		https://github.com/zed-industries/livekit-rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-x64-release.zip ->
			webrtc-${WEBRTC_COMMIT}-linux-x64-release.zip
	)
	arm64? (
		https://github.com/zed-industries/livekit-rust-sdks/releases/download/webrtc-${WEBRTC_COMMIT}/webrtc-linux-arm64-release.zip ->
			webrtc-${WEBRTC_COMMIT}-linux-arm64-release.zip
	)
	${CARGO_CRATE_URIS}"

S="${WORKDIR}/${PN}-${MY_PV}"
# BENTOO-DIVERGENCE: LICENSE - the vendored crate set differs six series on, so
# the LICENSE+= block below names licences 1.14 never pulled in, among them
# CDLA-Permissive-2.0.
LICENSE="GPL-3+"
# license for fuchsia-cprng-0.1.1, which is not set correctly in crate
LICENSE+=" BSD"
# Dependent crate licenses
LICENSE+="
	Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0
	CC0-1.0 CDLA-Permissive-2.0 ISC LGPL-3 MIT MIT-0 MPL-2.0 UoI-NCSA
	Unicode-3.0 ZLIB BZIP2
"
SLOT="0"
# The arm64 half of SRC_URI and of src_compile's LK_CUSTOM_WEBRTC is kept even
# though KEYWORDS carries no ~arm64: it is what a future re-keyword needs.
KEYWORDS="~amd64"
# BENTOO-DIVERGENCE: IUSE - X is exposed separately from wayland here.
#
# pulseaudio was dropped on 2026-09-09 rather than carried: it changed no part
# of the build. Zed's audio path is cpal, which on Linux is ALSA -- the lockfile
# carries alsa/alsa-sys and no libpulse crate at all -- so the flag only added
# media-libs/libpulse to the depset. A PulseAudio sink is reached through
# media-plugins/alsa-plugins[pulseaudio], which is a runtime choice, not a
# property of this binary.
#
# inserted the same day: inspector (the GPUI UI inspector) and remote-server
# (crates/remote_server, the SSH remote-editing daemon Zed otherwise downloads
# from zed.dev at run time -- packaging it is what lets a server host serve it
# from portage instead).
#
# test is not a Zed feature: src_test has existed here without it, which left
# RESTRICT unable to say the suite is optional.
IUSE="+X collab extensions-cli inspector +mimalloc neovim remote-server
	screen-capture test tracy +wayland"
# BENTOO-DIVERGENCE: REQUIRED_USE - the || ( X wayland ) clause, which follows
# from the X and wayland flags this overlay adds (see the IUSE tag). ::gentoo
# exposes neither, so it has nothing to constrain.
REQUIRED_USE="|| ( X wayland )"
RESTRICT="!test? ( test )"
CHECKREQS_DISK_BUILD="18G"
CHECKREQS_MEMORY="8G"

# sys-apps/xdg-desktop-portal in DEPEND below: ashpd is used from BOTH gpui
# backends (x11/client.rs and wayland/client.rs), so the portal is needed
# whichever of the two USE flags is on -- unconditional, as ::gentoo has it.
# Without it file dialogs and screen capture fail at runtime, not at build.
#
# The note is out here because a "#" inside DEPEND="..." is not a comment: it is
# content, and portage parses it as a package atom. Putting it inside made the
# whole depset unparseable while still passing bash -n.
# BENTOO-DIVERGENCE: DEPEND - sys-apps/dbus, which series 1.20 links against
# and 1.14 in ::gentoo does not.
DEPEND="
	dev-libs/glib:2
	|| (
		media-fonts/dejavu
		media-fonts/cantarell
		media-fonts/noto
		media-fonts/ubuntu-font-family
	)
	media-libs/alsa-lib
	media-libs/fontconfig
	media-libs/freetype
	media-libs/vulkan-loader[X?]
	sys-apps/xdg-desktop-portal
	virtual/zlib:=
	screen-capture? (
		wayland? (
			media-video/pipewire
			sys-apps/dbus
		)
	)
	wayland? (
		dev-libs/wayland
		x11-libs/libxkbcommon[wayland]
	)
	X? (
		x11-libs/libX11
		x11-libs/libxcb:=
		x11-libs/libxkbcommon[X]
	)
"
# BENTOO-DIVERGENCE: RDEPEND - dbus as above.
RDEPEND="
	${DEPEND}
	neovim? ( app-editors/neovim )
"
BDEPEND="
	app-arch/unzip
	dev-build/cmake
	dev-util/vulkan-headers
	sys-devel/gettext
	wayland? (
		dev-libs/wayland-protocols
		dev-util/wayland-scanner
	)
	$(llvm_gen_dep '
		llvm-core/clang:${LLVM_SLOT}=
		llvm-core/llvm:${LLVM_SLOT}=
	')
"

QA_FLAGS_IGNORED="
	usr/bin/zedit
	usr/libexec/zed-editor
	usr/bin/collab
	usr/bin/zed-extension
	usr/bin/zed-remote-server
"

pkg_setup() {
	if tc-is-lto; then
		if tc-is-gcc; then
			export CARGO_PROFILE_RELEASE_LTO="true"
		elif tc-is-clang; then
			export CARGO_PROFILE_RELEASE_LTO="thin"
		fi
	else
		export CARGO_PROFILE_RELEASE_LTO="false"
	fi

	strip-unsupported-flags
	# flags from upstream
	export RUSTFLAGS="${RUSTFLAGS} -C symbol-mangling-version=v0 --cfg tokio_unstable -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib"
	llvm-r1_pkg_setup
	rust_pkg_setup
}

src_prepare() {
	default

	export APP_CLI="zedit"
	# RELEASE_CHANNEL is "preview" below, so the runtime app_id (Wayland
	# app_id / X11 WM_CLASS) is "dev.zed.Zed-Preview". The .desktop filename,
	# the Icon name and StartupWMClass MUST all match it, or Wayland
	# compositors draw the generic icon instead of Zed's.
	export APP_ID="dev.zed.Zed-Preview"
	export APP_ICON="${APP_ID}"
	export APP_NAME="Zed Preview"
	export APP_ARGS="%U"
	export DO_STARTUP_NOTIFY="true"
	envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die

	# StartupWMClass goes in the [Desktop Entry] section (before the Actions=
	# line) for X11 compatibility and as the Wayland compositor fall-back.
	sed -i "/^Actions=/i StartupWMClass=${APP_ID}" "${APP_ID}.desktop" || die

	# The channel this tag was released on. The tag already ships the file with
	# this value; writing it keeps the ebuild the one place that decides. It
	# also names the remote_server zed.dev serves for this exact version, so the
	# auto-download finds a matching daemon (the dev channel hard-fails there).
	echo "preview" > crates/zed/RELEASE_CHANNEL || die

	# Cargo offline fetch workaround
	local ASYNC_PROCESS_COMMIT="0b6d6713570af61806e1e5cb40e0f757cb93fd9d"
	local ASYNC_PROCESS_GIT="async-process = { git = \"https://github.com/zed-industries/async-process.git\""
	ASYNC_PROCESS_GIT+=", rev = \"${ASYNC_PROCESS_COMMIT}\""
	local ASYNC_PROCESS_PATH="async-process = \\{ path = \"${WORKDIR}/async-process-${ASYNC_PROCESS_COMMIT}\""

	local ASYNC_TASK_COMMIT="b4486cd71e4e94fbda54ce6302444de14f4d190e"
	local ASYNC_TASK_GIT="async-task = { git = \"https://github.com/smol-rs/async-task.git\""
	ASYNC_TASK_GIT+=", rev = \"${ASYNC_TASK_COMMIT}\""
	local ASYNC_TASK_PATH="async-task = \\{ path = \"${WORKDIR}/async-task-${ASYNC_TASK_COMMIT}\""

	local CALLOOP_COMMIT="eb6b4fd17b9af5ecc226546bdd04185391b3e265"
	local CALLOOP_GIT="calloop = { git = \"https://github.com/zed-industries/calloop\""
	local CALLOOP_PATH="calloop = \\{ path = \"${WORKDIR}/calloop-${CALLOOP_COMMIT}\""

	local LIVEKIT_COMMIT="0a1c519cfce9b365229026b55de9b9dbdb6fed3c"
	local LIVEKIT_GIT="livekit = { git = \"https://github.com/zed-industries/livekit-rust-sdks\""
	LIVEKIT_GIT+=", rev = \"${LIVEKIT_COMMIT}\""
	local LIVEKIT_PATH="livekit = \\{ path = \"${WORKDIR}/livekit-rust-sdks-${LIVEKIT_COMMIT}/livekit\""

	local LIBWEBRTC_GIT="libwebrtc = { git = \"https://github.com/zed-industries/livekit-rust-sdks\""
	LIBWEBRTC_GIT+=", rev = \"${LIVEKIT_COMMIT}\""
	local LIBWEBRTC_PATH="libwebrtc = \\{ path = \"${WORKDIR}/livekit-rust-sdks-${LIVEKIT_COMMIT}/libwebrtc\""

	local WIN_CAP_COMMIT="f0d6c1b6691db75461b732f6d5ff56eed002eeb9"
	local WIN_CAP_GIT="windows-capture = { git = \"https://github.com/zed-industries/windows-capture.git\""
	WIN_CAP_GIT+=", rev = \"${WIN_CAP_COMMIT}\""
	local WIN_CAP_PATH="windows-capture = \\{ path = \"${WORKDIR}/windows-capture-${WIN_CAP_COMMIT}\""

	local WEBRTC_SYS_GIT="webrtc-sys = { git = \"https://github.com/zed-industries/livekit-rust-sdks\""
	WEBRTC_SYS_GIT+=", rev = \"${LIVEKIT_COMMIT}\""
	local WEBRTC_SYS_PATH="webrtc-sys = \\{ path = \"${WORKDIR}/livekit-rust-sdks-${LIVEKIT_COMMIT}/webrtc-sys\""

	local NOTIFY_COMMIT="d842f16b2716bd60f09caf3ae3a894237ab38f54"
	local NOTIFY_GIT="notify = { git = \"https://github.com/zed-industries/notify\""
	NOTIFY_GIT+=", rev = \"${NOTIFY_COMMIT}\""
	local NOTIFY_PATH="notify = \\{ path = \"${WORKDIR}/notify-${NOTIFY_COMMIT}/notify\""

	local TREE_SITTER_COMMIT="43623ec9bf0eaaf7113285c46e8a09018f181b18"
	local TREE_SITTER_GIT="tree-sitter = { git = \"https://github.com/tree-sitter/tree-sitter\""
	TREE_SITTER_GIT+=", rev = \"${TREE_SITTER_COMMIT}\""
	local TREE_SITTER_PATH="tree-sitter = \\{ path = \"${WORKDIR}/tree-sitter-${TREE_SITTER_COMMIT}/lib\""

	local TS_LANGUAGE_GIT="tree-sitter-language = { git = \"https://github.com/tree-sitter/tree-sitter\""
	TS_LANGUAGE_GIT+=", rev = \"${TREE_SITTER_COMMIT}\""
	local TS_LANGUAGE_PATH="tree-sitter-language = \\{ path = \"${WORKDIR}"
	TS_LANGUAGE_PATH+="/tree-sitter-${TREE_SITTER_COMMIT}/crates/language\""

	local NOTIFY_TYPES_GIT="notify-types = { git = \"https://github.com/zed-industries/notify\""
	NOTIFY_TYPES_GIT+=", rev = \"${NOTIFY_COMMIT}\""
	local NOTIFY_TYPES_PATH="notify-types = \\{ path = \"${WORKDIR}/notify-${NOTIFY_COMMIT}/notify-types\""

	sed -e "s#${ASYNC_PROCESS_GIT}#${ASYNC_PROCESS_PATH}#" \
		-e "s#${ASYNC_TASK_GIT}#${ASYNC_TASK_PATH}#" \
		-e "s#${CALLOOP_GIT}#${CALLOOP_PATH}#" \
		-e "s#${LIVEKIT_GIT}#${LIVEKIT_PATH}#" \
		-e "s#${LIBWEBRTC_GIT}#${LIBWEBRTC_PATH}#" \
		-e "s#${WEBRTC_SYS_GIT}#${WEBRTC_SYS_PATH}#" \
		-e "s#${WIN_CAP_GIT}#${WIN_CAP_PATH}#" \
		-e "s#${NOTIFY_TYPES_GIT}#${NOTIFY_TYPES_PATH}#" \
		-e "s#${NOTIFY_GIT}#${NOTIFY_PATH}#" \
		-e "s#${TS_LANGUAGE_GIT}#${TS_LANGUAGE_PATH}#" \
		-e "s#${TREE_SITTER_GIT}#${TREE_SITTER_PATH}#" \
		-i "${S}/Cargo.toml" || die "Cargo fetch workaround failed"

	# Toggle gpui display backend features based on USE flags
	if ! use wayland; then
		sed -e '/\"gpui\/wayland\"/d' \
			-e '/^\s*\"wayland\",$/d' \
			-e 's/, "wayland"//' \
			-e 's/"wayland", //' \
			-i "${S}/crates/zed/Cargo.toml" || die "Failed to disable wayland feature"
	fi
	if ! use X; then
		sed -e '/\"gpui\/x11\"/d' \
			-e '/^\s*\"x11\",$/d' \
			-e 's/, "x11"//' \
			-e 's/"x11", //' \
			-i "${S}/crates/zed/Cargo.toml" || die "Failed to disable x11 feature"
	fi

	# Toggle screen-capture feature on gpui_platform
	# The first expression deletes the whole LINE: since ef50ad95 the
	# gpui_platform features array is multi-line, so removing only the text
	# would leave an orphan comma ("extra comma in array") that makes the TOML
	# invalid. The other three keep covering the inline form, in case upstream
	# collapses the array again.
	if ! use screen-capture; then
		sed -e '/^[[:space:]]*"screen-capture",\?[[:space:]]*$/d' \
			-e 's/"screen-capture", //' \
			-e 's/, "screen-capture"//' \
			-e 's/"screen-capture"//' \
			-i "${S}/crates/zed/Cargo.toml" || die "Failed to disable screen-capture feature"
	fi

	# Enable neovim integration in vim crate
	if use neovim; then
		sed -e 's/vim\.workspace = true/vim = { workspace = true, features = ["neovim"] }/' \
			-i "${S}/crates/zed/Cargo.toml" || die "Failed to enable neovim feature"
	fi
}

src_compile() {
	export RELEASE_VERSION="${MY_PV}"
	export ZED_UPDATE_EXPLANATION='Updates are handled by portage'
	# crates/zed/build.rs reads RELEASE_CHANNEL as an ENVIRONMENT VARIABLE to
	# pick the icon it embeds -- a different input from the RELEASE_CHANNEL file
	# src_prepare writes, which drives the runtime ReleaseChannel enum. Unset,
	# its `_ => "-dev"` arm embeds the development icon.
	export RELEASE_CHANNEL="preview"
	if use arm64; then
		export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-arm64-release"
	elif use amd64; then
		export LK_CUSTOM_WEBRTC="${WORKDIR}/linux-x64-release"
	fi
	local features=()
	# gpui/inspector, not zed/inspector: upstream reverted "Implement
	# `inspector` flag" (#62920) on 2026-09-15, and this tag's crates/zed has no
	# such feature. gpui is a direct dependency of zed, so dep/feature resolves.
	use inspector && features+=( gpui/inspector )
	use mimalloc && features+=( zed/mimalloc )
	use tracy && features+=( zed/tracy )

	local packages=(
		--package zed
		--package cli
	)
	use collab && packages+=( --package collab )
	use extensions-cli && packages+=( --package extension_cli )
	# remote_server is built from this same workspace rather than upstream's
	# separate musl target, so it links the system libraries the rest of the
	# package already depends on. That is what makes it usable on a host that
	# has this package installed, and it is why it is not a drop-in replacement
	# for the static binary zed.dev serves.
	use remote-server && packages+=( --package remote_server )

	# "${features[*]}" alone would be an empty --features argument when no flag
	# is on; the count is what decides whether the option appears at all.
	local feature_args=()
	(( ${#features[@]} )) && feature_args=( --features "${features[*]}" )

	cargo_src_compile "${packages[@]}" "${feature_args[@]}"
}

src_install() {
	newbin "$(cargo_target_dir)"/cli "${APP_CLI}"
	exeinto "/usr/libexec"
	newexe "$(cargo_target_dir)"/zed zed-editor

	if use collab; then
		dobin "$(cargo_target_dir)"/collab
	fi

	if use extensions-cli; then
		newbin "$(cargo_target_dir)"/zed-extension zed-extension
	fi

	# The client looks the daemon up by a name it builds at run time, under the
	# remote user's ~/.zed_server -- a path no ebuild can write to. Installing
	# it here is therefore half the job; pkg_postinst spells out the other half.
	if use remote-server; then
		newbin "$(cargo_target_dir)"/remote_server zed-remote-server
	fi

	# The preview channel's own icon set, which the source ships, installed
	# under the APP_ID name so Wayland compositors resolve it.
	newicon -s 512 crates/zed/resources/app-icon-preview.png "${APP_ID}.png"
	newicon -s 1024 crates/zed/resources/app-icon-preview@2x.png "${APP_ID}.png"
	domenu "${S}/${APP_ID}.desktop"
}

src_test () {
	mkdir -p "${HOME}/.config/zed" || die
	mkdir -p "${HOME}/.local/share/zed/logs/" || die

	SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv \
		-- --skip zed::tests::test_window_edit_state_restoring_enabled
}

pkg_postinst() {
	xdg_pkg_postinst

	if use remote-server; then
		elog ""
		elog "The remote editing daemon was installed as 'zed-remote-server'."
		elog "Installing it is only half of what makes it used: a Zed client"
		elog "looks the daemon up on the remote host by a name it builds at run"
		elog "time, under that user's home:"
		elog ""
		elog "    ~/.zed_server/zed-remote-server-preview-<VERSION>"
		elog ""
		elog "so the daemon has to be reachable under exactly that name. Connect"
		elog "once without it and Zed downloads its own copy there -- the name it"
		elog "wrote is the name to use:"
		elog ""
		elog "    mkdir -p ~/.zed_server"
		elog "    ln -sf /usr/bin/zed-remote-server \\"
		elog "        ~/.zed_server/zed-remote-server-preview-<VERSION>"
		elog ""
		elog "This build comes from the same workspace as the editor, not from"
		elog "upstream's separate static musl target, so it needs this package's"
		elog "shared libraries present on the host that runs it."
	fi
}