Don't use rustup. Work around OpenBSD rustfmt bug.

Index: crates/sourcegen/src/lib.rs
--- crates/sourcegen/src/lib.rs.orig
+++ crates/sourcegen/src/lib.rs
@@ -133,12 +133,12 @@ impl fmt::Display for Location {
 }
 
 fn ensure_rustfmt(sh: &Shell) {
-    let version = cmd!(sh, "rustup run stable rustfmt --version").read().unwrap_or_default();
-    if !version.contains("stable") {
-        panic!(
-            "Failed to run rustfmt from toolchain 'stable'. \
-                 Please run `rustup component add rustfmt --toolchain stable` to install it.",
-        );
+    let version = cmd!(sh, "rustfmt --version").read().unwrap_or_default();
+    // FIXME: OpenBSD's rustfmt doesn't report it's version correctly.
+    // At the time of writing, `rustfmt --version` gives `rustfmt 1.7.0-` (i.e. missing the
+    // `-stable` suffix.
+    if !version.contains("rustfmt") {
+        panic!("Failed to run rustfmt from toolchain 'stable'.");
     }
 }
 
@@ -146,13 +146,10 @@ pub fn reformat(text: String) -> String {
     let sh = Shell::new().unwrap();
     ensure_rustfmt(&sh);
     let rustfmt_toml = project_root().join("rustfmt.toml");
-    let mut stdout = cmd!(
-        sh,
-        "rustup run stable rustfmt --config-path {rustfmt_toml} --config fn_single_line=true"
-    )
-    .stdin(text)
-    .read()
-    .unwrap();
+    let mut stdout = cmd!(sh, "rustfmt --config-path {rustfmt_toml} --config fn_single_line=true")
+        .stdin(text)
+        .read()
+        .unwrap();
     if !stdout.ends_with('\n') {
         stdout.push('\n');
     }
