scripts/build-addon-zip.sh runs the whole pipeline from a host with ssh lucy: - one-shot messense/rust-musl-cross:aarch64-musl container builds the sidecar static (6.2MB stripped). Doesn't mutate crafting-table. - fetches yt-dlp_linux_aarch64 from the upstream release page so Tier 2 + Tier 3 work on the Pi (LibreELEC ships no Python YouTube tools) - packages everything into plugin.video.torttube.zip with the Kodi install-from-zip layout - drops the zip at /mnt/user/downloads/torttube/ on Lucy SMB Cargo.toml swaps rustypipe to default-features=false + rustls-tls-webpki-roots so the cross-compile is openssl-free. addon.xml drops the unused script.module.requests requirement — main.py only uses Python stdlib + Kodi's own modules. docs/install.md walks the Kodi UI flow + a smoke curl that fires Player.Open via JSON-RPC. Pi-side smoke is pending Cobb's install on 192.168.0.158.
36 lines
1.1 KiB
TOML
36 lines
1.1 KiB
TOML
[package]
|
|
name = "torttube-sidecar"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
|
|
[[bin]]
|
|
name = "torttube-sidecar"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# Tier 1 — native Rust Innertube.
|
|
# default-features=false skips rustypipe's default-tls which pulls in
|
|
# native-tls / openssl — we use rustls so cross-compile to aarch64-musl
|
|
# stays openssl-free.
|
|
rustypipe = { version = "0.11", default-features = false, features = ["rustls-tls-webpki-roots"] }
|
|
|
|
# Tier 2 + 3 — yt-dlp subprocess shell-out (no library, just std::process)
|
|
|
|
# Runtime + JSON-over-stdio
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "io-std", "io-util", "process", "fs"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
|
|
# Errors + logging
|
|
anyhow = "1"
|
|
thiserror = "1"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
# SponsorBlock — sha256 + REST
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json"] }
|