# 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;" }