diff --git a/build.rs b/build.rs index ddda179f..63391336 100644 --- a/build.rs +++ b/build.rs @@ -1,4 +1,5 @@ use std::process::Command; +use std::env; fn main() { // Set a build-time `GIT_HEAD` env var which includes the commit id; @@ -16,7 +17,7 @@ fn main() { None } }) - .unwrap_or_else(|| String::from("unknown")); + .unwrap_or(env::var("GIT_HEAD").unwrap_or("unknown".into())); println!("cargo:rustc-env=GIT_HEAD={hash}"); println!("cargo:rustc-rerun-if-changed=.git/HEAD"); diff --git a/flake.nix b/flake.nix index 2cfbc66d..c15d8aa5 100644 --- a/flake.nix +++ b/flake.nix @@ -89,6 +89,9 @@ # Additional darwin specific inputs can be set here pkgs.libiconv ]; + preBuild = lib.optionalString (self.shortRev or null != null) '' + export GIT_HEAD=${self.shortRev} + ''; }; # Build *just* the cargo dependencies, so we can reuse