Update zig recipe

This commit is contained in:
Wildan Mubarok 2025-08-04 10:10:21 +00:00
parent a6fa878a80
commit 965ff8fccf
2 changed files with 94 additions and 15 deletions

View File

@ -0,0 +1,83 @@
diff -ruwN source/build.zig source-new/build.zig
--- source/build.zig 2025-05-23 11:31:41
+++ source-new/build.zig 2025-08-04 17:06:57
@@ -802,7 +802,7 @@
try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);
try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes);
},
- .haiku => {
+ .haiku, .redox => {
try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);
},
else => {},
diff -ruwN source/lib/std/Target.zig source-new/lib/std/Target.zig
--- source/lib/std/Target.zig 2025-05-23 11:31:41
+++ source-new/lib/std/Target.zig 2025-08-04 16:59:08
@@ -29,6 +29,7 @@
hurd,
linux,
plan9,
+ redox,
rtems,
serenity,
zos,
@@ -904,6 +905,7 @@
.fuchsia,
.hermit,
.plan9,
+ .redox,
.serenity,
.zos,
.dragonfly,
@@ -2435,6 +2437,16 @@
else
"/usr",
}) else none,
+
+ .redox => switch (cpu.arch) {
+ .x86,
+ => init("/usr/lib/ld.so.1"),
+ .aarch64,
+ .riscv64,
+ .x86_64,
+ => init("/usr/lib/ld64.so.1"),
+ else => none,
+ },
.freebsd => switch (cpu.arch) {
.arm,
diff -ruwN source/test/llvm_targets.zig source-new/test/llvm_targets.zig
--- source/test/llvm_targets.zig 2025-05-23 11:31:41
+++ source-new/test/llvm_targets.zig 2025-08-04 17:02:56
@@ -20,6 +20,7 @@
.{ .cpu_arch = .aarch64, .os_tag = .macos, .abi = .none },
.{ .cpu_arch = .aarch64, .os_tag = .netbsd, .abi = .none },
.{ .cpu_arch = .aarch64, .os_tag = .openbsd, .abi = .none },
+ .{ .cpu_arch = .aarch64, .os_tag = .redox, .abi = .none },
.{ .cpu_arch = .aarch64, .os_tag = .rtems, .abi = .none },
.{ .cpu_arch = .aarch64, .os_tag = .serenity, .abi = .none },
.{ .cpu_arch = .aarch64, .os_tag = .tvos, .abi = .none },
@@ -238,6 +239,7 @@
.{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .none },
.{ .cpu_arch = .riscv64, .os_tag = .netbsd, .abi = .none },
.{ .cpu_arch = .riscv64, .os_tag = .openbsd, .abi = .none },
+ .{ .cpu_arch = .riscv64, .os_tag = .redox, .abi = .none },
.{ .cpu_arch = .riscv64, .os_tag = .rtems, .abi = .none },
.{ .cpu_arch = .riscv64, .os_tag = .serenity, .abi = .none },
// .{ .cpu_arch = .riscv64, .os_tag = .uefi, .abi = .none },
@@ -325,6 +327,7 @@
.{ .cpu_arch = .x86, .os_tag = .linux, .abi = .none },
.{ .cpu_arch = .x86, .os_tag = .netbsd, .abi = .none },
.{ .cpu_arch = .x86, .os_tag = .openbsd, .abi = .none },
+ .{ .cpu_arch = .x86, .os_tag = .redox, .abi = .none },
.{ .cpu_arch = .x86, .os_tag = .rtems, .abi = .none },
.{ .cpu_arch = .x86, .os_tag = .solaris, .abi = .none },
.{ .cpu_arch = .x86, .os_tag = .uefi, .abi = .none },
@@ -361,6 +364,7 @@
.{ .cpu_arch = .x86_64, .os_tag = .macos, .abi = .none },
.{ .cpu_arch = .x86_64, .os_tag = .netbsd, .abi = .none },
.{ .cpu_arch = .x86_64, .os_tag = .openbsd, .abi = .none },
+ .{ .cpu_arch = .x86_64, .os_tag = .redox, .abi = .none },
.{ .cpu_arch = .x86_64, .os_tag = .rtems, .abi = .none },
.{ .cpu_arch = .x86_64, .os_tag = .serenity, .abi = .none },
.{ .cpu_arch = .x86_64, .os_tag = .solaris, .abi = .none },

View File

@ -1,20 +1,16 @@
#TODO probably wrong script, see https://github.com/ziglang/zig/wiki/Building-Zig-From-Source
#TODO see https://github.com/ziglang/zig/wiki/Building-Zig-From-Source
[source]
tar = "https://ziglang.org/download/0.10.1/zig-0.10.1.tar.xz"
tar = "https://ziglang.org/download/0.14.1/zig-0.14.1.tar.xz"
patches = [
"01_redox.patch"
]
[build]
dependencies = [
"llvm18" # need lld
]
template = "custom"
script = """
COOKBOOK_CONFIGURE="cmake"
COOKBOOK_CONFIGURE_FLAGS=(
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_CROSSCOMPILING=True
-DCMAKE_EXE_LINKER_FLAGS="-static"
-DCMAKE_INSTALL_PREFIX="/"
-DCMAKE_PREFIX_PATH="${COOKBOOK_SYSROOT}"
-DCMAKE_SYSTEM_NAME=Generic
-DCMAKE_SYSTEM_PROCESSOR="$(echo "${TARGET}" | cut -d - -f1)"
-DCMAKE_VERBOSE_MAKEFILE=On
"${COOKBOOK_SOURCE}"
)
cookbook_configure
DYNAMIC_INIT
cookbook_cmake
"""