feat: improve depot UX and packaging workflow

- add shared terminal UI helpers for colored info/warn/success logs and yes/no prompts
- add Python build backend (PEP 517/setup.py wheel build + install) and expose python in interactive spec creation
- expand spec/build flags (post_configure, make phase targets/dirs, configure_file, no_strip, no_compress_man)
- support split-output staging with internal .depot output dirs, shell helpers (haul/subdestdir), and per-output deps/provides overrides
- improve staging with ELF auto-strip and zstd manpage compression (with opt-out flags)
- enforce runtime deps before install and support legacy lifecycle hook script names
- improve manual source handling with files/urls lists and stricter validation
This commit is contained in:
2026-02-22 14:52:45 -06:00
parent 0c676f6743
commit d63ad03e98
28 changed files with 4639 additions and 412 deletions
+6 -6
View File
@@ -57,12 +57,12 @@ impl CrossConfig {
let readelf = find_tool(prefix, &["readelf", "llvm-readelf"], false)
.unwrap_or_else(|_| format!("{}-readelf", prefix));
println!("Cross-compilation tools discovered:");
println!(" CC: {}", cc);
println!(" CXX: {}", cxx);
println!(" AR: {}", ar);
println!(" RANLIB: {}", ranlib);
println!(" STRIP: {}", strip);
crate::log_info!("Cross-compilation tools discovered:");
crate::log_info!(" CC: {}", cc);
crate::log_info!(" CXX: {}", cxx);
crate::log_info!(" AR: {}", ar);
crate::log_info!(" RANLIB: {}", ranlib);
crate::log_info!(" STRIP: {}", strip);
Ok(Self {
prefix: prefix.to_string(),