diff --git a/0001-remove-native-lib-directories-from-rpath.patch b/0001-remove-native-lib-directories-from-rpath.patch index 24db582..68d498b 100644 --- a/0001-remove-native-lib-directories-from-rpath.patch +++ b/0001-remove-native-lib-directories-from-rpath.patch @@ -1,6 +1,6 @@ -From a865b3569ace118cc1c1cd8d5d130ec316b0307d Mon Sep 17 00:00:00 2001 +From 776181c3f8b3d3e34758f376979eb11acd3317e6 Mon Sep 17 00:00:00 2001 From: Jan200101 -Date: Tue, 14 Apr 2026 19:04:40 +0200 +Date: Tue, 11 Jun 2024 13:35:37 +0200 Subject: [PATCH 1/2] remove native lib directories from rpath Signed-off-by: Jan200101 @@ -9,13 +9,13 @@ Signed-off-by: Jan200101 1 file changed, 9 insertions(+) diff --git a/src/main.zig b/src/main.zig -index 0395a21a5f..86b6d9f86b 100644 +index 036adbf852..8410c05576 100644 --- a/src/main.zig +++ b/src/main.zig -@@ -4102,6 +4102,15 @@ fn createModule( +@@ -3945,6 +3945,15 @@ fn createModule( try create_module.lib_directories.ensureUnusedCapacity(arena, paths.lib_dirs.items.len); - for (paths.lib_dirs.items) |path| addLibDirectoryWarn2(io, &create_module.lib_directories, path, true); + for (paths.lib_dirs.items) |path| addLibDirectoryWarn2(&create_module.lib_directories, path, true); + + for (paths.lib_dirs.items) |native_lib_dir| { + for (0.., create_module.rpath_list.items) |i, rpath_dir| { @@ -29,5 +29,5 @@ index 0395a21a5f..86b6d9f86b 100644 if (create_module.libc_paths_file) |paths_file| { -- -2.53.0 +2.52.0 diff --git a/0002-Remove-unsupported-LLVM-targets-for-EPEL.patch b/0002-Remove-unsupported-LLVM-targets-for-EPEL.patch index a8b942f..1ce06be 100644 --- a/0002-Remove-unsupported-LLVM-targets-for-EPEL.patch +++ b/0002-Remove-unsupported-LLVM-targets-for-EPEL.patch @@ -1,6 +1,6 @@ -From 803935baf6a4730426afbb746adfd00c0ffc0f39 Mon Sep 17 00:00:00 2001 +From ab92fe5f0be7a49fa2c97957bebf6278a1b69aaf Mon Sep 17 00:00:00 2001 From: Jan200101 -Date: Tue, 14 Apr 2026 19:20:26 +0200 +Date: Sun, 4 Jan 2026 12:41:39 +0100 Subject: [PATCH 2/2] Remove unsupported LLVM targets for RHEL LLVM for RHEL is only build with a subset of targets @@ -16,130 +16,130 @@ Signed-off-by: Jan200101 3 files changed, 45 insertions(+), 97 deletions(-) diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake -index 0c08d4f0ac..ed4da12044 100644 +index 5ff5de869c..5430ef9d59 100644 --- a/cmake/Findllvm.cmake +++ b/cmake/Findllvm.cmake @@ -83,7 +83,7 @@ if(ZIG_USE_LLVM_CONFIG) OUTPUT_STRIP_TRAILING_WHITESPACE) string(REPLACE " " ";" LLVM_TARGETS_BUILT "${LLVM_TARGETS_BUILT_SPACES}") -- set(ZIG_LLVM_REQUIRED_TARGETS "AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;LoongArch;Mips;MSP430;NVPTX;PowerPC;RISCV;SPIRV;Sparc;SystemZ;VE;WebAssembly;X86;XCore") +- set(ZIG_LLVM_REQUIRED_TARGETS "AArch64;AMDGPU;ARM;AVR;BPF;Hexagon;Lanai;Mips;MSP430;NVPTX;PowerPC;RISCV;Sparc;SystemZ;VE;WebAssembly;X86;XCore") + set(ZIG_LLVM_REQUIRED_TARGETS "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;BPF;WebAssembly;RISCV") set(ZIG_LLVM_REQUIRED_TARGETS_ENABLED TRUE) foreach(TARGET_NAME IN LISTS ZIG_LLVM_REQUIRED_TARGETS) diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig -index 1ba3b272da..1ac1f6adc8 100644 +index bd2c7bd022..a98fbab47e 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig -@@ -4736,20 +4736,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { - bindings.LLVMInitializeAMDGPUAsmPrinter(); - bindings.LLVMInitializeAMDGPUAsmParser(); +@@ -13016,20 +13016,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + llvm.LLVMInitializeAMDGPUAsmPrinter(); + llvm.LLVMInitializeAMDGPUAsmParser(); }, - .thumb, .thumbeb, .arm, .armeb => { -- bindings.LLVMInitializeARMTarget(); -- bindings.LLVMInitializeARMTargetInfo(); -- bindings.LLVMInitializeARMTargetMC(); -- bindings.LLVMInitializeARMAsmPrinter(); -- bindings.LLVMInitializeARMAsmParser(); +- llvm.LLVMInitializeARMTarget(); +- llvm.LLVMInitializeARMTargetInfo(); +- llvm.LLVMInitializeARMTargetMC(); +- llvm.LLVMInitializeARMAsmPrinter(); +- llvm.LLVMInitializeARMAsmParser(); - }, - .avr => { -- bindings.LLVMInitializeAVRTarget(); -- bindings.LLVMInitializeAVRTargetInfo(); -- bindings.LLVMInitializeAVRTargetMC(); -- bindings.LLVMInitializeAVRAsmPrinter(); -- bindings.LLVMInitializeAVRAsmParser(); +- llvm.LLVMInitializeAVRTarget(); +- llvm.LLVMInitializeAVRTargetInfo(); +- llvm.LLVMInitializeAVRTargetMC(); +- llvm.LLVMInitializeAVRAsmPrinter(); +- llvm.LLVMInitializeAVRAsmParser(); - }, .bpfel, .bpfeb => { - bindings.LLVMInitializeBPFTarget(); - bindings.LLVMInitializeBPFTargetInfo(); -@@ -4757,34 +4743,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { - bindings.LLVMInitializeBPFAsmPrinter(); - bindings.LLVMInitializeBPFAsmParser(); + llvm.LLVMInitializeBPFTarget(); + llvm.LLVMInitializeBPFTargetInfo(); +@@ -13037,34 +13023,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + llvm.LLVMInitializeBPFAsmPrinter(); + llvm.LLVMInitializeBPFAsmParser(); }, - .hexagon => { -- bindings.LLVMInitializeHexagonTarget(); -- bindings.LLVMInitializeHexagonTargetInfo(); -- bindings.LLVMInitializeHexagonTargetMC(); -- bindings.LLVMInitializeHexagonAsmPrinter(); -- bindings.LLVMInitializeHexagonAsmParser(); +- llvm.LLVMInitializeHexagonTarget(); +- llvm.LLVMInitializeHexagonTargetInfo(); +- llvm.LLVMInitializeHexagonTargetMC(); +- llvm.LLVMInitializeHexagonAsmPrinter(); +- llvm.LLVMInitializeHexagonAsmParser(); - }, - .lanai => { -- bindings.LLVMInitializeLanaiTarget(); -- bindings.LLVMInitializeLanaiTargetInfo(); -- bindings.LLVMInitializeLanaiTargetMC(); -- bindings.LLVMInitializeLanaiAsmPrinter(); -- bindings.LLVMInitializeLanaiAsmParser(); +- llvm.LLVMInitializeLanaiTarget(); +- llvm.LLVMInitializeLanaiTargetInfo(); +- llvm.LLVMInitializeLanaiTargetMC(); +- llvm.LLVMInitializeLanaiAsmPrinter(); +- llvm.LLVMInitializeLanaiAsmParser(); - }, - .mips, .mipsel, .mips64, .mips64el => { -- bindings.LLVMInitializeMipsTarget(); -- bindings.LLVMInitializeMipsTargetInfo(); -- bindings.LLVMInitializeMipsTargetMC(); -- bindings.LLVMInitializeMipsAsmPrinter(); -- bindings.LLVMInitializeMipsAsmParser(); +- llvm.LLVMInitializeMipsTarget(); +- llvm.LLVMInitializeMipsTargetInfo(); +- llvm.LLVMInitializeMipsTargetMC(); +- llvm.LLVMInitializeMipsAsmPrinter(); +- llvm.LLVMInitializeMipsAsmParser(); - }, - .msp430 => { -- bindings.LLVMInitializeMSP430Target(); -- bindings.LLVMInitializeMSP430TargetInfo(); -- bindings.LLVMInitializeMSP430TargetMC(); -- bindings.LLVMInitializeMSP430AsmPrinter(); -- bindings.LLVMInitializeMSP430AsmParser(); +- llvm.LLVMInitializeMSP430Target(); +- llvm.LLVMInitializeMSP430TargetInfo(); +- llvm.LLVMInitializeMSP430TargetMC(); +- llvm.LLVMInitializeMSP430AsmPrinter(); +- llvm.LLVMInitializeMSP430AsmParser(); - }, .nvptx, .nvptx64 => { - bindings.LLVMInitializeNVPTXTarget(); - bindings.LLVMInitializeNVPTXTargetInfo(); -@@ -4806,13 +4764,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { - bindings.LLVMInitializeRISCVAsmPrinter(); - bindings.LLVMInitializeRISCVAsmParser(); + llvm.LLVMInitializeNVPTXTarget(); + llvm.LLVMInitializeNVPTXTargetInfo(); +@@ -13086,13 +13044,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + llvm.LLVMInitializeRISCVAsmPrinter(); + llvm.LLVMInitializeRISCVAsmParser(); }, - .sparc, .sparc64 => { -- bindings.LLVMInitializeSparcTarget(); -- bindings.LLVMInitializeSparcTargetInfo(); -- bindings.LLVMInitializeSparcTargetMC(); -- bindings.LLVMInitializeSparcAsmPrinter(); -- bindings.LLVMInitializeSparcAsmParser(); +- llvm.LLVMInitializeSparcTarget(); +- llvm.LLVMInitializeSparcTargetInfo(); +- llvm.LLVMInitializeSparcTargetMC(); +- llvm.LLVMInitializeSparcAsmPrinter(); +- llvm.LLVMInitializeSparcAsmParser(); - }, .s390x => { - bindings.LLVMInitializeSystemZTarget(); - bindings.LLVMInitializeSystemZTargetInfo(); -@@ -4843,13 +4794,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { - bindings.LLVMInitializeXtensaAsmParser(); + llvm.LLVMInitializeSystemZTarget(); + llvm.LLVMInitializeSystemZTargetInfo(); +@@ -13123,13 +13074,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + llvm.LLVMInitializeXtensaAsmParser(); } }, - .xcore => { -- bindings.LLVMInitializeXCoreTarget(); -- bindings.LLVMInitializeXCoreTargetInfo(); -- bindings.LLVMInitializeXCoreTargetMC(); -- bindings.LLVMInitializeXCoreAsmPrinter(); +- llvm.LLVMInitializeXCoreTarget(); +- llvm.LLVMInitializeXCoreTargetInfo(); +- llvm.LLVMInitializeXCoreTargetMC(); +- llvm.LLVMInitializeXCoreAsmPrinter(); - // There is no LLVMInitializeXCoreAsmParser function. - }, .m68k => { if (build_options.llvm_has_m68k) { - bindings.LLVMInitializeM68kTarget(); -@@ -4868,13 +4812,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { - bindings.LLVMInitializeCSKYAsmParser(); + llvm.LLVMInitializeM68kTarget(); +@@ -13148,13 +13092,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + llvm.LLVMInitializeCSKYAsmParser(); } }, - .ve => { -- bindings.LLVMInitializeVETarget(); -- bindings.LLVMInitializeVETargetInfo(); -- bindings.LLVMInitializeVETargetMC(); -- bindings.LLVMInitializeVEAsmPrinter(); -- bindings.LLVMInitializeVEAsmParser(); +- llvm.LLVMInitializeVETarget(); +- llvm.LLVMInitializeVETargetInfo(); +- llvm.LLVMInitializeVETargetMC(); +- llvm.LLVMInitializeVEAsmPrinter(); +- llvm.LLVMInitializeVEAsmParser(); - }, .arc => { if (build_options.llvm_has_arc) { - bindings.LLVMInitializeARCTarget(); -@@ -4884,21 +4821,29 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { + llvm.LLVMInitializeARCTarget(); +@@ -13164,21 +13101,29 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void { // There is no LLVMInitializeARCAsmParser function. } }, - .loongarch32, .loongarch64 => { -- bindings.LLVMInitializeLoongArchTarget(); -- bindings.LLVMInitializeLoongArchTargetInfo(); -- bindings.LLVMInitializeLoongArchTargetMC(); -- bindings.LLVMInitializeLoongArchAsmPrinter(); -- bindings.LLVMInitializeLoongArchAsmParser(); +- llvm.LLVMInitializeLoongArchTarget(); +- llvm.LLVMInitializeLoongArchTargetInfo(); +- llvm.LLVMInitializeLoongArchTargetMC(); +- llvm.LLVMInitializeLoongArchAsmPrinter(); +- llvm.LLVMInitializeLoongArchAsmParser(); - }, + + // Disabled LLVM targets @@ -164,20 +164,20 @@ index 1ba3b272da..1ac1f6adc8 100644 .spirv32, .spirv64, - => { -- bindings.LLVMInitializeSPIRVTarget(); -- bindings.LLVMInitializeSPIRVTargetInfo(); -- bindings.LLVMInitializeSPIRVTargetMC(); -- bindings.LLVMInitializeSPIRVAsmPrinter(); +- llvm.LLVMInitializeSPIRVTarget(); +- llvm.LLVMInitializeSPIRVTargetInfo(); +- llvm.LLVMInitializeSPIRVTargetMC(); +- llvm.LLVMInitializeSPIRVAsmPrinter(); - }, + => unreachable, // LLVM does does not have a backend for these. - .alpha, + .kalimba, diff --git a/src/target.zig b/src/target.zig -index 3d04c06f5e..9e19836815 100644 +index f8201d691b..8491912bd5 100644 --- a/src/target.zig +++ b/src/target.zig -@@ -185,23 +185,12 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) +@@ -166,23 +166,12 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) } return switch (target.cpu.arch) { @@ -201,10 +201,10 @@ index 3d04c06f5e..9e19836815 100644 .powerpc, .powerpcle, .powerpc64, -@@ -211,24 +200,38 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) - .riscv32be, +@@ -190,24 +179,38 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat) + .amdgcn, + .riscv32, .riscv64, - .riscv64be, - .sparc, - .sparc64, - .spirv32, @@ -250,5 +250,5 @@ index 3d04c06f5e..9e19836815 100644 .csky, .xtensa, -- -2.53.0 +2.52.0 diff --git a/changelog b/changelog deleted file mode 100644 index cc53a32..0000000 --- a/changelog +++ /dev/null @@ -1,154 +0,0 @@ -* Fri Jul 17 2026 Fedora Release Engineering - 0.16.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Wed Apr 15 2026 Jan200101 - 0.16.0-1 -- Update to 0.16.0 - -* Sat Jan 17 2026 Fedora Release Engineering - 0.15.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Sun Jan 04 2026 Jan200101 - 0.15.2-2 -- Rebuilt for EPEL - -* Sun Oct 12 2025 Jan200101 - 0.15.2-1 -- Update to 0.15.2 - -* Fri Jul 25 2025 Fedora Release Engineering - 0.14.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jun 09 2025 Jan200101 - 0.14.1-1 -- Update to 0.14.1 - -* Tue May 27 2025 Jan200101 - 0.14.0-4 -- add patch to add library directories - -* Fri May 09 2025 Jan200101 - 0.14.0-3 -- add gcc to runtime dependencies - -* Thu Apr 24 2025 Jan200101 - 0.14.0-2 -- fix and re-enable documentation - -* Thu Mar 06 2025 Jan200101 - 0.14.0-1 -- Update to 0.14.0 - -* Mon Jan 27 2025 Jan200101 - 0.13.0-8 -- specify to build against local zig stdlib directory to ensure we are building against the newest stdlib -- use release fast instead of release safe to fix aarch64 builds from running out of memory -- enable position independent executable for the zig build - -* Mon Jan 27 2025 Jan200101 - 0.13.0-7 -- build stage 3 using zig build system -- add user provided options to the end of the build and install options - -* Thu Jan 23 2025 Jan200101 - 0.13.0-6 -- rebuild against fixed llvm - -* Sun Jan 19 2025 Fedora Release Engineering - 0.13.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Dec 29 2024 Jan200101 - 0.13.0-4 -- correct macro variables -- set llvm_compat for F41 -- update callaway licenses to follow SPDX - -* Wed Sep 04 2024 Miroslav Suchý - 0.13.0-3 -- convert license to SPDX - -* Sat Jul 20 2024 Fedora Release Engineering - 0.13.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jun 11 2024 Jan200101 - 0.13.0-1 -- Update to 0.13.0 - -* Sat Jun 08 2024 Jan200101 - 0.12.1-1 -- Update to 0.12.1 - -* Sat May 25 2024 Jan200101 - 0.12.0-1 -- Update to 0.12.0 - -* Wed Feb 21 2024 Jan Drögehoff - 0.11.0-2 -- Rebuilt for bootstrapping - -* Sat Jan 27 2024 Aleksei Bavshin - 0.11.0-1 -- Update to 0.11.0 - -* Sat Jan 27 2024 Aleksei Bavshin - 0.9.1-6 -- Fix build with `--without macro` -- Skip %%check and test dependencies when tests are disabled -- Drop %%_zig_version macro - -* Sat Jan 27 2024 Benson Muite - 0.9.1-6 -- Verify source signature - -* Sat Jan 27 2024 Fedora Release Engineering - 0.9.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 0.9.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 0.9.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Jul 23 2022 Fedora Release Engineering - 0.9.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Feb 18 2022 Jan Drögehoff - 0.9.1-1 -- Update to 0.9.1 - -* Thu Jan 27 2022 Jan Drögehoff - 0.9.0-3 -- Jan: add rpath patch -- Aleksei Bavshin: rpm macros: set default build flags - -* Sat Jan 22 2022 Fedora Release Engineering - 0.9.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Mon Dec 20 2021 Jan Drögehoff - 0.9.0-1 -- Update to 0.9.0 - -* Wed Nov 17 2021 Jan Drögehoff - 0.8.1-5 -- Enable documentation on Fedora 35 - -* Tue Nov 09 2021 Tom Stellard - 0.8.1-4 -- Rebuild for llvm-13.0.0 - -* Sat Oct 30 2021 Jan Drögehoff - 0.8.1-3 -- Update LLVM13 Patch - -* Thu Oct 07 2021 Tom Stellard - 0.8.1-2 -- Rebuild for llvm-13.0.0 - -* Sun Sep 12 2021 Jan Drögehoff - 0.8.1-1 -- Update to Zig 0.8.1, add LLVM 13 patch - -* Wed Aug 18 2021 Jan Drögehoff - 0.8.0-8 -- Rebuilt for lld soname bump - -* Fri Jul 23 2021 Fedora Release Engineering - 0.8.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jul 19 2021 Jan Drögehoff - 0.8.0-6 -- add native libc detection patch - -* Sun Jul 04 2021 Jan Drögehoff - 0.8.0-5 -- correct newline in macro that caused DESTDIR to be ignored - -* Mon Jun 28 2021 Jan Drögehoff - 0.8.0-4 -- correct macro once again to allow for proper packaging - -* Thu Jun 24 2021 Jan Drögehoff - 0.8.0-3 -- improve macro for using the zig binary - -* Thu Jun 24 2021 Jan Drögehoff - 0.8.0-2 -- Update patches, correct rpm macro - -* Sat Jun 05 2021 Jan Drögehoff - 0.8.0-1 -- Update to Zig 0.8.0 - -* Sun Dec 13 23:18:24 CET 2020 Jan Drögehoff - 0.7.1-1 -- Update to Zig 0.7.1 - -* Wed Nov 11 17:18:27 CET 2020 Jan Drögehoff - 0.7.0-1 -- Update to Zig 0.7.0 - -* Tue Aug 18 2020 Jan Drögehoff - 0.6.0-1 -- Initial zig spec diff --git a/macros.zig b/macros.zig index 990eddc..8f43673 100644 --- a/macros.zig +++ b/macros.zig @@ -1,6 +1,6 @@ %zig_arches x86_64 aarch64 riscv64 %{mips64} -%__zig %{_bindir}/zig +%zig %{_bindir}/zig %_zig_cache_dir %{_vpath_builddir}/zig-cache %_zig_package_dir %{_zig_cache_dir}/p @@ -27,10 +27,7 @@ # seperated build options %_zig_general_options --verbose --release=%{_zig_release_mode} --build-id=sha1 --summary all %_zig_project_options -Dtarget=%{_zig_target} -Dcpu=%{_zig_cpu} -# 0.16.0 introduced packaging changes which install packages into this relative directory -# Will be ovewritable in 0.17.0 -# https://codeberg.org/ziglang/zig/pulls/31950 -%_zig_system_integration --system "zig-pkg" +%_zig_system_integration --system "%{_zig_package_dir}" %_zig_advanced_options -fallow-so-scripts --cache-dir "%{_zig_cache_dir}" --global-cache-dir "%{_zig_cache_dir}" %_zig_build_options %{?_zig_general_options} %{?_zig_project_options} %{?_zig_system_integration} %{?_zig_advanced_options} %{?zig_build_options} @@ -43,11 +40,10 @@ mkdir -p \ %{_zig_cache_dir} \ %{_zig_package_dir} \ - "zig-pkg" \ } %zig_build %{shrink: \ - %__zig \ + %zig \ build \ %{?_zig_build_options} \ } @@ -60,7 +56,7 @@ } %zig_fetch %{shrink: \ - %__zig \ + %zig \ fetch \ %{?_zig_fetch_options} \ } diff --git a/sources b/sources index d07a209..b3ceab1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (zig-0.16.0.tar.xz) = 1404a939c6f233d5f328a4833543d7a2b2d9f0f5081babe6e3ad43daed25bbb0844b28c01c900f64b5bb63ac62b5586457c05380b10494dfefb56f49b58d4a0a -SHA512 (zig-0.16.0.tar.xz.minisig) = 44a2d57061cbe8bd4e9ad587c247883e2e9abefa148ab375617665fe51500a106f488ceaaeaf038c0ff5ce1a70f4eb3b519a44f3211769ea1ebae5ad49b2f1b9 +SHA512 (zig-0.15.2.tar.xz) = 56b0f2b14da8603bf86ab672fd1fe38c2b04d8d90512839104e85b0fbda94aaf07fecf76b238d7b17715f9fee24be46c1830a96a0b5993cff6adef91b83f3201 +SHA512 (zig-0.15.2.tar.xz.minisig) = d951c167561599a11ac1881c0c12d17be5d8ea3d214b96403acaa5b40f62a6bee48602dcbf963046897481525b801023fe419daca6d6811b495c44a242777a13 diff --git a/zig.spec b/zig.spec index 6aea38e..35a3366 100644 --- a/zig.spec +++ b/zig.spec @@ -1,49 +1,27 @@ -# architecture and toolchain - %if 0%{?rhel} -# Zig depends on a C compiler (gcc) during bootstrapping. -# Older versions of gcc fail to compile the transpiled source, so limit to x86_64. +# Zig depends on a C compiler (gcc) during bootstraping +# older versions of gcc fail to compile the transpiled source so we limit it to x86_64 %global zig_arches x86_64 %else -# Supported architectures: https://ziglang.org/download/VERSION/release-notes.html#Support-Table +# https://ziglang.org/download/VERSION/release-notes.html#Support-Table %global zig_arches x86_64 aarch64 riscv64 %{mips64} %endif - -# GCC < 16.0 miscompiles on RISC-V; use Clang instead on older Fedora versions -%ifarch riscv64 -%if 0%{?fedora} < 44 -%bcond toolchain_clang 1 -%endif -%endif - -%if %{with toolchain_clang} -%global toolchain clang -%endif - -# minisign public key for source verification (from https://ziglang.org/download/) +# Signing key from https://ziglang.org/download/ %global public_key RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U - -# dependency versions and cache - -# Compatible LLVM/Clang version definitions -%if 0%{?fedora} >= 44 || 0%{?rhel} >= 11 -%global llvm_compat 21 +# note here at which Fedora or EL release we need to use compat LLVM packages +%if 0%{?fedora} >= 43 || 0%{?rhel} >= 11 +%global llvm_compat 20 %endif -%global llvm_version 21.1.8 -%global zig_cache_dir %{_vpath_builddir}/zig-cache - - -# build conditionals +%global llvm_version 20.0.0 %bcond bootstrap 0 %bcond docs %{without bootstrap} %bcond macro %{without bootstrap} %bcond test 1 - -# build and install options +%global zig_cache_dir %{_vpath_builddir}/zig-cache %global zig_build_options %{shrink: \ --verbose \ @@ -58,7 +36,7 @@ --cache-dir "%{zig_cache_dir}" \ --global-cache-dir "%{zig_cache_dir}" \ \ - -Dversion-string="%{?dev_version}%{!?dev_version:%{version}}" \ + -Dversion-string="%{version}" \ -Dstatic-llvm=false \ -Denable-llvm=true \ -Dno-langref=true \ @@ -66,17 +44,14 @@ -Dpie \ -Dconfig_h="%{__cmake_builddir}/config.h" \ } - -%global zig_install_options %{shrink: \ - %zig_build_options \ +%global zig_install_options %zig_build_options %{shrink: \ --prefix "%{_prefix}" \ } Name: zig -Version: 0.16.0 -Release: %autorelease +Version: 0.15.2 +Release: 2%{?dist} Summary: Programming language for maintaining robust, optimal, and reusable software - # The minisign file references a specific archive name so we store for ease of use %global archive_name %{name}-%{version}.tar.xz @@ -85,22 +60,16 @@ URL: https://ziglang.org Source0: %{url}/download/%{version}/%{archive_name} Source1: %{url}/download/%{version}/%{archive_name}.minisig Source2: macros.%{name} - # Remove native lib directories from rpath # this is unlikely to be upstreamed in its current state because upstream # wants to work around the shortcomings of NixOS Patch0: 0001-remove-native-lib-directories-from-rpath.patch - # LLVM on RHEL/EPEL only provides fewer targets so we patch the required targets down # Targets come from https://src.fedoraproject.org/rpms/llvm/blob/rawhide/f/llvm.spec Patch1: 0002-Remove-unsupported-LLVM-targets-for-EPEL.patch -%if %{without toolchain_clang} BuildRequires: gcc BuildRequires: gcc-c++ -%else -BuildRequires: clang -%endif BuildRequires: cmake BuildRequires: llvm%{?llvm_compat}-devel BuildRequires: clang%{?llvm_compat}-devel @@ -113,7 +82,7 @@ BuildRequires: help2man BuildRequires: minisign %if %{without bootstrap} -BuildRequires: (zig >= 0.16 with zig < 0.17) +BuildRequires: (zig >= 0.15 with zig < 0.16) %endif %if %{with test} @@ -129,7 +98,7 @@ Requires: %{name}-libs = %{version} # Apache-2.0 WITH LLVM-exception OR NCSA OR MIT Provides: bundled(compiler-rt) = %{llvm_version} # LGPL-2.1-or-later AND SunPro AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later WITH GNU-compiler-exception AND GPL-2.0-only AND ISC AND LicenseRef-Fedora-Public-Domain AND HPND AND CMU-Mach AND LGPL-2.0-or-later AND Unicode-3.0 AND GFDL-1.1-or-later AND GPL-1.0-or-later AND FSFUL AND MIT AND Inner-Net-2.0 AND X11 AND GPL-2.0-or-later WITH GCC-exception-2.0 AND GFDL-1.3-only AND GFDL-1.1-only -Provides: bundled(glibc) = 2.43 +Provides: bundled(glibc) = 2.41 # Apache-2.0 WITH LLVM-exception OR MIT OR NCSA Provides: bundled(libcxx) = %{llvm_version} # Apache-2.0 WITH LLVM-exception OR MIT OR NCSA @@ -178,7 +147,7 @@ This package contains common RPM macros for %{name}. %endif %prep -minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key} -Q | grep -F "file:%{archive_name}" +/usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key} -Q | grep -F "file:%{archive_name}" %autosetup -N %patch 0 -p1 @@ -215,7 +184,7 @@ export CCACHE_DISABLE=1 -DZIG_TARGET_MCPU:STRING=baseline \ -DZIG_TARGET_TRIPLE:STRING=native \ \ - -DZIG_VERSION:STRING="%{?dev_version}%{!?dev_version:%{version}}" + -DZIG_VERSION:STRING="%{version}" %if %{with bootstrap} %cmake_build --target stage3 @@ -230,7 +199,7 @@ help2man --no-discard-stderr --no-info "./zig-out/bin/zig" --version-option=vers %if %{with docs} -# Use the newly made stage 3 compiler to generate docs +# Use the newly made stage 3 compiler to generate docs ./zig-out/bin/zig build docs %{zig_build_options} %endif @@ -277,4 +246,148 @@ install -D -pv -m 0644 %{SOURCE2} %{buildroot}%{_rpmmacrodir}/macros.%{name} %endif %changelog -%autochangelog +* Sun Jan 04 2026 Jan200101 - 0.15.2-2 +- Rebuilt for EPEL + +* Sun Oct 12 2025 Jan200101 - 0.15.2-1 +- Update to 0.15.2 + +* Fri Jul 25 2025 Fedora Release Engineering - 0.14.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jun 09 2025 Jan200101 - 0.14.1-1 +- Update to 0.14.1 + +* Tue May 27 2025 Jan200101 - 0.14.0-4 +- add patch to add library directories + +* Fri May 09 2025 Jan200101 - 0.14.0-3 +- add gcc to runtime dependencies + +* Thu Apr 24 2025 Jan200101 - 0.14.0-2 +- fix and re-enable documentation + +* Thu Mar 06 2025 Jan200101 - 0.14.0-1 +- Update to 0.14.0 + +* Mon Jan 27 2025 Jan200101 - 0.13.0-8 +- specify to build against local zig stdlib directory to ensure we are building against the newest stdlib +- use release fast instead of release safe to fix aarch64 builds from running out of memory +- enable position independent executable for the zig build + +* Mon Jan 27 2025 Jan200101 - 0.13.0-7 +- build stage 3 using zig build system +- add user provided options to the end of the build and install options + +* Thu Jan 23 2025 Jan200101 - 0.13.0-6 +- rebuild against fixed llvm + +* Sun Jan 19 2025 Fedora Release Engineering - 0.13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Dec 29 2024 Jan200101 - 0.13.0-4 +- correct macro variables +- set llvm_compat for F41 +- update callaway licenses to follow SPDX + +* Wed Sep 04 2024 Miroslav Suchý - 0.13.0-3 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 0.13.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 11 2024 Jan200101 - 0.13.0-1 +- Update to 0.13.0 + +* Sat Jun 08 2024 Jan200101 - 0.12.1-1 +- Update to 0.12.1 + +* Sat May 25 2024 Jan200101 - 0.12.0-1 +- Update to 0.12.0 + +* Wed Feb 21 2024 Jan Drögehoff - 0.11.0-2 +- Rebuilt for bootstrapping + +* Sat Jan 27 2024 Aleksei Bavshin - 0.11.0-1 +- Update to 0.11.0 + +* Sat Jan 27 2024 Aleksei Bavshin - 0.9.1-6 +- Fix build with `--without macro` +- Skip %%check and test dependencies when tests are disabled +- Drop %%_zig_version macro + +* Sat Jan 27 2024 Benson Muite - 0.9.1-6 +- Verify source signature + +* Sat Jan 27 2024 Fedora Release Engineering - 0.9.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0.9.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 0.9.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Feb 18 2022 Jan Drögehoff - 0.9.1-1 +- Update to 0.9.1 + +* Thu Jan 27 2022 Jan Drögehoff - 0.9.0-3 +- Jan: add rpath patch +- Aleksei Bavshin: rpm macros: set default build flags + +* Sat Jan 22 2022 Fedora Release Engineering - 0.9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 20 2021 Jan Drögehoff - 0.9.0-1 +- Update to 0.9.0 + +* Wed Nov 17 2021 Jan Drögehoff - 0.8.1-5 +- Enable documentation on Fedora 35 + +* Tue Nov 09 2021 Tom Stellard - 0.8.1-4 +- Rebuild for llvm-13.0.0 + +* Sat Oct 30 2021 Jan Drögehoff - 0.8.1-3 +- Update LLVM13 Patch + +* Thu Oct 07 2021 Tom Stellard - 0.8.1-2 +- Rebuild for llvm-13.0.0 + +* Sun Sep 12 2021 Jan Drögehoff - 0.8.1-1 +- Update to Zig 0.8.1, add LLVM 13 patch + +* Wed Aug 18 2021 Jan Drögehoff - 0.8.0-8 +- Rebuilt for lld soname bump + +* Fri Jul 23 2021 Fedora Release Engineering - 0.8.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Jul 19 2021 Jan Drögehoff - 0.8.0-6 +- add native libc detection patch + +* Sun Jul 04 2021 Jan Drögehoff - 0.8.0-5 +- correct newline in macro that caused DESTDIR to be ignored + +* Mon Jun 28 2021 Jan Drögehoff - 0.8.0-4 +- correct macro once again to allow for proper packaging + +* Thu Jun 24 2021 Jan Drögehoff - 0.8.0-3 +- improve macro for using the zig binary + +* Thu Jun 24 2021 Jan Drögehoff - 0.8.0-2 +- Update patches, correct rpm macro + +* Sat Jun 05 2021 Jan Drögehoff - 0.8.0-1 +- Update to Zig 0.8.0 + +* Sun Dec 13 23:18:24 CET 2020 Jan Drögehoff - 0.7.1-1 +- Update to Zig 0.7.1 + +* Wed Nov 11 17:18:27 CET 2020 Jan Drögehoff - 0.7.0-1 +- Update to Zig 0.7.0 + +* Tue Aug 18 2020 Jan Drögehoff - 0.6.0-1 +- Initial zig spec