This file is in the public domain. https://github.com/google/shaderc-rs/issues/62 - Restore system shaderc support - Detect system shaderc on BSDs --- Cargo.lock.orig 2024-02-07 19:13:27 UTC +++ Cargo.lock @@ -5792,8 +5792,9 @@ dependencies = [ [[package]] name = "shaderc" -version = "0.8.0" -source = "git+https://github.com/pythonesque/shaderc-rs?rev=f2605a02062834019bedff911aee2fd2998c49f9#f2605a02062834019bedff911aee2fd2998c49f9" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e07913ada18607bb60d12431cbe3358d3bbebbe95948e1618851dc01e63b7b" dependencies = [ "libc", "shaderc-sys", @@ -5801,8 +5802,9 @@ dependencies = [ [[package]] name = "shaderc-sys" -version = "0.8.0" -source = "git+https://github.com/pythonesque/shaderc-rs?rev=f2605a02062834019bedff911aee2fd2998c49f9#f2605a02062834019bedff911aee2fd2998c49f9" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73120d240fe22196300f39ca8547ca2d014960f27b19b47b21288b396272f7f7" dependencies = [ "cmake", "libc", --- voxygen/Cargo.toml.orig 2024-05-20 18:26:00 UTC +++ voxygen/Cargo.toml @@ -32,7 +32,6 @@ egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend" tracy-memory = ["tracy"] # enables heap profiling with tracy plugins = ["client/plugins", "common-assets/plugins", "server/plugins"] egui-ui = ["voxygen-egui", "egui", "egui_wgpu_backend", "egui_winit_platform"] -shaderc-from-source = ["shaderc/build-from-source"] discord = ["discord-sdk"] bin_img-export = ["common-assets"] @@ -45,7 +44,7 @@ default-publish = [ "simd", ] # Temp for bug on current wgpu version that has access violation in vulkan when constructing egui pipeline -default-no-egui = ["default-publish", "hot-reloading", "shaderc-from-source"] +default-no-egui = ["default-publish", "hot-reloading"] default = ["default-no-egui", "egui-ui"] [dependencies] @@ -73,9 +72,7 @@ bytemuck = { version = "1.7", features = ["derive"] } ] } wgpu-profiler = "0.15.0" bytemuck = { version = "1.7", features = ["derive"] } -# shaderc = "0.8.0" -# Working around a current bug in shaderc that causes it to use the system installation even if we specify compile from source -shaderc = { git = "https://github.com/pythonesque/shaderc-rs", rev = "f2605a02062834019bedff911aee2fd2998c49f9" } +shaderc = "0.8.0" # Ui conrod_core = { git = "https://gitlab.com/veloren/conrod.git", branch = "copypasta_0.7" } --- cargo-crates/shaderc-sys-0.8.3/build/build.rs.orig 1970-01-01 00:00:00 UTC +++ cargo-crates/shaderc-sys-0.8.3/build/build.rs @@ -309,10 +309,13 @@ fn main() { } } { match (target_os.as_str(), target_env.as_str()) { - ("linux", _) => { + ("linux", _) | ("dragonfly", _) | ("freebsd", _) | ("netbsd", _) | ("openbsd", _) => { println!("cargo:rustc-link-search=native={search_dir_str}"); println!("cargo:rustc-link-lib={lib_kind}={lib_name}"); - println!("cargo:rustc-link-lib=dylib=stdc++"); + println!("cargo:rustc-link-lib=dylib={}", match target_os.as_str() { + "freebsd" | "openbsd" => "c++", + _ => "stdc++", + }); return; } ("windows", "msvc") => { @@ -395,8 +398,8 @@ fn emit_std_cpp_link() { let target_env = env::var("CARGO_CFG_TARGET_ENV").unwrap(); match (target_os.as_str(), target_env.as_str()) { - ("linux", _) | ("windows", "gnu") => println!("cargo:rustc-link-lib=dylib=stdc++"), - ("macos", _) => println!("cargo:rustc-link-lib=dylib=c++"), + ("linux", _) | ("dragonfly", _) | ("netbsd", _) | ("windows", "gnu") => println!("cargo:rustc-link-lib=dylib=stdc++"), + ("macos", _) | ("freebsd", _) | ("openbsd", _) => println!("cargo:rustc-link-lib=dylib=c++"), _ => {} } }