From 5e1aff180f9eaec16d53fa98033018ee2088bdc3 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Tue, 10 Sep 2024 23:22:09 -0600 Subject: [PATCH] Remove vergen / GIT_COMMIT_SHA handling --- Cargo.lock | 290 ++++++++++---------------------- Cargo.toml | 2 +- objdiff-cli/Cargo.toml | 1 - objdiff-cli/build.rs | 9 - objdiff-cli/src/argp_version.rs | 3 +- objdiff-core/Cargo.toml | 3 + objdiff-gui/Cargo.toml | 7 +- objdiff-gui/build.rs | 12 +- objdiff-gui/src/views/config.rs | 7 +- 9 files changed, 101 insertions(+), 233 deletions(-) delete mode 100644 objdiff-cli/build.rs diff --git a/Cargo.lock b/Cargo.lock index 90de742..9504a1d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -590,38 +590,6 @@ dependencies = [ "wayland-client", ] -[[package]] -name = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "cassowary" version = "0.3.0" @@ -984,45 +952,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b28bfe653d79bd16c77f659305b195b82bb5ce0c0eb2a4846b82ddbd77586813" dependencies = [ "bitflags 2.6.0", - "libloading 0.7.4", + "libloading 0.8.5", "winapi", ] -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.77", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.77", -] - [[package]] name = "deranged" version = "0.3.11" @@ -1032,37 +965,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derive_builder" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" -dependencies = [ - "derive_builder_core", - "syn 2.0.77", -] - [[package]] name = "digest" version = "0.10.7" @@ -1296,6 +1198,20 @@ dependencies = [ "serde", ] +[[package]] +name = "embed-resource" +version = "2.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4edcacde9351c33139a41e3c97eb2334351a81a2791bebb0b243df837128f602" +dependencies = [ + "cc", + "memchr", + "rustc_version", + "toml 0.8.19", + "vswhom", + "winreg", +] + [[package]] name = "enable-ansi-support" version = "0.2.1" @@ -1739,18 +1655,6 @@ dependencies = [ "wasi", ] -[[package]] -name = "getset" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "gimli" version = "0.31.0" @@ -2118,12 +2022,6 @@ dependencies = [ "objc2 0.4.1", ] -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - [[package]] name = "idna" version = "0.5.0" @@ -2887,7 +2785,7 @@ dependencies = [ [[package]] name = "objdiff-cli" -version = "2.0.0" +version = "2.0.1" dependencies = [ "anyhow", "argp", @@ -2908,7 +2806,7 @@ dependencies = [ [[package]] name = "objdiff-core" -version = "2.0.0" +version = "2.0.1" dependencies = [ "anyhow", "arm-attr", @@ -2947,7 +2845,7 @@ dependencies = [ [[package]] name = "objdiff-gui" -version = "2.0.0" +version = "2.0.1" dependencies = [ "anyhow", "bytes", @@ -2981,14 +2879,13 @@ dependencies = [ "serde_json", "shell-escape", "strum", + "tauri-winres", "tempfile", "time", "tracing-subscriber", "tracing-wasm", - "vergen-gitcl", "wgpu", "winapi", - "winres", ] [[package]] @@ -3333,30 +3230,6 @@ dependencies = [ "toml_edit 0.22.20", ] -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - [[package]] name = "proc-macro2" version = "1.0.86" @@ -3987,9 +3860,6 @@ name = "semver" version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] [[package]] name = "serde" @@ -4056,6 +3926,15 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "serde_spanned" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +dependencies = [ + "serde", +] + [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -4286,12 +4165,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - [[package]] name = "strum" version = "0.26.3" @@ -4360,6 +4233,16 @@ dependencies = [ "futures-core", ] +[[package]] +name = "tauri-winres" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5993dc129e544393574288923d1ec447c857f3f644187f4fbf7d9a875fbfc4fb" +dependencies = [ + "embed-resource", + "toml 0.7.8", +] + [[package]] name = "tempfile" version = "3.12.0" @@ -4498,11 +4381,26 @@ dependencies = [ [[package]] name = "toml" -version = "0.5.11" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.19.15", +] + +[[package]] +name = "toml" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit 0.22.20", ] [[package]] @@ -4510,6 +4408,9 @@ name = "toml_datetime" version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +dependencies = [ + "serde", +] [[package]] name = "toml_edit" @@ -4518,6 +4419,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow 0.5.40", ] @@ -4529,6 +4432,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ "indexmap", + "serde", + "serde_spanned", "toml_datetime", "winnow 0.6.18", ] @@ -4801,54 +4706,32 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vergen" -version = "9.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32e7318e93a9ac53693b6caccfb05ff22e04a44c7cf8a279051f24c09da286f" -dependencies = [ - "anyhow", - "cargo_metadata", - "derive_builder", - "getset", - "regex", - "rustversion", - "time", - "vergen-lib", -] - -[[package]] -name = "vergen-gitcl" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bbdc9746577cb4767f218d320ee0b623d415e8130332f8f562b910b61cc2c4e" -dependencies = [ - "anyhow", - "derive_builder", - "rustversion", - "time", - "vergen", - "vergen-lib", -] - -[[package]] -name = "vergen-lib" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e06bee42361e43b60f363bad49d63798d0f42fb1768091812270eca00c784720" -dependencies = [ - "anyhow", - "derive_builder", - "getset", - "rustversion", -] - [[package]] name = "version_check" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "vswhom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" +dependencies = [ + "libc", + "vswhom-sys", +] + +[[package]] +name = "vswhom-sys" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b17ae1f6c8a2b28506cd96d412eebf83b4a0ff2cbefeeb952f2f9dfa44ba18" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "walkdir" version = "2.5.0" @@ -5613,12 +5496,13 @@ dependencies = [ ] [[package]] -name = "winres" -version = "0.1.12" +name = "winreg" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" dependencies = [ - "toml", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 63bf837..84ef09f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ strip = "debuginfo" codegen-units = 1 [workspace.package] -version = "2.0.0" +version = "2.0.1" authors = ["Luke Street "] edition = "2021" license = "MIT OR Apache-2.0" diff --git a/objdiff-cli/Cargo.toml b/objdiff-cli/Cargo.toml index b39a157..0b33210 100644 --- a/objdiff-cli/Cargo.toml +++ b/objdiff-cli/Cargo.toml @@ -11,7 +11,6 @@ description = """ A local diffing tool for decompilation projects. """ publish = false -build = "build.rs" [dependencies] anyhow = "1.0" diff --git a/objdiff-cli/build.rs b/objdiff-cli/build.rs deleted file mode 100644 index a488c56..0000000 --- a/objdiff-cli/build.rs +++ /dev/null @@ -1,9 +0,0 @@ -fn main() { - let output = std::process::Command::new("git") - .args(["rev-parse", "HEAD"]) - .output() - .expect("Failed to execute git"); - let rev = String::from_utf8(output.stdout).expect("Failed to parse git output"); - println!("cargo:rustc-env=GIT_COMMIT_SHA={rev}"); - println!("cargo:rustc-rerun-if-changed=.git/HEAD"); -} diff --git a/objdiff-cli/src/argp_version.rs b/objdiff-cli/src/argp_version.rs index eccce05..ee371e0 100644 --- a/objdiff-cli/src/argp_version.rs +++ b/objdiff-cli/src/argp_version.rs @@ -31,10 +31,9 @@ where T: FromArgs Ok(v) => { if v.version { println!( - "{} {} {}", + "{} {}", command_name.first().unwrap_or(&""), env!("CARGO_PKG_VERSION"), - env!("GIT_COMMIT_SHA"), ); std::process::exit(0); } else { diff --git a/objdiff-core/Cargo.toml b/objdiff-core/Cargo.toml index 76775e0..8ca6a84 100644 --- a/objdiff-core/Cargo.toml +++ b/objdiff-core/Cargo.toml @@ -27,6 +27,9 @@ arm = ["any-arch", "cpp_demangle", "unarm", "arm-attr"] bindings = ["serde_json", "prost", "pbjson"] wasm = ["bindings", "console_error_panic_hook", "console_log"] +[package.metadata.docs.rs] +features = ["all"] + [dependencies] anyhow = "1.0" byteorder = "1.5" diff --git a/objdiff-gui/Cargo.toml b/objdiff-gui/Cargo.toml index 14096f0..29d2f8c 100644 --- a/objdiff-gui/Cargo.toml +++ b/objdiff-gui/Cargo.toml @@ -89,9 +89,6 @@ self_update = "0.41" path-slash = "0.2" winapi = "0.3" -[target.'cfg(windows)'.build-dependencies] -winres = "0.1" - [target.'cfg(unix)'.dependencies] exec = "0.3" @@ -106,4 +103,6 @@ tracing-wasm = "0.2" [build-dependencies] anyhow = "1.0" -vergen-gitcl = { version = "1.0", features = ["build", "cargo"] } + +[target.'cfg(windows)'.build-dependencies] +tauri-winres = "0.1" diff --git a/objdiff-gui/build.rs b/objdiff-gui/build.rs index 0bd028b..bf70c8d 100644 --- a/objdiff-gui/build.rs +++ b/objdiff-gui/build.rs @@ -1,14 +1,12 @@ use anyhow::Result; -use vergen_gitcl::{BuildBuilder, CargoBuilder, Emitter, GitclBuilder}; fn main() -> Result<()> { #[cfg(windows)] { - winres::WindowsResource::new().set_icon("assets/icon.ico").compile()?; + let mut res = tauri_winres::WindowsResource::new(); + res.set_icon("assets/icon.ico"); + res.set_language(0x0409); // US English + res.compile()?; } - Emitter::default() - .add_instructions(&BuildBuilder::all_build()?)? - .add_instructions(&CargoBuilder::all_cargo()?)? - .add_instructions(&GitclBuilder::all_git()?)? - .emit() + Ok(()) } diff --git a/objdiff-gui/src/views/config.rs b/objdiff-gui/src/views/config.rs index 5da9189..d8d5bc7 100644 --- a/objdiff-gui/src/views/config.rs +++ b/objdiff-gui/src/views/config.rs @@ -190,12 +190,7 @@ pub fn config_ui( if ui.add_enabled(!state.check_update_running, egui::Button::new("Check now")).clicked() { state.queue_check_update = true; } - ui.label(format!("Current version: {}", cargo_crate_version!())).on_hover_ui_at_pointer(|ui| { - ui.label(formatcp!("Git branch: {}", env!("VERGEN_GIT_BRANCH"))); - ui.label(formatcp!("Git commit: {}", env!("VERGEN_GIT_SHA"))); - ui.label(formatcp!("Build target: {}", env!("VERGEN_CARGO_TARGET_TRIPLE"))); - ui.label(formatcp!("Debug: {}", env!("VERGEN_CARGO_DEBUG"))); - }); + ui.label(format!("Current version: {}", env!("CARGO_PKG_VERSION"))); if let Some(result) = &state.check_update { ui.label(format!("Latest version: {}", result.latest_release.version)); if result.update_available {