diff --git a/recipes/wip/dev/lang/zig/01_redox.patch b/recipes/wip/dev/lang/zig/01_redox.patch deleted file mode 100644 index 093eb2f41..000000000 --- a/recipes/wip/dev/lang/zig/01_redox.patch +++ /dev/null @@ -1,83 +0,0 @@ -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 }, diff --git a/recipes/wip/dev/lang/zig/recipe.toml b/recipes/wip/dev/lang/zig/recipe.toml index c88b9070f..f5103b296 100644 --- a/recipes/wip/dev/lang/zig/recipe.toml +++ b/recipes/wip/dev/lang/zig/recipe.toml @@ -1,16 +1,21 @@ -#TODO see https://github.com/ziglang/zig/wiki/Building-Zig-From-Source +#TODO requires openat functions and posix_getdents to compile [source] -tar = "https://ziglang.org/download/0.14.1/zig-0.14.1.tar.xz" -patches = [ - "01_redox.patch" -] +git = "https://github.com/willnode/zig" +branch = "zig-0.15-redox" [build] -dependencies = [ - "llvm18" # need lld -] template = "custom" script = """ DYNAMIC_INIT -cookbook_cmake +rsync -av --delete "${COOKBOOK_SOURCE}"/* ./ +export ZIG_BOOTSTRAP_CFLAGS="$CFLAGS" +export ZIG_BOOTSTRAP_LDFLAGS="$LDFLAGS" +export ZIG_BOOTSTRAP_TARGET_CC="${TARGET}-gcc" +export ZIG_HOST_TARGET_TRIPLE="${TARGET%%-*}-redox" +unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF RUSTFLAGS STRIP +cc bootstrap.c -o ./bootstrap +./bootstrap + +mkdir -pv "${COOKBOOK_STAGE}/usr/bin" +cp -v "zig2" "${COOKBOOK_STAGE}/usr/bin/zig" """