gtk4-layer-shell: version from build.zig.zon, reenable ubsan (#9122)

added version read from build.zig.zon
didn't get any ubsan error locally with zig 0.15.1 (related to
https://github.com/ghostty-org/ghostty/issues/5744#issuecomment-2719313984)
pull/9121/head
Mitchell Hashimoto 2025-10-10 08:45:32 -07:00 committed by GitHub
commit 029bcf2d39
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 15 deletions

View File

@ -1,7 +1,6 @@
const std = @import("std"); const std = @import("std");
// TODO: Import this from build.zig.zon when possible const version = @import("build.zig.zon").version;
const version: std.SemanticVersion = .{ .major = 1, .minor = 1, .patch = 0 };
const dynamic_link_opts: std.Build.Module.LinkSystemLibraryOptions = .{ const dynamic_link_opts: std.Build.Module.LinkSystemLibraryOptions = .{
.preferred_link_mode = .dynamic, .preferred_link_mode = .dynamic,
@ -32,6 +31,7 @@ pub fn build(b: *std.Build) !void {
} }
fn buildLib(b: *std.Build, module: *std.Build.Module, options: anytype) !*std.Build.Step.Compile { fn buildLib(b: *std.Build, module: *std.Build.Module, options: anytype) !*std.Build.Step.Compile {
const lib_version = try std.SemanticVersion.parse(version);
const target = options.target; const target = options.target;
const optimize = options.optimize; const optimize = options.optimize;
@ -117,19 +117,9 @@ fn buildLib(b: *std.Build, module: *std.Build.Module, options: anytype) !*std.Bu
.root = upstream.path("src"), .root = upstream.path("src"),
.files = srcs, .files = srcs,
.flags = &.{ .flags = &.{
b.fmt("-DGTK_LAYER_SHELL_MAJOR={}", .{version.major}), b.fmt("-DGTK_LAYER_SHELL_MAJOR={}", .{lib_version.major}),
b.fmt("-DGTK_LAYER_SHELL_MINOR={}", .{version.minor}), b.fmt("-DGTK_LAYER_SHELL_MINOR={}", .{lib_version.minor}),
b.fmt("-DGTK_LAYER_SHELL_MICRO={}", .{version.patch}), b.fmt("-DGTK_LAYER_SHELL_MICRO={}", .{lib_version.patch}),
// Zig 0.14 regression: this is required because building with
// ubsan results in unknown symbols. Bundling the ubsan/compiler
// RT doesn't help. I'm not sure what the root cause is but I
// suspect its related to this:
// https://github.com/ziglang/zig/issues/23052
//
// We can remove this in the future for Zig updates and see
// if our binaries run in debug on NixOS.
"-fno-sanitize=undefined",
}, },
}); });