feat(kiosk): integrate libmpv, full Yatse JSON-RPC & EventServer, and YouTube playback
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
use std::path::Path;
|
||||
|
||||
fn main() {
|
||||
let out_dir = std::env::var("OUT_DIR").unwrap();
|
||||
let lib_dir = Path::new(&out_dir).join("libmpv_link");
|
||||
let _ = std::fs::create_dir_all(&lib_dir);
|
||||
|
||||
let candidates = [
|
||||
"/lib/x86_64-linux-gnu/libmpv.so.2",
|
||||
"/usr/lib/x86_64-linux-gnu/libmpv.so.2",
|
||||
"/usr/lib64/libmpv.so.2",
|
||||
"/lib/x86_64-linux-gnu/libmpv.so.1",
|
||||
"/usr/lib/x86_64-linux-gnu/libmpv.so.1",
|
||||
"/usr/lib/libmpv.so.2",
|
||||
"/usr/lib/libmpv.so.1",
|
||||
];
|
||||
|
||||
let dest = lib_dir.join("libmpv.so");
|
||||
for candidate in &candidates {
|
||||
if Path::new(candidate).exists() {
|
||||
let _ = std::fs::remove_file(&dest);
|
||||
#[cfg(unix)]
|
||||
let _ = std::os::unix::fs::symlink(candidate, &dest);
|
||||
println!("cargo:rustc-link-search=native={}", lib_dir.display());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
println!("cargo:rustc-link-lib=mpv");
|
||||
println!("cargo:rerun-if-changed=build.rs");
|
||||
}
|
||||
Reference in New Issue
Block a user