# 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 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 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.1.1 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.5.0 criterion@0.5.1 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 crossbeam@0.8.4 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.12 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.7.0 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.11.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 json_dotpath@1.1.0 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.28.0 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 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 portable-pty@0.9.0 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 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 serial2@0.2.33 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 shared_library@0.1.9 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 take-until@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 wast@35.0.2 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 wiggle-generate@48.0.1 wiggle-macro@48.0.1 wiggle@48.0.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.10.1 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 witx@0.9.1 write16@1.0.0 writeable@0.6.4 wyz@0.5.1 x11-clipboard@0.9.3 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 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' [yawc]='https://github.com/zed-industries/yawc;71a452f551cac178367eaac5d7418a09afa1f3a2;yawc-%commit%' [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 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 "stable" below, so the runtime app_id (Wayland app_id / # X11 WM_CLASS) is "dev.zed.Zed". 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" export APP_ICON="${APP_ID}" export APP_NAME="Zed" 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 "stable" > 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="stable" 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 stable 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.png "${APP_ID}.png" newicon -s 1024 crates/zed/resources/app-icon@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-stable-" 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-stable-" 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 }