mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Only use syntex on modules that need it.
Also updated dependencies. Fixes #133 and #138
This commit is contained in:
parent
7fd8503f45
commit
8544faf75d
6 changed files with 399 additions and 430 deletions
704
Cargo.lock
generated
704
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
45
Cargo.toml
45
Cargo.toml
|
@ -21,32 +21,31 @@ path = "src/main.rs"
|
||||||
path = "protocol"
|
path = "protocol"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bit-set = "~0.4.0"
|
bit-set = "0.4.0"
|
||||||
byteorder = "~0.5.1"
|
byteorder = "1.0"
|
||||||
eventual = "~0.1.6"
|
ctrlc = { version = "2.0", features = ["termination"] }
|
||||||
getopts = "~0.2.14"
|
env_logger = "0.3.2"
|
||||||
|
eventual = "0.1.6"
|
||||||
|
getopts = "0.2.14"
|
||||||
hyper = { version = "0.9.1", default-features = false }
|
hyper = { version = "0.9.1", default-features = false }
|
||||||
#json_macros = "~0.3.0"
|
lazy_static = "0.2.0"
|
||||||
lazy_static = "~0.2.0"
|
|
||||||
linear-map = "1.0"
|
linear-map = "1.0"
|
||||||
lmdb-rs = "0.7.2"
|
lmdb-rs = "0.7.2"
|
||||||
num = "~0.1.30"
|
|
||||||
protobuf = "~1.0.15"
|
|
||||||
rand = "~0.3.13"
|
|
||||||
rpassword = "~0.2.2"
|
|
||||||
rust-crypto = "~0.2.34"
|
|
||||||
rustc-serialize = "~0.3.16"
|
|
||||||
serde = "0.7"
|
|
||||||
serde_json = "0.7"
|
|
||||||
serde_macros = { version = "0.7", optional = true }
|
|
||||||
tempfile = "~2.1.3"
|
|
||||||
url = "~0.5.0"
|
|
||||||
log = "0.3.5"
|
log = "0.3.5"
|
||||||
env_logger = "0.3.2"
|
num = "0.1.30"
|
||||||
|
protobuf = "1.0.15"
|
||||||
|
rand = "0.3.13"
|
||||||
|
rpassword = "0.3.0"
|
||||||
|
rust-crypto = "0.2.34"
|
||||||
|
rustc-serialize = "0.3.16"
|
||||||
|
serde = "0.8"
|
||||||
|
serde_json = "0.8"
|
||||||
|
serde_macros = { version = "0.8", optional = true }
|
||||||
shannon = { git = "https://github.com/plietar/rust-shannon" }
|
shannon = { git = "https://github.com/plietar/rust-shannon" }
|
||||||
simple-signal = "1.0.6"
|
tempfile = "2.1"
|
||||||
|
url = "0.5.0"
|
||||||
|
|
||||||
vorbis = "~0.0.14"
|
vorbis = "0.1.0"
|
||||||
tremor = { git = "https://github.com/plietar/rust-tremor", optional = true }
|
tremor = { git = "https://github.com/plietar/rust-tremor", optional = true }
|
||||||
|
|
||||||
alsa = { git = "https://github.com/plietar/rust-alsa", optional = true }
|
alsa = { git = "https://github.com/plietar/rust-alsa", optional = true }
|
||||||
|
@ -56,17 +55,15 @@ libpulse-sys = { git = "https://github.com/astro/libpulse-sys", optional = tr
|
||||||
json_macros = { git = "https://github.com/plietar/json_macros" }
|
json_macros = { git = "https://github.com/plietar/json_macros" }
|
||||||
protobuf_macros = { git = "https://github.com/plietar/rust-protobuf-macros" }
|
protobuf_macros = { git = "https://github.com/plietar/rust-protobuf-macros" }
|
||||||
|
|
||||||
clippy = { version = "*", optional = true }
|
|
||||||
|
|
||||||
openssl = { version = "0.7", optional = true }
|
openssl = { version = "0.7", optional = true }
|
||||||
|
|
||||||
mdns = { git = "https://github.com/plietar/rust-mdns" }
|
mdns = { git = "https://github.com/plietar/rust-mdns" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
vergen = "~0.1.0"
|
vergen = "0.1.0"
|
||||||
protobuf_macros = { git = "https://github.com/plietar/rust-protobuf-macros" }
|
protobuf_macros = { git = "https://github.com/plietar/rust-protobuf-macros" }
|
||||||
json_macros = { git = "https://github.com/plietar/json_macros" }
|
json_macros = { git = "https://github.com/plietar/json_macros" }
|
||||||
serde_codegen = { version = "0.7", optional = true }
|
serde_codegen = { version = "0.8", optional = true }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
with-syntex = ["serde_codegen", "protobuf_macros/with-syntex", "json_macros/with-syntex"]
|
with-syntex = ["serde_codegen", "protobuf_macros/with-syntex", "json_macros/with-syntex"]
|
||||||
|
|
|
@ -1,23 +1,5 @@
|
||||||
#[macro_use] pub mod util;
|
|
||||||
mod album_cover;
|
|
||||||
pub mod apresolve;
|
pub mod apresolve;
|
||||||
mod audio_decrypt;
|
|
||||||
mod audio_file;
|
|
||||||
mod audio_key;
|
|
||||||
pub mod audio_backend;
|
|
||||||
pub mod authentication;
|
pub mod authentication;
|
||||||
pub mod cache;
|
|
||||||
mod connection;
|
|
||||||
mod diffie_hellman;
|
|
||||||
pub mod mercury;
|
pub mod mercury;
|
||||||
pub mod metadata;
|
|
||||||
pub mod player;
|
|
||||||
pub mod session;
|
pub mod session;
|
||||||
pub mod spirc;
|
pub mod spirc;
|
||||||
pub mod link;
|
|
||||||
pub mod stream;
|
|
||||||
pub mod main_helper;
|
|
||||||
mod audio_file2;
|
|
||||||
|
|
||||||
#[cfg(feature = "facebook")]
|
|
||||||
pub mod spotilocal;
|
|
||||||
|
|
41
src/lib.rs
41
src/lib.rs
|
@ -8,8 +8,8 @@
|
||||||
#![cfg_attr(feature="clippy", feature(plugin))]
|
#![cfg_attr(feature="clippy", feature(plugin))]
|
||||||
#![cfg_attr(feature="clippy", plugin(clippy))]
|
#![cfg_attr(feature="clippy", plugin(clippy))]
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use] extern crate lazy_static;
|
||||||
extern crate lazy_static;
|
#[macro_use] extern crate log;
|
||||||
|
|
||||||
extern crate bit_set;
|
extern crate bit_set;
|
||||||
extern crate byteorder;
|
extern crate byteorder;
|
||||||
|
@ -22,18 +22,15 @@ extern crate lmdb_rs;
|
||||||
extern crate mdns;
|
extern crate mdns;
|
||||||
extern crate num;
|
extern crate num;
|
||||||
extern crate protobuf;
|
extern crate protobuf;
|
||||||
extern crate shannon;
|
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate rpassword;
|
extern crate rpassword;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_serialize;
|
||||||
extern crate serde;
|
extern crate serde;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
|
extern crate shannon;
|
||||||
extern crate tempfile;
|
extern crate tempfile;
|
||||||
extern crate url;
|
extern crate url;
|
||||||
|
|
||||||
#[macro_use]
|
|
||||||
extern crate log;
|
|
||||||
|
|
||||||
#[cfg(not(feature = "with-tremor"))]
|
#[cfg(not(feature = "with-tremor"))]
|
||||||
extern crate vorbis;
|
extern crate vorbis;
|
||||||
#[cfg(feature = "with-tremor")]
|
#[cfg(feature = "with-tremor")]
|
||||||
|
@ -53,17 +50,25 @@ extern crate libpulse_sys;
|
||||||
|
|
||||||
extern crate librespot_protocol as protocol;
|
extern crate librespot_protocol as protocol;
|
||||||
|
|
||||||
// include!/include_bytes! don't play nice with syntex, so place these here
|
pub mod album_cover;
|
||||||
pub mod version {
|
pub mod audio_backend;
|
||||||
include!(concat!(env!("OUT_DIR"), "/version.rs"));
|
pub mod audio_decrypt;
|
||||||
|
pub mod audio_file2;
|
||||||
|
pub mod audio_file;
|
||||||
|
pub mod audio_key;
|
||||||
|
pub mod cache;
|
||||||
|
pub mod connection;
|
||||||
|
pub mod diffie_hellman;
|
||||||
|
pub mod link;
|
||||||
|
pub mod main_helper;
|
||||||
|
pub mod metadata;
|
||||||
|
pub mod player;
|
||||||
|
pub mod stream;
|
||||||
|
pub mod util;
|
||||||
|
pub mod version;
|
||||||
|
|
||||||
pub fn version_string() -> String {
|
#[cfg(feature = "facebook")]
|
||||||
format!("librespot-{}", short_sha())
|
pub mod spotilocal;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "with-syntex")]
|
#[cfg(feature = "with-syntex")] include!(concat!(env!("OUT_DIR"), "/lib.rs"));
|
||||||
include!(concat!(env!("OUT_DIR"), "/lib.rs"));
|
#[cfg(not(feature = "with-syntex"))] include!("lib.in.rs");
|
||||||
|
|
||||||
#[cfg(not(feature = "with-syntex"))]
|
|
||||||
include!("lib.in.rs");
|
|
||||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -3,7 +3,7 @@ extern crate librespot;
|
||||||
extern crate env_logger;
|
extern crate env_logger;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
extern crate simple_signal;
|
extern crate ctrlc;
|
||||||
|
|
||||||
use std::process::exit;
|
use std::process::exit;
|
||||||
use std::thread;
|
use std::thread;
|
||||||
|
@ -12,8 +12,6 @@ use std::env;
|
||||||
use librespot::spirc::SpircManager;
|
use librespot::spirc::SpircManager;
|
||||||
use librespot::main_helper;
|
use librespot::main_helper;
|
||||||
|
|
||||||
use simple_signal::{Signal, Signals};
|
|
||||||
|
|
||||||
fn usage(program: &str, opts: &getopts::Options) -> String {
|
fn usage(program: &str, opts: &getopts::Options) -> String {
|
||||||
let brief = format!("Usage: {} [options]", program);
|
let brief = format!("Usage: {} [options]", program);
|
||||||
format!("{}", opts.usage(&brief))
|
format!("{}", opts.usage(&brief))
|
||||||
|
@ -50,13 +48,11 @@ fn main() {
|
||||||
let spirc = SpircManager::new(session.clone(), player);
|
let spirc = SpircManager::new(session.clone(), player);
|
||||||
let spirc_signal = spirc.clone();
|
let spirc_signal = spirc.clone();
|
||||||
thread::spawn(move || spirc.run());
|
thread::spawn(move || spirc.run());
|
||||||
Signals::set_handler(&[Signal::Int, Signal::Term],
|
|
||||||
move |signals| {
|
ctrlc::set_handler(move || {
|
||||||
println!("Signal received: {:?}. Say goodbye and exit.", signals);
|
|
||||||
spirc_signal.send_goodbye();
|
spirc_signal.send_goodbye();
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
});
|
||||||
);
|
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
session.poll();
|
session.poll();
|
||||||
|
|
5
src/version.rs
Normal file
5
src/version.rs
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
include!(concat!(env!("OUT_DIR"), "/version.rs"));
|
||||||
|
|
||||||
|
pub fn version_string() -> String {
|
||||||
|
format!("librespot-{}", short_sha())
|
||||||
|
}
|
Loading…
Reference in a new issue