File wallust-no-git.patch of Package wallust
diff --git a/build.rs b/build.rs
index 054326a..153fa3f 100644
--- a/build.rs
+++ b/build.rs
@@ -9,22 +9,39 @@ fn main() {
/// git short sha1 and date stuff, only when wallust is at a unstable version
fn version() -> String {
+ if !std::path::Path::new(".git").exists() {
+ return "(unknown)".to_string();
+ }
+
use vergen_git2 as vergen;
- let git2 = vergen::Git2Builder::default()
+ let git2 = match vergen::Git2Builder::default()
.describe(true, false, None)
.commit_date(true)
.sha(true)
- .build().unwrap();
+ .build()
+ {
+ Ok(git2) => git2,
+ Err(_) => return "(unknown)".to_string(),
+ };
- vergen::Emitter::default()
- .add_instructions(&git2).unwrap()
- .emit_and_set().unwrap();
+ let mut emitter = vergen::Emitter::default();
+ if emitter
+ .add_instructions(&git2)
+ .and_then(|e| e.emit_and_set())
+ .is_err()
+ {
+ return "(unknown)".to_string();
+ }
- let sha = std::env::var_os("VERGEN_GIT_SHA").unwrap();
- let sha = sha.to_string_lossy();
+ let sha = match std::env::var_os("VERGEN_GIT_SHA") {
+ Some(sha) => sha.to_string_lossy().into_owned(),
+ None => return "(unknown)".to_string(),
+ };
- let date = std::env::var_os("VERGEN_GIT_COMMIT_DATE").unwrap();
- let date = date.to_string_lossy();
+ let date = match std::env::var_os("VERGEN_GIT_COMMIT_DATE") {
+ Some(date) => date.to_string_lossy().into_owned(),
+ None => return "(unknown)".to_string(),
+ };
format!("({sha} {date})")
}