spotifyd: Use new cargo fetcher

This is just a proof of concept:

* bitbake spotifyd
* move to ${S}
* on console (replace ${DL_DIR} / S{S} with your paths):
  > export CARGO_HOME="${DL_DIR}/cargo"
  > export CARGO_TARGET_DIR="${B}"
  > cargo build --frozen

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
Andreas Müller
2021-02-07 14:08:03 +01:00
parent 0b00a4f230
commit e10b556f1b
2 changed files with 3778 additions and 382 deletions

View File

@@ -3,11 +3,6 @@ HOMEPAGE = "https://github.com/Spotifyd/spotifyd"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=84dcc94da3adb52b53ae4fa38fe49e5d"
python() {
if 'rust-layer' not in d.getVar('BBFILE_COLLECTIONS').split():
raise bb.parse.SkipRecipe('Requires meta-rust to be present.')
}
DEPENDS = " \
alsa-lib \
libogg \
@@ -15,9 +10,12 @@ DEPENDS = " \
dbus \
"
inherit cargo
inherit cargo-fetch
SRC_URI = " \
git://github.com/Spotifyd/spotifyd.git \
"
SRC_URI = "git://github.com/Spotifyd/spotifyd.git"
SRCREV = "27ce5ac95c3a9b8de84bc4c0969a942fda2e2ad0"
S = "${WORKDIR}/git"
# crate ruins SRCPV so set PV manually
@@ -35,380 +33,6 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pulseaudio', d)}"
PACKAGECONFIG[pulseaudio] = ",,pulseaudio"
PACKAGECONFIG[portaudio] = ",,portaudio"
CARGO_BUILD_FLAGS += "--features dbus_mpris,dbus_keyring,alsa_backend${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', ',pulseaudio_backend', '', d)}${@bb.utils.contains('PACKAGECONFIG', 'portaudio', ',portaudio_backend', '', d)}"
#CARGO_BUILD_FLAGS += "--features dbus_mpris,dbus_keyring,alsa_backend${@bb.utils.contains('PACKAGECONFIG', 'pulseaudio', ',pulseaudio_backend', '', d)}${@bb.utils.contains('PACKAGECONFIG', 'portaudio', ',portaudio_backend', '', d)}"
FILES_${PN} += "${systemd_user_unitdir}"
############################################################################
# The following parts were auto-generated by cargo-bitbake - have no idea
CARGO_SRC_DIR = ""
SRC_URI += " \
crate://crates.io/aes-ctr/0.3.0 \
crate://crates.io/aes-soft/0.3.3 \
crate://crates.io/aes/0.3.2 \
crate://crates.io/aesni/0.6.0 \
crate://crates.io/aho-corasick/0.7.6 \
crate://crates.io/alga/0.9.2 \
crate://crates.io/alsa-sys/0.1.2 \
crate://crates.io/alsa/0.2.2 \
crate://crates.io/alsa/0.3.0 \
crate://crates.io/ansi_term/0.11.0 \
crate://crates.io/anyhow/1.0.26 \
crate://crates.io/approx/0.3.2 \
crate://crates.io/arc-swap/0.4.4 \
crate://crates.io/atty/0.2.14 \
crate://crates.io/autocfg/0.1.7 \
crate://crates.io/autocfg/1.0.0 \
crate://crates.io/backtrace-sys/0.1.32 \
crate://crates.io/backtrace/0.3.40 \
crate://crates.io/base64/0.10.1 \
crate://crates.io/base64/0.11.0 \
crate://crates.io/base64/0.9.3 \
crate://crates.io/bindgen/0.51.1 \
crate://crates.io/bit-set/0.5.1 \
crate://crates.io/bit-vec/0.5.1 \
crate://crates.io/bitflags/0.9.1 \
crate://crates.io/bitflags/1.2.1 \
crate://crates.io/block-buffer/0.7.3 \
crate://crates.io/block-buffer/0.9.0 \
crate://crates.io/block-cipher-trait/0.6.2 \
crate://crates.io/block-modes/0.3.3 \
crate://crates.io/block-padding/0.1.5 \
crate://crates.io/boxfnonce/0.1.1 \
crate://crates.io/bumpalo/3.2.0 \
crate://crates.io/byte-tools/0.3.1 \
crate://crates.io/byteorder/1.3.2 \
crate://crates.io/bytes/0.4.12 \
crate://crates.io/bytes/0.5.4 \
crate://crates.io/c2-chacha/0.2.3 \
crate://crates.io/cc/1.0.50 \
crate://crates.io/cexpr/0.3.6 \
crate://crates.io/cfg-if/0.1.10 \
crate://crates.io/chrono/0.4.11 \
crate://crates.io/clang-sys/0.28.1 \
crate://crates.io/clap/2.33.0 \
crate://crates.io/cloudabi/0.0.3 \
crate://crates.io/core-foundation-sys/0.5.1 \
crate://crates.io/core-foundation-sys/0.6.2 \
crate://crates.io/core-foundation-sys/0.7.0 \
crate://crates.io/core-foundation/0.6.4 \
crate://crates.io/core-foundation/0.7.0 \
crate://crates.io/coreaudio-rs/0.9.1 \
crate://crates.io/coreaudio-sys/0.2.3 \
crate://crates.io/cpal/0.8.2 \
crate://crates.io/cpuid-bool/0.1.2 \
crate://crates.io/crossbeam-deque/0.7.2 \
crate://crates.io/crossbeam-epoch/0.8.0 \
crate://crates.io/crossbeam-queue/0.1.2 \
crate://crates.io/crossbeam-utils/0.6.6 \
crate://crates.io/crossbeam-utils/0.7.0 \
crate://crates.io/crypto-mac/0.7.0 \
crate://crates.io/ctr/0.3.2 \
crate://crates.io/daemonize/0.4.1 \
crate://crates.io/darling/0.9.0 \
crate://crates.io/darling_core/0.9.0 \
crate://crates.io/darling_macro/0.9.0 \
crate://crates.io/dbus-tokio/0.2.1 \
crate://crates.io/dbus/0.2.3 \
crate://crates.io/dbus/0.6.5 \
crate://crates.io/derefable/0.1.0 \
crate://crates.io/derive_builder/0.7.2 \
crate://crates.io/derive_builder_core/0.5.0 \
crate://crates.io/digest/0.8.1 \
crate://crates.io/digest/0.9.0 \
crate://crates.io/dotenv/0.13.0 \
crate://crates.io/dtoa/0.4.4 \
crate://crates.io/either/1.5.3 \
crate://crates.io/encoding_rs/0.8.22 \
crate://crates.io/env_logger/0.6.2 \
crate://crates.io/env_logger/0.7.1 \
crate://crates.io/error-chain/0.11.0 \
crate://crates.io/error-chain/0.12.1 \
crate://crates.io/failure/0.1.7 \
crate://crates.io/failure_derive/0.1.7 \
crate://crates.io/fake-simd/0.1.2 \
crate://crates.io/fern/0.6.0 \
crate://crates.io/fnv/1.0.6 \
crate://crates.io/foreign-types-shared/0.1.1 \
crate://crates.io/foreign-types/0.3.2 \
crate://crates.io/fuchsia-cprng/0.1.1 \
crate://crates.io/fuchsia-zircon-sys/0.3.3 \
crate://crates.io/fuchsia-zircon/0.3.3 \
crate://crates.io/futures-channel/0.3.4 \
crate://crates.io/futures-core/0.3.4 \
crate://crates.io/futures-cpupool/0.1.8 \
crate://crates.io/futures-executor/0.3.4 \
crate://crates.io/futures-io/0.3.4 \
crate://crates.io/futures-macro/0.3.4 \
crate://crates.io/futures-sink/0.3.4 \
crate://crates.io/futures-task/0.3.4 \
crate://crates.io/futures-util/0.3.4 \
crate://crates.io/futures/0.1.29 \
crate://crates.io/futures/0.3.4 \
crate://crates.io/gcc/0.3.55 \
crate://crates.io/generic-array/0.12.3 \
crate://crates.io/generic-array/0.14.4 \
crate://crates.io/gethostname/0.2.1 \
crate://crates.io/getopts/0.2.21 \
crate://crates.io/getrandom/0.1.14 \
crate://crates.io/glob/0.3.0 \
crate://crates.io/h2/0.2.1 \
crate://crates.io/heck/0.3.1 \
crate://crates.io/hermit-abi/0.1.6 \
crate://crates.io/hex/0.3.2 \
crate://crates.io/hex/0.4.2 \
crate://crates.io/hkdf/0.8.0 \
crate://crates.io/hmac/0.7.1 \
crate://crates.io/http-body/0.3.1 \
crate://crates.io/http/0.2.0 \
crate://crates.io/httparse/1.3.4 \
crate://crates.io/humantime/1.3.0 \
crate://crates.io/hyper-proxy/0.4.1 \
crate://crates.io/hyper-tls/0.4.1 \
crate://crates.io/hyper/0.11.27 \
crate://crates.io/hyper/0.13.2 \
crate://crates.io/ident_case/1.0.1 \
crate://crates.io/idna/0.1.5 \
crate://crates.io/idna/0.2.0 \
crate://crates.io/indexmap/1.3.0 \
crate://crates.io/iovec/0.1.4 \
crate://crates.io/itertools/0.8.2 \
crate://crates.io/itoa/0.4.4 \
crate://crates.io/js-sys/0.3.35 \
crate://crates.io/kernel32-sys/0.2.2 \
crate://crates.io/keyring/0.9.0 \
crate://crates.io/language-tags/0.2.2 \
crate://crates.io/lazy_static/1.4.0 \
crate://crates.io/lewton/0.9.4 \
crate://crates.io/libc/0.2.73 \
crate://crates.io/libdbus-sys/0.2.1 \
crate://crates.io/libloading/0.5.2 \
crate://crates.io/libm/0.1.4 \
crate://crates.io/libmdns/0.2.4 \
crate://crates.io/libpulse-sys/0.0.0 \
crate://crates.io/librespot-audio/0.1.1 \
crate://crates.io/librespot-connect/0.1.1 \
crate://crates.io/librespot-core/0.1.1 \
crate://crates.io/librespot-metadata/0.1.1 \
crate://crates.io/librespot-playback/0.1.1 \
crate://crates.io/librespot-protocol/0.1.1 \
crate://crates.io/librespot-tremor/0.1.0 \
crate://crates.io/librespot/0.1.1 \
crate://crates.io/linear-map/1.2.0 \
crate://crates.io/lock_api/0.3.3 \
crate://crates.io/log/0.3.9 \
crate://crates.io/log/0.4.8 \
crate://crates.io/matches/0.1.8 \
crate://crates.io/matrixmultiply/0.2.3 \
crate://crates.io/maybe-uninit/2.0.0 \
crate://crates.io/memchr/2.3.0 \
crate://crates.io/memoffset/0.5.3 \
crate://crates.io/mime/0.3.16 \
crate://crates.io/mime_guess/2.0.1 \
crate://crates.io/mio-named-pipes/0.1.6 \
crate://crates.io/mio-uds/0.6.7 \
crate://crates.io/mio/0.6.21 \
crate://crates.io/miow/0.2.1 \
crate://crates.io/miow/0.3.3 \
crate://crates.io/multimap/0.4.0 \
crate://crates.io/nalgebra/0.18.1 \
crate://crates.io/native-tls/0.2.3 \
crate://crates.io/net2/0.2.33 \
crate://crates.io/nix/0.10.0 \
crate://crates.io/nix/0.14.1 \
crate://crates.io/nix/0.9.0 \
crate://crates.io/nom/4.2.3 \
crate://crates.io/num-bigint/0.2.5 \
crate://crates.io/num-complex/0.2.4 \
crate://crates.io/num-integer/0.1.42 \
crate://crates.io/num-iter/0.1.40 \
crate://crates.io/num-rational/0.2.3 \
crate://crates.io/num-traits/0.2.11 \
crate://crates.io/num/0.2.1 \
crate://crates.io/num_cpus/1.11.1 \
crate://crates.io/ogg-sys/0.0.9 \
crate://crates.io/ogg/0.7.0 \
crate://crates.io/opaque-debug/0.2.3 \
crate://crates.io/opaque-debug/0.3.0 \
crate://crates.io/openssl-probe/0.1.2 \
crate://crates.io/openssl-sys/0.9.53 \
crate://crates.io/openssl/0.10.26 \
crate://crates.io/parking_lot/0.9.0 \
crate://crates.io/parking_lot_core/0.6.2 \
crate://crates.io/pbkdf2/0.3.0 \
crate://crates.io/peeking_take_while/0.1.2 \
crate://crates.io/percent-encoding/1.0.1 \
crate://crates.io/percent-encoding/2.1.0 \
crate://crates.io/pin-project-internal/0.4.8 \
crate://crates.io/pin-project-lite/0.1.4 \
crate://crates.io/pin-project/0.4.8 \
crate://crates.io/pin-utils/0.1.0-alpha.4 \
crate://crates.io/pkg-config/0.3.17 \
crate://crates.io/portaudio-rs/0.3.2 \
crate://crates.io/portaudio-sys/0.1.1 \
crate://crates.io/ppv-lite86/0.2.6 \
crate://crates.io/proc-macro-error-attr/1.0.2 \
crate://crates.io/proc-macro-error/1.0.2 \
crate://crates.io/proc-macro-hack/0.5.11 \
crate://crates.io/proc-macro-nested/0.1.3 \
crate://crates.io/proc-macro2/0.4.30 \
crate://crates.io/proc-macro2/1.0.19 \
crate://crates.io/protobuf-codegen-pure/2.10.0 \
crate://crates.io/protobuf-codegen/2.10.0 \
crate://crates.io/protobuf/2.10.0 \
crate://crates.io/quick-error/1.2.3 \
crate://crates.io/quote/0.6.13 \
crate://crates.io/quote/1.0.2 \
crate://crates.io/rand/0.3.23 \
crate://crates.io/rand/0.4.6 \
crate://crates.io/rand/0.5.6 \
crate://crates.io/rand/0.6.5 \
crate://crates.io/rand/0.7.3 \
crate://crates.io/rand_chacha/0.1.1 \
crate://crates.io/rand_chacha/0.2.1 \
crate://crates.io/rand_core/0.3.1 \
crate://crates.io/rand_core/0.4.2 \
crate://crates.io/rand_core/0.5.1 \
crate://crates.io/rand_hc/0.1.0 \
crate://crates.io/rand_hc/0.2.0 \
crate://crates.io/rand_isaac/0.1.1 \
crate://crates.io/rand_jitter/0.1.4 \
crate://crates.io/rand_os/0.1.3 \
crate://crates.io/rand_pcg/0.1.2 \
crate://crates.io/rand_xorshift/0.1.1 \
crate://crates.io/random/0.12.2 \
crate://crates.io/rawpointer/0.2.1 \
crate://crates.io/rdrand/0.4.0 \
crate://crates.io/redox_syscall/0.1.56 \
crate://crates.io/regex-syntax/0.6.13 \
crate://crates.io/regex/1.3.3 \
crate://crates.io/relay/0.1.1 \
crate://crates.io/remove_dir_all/0.5.2 \
crate://crates.io/reqwest/0.10.1 \
crate://crates.io/rodio/0.9.0 \
crate://crates.io/rpassword/3.0.2 \
crate://crates.io/rspotify/0.8.0 \
crate://crates.io/rustc-demangle/0.1.16 \
crate://crates.io/rustc-hash/1.0.1 \
crate://crates.io/rustc-serialize/0.3.24 \
crate://crates.io/rustc_version/0.2.3 \
crate://crates.io/ryu/1.0.2 \
crate://crates.io/safemem/0.3.3 \
crate://crates.io/schannel/0.1.16 \
crate://crates.io/scoped-tls/0.1.2 \
crate://crates.io/scopeguard/1.0.0 \
crate://crates.io/secret-service/1.1.0 \
crate://crates.io/security-framework-sys/0.3.3 \
crate://crates.io/security-framework-sys/0.4.3 \
crate://crates.io/security-framework/0.3.4 \
crate://crates.io/security-framework/0.4.4 \
crate://crates.io/semver-parser/0.7.0 \
crate://crates.io/semver/0.9.0 \
crate://crates.io/serde/1.0.115 \
crate://crates.io/serde_derive/1.0.115 \
crate://crates.io/serde_json/1.0.44 \
crate://crates.io/serde_urlencoded/0.6.1 \
crate://crates.io/sha-1/0.8.2 \
crate://crates.io/sha-1/0.9.1 \
crate://crates.io/sha2/0.8.1 \
crate://crates.io/shannon/0.2.0 \
crate://crates.io/shell-words/0.1.0 \
crate://crates.io/shlex/0.1.1 \
crate://crates.io/signal-hook-registry/1.2.0 \
crate://crates.io/signal-hook/0.1.12 \
crate://crates.io/slab/0.3.0 \
crate://crates.io/slab/0.4.2 \
crate://crates.io/smallvec/0.2.1 \
crate://crates.io/smallvec/0.6.13 \
crate://crates.io/smallvec/1.1.0 \
crate://crates.io/socket2/0.2.4 \
crate://crates.io/socket2/0.3.11 \
crate://crates.io/sourcefile/0.1.4 \
crate://crates.io/stdweb/0.1.3 \
crate://crates.io/stream-cipher/0.3.2 \
crate://crates.io/strsim/0.7.0 \
crate://crates.io/strsim/0.8.0 \
crate://crates.io/structopt-derive/0.4.10 \
crate://crates.io/structopt/0.3.17 \
crate://crates.io/subtle/1.0.0 \
crate://crates.io/syn-mid/0.5.0 \
crate://crates.io/syn/0.15.44 \
crate://crates.io/syn/1.0.39 \
crate://crates.io/synstructure/0.12.3 \
crate://crates.io/syslog/4.0.1 \
crate://crates.io/take/0.1.0 \
crate://crates.io/tempfile/3.1.0 \
crate://crates.io/termcolor/1.1.0 \
crate://crates.io/textwrap/0.11.0 \
crate://crates.io/thread_local/1.0.1 \
crate://crates.io/time/0.1.42 \
crate://crates.io/tokio-codec/0.1.1 \
crate://crates.io/tokio-core/0.1.17 \
crate://crates.io/tokio-current-thread/0.1.6 \
crate://crates.io/tokio-executor/0.1.9 \
crate://crates.io/tokio-fs/0.1.6 \
crate://crates.io/tokio-io/0.1.13 \
crate://crates.io/tokio-process/0.2.4 \
crate://crates.io/tokio-proto/0.1.1 \
crate://crates.io/tokio-reactor/0.1.11 \
crate://crates.io/tokio-service/0.1.0 \
crate://crates.io/tokio-signal/0.1.5 \
crate://crates.io/tokio-signal/0.2.7 \
crate://crates.io/tokio-socks/0.2.0 \
crate://crates.io/tokio-sync/0.1.7 \
crate://crates.io/tokio-tcp/0.1.3 \
crate://crates.io/tokio-threadpool/0.1.17 \
crate://crates.io/tokio-timer/0.2.12 \
crate://crates.io/tokio-tls/0.3.0 \
crate://crates.io/tokio-udp/0.1.5 \
crate://crates.io/tokio-uds/0.2.5 \
crate://crates.io/tokio-util/0.2.0 \
crate://crates.io/tokio/0.1.22 \
crate://crates.io/tokio/0.2.11 \
crate://crates.io/toml/0.5.6 \
crate://crates.io/tower-service/0.3.0 \
crate://crates.io/try-lock/0.1.0 \
crate://crates.io/try-lock/0.2.2 \
crate://crates.io/typenum/1.12.0 \
crate://crates.io/unicase/2.6.0 \
crate://crates.io/unicode-bidi/0.3.4 \
crate://crates.io/unicode-normalization/0.1.11 \
crate://crates.io/unicode-segmentation/1.6.0 \
crate://crates.io/unicode-width/0.1.7 \
crate://crates.io/unicode-xid/0.1.0 \
crate://crates.io/unicode-xid/0.2.0 \
crate://crates.io/url/1.7.2 \
crate://crates.io/url/2.1.1 \
crate://crates.io/uuid/0.7.4 \
crate://crates.io/vcpkg/0.2.8 \
crate://crates.io/vec_map/0.8.1 \
crate://crates.io/vergen/3.0.4 \
crate://crates.io/version_check/0.1.5 \
crate://crates.io/version_check/0.9.1 \
crate://crates.io/void/1.0.2 \
crate://crates.io/want/0.0.4 \
crate://crates.io/want/0.3.0 \
crate://crates.io/wasi/0.9.0+wasi-snapshot-preview1 \
crate://crates.io/wasm-bindgen-backend/0.2.58 \
crate://crates.io/wasm-bindgen-futures/0.4.8 \
crate://crates.io/wasm-bindgen-macro-support/0.2.58 \
crate://crates.io/wasm-bindgen-macro/0.2.58 \
crate://crates.io/wasm-bindgen-shared/0.2.58 \
crate://crates.io/wasm-bindgen-webidl/0.2.58 \
crate://crates.io/wasm-bindgen/0.2.58 \
crate://crates.io/web-sys/0.3.35 \
crate://crates.io/webbrowser/0.5.2 \
crate://crates.io/weedle/0.10.0 \
crate://crates.io/whoami/0.9.0 \
crate://crates.io/widestring/0.4.0 \
crate://crates.io/winapi-build/0.1.1 \
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi-util/0.1.3 \
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
crate://crates.io/winapi/0.2.8 \
crate://crates.io/winapi/0.3.8 \
crate://crates.io/winreg/0.6.2 \
crate://crates.io/ws2_32-sys/0.2.1 \
crate://crates.io/xdg/2.2.0 \
"

File diff suppressed because it is too large Load Diff