Compare commits

..

No commits in common. "rawhide" and "epel9" have entirely different histories.

6 changed files with 262 additions and 307 deletions

View file

@ -1,6 +1,6 @@
From a865b3569ace118cc1c1cd8d5d130ec316b0307d Mon Sep 17 00:00:00 2001
From 776181c3f8b3d3e34758f376979eb11acd3317e6 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
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 <sentrycraft123@gmail.com>
@ -9,13 +9,13 @@ Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
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

View file

@ -1,6 +1,6 @@
From 803935baf6a4730426afbb746adfd00c0ffc0f39 Mon Sep 17 00:00:00 2001
From ab92fe5f0be7a49fa2c97957bebf6278a1b69aaf Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
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 <sentrycraft123@gmail.com>
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

154
changelog
View file

@ -1,154 +0,0 @@
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Wed Apr 15 2026 Jan200101 <sentrycraft123@gmail.com> - 0.16.0-1
- Update to 0.16.0
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.15.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Sun Jan 04 2026 Jan200101 <sentrycraft123@gmail.com> - 0.15.2-2
- Rebuilt for EPEL
* Sun Oct 12 2025 Jan200101 <sentrycraft123@gmail.com> - 0.15.2-1
- Update to 0.15.2
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 09 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.1-1
- Update to 0.14.1
* Tue May 27 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-4
- add patch to add library directories
* Fri May 09 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-3
- add gcc to runtime dependencies
* Thu Apr 24 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-2
- fix and re-enable documentation
* Thu Mar 06 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-1
- Update to 0.14.0
* Mon Jan 27 2025 Jan200101 <sentrycraft123@gmail.com> - 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 <sentrycraft123@gmail.com> - 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 <sentrycraft123@gmail.com> - 0.13.0-6
- rebuild against fixed llvm
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Dec 29 2024 Jan200101 <sentrycraft123@gmail.com> - 0.13.0-4
- correct macro variables
- set llvm_compat for F41
- update callaway licenses to follow SPDX
* Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 0.13.0-3
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jun 11 2024 Jan200101 <sentrycraft123@gmail.com> - 0.13.0-1
- Update to 0.13.0
* Sat Jun 08 2024 Jan200101 <sentrycraft123@gmail.com> - 0.12.1-1
- Update to 0.12.1
* Sat May 25 2024 Jan200101 <sentrycraft123@gmail.com> - 0.12.0-1
- Update to 0.12.0
* Wed Feb 21 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 0.11.0-2
- Rebuilt for bootstrapping
* Sat Jan 27 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.11.0-1
- Update to 0.11.0
* Sat Jan 27 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 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 <benson_muite@emailplus.org> - 0.9.1-6
- Verify source signature
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Feb 18 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 0.9.1-1
- Update to 0.9.1
* Thu Jan 27 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 0.9.0-3
- Jan: add rpath patch
- Aleksei Bavshin: rpm macros: set default build flags
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 20 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.9.0-1
- Update to 0.9.0
* Wed Nov 17 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.1-5
- Enable documentation on Fedora 35
* Tue Nov 09 2021 Tom Stellard <tstellar@redhat.com> - 0.8.1-4
- Rebuild for llvm-13.0.0
* Sat Oct 30 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.1-3
- Update LLVM13 Patch
* Thu Oct 07 2021 Tom Stellard <tstellar@redhat.com> - 0.8.1-2
- Rebuild for llvm-13.0.0
* Sun Sep 12 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.1-1
- Update to Zig 0.8.1, add LLVM 13 patch
* Wed Aug 18 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-8
- Rebuilt for lld soname bump
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jul 19 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-6
- add native libc detection patch
* Sun Jul 04 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-5
- correct newline in macro that caused DESTDIR to be ignored
* Mon Jun 28 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-4
- correct macro once again to allow for proper packaging
* Thu Jun 24 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-3
- improve macro for using the zig binary
* Thu Jun 24 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-2
- Update patches, correct rpm macro
* Sat Jun 05 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-1
- Update to Zig 0.8.0
* Sun Dec 13 23:18:24 CET 2020 Jan Drögehoff <sentrycraft123@gmail.com> - 0.7.1-1
- Update to Zig 0.7.1
* Wed Nov 11 17:18:27 CET 2020 Jan Drögehoff <sentrycraft123@gmail.com> - 0.7.0-1
- Update to Zig 0.7.0
* Tue Aug 18 2020 Jan Drögehoff <sentrycraft123@gmail.com> - 0.6.0-1
- Initial zig spec

View file

@ -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} \
}

View file

@ -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

213
zig.spec
View file

@ -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 <sentrycraft123@gmail.com> - 0.15.2-2
- Rebuilt for EPEL
* Sun Oct 12 2025 Jan200101 <sentrycraft123@gmail.com> - 0.15.2-1
- Update to 0.15.2
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.14.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Mon Jun 09 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.1-1
- Update to 0.14.1
* Tue May 27 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-4
- add patch to add library directories
* Fri May 09 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-3
- add gcc to runtime dependencies
* Thu Apr 24 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-2
- fix and re-enable documentation
* Thu Mar 06 2025 Jan200101 <sentrycraft123@gmail.com> - 0.14.0-1
- Update to 0.14.0
* Mon Jan 27 2025 Jan200101 <sentrycraft123@gmail.com> - 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 <sentrycraft123@gmail.com> - 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 <sentrycraft123@gmail.com> - 0.13.0-6
- rebuild against fixed llvm
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Dec 29 2024 Jan200101 <sentrycraft123@gmail.com> - 0.13.0-4
- correct macro variables
- set llvm_compat for F41
- update callaway licenses to follow SPDX
* Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 0.13.0-3
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jun 11 2024 Jan200101 <sentrycraft123@gmail.com> - 0.13.0-1
- Update to 0.13.0
* Sat Jun 08 2024 Jan200101 <sentrycraft123@gmail.com> - 0.12.1-1
- Update to 0.12.1
* Sat May 25 2024 Jan200101 <sentrycraft123@gmail.com> - 0.12.0-1
- Update to 0.12.0
* Wed Feb 21 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 0.11.0-2
- Rebuilt for bootstrapping
* Sat Jan 27 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 0.11.0-1
- Update to 0.11.0
* Sat Jan 27 2024 Aleksei Bavshin <alebastr@fedoraproject.org> - 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 <benson_muite@emailplus.org> - 0.9.1-6
- Verify source signature
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Feb 18 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 0.9.1-1
- Update to 0.9.1
* Thu Jan 27 2022 Jan Drögehoff <sentrycraft123@gmail.com> - 0.9.0-3
- Jan: add rpath patch
- Aleksei Bavshin: rpm macros: set default build flags
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Dec 20 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.9.0-1
- Update to 0.9.0
* Wed Nov 17 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.1-5
- Enable documentation on Fedora 35
* Tue Nov 09 2021 Tom Stellard <tstellar@redhat.com> - 0.8.1-4
- Rebuild for llvm-13.0.0
* Sat Oct 30 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.1-3
- Update LLVM13 Patch
* Thu Oct 07 2021 Tom Stellard <tstellar@redhat.com> - 0.8.1-2
- Rebuild for llvm-13.0.0
* Sun Sep 12 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.1-1
- Update to Zig 0.8.1, add LLVM 13 patch
* Wed Aug 18 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-8
- Rebuilt for lld soname bump
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jul 19 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-6
- add native libc detection patch
* Sun Jul 04 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-5
- correct newline in macro that caused DESTDIR to be ignored
* Mon Jun 28 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-4
- correct macro once again to allow for proper packaging
* Thu Jun 24 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-3
- improve macro for using the zig binary
* Thu Jun 24 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-2
- Update patches, correct rpm macro
* Sat Jun 05 2021 Jan Drögehoff <sentrycraft123@gmail.com> - 0.8.0-1
- Update to Zig 0.8.0
* Sun Dec 13 23:18:24 CET 2020 Jan Drögehoff <sentrycraft123@gmail.com> - 0.7.1-1
- Update to Zig 0.7.1
* Wed Nov 11 17:18:27 CET 2020 Jan Drögehoff <sentrycraft123@gmail.com> - 0.7.0-1
- Update to Zig 0.7.0
* Tue Aug 18 2020 Jan Drögehoff <sentrycraft123@gmail.com> - 0.6.0-1
- Initial zig spec