diff --git a/build/meta/extra-build-tools.p5m b/build/meta/extra-build-tools.p5m index b670d2f3b..f1b5af88e 100644 --- a/build/meta/extra-build-tools.p5m +++ b/build/meta/extra-build-tools.p5m @@ -25,7 +25,7 @@ depend fmri=ooce/developer/llvm-14 type=require depend fmri=ooce/developer/clang-13 type=require depend fmri=ooce/developer/subversion type=require depend fmri=ooce/developer/yasm type=require -depend fmri=ooce/developer/zig type=require +depend fmri=ooce/developer/zig-09 type=require depend fmri=ooce/editor/emacs type=require depend fmri=ooce/fonts/liberation type=require depend fmri=ooce/library/apr type=require diff --git a/build/ncdu/build.sh b/build/ncdu/build.sh index 69007ee8f..1d39498b6 100755 --- a/build/ncdu/build.sh +++ b/build/ncdu/build.sh @@ -27,7 +27,7 @@ DESC="Disk usage analyzer with an ncurses interface" set_arch 64 set_clangver # zig requires CC to be set -BUILD_DEPENDS_IPS="ooce/developer/zig" +BUILD_DEPENDS_IPS="ooce/developer/zig-09" # No configure pre_configure() { false; } diff --git a/build/obsolete/developer-zig.p5m b/build/obsolete/developer-zig.p5m new file mode 100644 index 000000000..bf38622da --- /dev/null +++ b/build/obsolete/developer-zig.p5m @@ -0,0 +1,3 @@ +set name=pkg.fmri value=pkg://$(PKGPUBLISHER)/ooce/developer/zig@0.9.1,$(SUNOSVER)-$(PVER) +set name=pkg.renamed value=true +depend fmri=pkg:/ooce/developer/zig-09 type=require diff --git a/build/zig/build-0.11.sh b/build/zig/build-0.11.sh new file mode 100755 index 000000000..b7d9828cb --- /dev/null +++ b/build/zig/build-0.11.sh @@ -0,0 +1,131 @@ +#!/usr/bin/bash +# +# {{{ CDDL HEADER +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# }}} + +# Copyright 2023 OmniOS Community Edition (OmniOSce) Association. + +. ../../lib/build.sh + +PROG=zig +VER=0.11.0 +MAJVER=${VER%%.*} +MINVER=${VER%.*} +MINVER=${MINVER#*.} +PKG=ooce/developer/zig-011 +SUMMARY="$PROG programming language" +DESC="$PROG is a general-purpose programming language and toolchain for " +DESC+="maintaining robust, optimal, and reusable software." + +# +# Zig 0.11.x requires LLVM 16, which requires rel 151045 or later. +# +min_rel 151045 +set_clangver 16 +set_arch 64 + +CLANGFVER=`pkg_ver clang build-$CLANGVER.sh` + +set_patchdir patches-$MAJVER.$MINVER +OPREFIX=$PREFIX +PREFIX+=/$PROG-$MAJVER.$MINVER + +XFORM_ARGS=" + -DOPREFIX=${OPREFIX#/} + -DPREFIX=${PREFIX#/} + -DPROG=$PROG + -DPKGROOT=$PROG-$MAJVER.$MINVER + -DMEDIATOR=$PROG -DMEDIATOR_VERSION=$MAJVER.$MINVER +" + +# +# CMAKE_BUILD_TYPE=RelWithDebInfo +# +# Keep debug info so symbols are available to the various +# debugging tools. +# +# ZIG_STATIC_LLVM=on +# +# Embed the LLVM toolchain in the zig executable. This is +# the preferred way to ship zig. +# +# ZIG_HOST_TARGET_ARCH=x86_64 +# ZIG_HOST_TARGET_OS=solaris +# ZIG_HOST_TARGET_TRIPLE=x86_64-solaris +# +# Manually set the triple. Otherwise it falls back to uname and +# we get a bogus target. +# +# ZIG_TARGET_MCPU=baseline +# +# Target the compiler to pentium4-era CPU features so it can +# work on the maximum set of hosts. This only effects the +# compiler executable, applications built with this compiler +# can set their own CPU features. +# +CONFIGURE_OPTS[amd64]=" + -DCMAKE_BUILD_TYPE=RelWithDebInfo + -DCMAKE_INSTALL_PREFIX=$PREFIX + -DLLVM_INCLUDE_DIRS=$OPREFIX/llvm-$CLANGVER/include + -DCLANG_INCLUDE_DIRS=$OPREFIX/llvm-$CLANGVER/include + -DLLVM_LIBDIRS=$OPREFIX/llvm-$CLANGVER/lib + -DCLANG_LIBDIRS=$OPREFIX/llvm-$CLANGVER/lib + -DZIG_STATIC_LLVM=on + -DZIG_HOST_TARGET_ARCH:STRING="x86_64" + -DZIG_HOST_TARGET_OS:STRING="solaris" + -DZIG_HOST_TARGET_TRIPLE:STRING="x86_64-solaris" + -DZIG_TARGET_MCPU="baseline" +" + +init + +######################################################################### +# Download and build lld + +save_buildenv + +set_builddir llvm-project-$CLANGFVER.src/lld +prep_build cmake+ninja + +CONFIGURE_OPTS[amd64]=" + -DCMAKE_BUILD_TYPE=Release + -DLLVM_MAIN_SRC_DIR=$TMPDIR/llvm-project-$CLANGFVER.src/llvm +" + +build_dependency -noctf lld-$CLANGVER llvm-project-$CLANGFVER.src/lld \ + llvm llvm-project $CLANGFVER.src + +restore_buildenv + +CONFIGURE_OPTS[amd64]+=" + -DLLD_INCLUDE_DIRS=$DEPROOT/usr/local/include + -DLLD_LIBDIRS=$DEPROOT/usr/local/lib +" + +######################################################################### + +note -n "Building $PROG" + +set_builddir $PROG-$VER + +CXXFLAGS+=" -fPIC" + +download_source $PROG $PROG $VER +patch_source +prep_build cmake+ninja +build -noctf # C++ +strip_install +make_package +clean_up + +# Vim hints +# vim:ts=4:sw=4:et:fdm=marker diff --git a/build/zig/build.sh b/build/zig/build-0.9.sh similarity index 72% rename from build/zig/build.sh rename to build/zig/build-0.9.sh index 375b21d3c..4b1982a8c 100755 --- a/build/zig/build.sh +++ b/build/zig/build-0.9.sh @@ -12,13 +12,16 @@ # http://www.illumos.org/license/CDDL. # }}} -# Copyright 2022 OmniOS Community Edition (OmniOSce) Association. +# Copyright 2023 OmniOS Community Edition (OmniOSce) Association. . ../../lib/build.sh PROG=zig VER=0.9.1 -PKG=ooce/developer/zig +MAJVER=${VER%%.*} +MINVER=${VER%.*} +MINVER=${MINVER#*.} +PKG=ooce/developer/zig-09 SUMMARY="$PROG programming language" DESC="$PROG is a general-purpose programming language and toolchain for " DESC+="maintaining robust, optimal, and reusable software." @@ -32,24 +35,45 @@ test_relver '<' 151041 && BASEPATH=$PATH set_gccver $DEFAULT_GCC_VER CLANGFVER=`pkg_ver clang build-$CLANGVER.sh` +set_patchdir patches-$MAJVER.$MINVER OPREFIX=$PREFIX -PREFIX+=/$PROG +PREFIX+=/$PROG-$MAJVER.$MINVER XFORM_ARGS=" -DOPREFIX=${OPREFIX#/} -DPREFIX=${PREFIX#/} -DPROG=$PROG - -DPKGROOT=$PROG + -DPKGROOT=$PROG-$MAJVER.$MINVER + -DMEDIATOR=$PROG -DMEDIATOR_VERSION=$MAJVER.$MINVER " +# +# CMAKE_BUILD_TYPE=RelWithDebInfo +# +# Keep debug info so symbols are available to the various +# debugging tools. +# +# ZIG_STATIC_LLVM=on +# +# Embed the LLVM toolchain in the zig executable. This is +# the preferred way to ship zig. +# +# ZIG_TARGET_MCPU=baseline +# +# Target the compiler to pentium4-era CPU features so it can +# work on the maximum set of hosts. This only effects the +# compiler executable, applications built with this compiler +# can set their own CPU features. +# CONFIGURE_OPTS[amd64]=" - -DCMAKE_BUILD_TYPE=Release + -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$PREFIX -DLLVM_INCLUDE_DIRS=$OPREFIX/llvm-$CLANGVER/include -DCLANG_INCLUDE_DIRS=$OPREFIX/llvm-$CLANGVER/include -DLLVM_LIBDIRS=$OPREFIX/llvm-$CLANGVER/lib -DCLANG_LIBDIRS=$OPREFIX/llvm-$CLANGVER/lib -DZIG_STATIC_LLVM=on + -DZIG_TARGET_MCPU="baseline" " init diff --git a/build/zig/local.mog b/build/zig/local.mog index 9fc6511e5..6d546e29e 100644 --- a/build/zig/local.mog +++ b/build/zig/local.mog @@ -13,6 +13,6 @@ license LICENSE license=MIT - - + + diff --git a/build/zig/patches-0.11/add-ca-certs.patch b/build/zig/patches-0.11/add-ca-certs.patch new file mode 100644 index 000000000..38fd116ae --- /dev/null +++ b/build/zig/patches-0.11/add-ca-certs.patch @@ -0,0 +1,28 @@ +diff --git a/lib/std/crypto/Certificate/Bundle.zig b/lib/std/crypto/Certificate/Bundle.zig +index 3e28d12d0..ad08f9ad1 100644 +--- a/lib/std/crypto/Certificate/Bundle.zig ++++ b/lib/std/crypto/Certificate/Bundle.zig +@@ -64,6 +64,7 @@ pub fn rescan(cb: *Bundle, gpa: Allocator) RescanError!void { + .netbsd => return rescanBSD(cb, gpa, "/etc/openssl/certs/ca-certificates.crt"), + .dragonfly => return rescanBSD(cb, gpa, "/usr/local/etc/ssl/cert.pem"), + .windows => return rescanWindows(cb, gpa), ++ .solaris => return rescanSolaris(cb, gpa, "/etc/ssl/cacert.pem"), + else => {}, + } + } +@@ -151,6 +152,15 @@ fn rescanWindows(cb: *Bundle, gpa: Allocator) RescanWindowsError!void { + cb.bytes.shrinkAndFree(gpa, cb.bytes.items.len); + } + ++const RescanSolarisError = AddCertsFromFilePathError; ++ ++fn rescanSolaris(cb: *Bundle, gpa: Allocator, cert_file_path: []const u8) RescanSolarisError!void { ++ cb.bytes.clearRetainingCapacity(); ++ cb.map.clearRetainingCapacity(); ++ try addCertsFromFilePathAbsolute(cb, gpa, cert_file_path); ++ cb.bytes.shrinkAndFree(gpa, cb.bytes.items.len); ++} ++ + pub const AddCertsFromDirPathError = fs.File.OpenError || AddCertsFromDirError; + + pub fn addCertsFromDirPath( diff --git a/build/zig/patches-0.11/add-reg-defs.patch b/build/zig/patches-0.11/add-reg-defs.patch new file mode 100644 index 000000000..9c56d4684 --- /dev/null +++ b/build/zig/patches-0.11/add-reg-defs.patch @@ -0,0 +1,42 @@ +diff --git a/lib/std/c/solaris.zig b/lib/std/c/solaris.zig +index 58d02416c..b7549e444 100644 +--- a/lib/std/c/solaris.zig ++++ b/lib/std/c/solaris.zig +@@ -1069,7 +1069,21 @@ pub const mcontext_t = extern struct { + }; + + pub const REG = struct { ++ pub const R15 = 0; ++ pub const R14 = 1; ++ pub const R13 = 2; ++ pub const R12 = 3; ++ pub const R11 = 4; ++ pub const R10 = 5; ++ pub const R9 = 6; ++ pub const R8 = 7; ++ pub const RDI = 8; ++ pub const RSI = 9; + pub const RBP = 10; ++ pub const RBX = 11; ++ pub const RDX = 12; ++ pub const RCX = 13; ++ pub const RAX = 14; + pub const RIP = 17; + pub const RSP = 20; + }; +diff --git a/lib/std/dwarf/abi.zig b/lib/std/dwarf/abi.zig +index 6fbd1fba4..3525b9cb4 100644 +--- a/lib/std/dwarf/abi.zig ++++ b/lib/std/dwarf/abi.zig +@@ -247,7 +247,10 @@ pub fn regBytes( + 14 => mem.asBytes(&ucontext_ptr.mcontext.gregs[os.REG.R14]), + 15 => mem.asBytes(&ucontext_ptr.mcontext.gregs[os.REG.R15]), + 16 => mem.asBytes(&ucontext_ptr.mcontext.gregs[os.REG.RIP]), +- 17...32 => |i| mem.asBytes(&ucontext_ptr.mcontext.fpregs.xmm[i - 17]), ++ 17...32 => |i| if (builtin.os.tag == .solaris) ++ mem.asBytes(&ucontext_ptr.mcontext.fpregs.chip_state.xmm[i - 17]) ++ else ++ mem.asBytes(&ucontext_ptr.mcontext.fpregs.xmm[i - 17]), + else => error.InvalidRegister, + }, + .freebsd => switch (reg_number) { diff --git a/build/zig/patches-0.11/hard-code-dynamic-linker.patch b/build/zig/patches-0.11/hard-code-dynamic-linker.patch new file mode 100644 index 000000000..ed26381ba --- /dev/null +++ b/build/zig/patches-0.11/hard-code-dynamic-linker.patch @@ -0,0 +1,47 @@ +diff --git a/lib/std/target.zig b/lib/std/target.zig +index c3d12b275..34e04f9aa 100644 +--- a/lib/std/target.zig ++++ b/lib/std/target.zig +@@ -523,7 +523,6 @@ pub const Target = struct { + .cloudabi, + .dragonfly, + .lv2, +- .solaris, + .zos, + .minix, + .rtems, +@@ -565,6 +564,7 @@ pub const Target = struct { + .watchos, + .driverkit, + .shadermodel, ++ .solaris, + => return .none, + } + } +@@ -1572,7 +1572,7 @@ pub const Target = struct { + .netbsd => return copy(&result, "/libexec/ld.elf_so"), + .openbsd => return copy(&result, "/usr/libexec/ld.so"), + .dragonfly => return copy(&result, "/libexec/ld-elf.so.2"), +- .solaris => return copy(&result, "/lib/64/ld.so.1"), ++ .solaris => return copy(&result, "/usr/lib/amd64/ld.so.1"), + .linux => switch (self.cpu.arch) { + .x86, + .sparc, +diff --git a/lib/std/zig/system/NativeTargetInfo.zig b/lib/std/zig/system/NativeTargetInfo.zig +index 97e9c31db..e87702ee2 100644 +--- a/lib/std/zig/system/NativeTargetInfo.zig ++++ b/lib/std/zig/system/NativeTargetInfo.zig +@@ -257,10 +257,12 @@ fn detectAbiAndDynamicLinker( + ) DetectError!NativeTargetInfo { + const native_target_has_ld = comptime builtin.target.hasDynamicLinker(); + const is_linux = builtin.target.os.tag == .linux; ++ const is_solaris = builtin.target.os.tag == .solaris; + const have_all_info = cross_target.dynamic_linker.get() != null and + cross_target.abi != null and (!is_linux or cross_target.abi.?.isGnu()); + const os_is_non_native = cross_target.os_tag != null; +- if (!native_target_has_ld or have_all_info or os_is_non_native) { ++ // The Solaris/illumos environment is always the same. ++ if (!native_target_has_ld or have_all_info or os_is_non_native or is_solaris) { + return defaultAbiAndDynamicLinker(cpu, os, cross_target); + } + if (cross_target.abi) |abi| { diff --git a/build/zig/patches-0.11/keep-frame-pointers.patch b/build/zig/patches-0.11/keep-frame-pointers.patch new file mode 100644 index 000000000..563c06f86 --- /dev/null +++ b/build/zig/patches-0.11/keep-frame-pointers.patch @@ -0,0 +1,16 @@ +diff --git a/build.zig b/build.zig +index 87da0e695..e1bdc45ca 100644 +--- a/build.zig ++++ b/build.zig +@@ -197,6 +197,11 @@ pub fn build(b: *std.Build) !void { + exe.sanitize_thread = sanitize_thread; + exe.entitlements = entitlements; + ++ // ++ // We prefer to have the frame pointer in illumos. ++ // ++ exe.omit_frame_pointer = false; ++ + exe.build_id = b.option( + std.Build.Step.Compile.BuildId, + "build-id", diff --git a/build/zig/patches-0.11/link-libstdc++.patch b/build/zig/patches-0.11/link-libstdc++.patch new file mode 100644 index 000000000..6f1357657 --- /dev/null +++ b/build/zig/patches-0.11/link-libstdc++.patch @@ -0,0 +1,15 @@ +diff --git a/build.zig b/build.zig +index cb62d64da..87da0e695 100644 +--- a/build.zig ++++ b/build.zig +@@ -666,6 +666,10 @@ fn addCmakeCfgOptionsToExe( + try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); + } + }, ++ .solaris => { ++ 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); ++ }, + else => {}, + } + } diff --git a/build/zig/patches-0.11/max-component-len.patch b/build/zig/patches-0.11/max-component-len.patch new file mode 100644 index 000000000..21f7412fe --- /dev/null +++ b/build/zig/patches-0.11/max-component-len.patch @@ -0,0 +1,28 @@ +diff --git a/lib/std/c/solaris.zig b/lib/std/c/solaris.zig +index b7549e444..3ec8c3aa9 100644 +--- a/lib/std/c/solaris.zig ++++ b/lib/std/c/solaris.zig +@@ -498,6 +498,7 @@ pub const NI = struct { + pub const MAXSERV = 32; + }; + ++pub const NAME_MAX = 255; + pub const PATH_MAX = 1024; + pub const IOV_MAX = 1024; + +diff --git a/lib/std/fs.zig b/lib/std/fs.zig +index e5c2d67d6..2b5392762 100644 +--- a/lib/std/fs.zig ++++ b/lib/std/fs.zig +@@ -59,10 +59,9 @@ pub const MAX_PATH_BYTES = switch (builtin.os.tag) { + /// (depending on the platform) this assumption may not hold for every configuration. + /// The byte count does not include a null sentinel byte. + pub const MAX_NAME_BYTES = switch (builtin.os.tag) { +- .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly => os.NAME_MAX, ++ .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .solaris => os.NAME_MAX, + // Haiku's NAME_MAX includes the null terminator, so subtract one. + .haiku => os.NAME_MAX - 1, +- .solaris => os.system.MAXNAMLEN, + // Each UTF-16LE character may be expanded to 3 UTF-8 bytes. + // If it would require 4 UTF-8 bytes, then there would be a surrogate + // pair in the UTF-16LE, and we (over)account 3 bytes for it that way. diff --git a/build/zig/patches-0.11/native-libc-paths.patch b/build/zig/patches-0.11/native-libc-paths.patch new file mode 100644 index 000000000..929c6c3a9 --- /dev/null +++ b/build/zig/patches-0.11/native-libc-paths.patch @@ -0,0 +1,22 @@ +diff --git a/src/libc_installation.zig b/src/libc_installation.zig +index 2d42a03a3..a01bc4f33 100644 +--- a/src/libc_installation.zig ++++ b/src/libc_installation.zig +@@ -213,11 +213,16 @@ pub const LibCInstallation = struct { + try self.findNativeIncludeDirPosix(args); + try self.findNativeCrtBeginDirHaiku(args); + self.crt_dir = try args.allocator.dupeZ(u8, "/system/develop/lib"); ++ } else if (builtin.target.os.tag == .solaris) { ++ // There is only one libc in illumos, and its headers and ++ // libraries are always in the same spot. ++ self.include_dir = try args.allocator.dupeZ(u8, "/usr/include"); ++ self.sys_include_dir = try args.allocator.dupeZ(u8, "/usr/include"); ++ self.crt_dir = try args.allocator.dupeZ(u8, "/usr/lib/64"); + } else if (std.process.can_spawn) { + try self.findNativeIncludeDirPosix(args); + switch (builtin.target.os.tag) { + .freebsd, .netbsd, .openbsd, .dragonfly => self.crt_dir = try args.allocator.dupeZ(u8, "/usr/lib"), +- .solaris => self.crt_dir = try args.allocator.dupeZ(u8, "/usr/lib/64"), + .linux => try self.findNativeCrtDirPosix(args), + else => {}, + } diff --git a/build/zig/patches-0.11/no-ld-stack-size.patch b/build/zig/patches-0.11/no-ld-stack-size.patch new file mode 100644 index 000000000..2514e0f06 --- /dev/null +++ b/build/zig/patches-0.11/no-ld-stack-size.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 92be8fbfe..9aa1c8c87 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -735,6 +735,9 @@ else() + set(ZIG2_LINK_FLAGS "-Wl,-stack_size,0x10000000") + elseif(MINGW) + set(ZIG2_LINK_FLAGS "-Wl,--stack,0x10000000") ++ # Solaris/illumos ld(1) does not provide a --stack-size option. ++ elseif(CMAKE_HOST_SOLARIS) ++ unset(ZIG2_LINK_FLAGS) + else() + set(ZIG2_LINK_FLAGS "-Wl,-z,stack-size=0x10000000") + endif() +@@ -807,7 +810,7 @@ add_custom_command( + add_executable(zig2 ${ZIG2_C_SOURCE} ${ZIG_COMPILER_RT_C_SOURCE}) + set_target_properties(zig2 PROPERTIES + COMPILE_FLAGS ${ZIG2_COMPILE_FLAGS} +- LINK_FLAGS ${ZIG2_LINK_FLAGS} ++ LINK_FLAGS "${ZIG2_LINK_FLAGS}" + ) + target_include_directories(zig2 PUBLIC "${CMAKE_SOURCE_DIR}/stage1") + target_link_libraries(zig2 LINK_PUBLIC zigcpp) diff --git a/build/zig/patches-0.11/override-target-stage-3.patch b/build/zig/patches-0.11/override-target-stage-3.patch new file mode 100644 index 000000000..ec6614c63 --- /dev/null +++ b/build/zig/patches-0.11/override-target-stage-3.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9aa1c8c87..30ec5fb13 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -117,6 +117,10 @@ else() + set(ZIG_USE_LLVM_CONFIG OFF CACHE BOOL "use llvm-config to find LLVM libraries") + endif() + ++set(ZIG_TARGET_TRIPLE "x86_64-solaris") ++set(ZIG_USE_LLVM_CONFIG ON) ++ ++ + if(ZIG_AR_WORKAROUND) + string(REPLACE "" " ar" CMAKE_C_ARCHIVE_CREATE ${CMAKE_C_ARCHIVE_CREATE}) + string(REPLACE "" " ar" CMAKE_CXX_ARCHIVE_CREATE ${CMAKE_CXX_ARCHIVE_CREATE}) diff --git a/build/zig/patches-0.11/series b/build/zig/patches-0.11/series new file mode 100644 index 000000000..fe3525b22 --- /dev/null +++ b/build/zig/patches-0.11/series @@ -0,0 +1,9 @@ +no-ld-stack-size.patch +add-reg-defs.patch +verbose-link.patch +link-libstdc++.patch +native-libc-paths.patch +max-component-len.patch +add-ca-certs.patch +hard-code-dynamic-linker.patch +keep-frame-pointers.patch diff --git a/build/zig/patches-0.11/verbose-link.patch b/build/zig/patches-0.11/verbose-link.patch new file mode 100644 index 000000000..71de653db --- /dev/null +++ b/build/zig/patches-0.11/verbose-link.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 30ec5fb13..995cf1323 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -886,6 +886,10 @@ set(ZIG_BUILD_ARGS + "-Dversion-string=${RESOLVED_ZIG_VERSION}" + ) + ++if(ZIG_BUILD_VERBOSE_LINK) ++ list(APPEND ZIG_BUILD_ARGS "--verbose-link") ++endif() ++ + add_custom_target(stage3 ALL + DEPENDS "${CMAKE_BINARY_DIR}/stage3/bin/zig" + ) diff --git a/doc/baseline b/doc/baseline index a1e74dd99..1471b566c 100644 --- a/doc/baseline +++ b/doc/baseline @@ -102,7 +102,9 @@ extra.omnios ooce/developer/rust extra.omnios ooce/developer/subversion extra.omnios ooce/developer/valgrind extra.omnios ooce/developer/yasm -extra.omnios ooce/developer/zig +extra.omnios ooce/developer/zig r +extra.omnios ooce/developer/zig-09 +extra.omnios ooce/developer/zig-011 extra.omnios ooce/driver/fuse extra.omnios ooce/editor/emacs extra.omnios ooce/editor/helix diff --git a/doc/packages.md b/doc/packages.md index 1d28cfc3e..8a568e27c 100644 --- a/doc/packages.md +++ b/doc/packages.md @@ -76,7 +76,8 @@ | ooce/developer/subversion | 1.14.2 | https://downloads.apache.org/subversion/ | [omniosorg](https://github.com/omniosorg) | ooce/developer/valgrind | 3.21.0 | https://valgrind.org/downloads/current.html | [omniosorg](https://github.com/omniosorg) | ooce/developer/yasm | 1.3.0 | https://github.com/yasm/yasm/releases https://yasm.tortall.net/ | [omniosorg](https://github.com/omniosorg) -| ooce/developer/zig | 0.9.1 | https://ziglang.org/download/index.json https://ziglang.org/download/ | [omniosorg](https://github.com/omniosorg) +| ooce/developer/zig-09 | 0.9.1 | https://ziglang.org/download/index.json https://ziglang.org/download/ | [omniosorg](https://github.com/omniosorg) +| ooce/developer/zig-011 | 0.11.0 | https://ziglang.org/download/index.json https://ziglang.org/download/ | [omniosorg](https://github.com/omniosorg) | ooce/driver/fuse | 1.4 | https://github.com/jurikm/illumos-fusefs/tags | [omniosorg](https://github.com/omniosorg) | ooce/editor/emacs | 29.1 | https://ftp.gnu.org/gnu/emacs/ https://www.gnu.org/savannah-checkouts/gnu/emacs/emacs.html#Releases | [omniosorg](https://github.com/omniosorg) | ooce/editor/helix | 22.12 | https://github.com/helix-editor/helix/releases| [omniosorg](https://github.com/omniosorg)