# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= zig VERSION= 0.12.0 KEYWORDS= devel lang VARIANTS= standard SDESC[standard]= Programming language HOMEPAGE= https://ziglang.org/ CONTACT= Tse_[tse@tse.gratis] DOWNLOAD_GROUPS= main SITES[main]= GITHUB/ziglang:zig:0.12.0 DISTFILE[1]= generated:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BROKEN[netbsd]= The .build/zig2 build-exe command fails BROKEN[midnightbsd]= error: UnknownOperatingSystem ONLY_FOR_OPSYS= freebsd dragonfly netbsd linux midnightbsd BUILD_DEPENDS= clang17:compiler:standard lld17:dev:standard lld17:primary:standard llvm17:tools:standard llvm17:dev:standard BUILDRUN_DEPENDS= clang17:dynlibs:standard USES= cmake ncurses execinfo zlib GNOME_COMPONENTS= libxml2 LICENSE= MIT:single LICENSE_FILE= MIT:{{WRKSRC}}/LICENSE LICENSE_SCHEME= solo FPC_EQUIVALENT= lang/zig INSTALL_REQ_TOOLCHAIN= yes VAR_OPSYS[midnightbsd]= MAKEFILE_LINE=CONFIGURE_TARGET=x86_64-raven-freebsd12.3 post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/zig # remove empty directories ${FIND} ${STAGEDIR}${PREFIX}/lib -type d -empty -delete # remove licenses out of place ${RM} ${STAGEDIR}${PREFIX}/lib/zig/*/LICENSE.TXT ${RM} ${STAGEDIR}${PREFIX}/lib/zig/libc/glibc/LICENSES # automatic plist for much of the manifest (influenced by clang) @(cd ${STAGEDIR}${PREFIX} && ${FIND} \ lib/zig/compiler_rt \ lib/zig/include \ lib/zig/libc \ lib/zig/libcxx \ lib/zig/libcxxabi \ lib/zig/std \ lib/zig/tsan \ \( -type f -o -type l \) 2>/dev/null | ${SORT}) \ >> ${WRKDIR}/.manifest.single.mktmp pre-configure: ${REINPLACE_CMD} \ -e 's|@GCC_TARGET_LIBDIR@|${LOCALBASE}/toolchain/ravensys-gcc/${ASLIB}/gcc/${CONFIGURE_TARGET}/13.2.0|' \ ${WRKSRC}/src/link/Elf.zig ${REINPLACE_CMD} \ -e 's|@GCC_TARGET_LIBDIR@|${LOCALBASE}/toolchain/ravensys-gcc/${ASLIB}/gcc/${CONFIGURE_TARGET}/13.2.0|' \ -e 's|@GCC_LIBDIR@|${LOCALBASE}/toolchain/ravensys-gcc/${ASLIB}|' \ -e 's|@LOCALBASE@|${LOCALBASE}|' \ ${WRKSRC}/build.zig ${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' \ ${WRKSRC}/cmake/Findclang.cmake \ ${WRKSRC}/cmake/Findllvm.cmake \ ${WRKSRC}/cmake/Findlld.cmake ${FIND} ${WRKSRC} -name "*.orig" -delete [FILE:94:descriptions/desc.single] General purpose programming language designed for robustness, optimality, and maintainability [FILE:104:distinfo] 57d7e0ad565ef734d9f3fe8cff7a815f2ab012ec3d8e155a316dfc79f789c432 26431150 ziglang-zig-0.12.0.tar.gz [FILE:2711:manifests/plist.single] @comment lib/zig autolist: compiler_rt, include, libc, libcxx, libcxxabi, std, tsan lib/zig/compiler/aro/ aro.zig lib/zig/compiler/aro/aro/ Attribute.zig lib/zig/compiler/aro/aro/Attribute/names.zig Builtins.zig lib/zig/compiler/aro/aro/Builtins/ Builtin.zig Properties.zig TypeDescription.zig lib/zig/compiler/aro/aro/ CodeGen.zig Compilation.zig Diagnostics.zig lib/zig/compiler/aro/aro/Diagnostics/messages.zig Driver.zig lib/zig/compiler/aro/aro/Driver/ Distro.zig Filesystem.zig GCCDetector.zig GCCVersion.zig Multilib.zig lib/zig/compiler/aro/aro/ Hideset.zig InitList.zig LangOpts.zig Parser.zig Pragma.zig Preprocessor.zig Source.zig StringInterner.zig SymbolStack.zig Tokenizer.zig Toolchain.zig Tree.zig lib/zig/compiler/aro/aro/Tree/number_affixes.zig Type.zig Value.zig char_info.zig lib/zig/compiler/aro/aro/char_info/identifier_tables.zig features.zig lib/zig/compiler/aro/aro/pragmas/ gcc.zig message.zig once.zig pack.zig lib/zig/compiler/aro/aro/ record_layout.zig target.zig text_literal.zig lib/zig/compiler/aro/aro/toolchains/Linux.zig tracy.zig lib/zig/compiler/aro/ backend.zig lib/zig/compiler/aro/backend/ Interner.zig Ir.zig lib/zig/compiler/aro/backend/Ir/x86/Renderer.zig Object.zig lib/zig/compiler/aro/backend/Object/Elf.zig lib/zig/compiler/ aro_translate_c.zig lib/zig/compiler/aro_translate_c/ast.zig build_runner.zig fmt.zig libc.zig objcopy.zig reduce.zig lib/zig/compiler/reduce/Walk.zig lib/zig/compiler/resinator/ ani.zig ast.zig bmp.zig cli.zig code_pages.zig comments.zig compile.zig errors.zig ico.zig lang.zig lex.zig literals.zig main.zig parse.zig preprocess.zig rc.zig res.zig source_mapping.zig utils.zig windows1252.zig lib/zig/compiler/ std-docs.zig test_runner.zig lib/zig/docs/wasm/ Decl.zig Walk.zig main.zig markdown.zig lib/zig/docs/wasm/markdown/ Document.zig Parser.zig renderer.zig lib/zig/init/ build.zig build.zig.zon lib/zig/init/src/ main.zig root.zig bin/zig lib/zig/ c.zig compiler_rt.zig zig.h lib/zig/docs/ index.html main.js lib/zig/libunwind/include/ __libunwind_config.h libunwind.h unwind.h unwind_arm_ehabi.h unwind_itanium.h lib/zig/libunwind/include/mach-o/compact_unwind_encoding.h lib/zig/libunwind/src/ AddressSpace.hpp CompactUnwinder.hpp DwarfInstructions.hpp DwarfParser.hpp EHHeaderParser.hpp FrameHeaderCache.hpp RWMutex.hpp Registers.hpp Unwind-EHABI.cpp Unwind-EHABI.h Unwind-seh.cpp Unwind-sjlj.c UnwindCursor.hpp UnwindLevel1-gcc-ext.c UnwindLevel1.c UnwindRegistersRestore.S UnwindRegistersSave.S Unwind_AIXExtras.cpp assembly.h cet_unwind.h config.h dwarf2.h gcc_personality_v0.c libunwind.cpp libunwind_ext.h [FILE:261:patches/patch-CMakeLists.txt] --- CMakeLists.txt.orig 2024-04-19 21:00:35 UTC +++ CMakeLists.txt @@ -926,6 +926,7 @@ set(ZIG_BUILD_ARGS "-Dcpu=${ZIG_TARGET_MCPU}" ${ZIG_DYNAMIC_LINKER_ARG} "-Dversion-string=${RESOLVED_ZIG_VERSION}" + "--verbose" ) add_custom_target(stage3 ALL [FILE:1901:patches/patch-build.zig] --- build.zig.orig 2024-04-19 21:00:35 UTC +++ build.zig @@ -723,25 +723,14 @@ fn addCmakeCfgOptionsToExe( .windows => { if (exe.rootModuleTarget().abi != .msvc) exe.linkLibCpp(); }, - .freebsd => { - if (static) { - try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); - try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes); - } else { - try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); - } - }, .openbsd => { try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes); try addCxxKnownPath(b, cfg, exe, b.fmt("libc++abi.{s}", .{lib_suffix}), null, need_cpp_includes); }, - .netbsd, .dragonfly => { - if (static) { - 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 { - try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); - } + .netbsd, .dragonfly, .freebsd => { + exe.addObjectFile(.{ .cwd_relative = "@GCC_LIBDIR@/libstdc++.a" }); + exe.addObjectFile(.{ .cwd_relative = "@GCC_TARGET_LIBDIR@/libgcc_eh.a" }); + exe.addRPath(.{ .cwd_relative = "@LOCALBASE@/lib" }); }, .solaris, .illumos => { try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes); [FILE:424:patches/patch-lib_tsan_sanitizer__common_sanitizer__freebsd.h] --- lib/tsan/sanitizer_common/sanitizer_freebsd.h.orig 2024-04-19 21:00:35 UTC +++ lib/tsan/sanitizer_common/sanitizer_freebsd.h @@ -19,8 +19,7 @@ // x86-64 FreeBSD 9.2 and older define 'ucontext_t' incorrectly in // 32-bit mode. #if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) -#include -#if __FreeBSD_version <= 902001 // v9.2 +#if 0 #include #include #include [FILE:444:patches/patch-lib_tsan_sanitizer__common_sanitizer__linux.cpp] --- lib/tsan/sanitizer_common/sanitizer_linux.cpp.orig 2024-04-19 21:00:35 UTC +++ lib/tsan/sanitizer_common/sanitizer_linux.cpp @@ -148,7 +148,7 @@ const int FUTEX_WAKE_PRIVATE = FUTEX_WAK # define SANITIZER_USE_GETRANDOM 0 #endif // SANITIZER_LINUX && defined(__NR_getrandom) -#if SANITIZER_FREEBSD && __FreeBSD_version >= 1200000 +#if SANITIZER_FREEBSD # define SANITIZER_USE_GETENTROPY 1 #else # define SANITIZER_USE_GETENTROPY 0 [FILE:467:patches/patch-lib_tsan_sanitizer__common_sanitizer__linux__libcdep.cpp] --- lib/tsan/sanitizer_common/sanitizer_linux_libcdep.cpp.orig 2024-04-19 21:00:35 UTC +++ lib/tsan/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -628,7 +628,7 @@ void GetThreadStackAndTls(bool main, upt #if !SANITIZER_FREEBSD typedef ElfW(Phdr) Elf_Phdr; -#elif SANITIZER_WORDSIZE == 32 && __FreeBSD_version <= 902001 // v9.2 +#elif 0 #define Elf_Phdr XElf32_Phdr #define dl_phdr_info xdl_phdr_info #define dl_iterate_phdr(c, b) xdl_iterate_phdr((c), (b)) [FILE:461:patches/patch-lib_tsan_sanitizer__common_sanitizer__procmaps__bsd.cpp] --- lib/tsan/sanitizer_common/sanitizer_procmaps_bsd.cpp.orig 2024-04-19 21:00:35 UTC +++ lib/tsan/sanitizer_common/sanitizer_procmaps_bsd.cpp @@ -29,13 +29,6 @@ #include -// Fix 'kinfo_vmentry' definition on FreeBSD prior v9.2 in 32-bit mode. -#if SANITIZER_FREEBSD && (SANITIZER_WORDSIZE == 32) -#include -#if __FreeBSD_version <= 902001 // v9.2 -#define kinfo_vmentry xkinfo_vmentry -#endif -#endif namespace __sanitizer { [FILE:2376:patches/patch-src_link_Elf.zig] --- src/link/Elf.zig.orig 2024-04-19 21:00:35 UTC +++ src/link/Elf.zig @@ -5187,19 +5187,22 @@ const CsuObjects = struct { const crt_dir_path = lci.crt_dir orelse return error.LibCInstallationMissingCRTDir; switch (target.os.tag) { .dragonfly => { + const gcc_dir_path = "@GCC_TARGET_LIBDIR@"; if (result.crt0) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, obj.* }); if (result.crti) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, obj.* }); if (result.crtn) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, obj.* }); - var gccv: []const u8 = undefined; - if (target.os.version_range.semver.isAtLeast(.{ .major = 5, .minor = 4, .patch = 0 }) orelse true) { - gccv = "gcc80"; - } else { - gccv = "gcc54"; - } + if (result.crtbegin) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ gcc_dir_path, obj.* }); + if (result.crtend) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ gcc_dir_path, obj.* }); + }, + .freebsd => { + const gcc_dir_path = "@GCC_TARGET_LIBDIR@"; + if (result.crt0) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, obj.* }); + if (result.crti) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, obj.* }); + if (result.crtn) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, obj.* }); - if (result.crtbegin) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, gccv, obj.* }); - if (result.crtend) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ crt_dir_path, gccv, obj.* }); + if (result.crtbegin) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ gcc_dir_path, obj.* }); + if (result.crtend) |*obj| obj.* = try fs.path.join(arena, &[_][]const u8{ gcc_dir_path, obj.* }); }, .haiku => { const gcc_dir_path = lci.gcc_dir orelse return error.LibCInstallationMissingCRTDir; [FILE:474:patches/patch-src_target.zig] --- src/target.zig.orig 2024-04-19 21:00:35 UTC +++ src/target.zig @@ -288,7 +288,7 @@ pub fn libcFullLinkFlags(target: std.Tar // The linking order of these is significant and should match the order other // c compilers such as gcc or clang use. return switch (target.os.tag) { - .netbsd, .openbsd => &[_][]const u8{ + .netbsd, .openbsd, .freebsd, .dragonfly => &[_][]const u8{ "-lm", "-lpthread", "-lc",