mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
9de1f38e92
in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. This PR was done while working on reproducible builds for openSUSE.
24 lines
704 B
Rust
24 lines
704 B
Rust
use rand::distributions::Alphanumeric;
|
|
use rand::Rng;
|
|
use std::env;
|
|
use vergen::{generate_cargo_keys, ConstantsFlags};
|
|
|
|
fn main() {
|
|
let mut flags = ConstantsFlags::all();
|
|
flags.toggle(ConstantsFlags::REBUILD_ON_HEAD_CHANGE);
|
|
generate_cargo_keys(ConstantsFlags::all()).expect("Unable to generate the cargo keys!");
|
|
|
|
let build_id: String;
|
|
match env::var("SOURCE_DATE_EPOCH") {
|
|
Ok(val) => build_id = val,
|
|
Err(_) => {
|
|
build_id = rand::thread_rng()
|
|
.sample_iter(Alphanumeric)
|
|
.take(8)
|
|
.map(char::from)
|
|
.collect()
|
|
}
|
|
}
|
|
|
|
println!("cargo:rustc-env=LIBRESPOT_BUILD_ID={}", build_id);
|
|
}
|