# Copyright 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
        addr2line@0.25.1
        adler2@2.0.1
        aes@0.8.4
        ahash@0.8.12
        aho-corasick@1.1.4
        aligned-vec@0.6.4
        aligned@0.4.3
        allocator-api2@0.2.21
        alsa-sys@0.3.1
        alsa@0.10.0
        alsa@0.9.1
        android-activity@0.6.1
        android-properties@0.2.2
        android_system_properties@0.1.5
        ansi_colours@1.2.3
        anstream@1.0.0
        anstyle-parse@1.0.0
        anstyle-query@1.1.5
        anstyle-wincon@3.0.11
        anstyle@1.0.14
        anyhow@1.0.102
        arbitrary@1.4.2
        arg_enum_proc_macro@0.3.4
        arrayref@0.3.9
        arrayvec@0.7.6
        as-raw-xcb-connection@1.0.1
        as-slice@0.2.1
        async-stream-impl@0.3.6
        async-stream@0.3.6
        async-trait@0.1.89
        atomic-waker@1.1.2
        atomic@0.6.1
        atomic_refcell@0.1.13
        autocfg@1.5.0
        av-scenechange@0.14.1
        av1-grain@0.2.5
        avif-serialize@0.8.8
        aws-lc-rs@1.16.2
        aws-lc-sys@0.39.1
        backtrace@0.3.76
        base64@0.22.1
        base64ct@1.8.3
        bit-set@0.5.3
        bit-vec@0.6.3
        bit_field@0.10.3
        bitflags@1.3.2
        bitflags@2.11.0
        bitstream-io@4.9.0
        block-buffer@0.10.4
        block2@0.5.1
        block2@0.6.2
        block@0.1.6
        built@0.8.0
        bumpalo@3.20.2
        bytemuck@1.25.0
        byteorder-lite@0.1.0
        byteorder@1.5.0
        bytes@1.11.1
        calloop-wayland-source@0.3.0
        calloop@0.13.0
        castaway@0.2.4
        cc@1.2.58
        cesu8@1.1.0
        cfg-expr@0.20.7
        cfg-if@1.0.4
        cfg_aliases@0.2.1
        chacha20@0.10.0
        chrono-humanize@0.2.3
        chrono@0.4.44
        cipher@0.4.4
        clap@4.6.0
        clap_builder@4.6.0
        clap_complete@4.6.0
        clap_derive@4.6.0
        clap_lex@1.1.0
        clipboard-win@5.4.1
        cmake@0.1.58
        cocoa-foundation@0.1.2
        cocoa@0.24.1
        color_quant@1.1.0
        colorchoice@1.0.5
        combine@4.6.7
        compact_str@0.9.0
        concurrent-queue@2.5.0
        config_parser2@0.1.7
        config_parser_derive@0.1.3
        console@0.15.11
        const-oid@0.9.6
        convert_case@0.10.0
        core-foundation-sys@0.8.7
        core-foundation@0.10.1
        core-foundation@0.9.4
        core-graphics-types@0.1.3
        core-graphics@0.22.3
        core-graphics@0.23.2
        core2@0.4.0
        coreaudio-rs@0.13.0
        cpal@0.16.0
        cpufeatures@0.2.17
        cpufeatures@0.3.0
        crc32fast@1.5.0
        crossbeam-deque@0.8.6
        crossbeam-epoch@0.9.18
        crossbeam-utils@0.8.21
        crossterm@0.28.1
        crossterm@0.29.0
        crossterm_winapi@0.9.1
        crunchy@0.2.4
        crypto-common@0.1.7
        csscolorparser@0.6.2
        ctr@0.9.2
        cursor-icon@1.2.0
        daemonize@0.5.0
        darling@0.20.11
        darling@0.23.0
        darling_core@0.20.11
        darling_core@0.23.0
        darling_macro@0.20.11
        darling_macro@0.23.0
        dasp_sample@0.11.0
        data-encoding@2.10.0
        dbus-crossroads@0.5.3
        dbus@0.9.10
        deltae@0.3.2
        der@0.7.10
        deranged@0.5.8
        derive_builder@0.20.2
        derive_builder_core@0.20.2
        derive_builder_macro@0.20.2
        derive_more-impl@2.1.1
        derive_more@2.1.1
        digest@0.10.7
        dirs-next@2.0.0
        dirs-sys-next@0.1.2
        dispatch2@0.3.1
        dispatch@0.2.0
        displaydoc@0.2.5
        dlib@0.5.3
        document-features@0.2.12
        downcast-rs@1.2.1
        dpi@0.1.2
        dunce@1.0.5
        either@1.15.0
        encode_unicode@1.0.0
        encoding_rs@0.8.35
        enum_dispatch@0.3.13
        env_filter@1.0.1
        env_logger@0.11.10
        equator-macro@0.4.2
        equator@0.4.2
        equivalent@1.0.2
        errno@0.3.14
        error-code@3.3.2
        euclid@0.22.14
        exr@1.74.0
        fancy-regex@0.11.0
        fastrand@2.3.0
        fax@0.2.6
        fax_derive@0.2.0
        fdeflate@0.3.7
        filedescriptor@0.8.3
        find-msvc-tools@0.1.9
        finl_unicode@1.4.0
        fixedbitset@0.4.2
        flate2@1.1.9
        flume@0.12.0
        fnv@1.0.7
        foldhash@0.1.5
        foldhash@0.2.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
        form_urlencoded@1.2.2
        fs_extra@1.3.0
        futf@0.1.5
        futures-channel@0.3.32
        futures-core@0.3.32
        futures-executor@0.3.32
        futures-io@0.3.32
        futures-lite@2.6.1
        futures-macro@0.3.32
        futures-sink@0.3.32
        futures-task@0.3.32
        futures-timer@3.0.3
        futures-util@0.3.32
        futures@0.3.32
        fuzzy-matcher@0.3.7
        generic-array@0.14.7
        gethostname@1.1.0
        getrandom@0.2.17
        getrandom@0.3.4
        getrandom@0.4.2
        gif@0.14.1
        gimli@0.32.3
        gio-sys@0.21.5
        glib-macros@0.21.5
        glib-sys@0.21.5
        glib@0.21.5
        gobject-sys@0.21.5
        governor@0.10.4
        gstreamer-app-sys@0.24.5
        gstreamer-app@0.24.5
        gstreamer-audio-sys@0.24.5
        gstreamer-audio@0.24.5
        gstreamer-base-sys@0.24.5
        gstreamer-base@0.24.5
        gstreamer-sys@0.24.5
        gstreamer@0.24.5
        h2@0.4.13
        half@2.7.1
        hashbrown@0.15.5
        hashbrown@0.16.1
        headers-core@0.3.0
        headers@0.4.1
        heck@0.5.0
        hermit-abi@0.5.2
        hex@0.4.3
        hmac@0.12.1
        home@0.5.12
        html-escape@0.2.13
        html5ever@0.27.0
        http-body-util@0.1.3
        http-body@1.0.1
        http@1.4.0
        httparse@1.10.1
        httpdate@1.0.3
        hyper-proxy2@0.1.0
        hyper-rustls@0.27.7
        hyper-tls@0.6.0
        hyper-util@0.1.20
        hyper@1.8.1
        iana-time-zone-haiku@0.1.2
        iana-time-zone@0.1.65
        icu_collections@2.1.1
        icu_locale_core@2.1.1
        icu_normalizer@2.1.1
        icu_normalizer_data@2.1.1
        icu_properties@2.1.2
        icu_properties_data@2.1.2
        icu_provider@2.1.1
        id-arena@2.3.0
        ident_case@1.0.1
        idna@1.1.0
        idna_adapter@1.2.1
        image-webp@0.2.4
        image@0.25.10
        imgref@1.12.0
        indexmap@2.13.0
        indoc@2.0.7
        inout@0.1.4
        instability@0.3.12
        interpolate_name@0.2.4
        ipnet@2.12.0
        iri-string@0.7.12
        is-docker@0.2.0
        is-wsl@0.4.0
        is_terminal_polyfill@1.70.2
        itertools@0.14.0
        itoa@1.0.18
        jack-sys@0.5.1
        jack@0.13.5
        jni-macros@0.22.4
        jni-sys-macros@0.4.1
        jni-sys@0.3.1
        jni-sys@0.4.1
        jni@0.21.1
        jni@0.22.4
        jobserver@0.1.34
        js-sys@0.3.92
        kasuari@0.4.12
        kstring@2.0.2
        lab@0.11.0
        lazy_static@1.5.0
        leb128fmt@0.1.0
        lebe@0.5.3
        libc@0.2.183
        libdbus-sys@0.2.7
        libfuzzer-sys@0.4.12
        libloading@0.7.4
        libloading@0.8.9
        libm@0.2.16
        libpulse-binding@2.30.1
        libpulse-simple-binding@2.29.0
        libpulse-simple-sys@1.22.0
        libpulse-sys@1.23.0
        libredox@0.1.15
        librespot-audio@0.8.0
        librespot-connect@0.8.0
        librespot-core@0.8.0
        librespot-metadata@0.8.0
        librespot-oauth@0.8.0
        librespot-playback@0.8.0
        librespot-protocol@0.8.0
        line-clipping@0.3.7
        linked-hash-map@0.5.6
        linux-raw-sys@0.12.1
        linux-raw-sys@0.4.15
        litemap@0.8.1
        litrs@1.0.0
        lock_api@0.4.14
        log@0.4.29
        loop9@0.1.5
        lru-slab@0.1.2
        lru@0.16.3
        mac-notification-sys@0.6.12
        mac@0.1.1
        mac_address@1.1.8
        mach2@0.4.3
        make-cmd@0.1.0
        malloc_buf@0.0.6
        markup5ever@0.12.1
        markup5ever_rcdom@0.3.0
        matchers@0.2.0
        maybe-async@0.2.10
        maybe-rayon@0.1.1
        memchr@2.8.0
        memmap2@0.9.10
        memmem@0.1.1
        memoffset@0.9.1
        mime@0.3.17
        minimal-lexical@0.2.1
        miniz_oxide@0.8.9
        mio@1.2.0
        moxcms@0.8.1
        muldiv@1.0.1
        native-tls@0.2.18
        ndk-context@0.1.1
        ndk-sys@0.6.0+11769913
        ndk@0.9.0
        new_debug_unreachable@1.0.6
        nix@0.29.0
        nom@7.1.3
        nom@8.0.0
        nonzero_ext@0.3.0
        noop_proc_macro@0.3.0
        notify-rust@4.12.0
        ntapi@0.4.3
        nu-ansi-term@0.50.3
        num-bigint-dig@0.8.6
        num-bigint@0.4.6
        num-complex@0.4.6
        num-conv@0.2.1
        num-derive@0.4.2
        num-integer@0.1.46
        num-iter@0.1.45
        num-rational@0.4.2
        num-traits@0.2.19
        num_enum@0.7.6
        num_enum_derive@0.7.6
        num_threads@0.1.7
        oauth2@5.0.0
        objc-sys@0.3.5
        objc2-app-kit@0.2.2
        objc2-audio-toolbox@0.3.2
        objc2-cloud-kit@0.2.2
        objc2-contacts@0.2.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-image@0.2.2
        objc2-core-location@0.2.2
        objc2-encode@4.1.0
        objc2-foundation@0.2.2
        objc2-foundation@0.3.2
        objc2-io-kit@0.3.2
        objc2-link-presentation@0.2.2
        objc2-metal@0.2.2
        objc2-quartz-core@0.2.2
        objc2-symbols@0.2.2
        objc2-ui-kit@0.2.2
        objc2-uniform-type-identifiers@0.2.2
        objc2-user-notifications@0.2.2
        objc2@0.5.2
        objc2@0.6.4
        objc@0.2.7
        object@0.37.3
        once_cell@1.21.4
        once_cell_polyfill@1.70.2
        open@5.3.3
        openssl-macros@0.1.1
        openssl-probe@0.2.1
        openssl-sys@0.9.112
        openssl@0.10.76
        option-operations@0.6.1
        orbclient@0.3.51
        ordered-float@4.6.0
        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.1
        pathdiff@0.2.3
        pbkdf2@0.12.2
        pem-rfc7468@0.7.0
        percent-encoding@2.3.2
        pest@2.8.6
        pest_derive@2.8.6
        pest_generator@2.8.6
        pest_meta@2.8.6
        phf@0.11.3
        phf_codegen@0.11.3
        phf_generator@0.11.3
        phf_macros@0.11.3
        phf_shared@0.11.3
        pin-project-internal@1.1.11
        pin-project-lite@0.2.17
        pin-project@1.1.11
        pin-utils@0.1.0
        pkcs1@0.7.5
        pkcs8@0.10.2
        pkg-config@0.3.32
        plain@0.2.3
        png@0.18.1
        polling@3.11.0
        portable-atomic@1.13.1
        portaudio-rs@0.3.2
        portaudio-sys@0.1.1
        potential_utf@0.1.4
        powerfmt@0.2.0
        ppv-lite86@0.2.21
        precomputed-hash@0.1.1
        prettyplease@0.2.37
        primal-check@0.3.4
        priority-queue@2.7.0
        proc-macro-crate@3.5.0
        proc-macro2@1.0.106
        profiling-procmacros@1.0.17
        profiling@1.0.17
        protobuf-codegen@3.7.2
        protobuf-json-mapping@3.7.2
        protobuf-parse@3.7.2
        protobuf-support@3.7.2
        protobuf@3.7.2
        pxfm@0.1.28
        qoi@0.4.1
        quick-error@2.0.1
        quick-xml@0.37.5
        quick-xml@0.38.4
        quick-xml@0.39.2
        quinn-proto@0.11.14
        quinn-udp@0.5.14
        quinn@0.11.9
        quote@1.0.45
        r-efi@5.3.0
        r-efi@6.0.0
        rand@0.10.0
        rand@0.8.5
        rand@0.9.2
        rand_chacha@0.3.1
        rand_chacha@0.9.0
        rand_core@0.10.0
        rand_core@0.6.4
        rand_core@0.9.5
        rand_distr@0.5.1
        ratatui-core@0.1.0
        ratatui-crossterm@0.1.0
        ratatui-macros@0.7.0
        ratatui-termwiz@0.1.0
        ratatui-widgets@0.3.0
        ratatui@0.30.0
        rav1e@0.8.1
        ravif@0.13.0
        raw-window-handle@0.6.2
        rayon-core@1.13.0
        rayon@1.11.0
        redox_syscall@0.4.1
        redox_syscall@0.5.18
        redox_syscall@0.7.3
        redox_users@0.4.6
        regex-automata@0.4.14
        regex-syntax@0.8.10
        regex@1.12.3
        reqwest@0.12.28
        reqwest@0.13.2
        rgb@0.8.53
        ring@0.17.14
        rodio@0.21.1
        rsa@0.9.10
        rspotify-http@0.15.3
        rspotify-macros@0.15.3
        rspotify-model@0.15.3
        rspotify@0.15.3
        rustc-demangle@0.1.27
        rustc-hash@2.1.2
        rustc_version@0.4.1
        rustfft@6.4.1
        rustix@0.38.44
        rustix@1.1.4
        rustls-native-certs@0.8.3
        rustls-pki-types@1.14.0
        rustls-platform-verifier-android@0.1.1
        rustls-platform-verifier@0.6.2
        rustls-webpki@0.103.10
        rustls@0.23.37
        rustversion@1.0.22
        ryu@1.0.23
        same-file@1.0.6
        schannel@0.1.29
        scoped-tls@1.0.1
        scopeguard@1.2.0
        sctk-adwaita@0.10.1
        sdl2-sys@0.38.0
        sdl2@0.38.0
        security-framework-sys@2.17.0
        security-framework@3.7.0
        semver@1.0.27
        serde@1.0.228
        serde_core@1.0.228
        serde_derive@1.0.228
        serde_json@1.0.149
        serde_path_to_error@0.1.20
        serde_spanned@1.1.0
        serde_urlencoded@0.7.1
        sha1@0.10.6
        sha2@0.10.9
        shannon@0.2.0
        sharded-slab@0.1.7
        shell-words@1.1.1
        shlex@1.3.0
        signal-hook-mio@0.2.5
        signal-hook-registry@1.4.8
        signal-hook@0.3.18
        signature@2.2.0
        simd-adler32@0.3.9
        simd_cesu8@1.1.1
        simd_helpers@0.1.0
        simdutf8@0.1.5
        siphasher@1.0.2
        sixel-rs@0.3.3
        sixel-sys@0.3.1
        slab@0.4.12
        smallvec@1.15.1
        smithay-client-toolkit@0.19.2
        smol_str@0.2.2
        socket2@0.6.3
        souvlaki@0.8.3
        spin@0.9.8
        spinning_top@0.3.0
        spki@0.7.3
        stable_deref_trait@1.2.1
        static_assertions@1.1.0
        strength_reduce@0.2.4
        strict-num@0.1.1
        string_cache@0.8.9
        string_cache_codegen@0.5.4
        strsim@0.11.1
        strum@0.27.2
        strum_macros@0.27.2
        subtle@2.6.1
        symphonia-bundle-flac@0.5.5
        symphonia-bundle-mp3@0.5.5
        symphonia-codec-vorbis@0.5.5
        symphonia-core@0.5.5
        symphonia-format-ogg@0.5.5
        symphonia-metadata@0.5.5
        symphonia-utils-xiph@0.5.5
        symphonia@0.5.5
        syn@1.0.109
        syn@2.0.117
        sync_wrapper@1.0.2
        synstructure@0.13.2
        sysinfo@0.36.1
        system-configuration-sys@0.6.0
        system-configuration@0.7.0
        system-deps@7.0.7
        target-lexicon@0.13.3
        tauri-winrt-notification@0.7.2
        tempfile@3.27.0
        tendril@0.4.3
        termcolor@1.4.1
        terminfo@0.9.0
        termios@0.3.3
        termwiz@0.23.3
        thiserror-impl@1.0.69
        thiserror-impl@2.0.18
        thiserror@1.0.69
        thiserror@2.0.18
        thread_local@1.1.9
        tiff@0.11.3
        time-core@0.1.8
        time-macros@0.2.27
        time@0.3.47
        tiny-skia-path@0.11.4
        tiny-skia@0.11.4
        tinystr@0.8.2
        tinyvec@1.11.0
        tinyvec_macros@0.1.1
        tokio-macros@2.6.1
        tokio-native-tls@0.3.1
        tokio-rustls@0.26.4
        tokio-stream@0.1.18
        tokio-tungstenite@0.28.0
        tokio-util@0.7.18
        tokio@1.50.0
        toml@0.9.12+spec-1.1.0
        toml@1.1.0+spec-1.1.0
        toml_datetime@0.7.5+spec-1.1.0
        toml_datetime@1.1.0+spec-1.1.0
        toml_edit@0.25.8+spec-1.1.0
        toml_parser@1.1.0+spec-1.1.0
        toml_writer@1.1.0+spec-1.1.0
        tower-http@0.6.8
        tower-layer@0.3.3
        tower-service@0.3.3
        tower@0.5.3
        tracing-attributes@0.1.31
        tracing-core@0.1.36
        tracing-log@0.2.0
        tracing-subscriber@0.3.23
        tracing@0.1.44
        transpose@0.2.3
        try-lock@0.2.5
        ttf-parser@0.25.1
        ttl_cache@0.5.1
        tungstenite@0.28.0
        typenum@1.19.0
        ucd-trie@0.1.7
        unicode-bidi@0.3.18
        unicode-ident@1.0.24
        unicode-segmentation@1.13.2
        unicode-truncate@2.0.1
        unicode-width@0.2.2
        unicode-xid@0.2.6
        untrusted@0.9.0
        url@2.5.8
        utf-8@0.7.6
        utf8-width@0.1.8
        utf8_iter@1.0.4
        utf8parse@0.2.2
        uuid@1.23.0
        v_frame@0.3.9
        valuable@0.1.1
        vcpkg@0.2.15
        vergen-gitcl@1.0.8
        vergen-lib@0.1.6
        vergen@9.0.6
        version-compare@0.1.1
        version-compare@0.2.1
        version_check@0.9.5
        viuer@0.9.2
        vtparse@0.6.2
        walkdir@2.5.0
        want@0.3.1
        wasi@0.11.1+wasi-snapshot-preview1
        wasip2@1.0.2+wasi-0.2.9
        wasip3@0.4.0+wasi-0.3.0-rc-2026-01-06
        wasm-bindgen-futures@0.4.65
        wasm-bindgen-macro-support@0.2.115
        wasm-bindgen-macro@0.2.115
        wasm-bindgen-shared@0.2.115
        wasm-bindgen@0.2.115
        wasm-encoder@0.244.0
        wasm-metadata@0.244.0
        wasmparser@0.244.0
        wayland-backend@0.3.14
        wayland-client@0.31.13
        wayland-csd-frame@0.3.0
        wayland-cursor@0.31.13
        wayland-protocols-plasma@0.3.11
        wayland-protocols-wlr@0.3.11
        wayland-protocols@0.32.11
        wayland-scanner@0.31.9
        wayland-sys@0.31.10
        web-sys@0.3.92
        web-time@1.1.0
        webbrowser@1.2.0
        webpki-root-certs@1.0.6
        weezl@0.1.12
        wezterm-bidi@0.2.3
        wezterm-blob-leases@0.1.1
        wezterm-color-types@0.3.0
        wezterm-dynamic-derive@0.1.1
        wezterm-dynamic@0.2.1
        wezterm-input-types@0.1.0
        which@4.4.2
        which@8.0.2
        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-collections@0.2.0
        windows-core@0.54.0
        windows-core@0.58.0
        windows-core@0.61.2
        windows-future@0.2.1
        windows-implement@0.58.0
        windows-implement@0.60.2
        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-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.4.2
        windows-strings@0.5.1
        windows-sys@0.45.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.52.6
        windows-targets@0.53.5
        windows-threading@0.1.0
        windows-version@0.1.7
        windows@0.44.0
        windows@0.54.0
        windows@0.58.0
        windows@0.61.3
        windows_aarch64_gnullvm@0.42.2
        windows_aarch64_gnullvm@0.52.6
        windows_aarch64_gnullvm@0.53.1
        windows_aarch64_msvc@0.42.2
        windows_aarch64_msvc@0.52.6
        windows_aarch64_msvc@0.53.1
        windows_i686_gnu@0.42.2
        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.52.6
        windows_i686_msvc@0.53.1
        windows_x86_64_gnu@0.42.2
        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.52.6
        windows_x86_64_gnullvm@0.53.1
        windows_x86_64_msvc@0.42.2
        windows_x86_64_msvc@0.52.6
        windows_x86_64_msvc@0.53.1
        winit@0.30.13
        winnow@0.7.15
        winnow@1.0.0
        wit-bindgen-core@0.51.0
        wit-bindgen-rust-macro@0.51.0
        wit-bindgen-rust@0.51.0
        wit-bindgen@0.51.0
        wit-component@0.244.0
        wit-parser@0.244.0
        writeable@0.6.2
        x11-dl@2.21.0
        x11rb-protocol@0.13.2
        x11rb@0.13.2
        xcursor@0.3.10
        xkbcommon-dl@0.4.2
        xkeysym@0.2.1
        xml5ever@0.18.1
        y4m@0.8.0
        yoke-derive@0.8.1
        yoke@0.8.1
        zerocopy-derive@0.8.48
        zerocopy@0.8.48
        zerofrom-derive@0.1.6
        zerofrom@0.1.6
        zeroize@1.8.2
        zerotrie@0.2.3
        zerovec-derive@0.11.2
        zerovec@0.11.5
        zmij@1.0.21
        zune-core@0.5.1
        zune-inflate@0.2.54
        zune-jpeg@0.5.15
"

inherit cargo

DESCRIPTION="A Spotify player in the terminal with full feature parity"
HOMEPAGE="https://github.com/aome510/spotify-player"
SRC_URI="
	https://github.com/aome510/spotify-player/archive/v${PV}.tar.gz
		-> ${P}.tar.gz
	${CARGO_CRATE_URIS}
"

LICENSE="
	MIT
	0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0
	ISC LGPL-3 LGPL-3+ MPL-2.0 Unicode-DFS-2016 Unicode-3.0 Unlicense
	UoI-NCSA ZLIB
"
SLOT="0"
KEYWORDS="~amd64"

IUSE="audio-visualization daemon fzf image +libnotify pixelate pulseaudio sixel +streaming"

REQUIRED_USE="
	daemon? ( streaming )
	pixelate? ( image )
	sixel? ( image )
"

DEPEND="
	dev-libs/openssl:=
	sys-apps/dbus
	streaming? (
		media-libs/alsa-lib
		pulseaudio? ( media-libs/libpulse )
	)
	image? ( media-libs/fontconfig )
	libnotify? ( x11-libs/libnotify )
	sixel? ( media-libs/libsixel )
"
RDEPEND="${DEPEND}"
BDEPEND="
	virtual/pkgconfig
"

DOCS=( README.md )

src_configure() {
	local myfeatures=(
		"$(usex audio-visualization audio-visualization '')"
		"$(usex daemon daemon '')"
		"$(usex fzf fzf '')"
		"$(usex image image '')"
		"$(usex libnotify notify '')"
		"$(usex pixelate pixelate '')"
		"$(usex pulseaudio pulseaudio-backend alsa-backend)"
		"$(usex sixel sixel '')"
		"$(usex streaming streaming '')"
		media-control
	)
	cargo_src_configure --no-default-features || die
}

src_install() {
	cargo_src_install --path spotify_player || die

	einstalldocs
}

pkg_postinst() {
	ewarn "spotify-player requires a Spotify Premium account."
	ewarn "Free accounts are not supported by the underlying librespot library."
}