# Copyright 2017-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # Auto-Generated by cargo-ebuild 0.3.1 EAPI=8 CRATES=" addr2line-0.24.2 adler2-2.0.1 aes-0.8.4 aho-corasick-1.1.3 allocator-api2-0.2.21 alsa-0.10.0 alsa-0.9.1 alsa-sys-0.3.1 android-tzdata-0.1.1 android_system_properties-0.1.5 anstream-0.6.20 anstyle-1.0.11 anstyle-parse-0.2.7 anstyle-query-1.1.4 anstyle-wincon-3.0.10 anyhow-1.0.99 arrayvec-0.7.6 async-broadcast-0.7.2 async-recursion-1.1.1 async-trait-0.1.89 atomic-waker-1.1.2 atomic_refcell-0.1.13 autocfg-1.5.0 backtrace-0.3.75 base64-0.22.1 base64ct-1.8.0 bitflags-1.3.2 bitflags-2.9.3 block-buffer-0.10.4 bumpalo-3.19.0 bytemuck-1.23.2 byteorder-1.5.0 bytes-1.10.1 cc-1.2.34 cesu8-1.1.0 cfg-expr-0.20.2 cfg-if-1.0.3 cfg_aliases-0.2.1 chrono-0.4.41 cipher-0.4.4 colorchoice-1.0.4 combine-4.6.7 concurrent-queue-2.5.0 const-oid-0.9.6 core-foundation-0.10.1 core-foundation-0.9.4 core-foundation-sys-0.8.7 coreaudio-rs-0.13.0 cpal-0.16.0 cpufeatures-0.2.17 crc32fast-1.5.0 crossbeam-utils-0.8.21 crypto-common-0.1.6 ctr-0.9.2 darling-0.20.11 darling_core-0.20.11 darling_macro-0.20.11 dasp_sample-0.11.0 data-encoding-2.9.0 der-0.7.10 deranged-0.4.0 derive_builder-0.20.2 derive_builder_core-0.20.2 derive_builder_macro-0.20.2 digest-0.10.7 dispatch2-0.3.0 displaydoc-0.2.5 dns-sd-0.1.3 either-1.15.0 encoding_rs-0.8.35 endi-1.1.0 enumflags2-0.7.12 enumflags2_derive-0.7.12 env_filter-0.1.3 env_logger-0.11.8 equivalent-1.0.2 errno-0.3.13 event-listener-5.4.1 event-listener-strategy-0.5.4 fastrand-2.3.0 fixedbitset-0.4.2 flate2-1.1.2 fnv-1.0.7 foldhash-0.1.5 foreign-types-0.3.2 foreign-types-shared-0.1.1 form_urlencoded-1.2.2 futures-0.3.31 futures-channel-0.3.31 futures-core-0.3.31 futures-executor-0.3.31 futures-io-0.3.31 futures-lite-2.6.1 futures-macro-0.3.31 futures-sink-0.3.31 futures-task-0.3.31 futures-timer-3.0.3 futures-util-0.3.31 generic-array-0.14.7 getopts-0.2.24 getrandom-0.2.16 getrandom-0.3.3 gimli-0.31.1 gio-sys-0.21.1 glib-0.21.1 glib-macros-0.21.0 glib-sys-0.21.1 gobject-sys-0.21.1 governor-0.10.1 gstreamer-0.24.1 gstreamer-app-0.24.0 gstreamer-app-sys-0.24.0 gstreamer-audio-0.24.0 gstreamer-audio-sys-0.24.0 gstreamer-base-0.24.0 gstreamer-base-sys-0.24.0 gstreamer-sys-0.24.0 h2-0.4.12 hashbrown-0.15.5 headers-0.4.1 headers-core-0.3.0 heck-0.5.0 hex-0.4.3 hmac-0.12.1 home-0.5.11 hostname-0.4.1 http-1.3.1 http-body-1.0.1 http-body-util-0.1.3 httparse-1.10.1 httpdate-1.0.3 hyper-1.7.0 hyper-proxy2-0.1.0 hyper-rustls-0.26.0 hyper-rustls-0.27.7 hyper-tls-0.6.0 hyper-util-0.1.16 iana-time-zone-0.1.63 iana-time-zone-haiku-0.1.2 icu_collections-2.0.0 icu_locale_core-2.0.0 icu_normalizer-2.0.0 icu_normalizer_data-2.0.0 icu_properties-2.0.1 icu_properties_data-2.0.1 icu_provider-2.0.0 ident_case-1.0.1 idna-1.1.0 idna_adapter-1.2.1 if-addrs-0.12.0 indexmap-2.11.0 inout-0.1.4 io-uring-0.7.10 ipnet-2.11.0 iri-string-0.7.8 is-docker-0.2.0 is-wsl-0.4.0 is_terminal_polyfill-1.70.1 itertools-0.14.0 itoa-1.0.15 jack-0.13.3 jack-sys-0.5.1 jiff-0.2.15 jiff-static-0.2.15 jni-0.21.1 jni-sys-0.3.0 js-sys-0.3.77 kstring-2.0.2 lazy_static-1.5.0 libc-0.2.175 libloading-0.7.4 libm-0.2.15 libmdns-0.9.1 libpulse-binding-2.30.1 libpulse-simple-binding-2.29.0 libpulse-simple-sys-1.22.0 libpulse-sys-1.23.0 linux-raw-sys-0.4.15 linux-raw-sys-0.9.4 litemap-0.8.0 lock_api-0.4.13 log-0.4.27 lru-slab-0.1.2 mach2-0.4.3 memchr-2.7.5 memoffset-0.9.1 mime-0.3.17 miniz_oxide-0.8.9 mio-1.0.4 muldiv-1.0.1 multimap-0.10.1 native-tls-0.2.14 ndk-0.9.0 ndk-context-0.1.1 ndk-sys-0.6.0+11769913 nix-0.30.1 nonzero_ext-0.3.0 ntapi-0.4.1 num-bigint-0.4.6 num-bigint-dig-0.8.4 num-conv-0.1.0 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.4 num_enum_derive-0.7.4 num_threads-0.1.7 oauth2-5.0.0 objc2-0.6.2 objc2-audio-toolbox-0.3.1 objc2-core-audio-0.3.1 objc2-core-audio-types-0.3.1 objc2-core-foundation-0.3.1 objc2-encode-4.1.0 objc2-foundation-0.3.1 objc2-io-kit-0.3.1 object-0.36.7 ogg-0.9.2 once_cell-1.21.3 once_cell_polyfill-1.70.1 open-5.3.2 openssl-0.10.73 openssl-macros-0.1.1 openssl-probe-0.1.6 openssl-sys-0.9.109 option-operations-0.5.0 ordered-stream-0.2.0 parking-2.2.1 parking_lot-0.12.4 parking_lot_core-0.9.11 paste-1.0.15 pathdiff-0.2.3 pbkdf2-0.12.2 pem-rfc7468-0.7.0 percent-encoding-2.3.2 petgraph-0.6.5 pin-project-lite-0.2.16 pin-utils-0.1.0 pkcs1-0.7.5 pkcs8-0.10.2 pkg-config-0.3.32 portable-atomic-1.11.1 portable-atomic-util-0.2.4 portaudio-rs-0.3.2 portaudio-sys-0.1.1 potential_utf-0.1.3 powerfmt-0.2.0 ppv-lite86-0.2.21 priority-queue-2.5.0 proc-macro-crate-3.3.0 proc-macro2-1.0.101 protobuf-3.7.2 protobuf-codegen-3.7.2 protobuf-json-mapping-3.7.2 protobuf-parse-3.7.2 protobuf-support-3.7.2 quick-xml-0.38.3 quinn-0.11.9 quinn-proto-0.11.13 quinn-udp-0.5.14 quote-1.0.40 r-efi-5.3.0 rand-0.8.5 rand-0.9.2 rand_chacha-0.3.1 rand_chacha-0.9.0 rand_core-0.6.4 rand_core-0.9.3 rand_distr-0.5.1 redox_syscall-0.5.17 regex-1.11.2 regex-automata-0.4.10 regex-syntax-0.8.6 reqwest-0.12.23 ring-0.17.14 rodio-0.21.1 rsa-0.9.8 rustc-demangle-0.1.26 rustc-hash-2.1.1 rustix-0.38.44 rustix-1.0.8 rustls-0.22.4 rustls-0.23.31 rustls-native-certs-0.7.3 rustls-native-certs-0.8.1 rustls-pemfile-2.2.0 rustls-pki-types-1.12.0 rustls-webpki-0.102.8 rustls-webpki-0.103.4 rustversion-1.0.22 ryu-1.0.20 same-file-1.0.6 schannel-0.1.27 scopeguard-1.2.0 sdl2-0.38.0 sdl2-sys-0.38.0 security-framework-2.11.1 security-framework-3.3.0 security-framework-sys-2.14.0 serde-1.0.219 serde_derive-1.0.219 serde_json-1.0.143 serde_path_to_error-0.1.17 serde_repr-0.1.20 serde_spanned-0.6.9 serde_urlencoded-0.7.1 sha1-0.10.6 sha2-0.10.9 shannon-0.2.0 shell-words-1.1.0 shlex-1.3.0 signal-hook-registry-1.4.6 signature-2.2.0 slab-0.4.11 smallvec-1.15.1 socket2-0.5.10 socket2-0.6.0 spin-0.9.8 spinning_top-0.3.0 spki-0.7.3 stable_deref_trait-1.2.0 static_assertions-1.1.0 strsim-0.11.1 subtle-2.6.1 symphonia-0.5.4 symphonia-bundle-mp3-0.5.4 symphonia-codec-vorbis-0.5.4 symphonia-core-0.5.4 symphonia-format-ogg-0.5.4 symphonia-metadata-0.5.4 symphonia-utils-xiph-0.5.4 syn-2.0.106 sync_wrapper-1.0.2 synstructure-0.13.2 sysinfo-0.36.1 system-configuration-0.6.1 system-configuration-sys-0.6.0 system-deps-7.0.5 target-lexicon-0.13.2 tempfile-3.21.0 thiserror-1.0.69 thiserror-2.0.16 thiserror-impl-1.0.69 thiserror-impl-2.0.16 thread-id-4.2.2 time-0.3.41 time-core-0.1.4 time-macros-0.2.22 tinystr-0.8.1 tinyvec-1.10.0 tinyvec_macros-0.1.1 tokio-1.47.1 tokio-macros-2.5.0 tokio-native-tls-0.3.1 tokio-rustls-0.25.0 tokio-rustls-0.26.2 tokio-stream-0.1.17 tokio-tungstenite-0.27.0 tokio-util-0.7.16 toml-0.8.23 toml_datetime-0.6.11 toml_edit-0.22.27 tower-0.5.2 tower-http-0.6.6 tower-layer-0.3.3 tower-service-0.3.3 tracing-0.1.41 tracing-attributes-0.1.30 tracing-core-0.1.34 try-lock-0.2.5 tungstenite-0.27.0 typenum-1.18.0 uds_windows-1.1.0 unicode-ident-1.0.18 unicode-width-0.2.1 untrusted-0.9.0 url-2.5.7 utf-8-0.7.6 utf8_iter-1.0.4 utf8parse-0.2.2 uuid-1.18.0 vcpkg-0.2.15 vergen-9.0.6 vergen-gitcl-1.0.8 vergen-lib-0.1.6 version-compare-0.1.1 version-compare-0.2.0 version_check-0.9.5 walkdir-2.5.0 want-0.3.1 wasi-0.11.1+wasi-snapshot-preview1 wasi-0.14.3+wasi-0.2.4 wasm-bindgen-0.2.100 wasm-bindgen-backend-0.2.100 wasm-bindgen-futures-0.4.50 wasm-bindgen-macro-0.2.100 wasm-bindgen-macro-support-0.2.100 wasm-bindgen-shared-0.2.100 web-sys-0.3.77 web-time-1.1.0 webpki-0.22.4 webpki-roots-0.26.11 webpki-roots-1.0.2 which-4.4.2 winapi-0.3.9 winapi-i686-pc-windows-gnu-0.4.0 winapi-util-0.1.10 winapi-x86_64-pc-windows-gnu-0.4.0 windows-0.54.0 windows-0.61.3 windows-collections-0.2.0 windows-core-0.54.0 windows-core-0.61.2 windows-future-0.2.1 windows-implement-0.60.0 windows-interface-0.59.1 windows-link-0.1.3 windows-numerics-0.2.0 windows-registry-0.5.3 windows-result-0.1.2 windows-result-0.3.4 windows-strings-0.4.2 windows-sys-0.45.0 windows-sys-0.52.0 windows-sys-0.59.0 windows-sys-0.60.2 windows-targets-0.42.2 windows-targets-0.52.6 windows-targets-0.53.3 windows-threading-0.1.0 windows_aarch64_gnullvm-0.42.2 windows_aarch64_gnullvm-0.52.6 windows_aarch64_gnullvm-0.53.0 windows_aarch64_msvc-0.42.2 windows_aarch64_msvc-0.52.6 windows_aarch64_msvc-0.53.0 windows_i686_gnu-0.42.2 windows_i686_gnu-0.52.6 windows_i686_gnu-0.53.0 windows_i686_gnullvm-0.52.6 windows_i686_gnullvm-0.53.0 windows_i686_msvc-0.42.2 windows_i686_msvc-0.52.6 windows_i686_msvc-0.53.0 windows_x86_64_gnu-0.42.2 windows_x86_64_gnu-0.52.6 windows_x86_64_gnu-0.53.0 windows_x86_64_gnullvm-0.42.2 windows_x86_64_gnullvm-0.52.6 windows_x86_64_gnullvm-0.53.0 windows_x86_64_msvc-0.42.2 windows_x86_64_msvc-0.52.6 windows_x86_64_msvc-0.53.0 winnow-0.7.13 wit-bindgen-0.45.0 writeable-0.6.1 yoke-0.8.0 yoke-derive-0.8.0 zbus-5.10.0 zbus_macros-5.10.0 zbus_names-4.2.0 zerocopy-0.8.26 zerocopy-derive-0.8.26 zerofrom-0.1.6 zerofrom-derive-0.1.6 zeroize-1.8.1 zerotrie-0.2.2 zerovec-0.11.4 zerovec-derive-0.11.1 zvariant-5.7.0 zvariant_derive-5.7.0 zvariant_utils-3.2.1 " inherit cargo systemd DESCRIPTION="An open source client library for Spotify, with support for Spotify Connect" # Double check the homepage as the cargo_metadata crate # does not provide this value so instead repository is used HOMEPAGE="https://github.com/librespot-org/librespot" if [[ ${PV} == 9999 ]] ; then inherit git-r3 EGIT_REPO_URI="https://github.com/librespot-org/librespot.git" EGIT_BRANCH="dev" SRC_URI="${CARGO_CRATE_URIS}" else SRC_URI="https://github.com/librespot-org/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz ${CARGO_CRATE_URIS}" KEYWORDS="~amd64 ~arm64" fi RESTRICT="mirror" # License set may be more restrictive as OR is not respected # use cargo-license for a more accurate license picture LICENSE="MIT" SLOT="0" IUSE="alsa pulseaudio portaudio jack sdl" get_features() { local out=( ) if use alsa; then out+=( "alsa-backend" ) fi if use pulseaudio; then out+=( "pulseaudio-backend" ) fi if use portaudio; then out+=( "portaudio-backend" ) fi if use jack; then out+=( "jackaudio-backend" ) fi if use sdl; then out+=( "sdl-backend" ) fi printf "%s," "${out[@]}" | sed 's/,$//g' } DEPEND=" media-libs/alsa-lib pulseaudio? ( media-libs/libpulse ) portaudio? ( media-libs/portaudio ) jack? ( virtual/jack ) sdl? ( media-libs/libsdl2 ) " RDEPEND="" src_unpack() { if [[ ${PV} == 9999 ]] ; then git-r3_src_unpack cargo_live_src_unpack else cargo_src_unpack fi } src_compile() { debug-print-function "${FUNCNAME[*]}" "$@" local features features="$(get_features)" if [[ "${features}" ]]; then cargo_src_compile --features "${features}" else cargo_src_compile fi } src_install() { debug-print-function "${FUNCNAME[*]}" "$@" local features features="$(get_features)" if [[ "${features}" ]]; then cargo_src_install --features "${features}" else cargo_src_install fi systemd_dounit "${FILESDIR}"/"${PN}".service systemd_install_serviced "${FILESDIR}"/"${PN}".service.conf }