Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
flake: Compile commit hash into program version
Merged did:key:z6Mkgfwr...BYQp opened 2 years ago

Changes build.rs to take the GIT_HASH environment variable into account if git rev-parse is unable to determine the current commit hash.

2 files changed +5 -1 fb13e5f9 4b1ca18d
modified 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");
modified flake.nix
@@ -77,6 +77,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