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

EAPI=8

CRATES="
 ab_glyph@0.2.32
 ab_glyph_rasterizer@0.1.10
 adler2@2.0.1
 ahash@0.8.12
 aho-corasick@1.1.5
 aligned@0.4.3
 aligned-vec@0.6.4
 allocator-api2@0.2.21
 alsa@0.11.0
 alsa-sys@0.4.0
 android-activity@0.6.1
 android-build@0.1.4
 android-properties@0.2.2
 android_system_properties@0.1.6
 annotate-snippets@0.11.5
 anstyle@1.0.14
 anyhow@1.0.104
 arbitrary@1.5.0
 arboard@3.7.0
 arc-swap@1.9.3
 arg_enum_proc_macro@0.3.4
 arrayref@0.3.9
 arrayvec@0.7.8
 as-raw-xcb-connection@1.0.1
 as-slice@0.2.1
 ash@0.38.0+1.3.281
 async-broadcast@0.7.2
 async-channel@2.5.0
 async-executor@1.14.0
 async-io@2.6.0
 async-lock@3.4.2
 async-process@2.5.0
 async-recursion@1.2.0
 async-signal@0.2.14
 async-task@4.7.1
 async-trait@0.1.92
 atomic-waker@1.1.2
 autocfg@1.5.1
 av-scenechange@0.14.1
 av1-grain@0.2.5
 avif-serialize@0.8.9
 aws-lc-rs@1.19.0
 aws-lc-sys@0.47.0
 base64@0.22.1
 base64@0.23.1
 bincode-next@2.1.0
 bincode_derive-next@2.1.0
 bindgen@0.72.1
 biquad@0.6.0
 bit-set@0.10.0
 bit-set@0.11.1
 bit-vec@0.10.1
 bit-vec@0.9.1
 bit_field@0.10.3
 bitflags@1.3.2
 bitflags@2.13.2
 bitstream-io@4.10.0
 block-buffer@0.10.4
 block2@0.6.2
 blocking@1.7.0
 borsh@1.8.1
 borsh-derive@1.8.1
 built@0.8.1
 bumpalo@3.20.3
 bytemuck@1.25.2
 bytemuck_derive@1.12.1
 byteorder@1.5.0
 byteorder-lite@0.1.0
 bytes@1.12.1
 calloop@0.14.5
 calloop-wayland-source@0.4.1
 cc@1.10.0
 cesu8@1.1.0
 cexpr@0.6.0
 cfg-expr@0.20.10
 cfg-if@1.0.5
 cfg_aliases@0.2.2
 chacha20@0.10.2
 chrono@0.4.45
 clang-sys@1.9.1
 clipboard-win@5.4.3
 cmake@0.1.58
 codespan-reporting@0.13.1
 color_quant@1.1.0
 combine@4.6.9
 concurrent-queue@2.5.0
 cookie-factory@0.3.3
 core-foundation@0.10.1
 core-foundation@0.9.4
 core-foundation-sys@0.8.7
 core-graphics@0.23.2
 core-graphics@0.24.0
 core-graphics-types@0.1.3
 core-graphics-types@0.2.0
 core-text@20.1.0
 core_detect@1.0.0
 coreaudio-rs@0.14.2
 cpufeatures@0.3.1
 crc32fast@1.5.3
 crossbeam-deque@0.8.8
 crossbeam-epoch@0.9.21
 crossbeam-queue@0.3.14
 crossbeam-utils@0.8.23
 crunchy@0.2.4
 crypto-common@0.1.7
 ctor@0.10.1
 cursor-icon@1.2.0
 dasp_sample@0.11.0
 data-url@0.3.2
 digest@0.10.7
 directories@6.0.0
 dirs@6.0.0
 dirs-sys@0.5.0
 dispatch@0.2.0
 dispatch2@0.3.1
 displaydoc@0.2.7
 dlib@0.5.3
 doctest-file@1.1.1
 document-features@0.2.12
 downcast-rs@1.2.1
 dtor@0.8.1
 dunce@1.0.5
 dwrote@0.11.5
 either@1.19.0
 encoding_rs@0.8.42
 endi@1.1.1
 enumflags2@0.7.12
 enumflags2_derive@0.7.12
 equator@0.4.2
 equator-macro@0.4.2
 equivalent@1.0.3
 errno@0.3.14
 error-code@3.4.0
 etagere@0.3.0
 euclid@0.22.14
 event-listener@5.4.2
 event-listener-strategy@0.5.4
 exr@1.74.2
 extended@0.1.0
 fastrand@2.5.0
 fax@0.2.7
 fdeflate@0.3.7
 find-msvc-tools@0.1.15
 fixedbitset@0.5.7
 flate2@1.1.10
 float-cmp@0.9.0
 float-ord@0.3.2
 float_next_after@1.0.0
 fnv@1.0.7
 foldhash@0.1.5
 foldhash@0.2.0
 font-kit@0.14.3
 font-types@0.12.7
 fontconfig-parser@0.5.8
 fontdb@0.24.0
 foreign-types@0.5.0
 foreign-types-macros@0.2.4
 foreign-types-shared@0.3.1
 form_urlencoded@1.2.2
 freetype-sys@0.20.1
 fs_extra@1.3.0
 futures@0.3.34
 futures-channel@0.3.34
 futures-core@0.3.34
 futures-executor@0.3.34
 futures-io@0.3.34
 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
 generic-array@0.14.7
 gethostname@1.1.0
 getrandom@0.2.17
 getrandom@0.3.4
 getrandom@0.4.3
 gif@0.14.2
 gl_generator@0.14.0
 glam@0.33.12
 glob@0.3.4
 glow@0.17.0
 glutin_wgl_sys@0.6.1
 gpu-allocator@0.28.0
 guillotiere@0.6.2
 h2@0.4.20
 half@2.7.1
 harfrust@0.12.0
 hashbrown@0.15.5
 hashbrown@0.16.1
 hashbrown@0.17.1
 heck@0.5.0
 hermit-abi@0.5.3
 hex@0.4.3
 http@1.5.0
 http-body@1.1.0
 http-body-util@0.1.5
 httparse@1.10.1
 hyper@1.12.0
 hyper-rustls@0.27.10
 hyper-util@0.1.21
 iana-time-zone@0.1.65
 iana-time-zone-haiku@0.1.2
 icu_collections@2.4.0
 icu_locale_core@2.4.0
 icu_normalizer@2.4.0
 icu_normalizer_data@2.4.0
 icu_properties@2.4.0
 icu_properties_data@2.4.0
 icu_provider@2.4.0
 icy-metadata@0.6.0
 idna@1.1.0
 idna_adapter@1.2.2
 image@0.25.10
 image-webp@0.2.4
 imagesize@0.15.0
 imgref@1.12.3
 indexmap@2.14.2
 inotify@0.11.5
 inotify-sys@0.1.8
 interpolate_name@0.2.4
 interprocess@2.4.7
 ipnet@2.12.2
 itertools@0.13.0
 itertools@0.14.0
 itoa@1.0.18
 jni@0.21.1
 jni@0.22.4
 jni-macros@0.22.4
 jni-sys@0.3.1
 jni-sys@0.4.1
 jni-sys-macros@0.4.1
 jobserver@0.1.35
 js-sys@0.3.106
 kamadak-exif@0.6.1
 khronos-egl@6.0.0
 khronos_api@3.1.0
 kqueue@1.2.1
 kqueue-sys@1.1.2
 ksni@0.3.7
 kurbo@0.13.1
 lazy_static@1.5.1
 lebe@0.5.3
 libc@0.2.191
 libfuzzer-sys@0.4.13
 libloading@0.8.9
 libm@0.2.16
 libredox@0.1.25
 libspa@0.10.1
 libspa-sys@0.10.1
 lilt@0.8.2
 linebender_resource_handle@0.1.1
 linux-raw-sys@0.12.1
 litemap@0.8.3
 litrs@1.0.1
 lock_api@0.4.14
 log@0.4.34
 loop9@0.1.5
 lru@0.18.5
 lru-slab@0.1.3
 lyon@1.0.19
 lyon_algorithms@1.0.22
 lyon_geom@1.0.20
 lyon_path@1.0.19
 lyon_tessellation@1.0.23
 mach2@0.5.0
 matchers@0.2.0
 maybe-rayon@0.1.1
 md-5@0.10.6
 memchr@2.8.3
 memmap2@0.9.12
 memoffset@0.9.1
 mime@0.3.17
 mime_guess@2.0.5
 minimal-lexical@0.2.1
 miniz_oxide@0.8.9
 miniz_oxide@0.9.1
 mio@1.2.4
 moxcms@0.8.1
 mpris-server@0.10.0
 multiversion_no_op@1.0.0
 mundy@0.2.3
 mutate_once@0.1.2
 naga@30.0.1
 naga-types@30.0.1
 ndk@0.9.0
 ndk-context@0.1.1
 ndk-sys@0.6.0+11769913
 new_debug_unreachable@1.0.6
 no_std_io2@0.9.4
 nom@7.1.3
 nom@8.0.0
 noop_proc_macro@0.3.0
 notify@8.2.1
 notify-types@2.2.0
 nu-ansi-term@0.50.3
 num-bigint@0.4.8
 num-complex@0.4.6
 num-derive@0.4.2
 num-integer@0.1.47
 num-rational@0.4.2
 num-traits@0.2.19
 num_enum@0.7.6
 num_enum_derive@0.7.6
 objc2@0.6.5
 objc2-app-kit@0.3.2
 objc2-audio-toolbox@0.3.2
 objc2-avf-audio@0.3.2
 objc2-cloud-kit@0.3.2
 objc2-core-audio@0.3.2
 objc2-core-audio-types@0.3.2
 objc2-core-data@0.3.2
 objc2-core-foundation@0.3.2
 objc2-core-graphics@0.3.2
 objc2-core-image@0.3.2
 objc2-core-location@0.3.2
 objc2-core-services@0.3.2
 objc2-core-text@0.3.2
 objc2-core-video@0.3.2
 objc2-encode@4.1.0
 objc2-foundation@0.3.2
 objc2-io-surface@0.3.2
 objc2-metal@0.3.2
 objc2-quartz-core@0.3.2
 objc2-ui-kit@0.3.2
 objc2-user-notifications@0.3.2
 once_cell@1.21.4
 openssl-probe@0.2.2
 option-ext@0.2.0
 opusic-sys@0.7.6
 orbclient@0.3.55
 ordered-float@5.5.1
 ordered-stream@0.2.0
 os_pipe@1.2.3
 owned_ttf_parser@0.25.1
 parking@2.2.1
 parking_lot@0.12.5
 parking_lot_core@0.9.12
 paste@1.0.15
 pastey@0.1.1
 pastey@0.2.3
 pathfinder_geometry@0.5.1
 pathfinder_simd@0.5.6
 percent-encoding@2.3.2
 petgraph@0.8.3
 pico-args@0.5.0
 pin-project@1.1.13
 pin-project-internal@1.1.13
 pin-project-lite@0.2.17
 pin-utils@0.1.1
 piper@0.2.5
 pipewire@0.10.1
 pipewire-sys@0.10.1
 pkg-config@0.3.34
 plain@0.2.3
 png@0.18.1
 polling@3.11.0
 pollster@0.4.0
 polycool@0.4.0
 portable-atomic@1.15.0
 portable-atomic-util@0.2.8
 potential_utf@0.1.6
 pp-rs@0.2.1
 ppv-lite86@0.2.21
 presser@0.3.1
 primal-check@0.3.4
 proc-macro-crate@3.5.0
 proc-macro2@1.0.107
 profiling@1.0.18
 profiling-procmacros@1.0.18
 proptest@1.12.0
 pulp@0.22.3
 pulp-wasm-simd-flag@0.1.1
 pxfm@0.1.30
 qoi@0.4.1
 quick-error@1.2.3
 quick-error@2.0.1
 quick-xml@0.41.0
 quinn@0.11.12
 quinn-proto@0.11.19
 quinn-udp@0.5.16
 quote@1.0.47
 r-efi@5.3.0
 r-efi@6.0.0
 rand@0.10.3
 rand@0.9.5
 rand_chacha@0.9.0
 rand_core@0.10.1
 rand_core@0.9.5
 rand_pcg@0.10.2
 rand_xorshift@0.5.0
 range-alloc@0.1.5
 rangemap@1.8.0
 rav1e@0.8.1
 ravif@0.13.0
 raw-cpuid@11.6.0
 raw-window-handle@0.6.2
 raw-window-metal@1.1.0
 rayon@1.12.0
 rayon-core@1.13.0
 read-fonts@0.41.0
 realfft@3.5.1
 reborrow@0.5.5
 recvmsg@1.0.0
 redb@4.4.0
 redox_syscall@0.5.18
 redox_syscall@0.9.5
 redox_users@0.5.3
 regex@1.13.1
 regex-automata@0.4.18
 regex-lite@0.1.9
 regex-syntax@0.8.11
 renderdoc-sys@1.1.0
 reqwest@0.13.4
 resvg@0.48.1
 rfd@0.17.2
 rgb@0.8.53
 ring@0.17.14
 ringbuf@0.5.3
 roxmltree@0.20.0
 roxmltree@0.21.2
 rtrb@0.3.6
 rustc-hash@1.1.0
 rustc-hash@2.1.3
 rustc_version@0.4.1
 rustfft@6.4.1
 rustix@1.1.6
 rustls@0.23.46
 rustls-native-certs@0.8.5
 rustls-pki-types@1.15.1
 rustls-platform-verifier@0.7.1
 rustls-platform-verifier-android@0.2.0
 rustls-webpki@0.103.16
 rustversion@1.0.23
 rusty-fork@0.3.1
 same-file@1.0.6
 schannel@0.1.30
 scoped-tls@1.0.1
 scopeguard@1.2.0
 sctk-adwaita@0.12.0
 security-framework@3.7.0
 security-framework-sys@2.17.0
 self_cell@1.3.0
 semver@1.0.28
 serde@1.0.229
 serde_core@1.0.229
 serde_derive@1.0.229
 serde_json@1.0.154
 serde_repr@0.1.21
 serde_spanned@1.1.2
 serial_test@3.5.0
 serial_test_derive@3.5.0
 sharded-slab@0.1.7
 shlex@1.3.0
 shlex@2.0.1
 signal-hook-registry@1.4.8
 simd-adler32@0.3.10
 simd_cesu8@1.2.0
 simd_helpers@0.1.0
 simdutf8@0.1.5
 simplecss@0.2.2
 siphasher@1.0.4
 sipper@0.2.1
 skrifa@0.44.0
 slab@0.4.12
 slotmap@1.1.1
 smallvec@1.16.4
 smithay-client-toolkit@0.21.1
 smol_str@0.3.7
 socket2@0.6.5
 softbuffer@0.4.8
 spirv@0.4.0+sdk-1.4.341.0
 stable_deref_trait@1.2.1
 static_assertions@1.1.0
 strength_reduce@0.2.4
 strict-num@0.1.1
 subtle@2.6.1
 svg_fmt@0.4.5
 svgtypes@0.16.1
 swash@0.2.10
 symphonia@0.6.1
 symphonia-adapter-libopus@0.3.0
 symphonia-bundle-flac@0.6.1
 symphonia-bundle-mp3@0.6.1
 symphonia-codec-aac@0.6.1
 symphonia-codec-adpcm@0.6.1
 symphonia-codec-alac@0.6.1
 symphonia-codec-pcm@0.6.1
 symphonia-codec-vorbis@0.6.1
 symphonia-common@0.6.1
 symphonia-core@0.6.1
 symphonia-format-isomp4@0.6.1
 symphonia-format-mkv@0.6.1
 symphonia-format-ogg@0.6.1
 symphonia-format-riff@0.6.1
 symphonia-metadata@0.6.1
 syn@2.0.119
 syn@3.0.9
 sync_wrapper@1.0.2
 synstructure@0.14.0
 sys-locale@0.3.2
 system-configuration@0.7.0
 system-configuration-sys@0.6.0
 system-deps@7.0.8
 target-lexicon@0.13.5
 tempfile@3.27.0
 termcolor@1.4.1
 thiserror@1.0.69
 thiserror@2.0.21
 thiserror-impl@1.0.69
 thiserror-impl@2.0.21
 thread_local@1.1.10
 tiff@0.11.3
 tiny-skia@0.12.0
 tiny-skia-path@0.12.0
 tiny-xlib@0.2.5
 tinystr@0.8.5
 tinyvec@1.13.3
 tokio@1.53.3
 tokio-macros@2.7.2
 tokio-rustls@0.26.6
 tokio-util@0.7.20
 toml@1.1.8+spec-1.1.0
 toml_datetime@1.1.2+spec-1.1.0
 toml_edit@0.25.17+spec-1.1.0
 toml_parser@1.1.5+spec-1.1.0
 toml_writer@1.1.3+spec-1.1.0
 tower@0.5.3
 tower-http@0.6.11
 tower-layer@0.3.3
 tower-service@0.3.3
 tracing@0.1.44
 tracing-attributes@0.1.31
 tracing-core@0.1.36
 tracing-log@0.2.0
 tracing-subscriber@0.3.23
 trait-variant@0.1.3
 transpose@0.2.3
 tree_magic_mini@3.2.2
 try-lock@0.2.5
 ttf-parser@0.25.1
 typenum@1.20.1
 uds_windows@1.2.1
 unarray@0.1.4
 unicase@2.10.0
 unicode-bidi@0.3.18
 unicode-ident@1.0.27
 unicode-linebreak@0.1.5
 unicode-script@0.5.8
 unicode-segmentation@1.13.3
 unicode-width@0.2.3
 unicode-xid@0.2.6
 untrusted@0.9.0
 unty-next@0.1.2
 url@2.5.8
 urlencoding@2.1.3
 usvg@0.48.1
 utf8_iter@1.1.0
 utf_types@1.0.0
 uuid@1.29.0
 v_frame@0.3.9
 valuable@0.1.1
 version-compare@0.2.1
 version_check@0.9.5
 virtue-next@0.1.3
 wait-timeout@0.2.1
 walkdir@2.5.0
 want@0.3.2
 wasi@0.11.1+wasi-snapshot-preview1
 wasip2@1.0.4+wasi-0.2.12
 wasm-bindgen@0.2.129
 wasm-bindgen-futures@0.4.79
 wasm-bindgen-macro@0.2.129
 wasm-bindgen-macro-support@0.2.129
 wasm-bindgen-shared@0.2.129
 wasm-streams@0.5.0
 wasmtimer@0.4.3
 wayland-backend@0.3.17
 wayland-client@0.31.15
 wayland-csd-frame@0.3.0
 wayland-cursor@0.31.14
 wayland-protocols@0.32.13
 wayland-protocols-experimental@20251230.0.3
 wayland-protocols-misc@0.3.12
 wayland-protocols-plasma@0.3.12
 wayland-protocols-wlr@0.3.12
 wayland-scanner@0.31.11
 wayland-sys@0.31.11
 web-sys@0.3.106
 web-time@1.1.0
 webpki-root-certs@1.0.11
 weezl@0.1.12
 wgpu@30.0.1
 wgpu-core@30.0.1
 wgpu-core-deps-apple@30.0.1
 wgpu-core-deps-emscripten@30.0.1
 wgpu-core-deps-windows-linux-android@30.0.1
 wgpu-hal@30.0.1
 wgpu-naga-bridge@30.0.1
 wgpu-types@30.0.1
 widestring@1.2.1
 winapi@0.3.9
 winapi-i686-pc-windows-gnu@0.4.0
 winapi-util@0.1.11
 winapi-x86_64-pc-windows-gnu@0.4.0
 windows@0.62.2
 windows-collections@0.3.2
 windows-core@0.62.2
 windows-future@0.3.2
 windows-implement@0.60.2
 windows-interface@0.59.3
 windows-link@0.2.1
 windows-numerics@0.3.1
 windows-registry@0.6.1
 windows-result@0.4.1
 windows-strings@0.5.1
 windows-sys@0.45.0
 windows-sys@0.52.0
 windows-sys@0.61.2
 windows-targets@0.42.2
 windows-targets@0.52.6
 windows-threading@0.2.1
 windows_aarch64_gnullvm@0.42.2
 windows_aarch64_gnullvm@0.52.6
 windows_aarch64_msvc@0.42.2
 windows_aarch64_msvc@0.52.6
 windows_i686_gnu@0.42.2
 windows_i686_gnu@0.52.6
 windows_i686_gnullvm@0.52.6
 windows_i686_msvc@0.42.2
 windows_i686_msvc@0.52.6
 windows_x86_64_gnu@0.42.2
 windows_x86_64_gnu@0.52.6
 windows_x86_64_gnullvm@0.42.2
 windows_x86_64_gnullvm@0.52.6
 windows_x86_64_msvc@0.42.2
 windows_x86_64_msvc@0.52.6
 winnow@1.0.4
 wio@0.2.2
 wit-bindgen@0.57.1
 wl-clipboard-rs@0.9.5
 writeable@0.6.4
 x11-dl@2.21.0
 x11rb@0.13.2
 x11rb-protocol@0.13.2
 xcursor@0.3.11
 xkbcommon-dl@0.4.2
 xkeysym@0.2.1
 xml-rs@0.8.29
 y4m@0.8.0
 yazi@0.2.1
 yeslogic-fontconfig-sys@6.0.1
 yoke@0.8.4
 yoke-derive@0.8.4
 zbus@5.19.0
 zbus_macros@5.19.0
 zbus_names@4.3.5
 zcheapstr@1.2.0
 zeno@0.3.3
 zerocopy@0.8.63
 zerocopy-derive@0.8.63
 zerofrom@0.1.8
 zerofrom-derive@0.1.8
 zeroize@1.9.1
 zerotrie@0.2.5
 zerovec@0.11.9
 zerovec-derive@0.11.7
 zlib-rs@0.6.8
 zmij@1.0.23
 zune-core@0.5.3
 zune-inflate@0.2.54
 zune-jpeg@0.5.15
 zvariant@5.15.1
 zvariant_derive@5.15.1
 zvariant_utils@4.2.0
"
declare -A GIT_CRATES=(
 [cosmic-text]="https://github.com/hecrj/cosmic-text;19cca2bd90e73e20614964f06d44240e71e503b3;cosmic-text-%commit%"
 [cpal]="https://github.com/RustAudio/cpal;484bf8f4b31ebf18ad6bb03ab9bea30b49946ccc;cpal-%commit%"
 [cryoglyph]="https://github.com/iced-rs/cryoglyph;e13618df29a5593968040c12ab086b7237249ded;cryoglyph-%commit%"
 [dpi]="https://github.com/iced-rs/winit;48116469f15d3bc52b5e56bb516694be8882870d;winit-%commit%/dpi"
 [iced]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%"
 [iced_core]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/core"
 [iced_debug]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/debug"
 [iced_futures]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/futures"
 [iced_graphics]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/graphics"
 [iced_program]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/program"
 [iced_renderer]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/renderer"
 [iced_runtime]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/runtime"
 [iced_tiny_skia]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/tiny_skia"
 [iced_wgpu]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/wgpu"
 [iced_widget]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/widget"
 [iced_winit]="https://github.com/iced-rs/iced;a8231fd9ddf3570f95affba2d45a9be092007f71;iced-%commit%/winit"
 [particle-audio]="https://github.com/f-o-o-g-s/ojodrop;7787e441cf2152c170335c04bf660290957a85cb;ojodrop-%commit%/crates/particle-audio"
 [particle-milkdrop]="https://github.com/f-o-o-g-s/ojodrop;7787e441cf2152c170335c04bf660290957a85cb;ojodrop-%commit%/crates/particle-milkdrop"
 [rodio]="https://github.com/RustAudio/rodio;7e9ba6dd017abb88a1de8c287849c89c3624437d;rodio-%commit%"
 [winit]="https://github.com/iced-rs/winit;48116469f15d3bc52b5e56bb516694be8882870d;winit-%commit%"
)
RUST_MIN_VER="1.95"
inherit cargo desktop xdg

DESCRIPTION="Fast and beautiful Rust/Iced desktop client for Navidrome"
HOMEPAGE="https://github.com/f-o-o-g-s/nokkvi"
SRC_URI="
	https://github.com/f-o-o-g-s/nokkvi/archive/refs/tags/v${PV}.tar.gz
	-> ${P}.tar.gz
	${CARGO_CRATE_URIS}
"

LICENSE="GPL-3.0-only"
SLOT="0"
KEYWORDS="~amd64"

# Upstream pins Git dependencies in Cargo.toml; Cargo cannot resolve them
# from a registry vendor snapshot without a dedicated vendor tarball.
RESTRICT="network-sandbox"

RDEPEND="
	dev-libs/wayland
	media-libs/vulkan-loader
	x11-libs/libxkbcommon
"
BDEPEND="
	virtual/pkgconfig
"

QA_FLAGS_IGNORED="usr/bin/${PN}"

src_configure() {
	cargo_src_configure
}

src_compile() {
	cargo_src_compile
}

src_install() {
	cargo_src_install

	newicon -s scalable assets/logo/nokkvi_master.svg "${PN}.svg"
	make_desktop_entry "${PN}" "Nokkvi" "${PN}" "AudioVideo;Audio;Player;"
}