Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57f3a79ce3 |
||
|
|
99107eeb74 |
||
|
|
dc01a78c50 |
||
|
|
373fd58fba | ||
|
|
1ffefc4662 |
||
|
|
b5b6b37ec0 | ||
|
|
38f18f6459 |
||
|
|
b9abbed4a8 |
||
|
|
393d1df948 |
||
|
|
61f511df21 |
||
|
|
0c4d9963b5 |
||
|
|
28b9e0c24c |
||
|
|
55a3e42937 |
||
|
|
638b1b872e | ||
|
|
a298b2a8fb |
10 changed files with 500 additions and 385 deletions
|
|
@ -1,7 +1,7 @@
|
|||
From 874ce2357bb7e7398115fc6f37f3f3817a9116ba Mon Sep 17 00:00:00 2001
|
||||
From a865b3569ace118cc1c1cd8d5d130ec316b0307d Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 11 Jun 2024 13:35:37 +0200
|
||||
Subject: [PATCH 1/5] remove native lib directories from rpath
|
||||
Date: Tue, 14 Apr 2026 19:04:40 +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 1075993846..dd9ab8febd 100644
|
||||
index 0395a21a5f..86b6d9f86b 100644
|
||||
--- a/src/main.zig
|
||||
+++ b/src/main.zig
|
||||
@@ -4033,6 +4033,15 @@ fn createModule(
|
||||
@@ -4102,6 +4102,15 @@ fn createModule(
|
||||
|
||||
try create_module.lib_directories.ensureUnusedCapacity(arena, paths.lib_dirs.items.len);
|
||||
for (paths.lib_dirs.items) |path| addLibDirectoryWarn2(&create_module.lib_directories, path, true);
|
||||
for (paths.lib_dirs.items) |path| addLibDirectoryWarn2(io, &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 1075993846..dd9ab8febd 100644
|
|||
|
||||
if (create_module.libc_paths_file) |paths_file| {
|
||||
--
|
||||
2.49.0
|
||||
2.53.0
|
||||
|
||||
|
|
|
|||
254
0002-Remove-unsupported-LLVM-targets-for-EPEL.patch
Normal file
254
0002-Remove-unsupported-LLVM-targets-for-EPEL.patch
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
From 803935baf6a4730426afbb746adfd00c0ffc0f39 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 14 Apr 2026 19:20:26 +0200
|
||||
Subject: [PATCH 2/2] Remove unsupported LLVM targets for RHEL
|
||||
|
||||
LLVM for RHEL is only build with a subset of targets
|
||||
this blocks zig at the configuration stage.
|
||||
This commit simply swaps them out with the one from
|
||||
https://src.fedoraproject.org/rpms/llvm/blob/rawhide/f/llvm.spec
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
cmake/Findllvm.cmake | 2 +-
|
||||
src/codegen/llvm.zig | 97 ++++++++++----------------------------------
|
||||
src/target.zig | 43 +++++++++++---------
|
||||
3 files changed, 45 insertions(+), 97 deletions(-)
|
||||
|
||||
diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake
|
||||
index 0c08d4f0ac..ed4da12044 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 "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
|
||||
--- 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();
|
||||
},
|
||||
- .thumb, .thumbeb, .arm, .armeb => {
|
||||
- bindings.LLVMInitializeARMTarget();
|
||||
- bindings.LLVMInitializeARMTargetInfo();
|
||||
- bindings.LLVMInitializeARMTargetMC();
|
||||
- bindings.LLVMInitializeARMAsmPrinter();
|
||||
- bindings.LLVMInitializeARMAsmParser();
|
||||
- },
|
||||
- .avr => {
|
||||
- bindings.LLVMInitializeAVRTarget();
|
||||
- bindings.LLVMInitializeAVRTargetInfo();
|
||||
- bindings.LLVMInitializeAVRTargetMC();
|
||||
- bindings.LLVMInitializeAVRAsmPrinter();
|
||||
- bindings.LLVMInitializeAVRAsmParser();
|
||||
- },
|
||||
.bpfel, .bpfeb => {
|
||||
bindings.LLVMInitializeBPFTarget();
|
||||
bindings.LLVMInitializeBPFTargetInfo();
|
||||
@@ -4757,34 +4743,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void {
|
||||
bindings.LLVMInitializeBPFAsmPrinter();
|
||||
bindings.LLVMInitializeBPFAsmParser();
|
||||
},
|
||||
- .hexagon => {
|
||||
- bindings.LLVMInitializeHexagonTarget();
|
||||
- bindings.LLVMInitializeHexagonTargetInfo();
|
||||
- bindings.LLVMInitializeHexagonTargetMC();
|
||||
- bindings.LLVMInitializeHexagonAsmPrinter();
|
||||
- bindings.LLVMInitializeHexagonAsmParser();
|
||||
- },
|
||||
- .lanai => {
|
||||
- bindings.LLVMInitializeLanaiTarget();
|
||||
- bindings.LLVMInitializeLanaiTargetInfo();
|
||||
- bindings.LLVMInitializeLanaiTargetMC();
|
||||
- bindings.LLVMInitializeLanaiAsmPrinter();
|
||||
- bindings.LLVMInitializeLanaiAsmParser();
|
||||
- },
|
||||
- .mips, .mipsel, .mips64, .mips64el => {
|
||||
- bindings.LLVMInitializeMipsTarget();
|
||||
- bindings.LLVMInitializeMipsTargetInfo();
|
||||
- bindings.LLVMInitializeMipsTargetMC();
|
||||
- bindings.LLVMInitializeMipsAsmPrinter();
|
||||
- bindings.LLVMInitializeMipsAsmParser();
|
||||
- },
|
||||
- .msp430 => {
|
||||
- bindings.LLVMInitializeMSP430Target();
|
||||
- bindings.LLVMInitializeMSP430TargetInfo();
|
||||
- bindings.LLVMInitializeMSP430TargetMC();
|
||||
- bindings.LLVMInitializeMSP430AsmPrinter();
|
||||
- bindings.LLVMInitializeMSP430AsmParser();
|
||||
- },
|
||||
.nvptx, .nvptx64 => {
|
||||
bindings.LLVMInitializeNVPTXTarget();
|
||||
bindings.LLVMInitializeNVPTXTargetInfo();
|
||||
@@ -4806,13 +4764,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void {
|
||||
bindings.LLVMInitializeRISCVAsmPrinter();
|
||||
bindings.LLVMInitializeRISCVAsmParser();
|
||||
},
|
||||
- .sparc, .sparc64 => {
|
||||
- bindings.LLVMInitializeSparcTarget();
|
||||
- bindings.LLVMInitializeSparcTargetInfo();
|
||||
- bindings.LLVMInitializeSparcTargetMC();
|
||||
- bindings.LLVMInitializeSparcAsmPrinter();
|
||||
- bindings.LLVMInitializeSparcAsmParser();
|
||||
- },
|
||||
.s390x => {
|
||||
bindings.LLVMInitializeSystemZTarget();
|
||||
bindings.LLVMInitializeSystemZTargetInfo();
|
||||
@@ -4843,13 +4794,6 @@ pub fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void {
|
||||
bindings.LLVMInitializeXtensaAsmParser();
|
||||
}
|
||||
},
|
||||
- .xcore => {
|
||||
- bindings.LLVMInitializeXCoreTarget();
|
||||
- bindings.LLVMInitializeXCoreTargetInfo();
|
||||
- bindings.LLVMInitializeXCoreTargetMC();
|
||||
- bindings.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();
|
||||
}
|
||||
},
|
||||
- .ve => {
|
||||
- bindings.LLVMInitializeVETarget();
|
||||
- bindings.LLVMInitializeVETargetInfo();
|
||||
- bindings.LLVMInitializeVETargetMC();
|
||||
- bindings.LLVMInitializeVEAsmPrinter();
|
||||
- bindings.LLVMInitializeVEAsmParser();
|
||||
- },
|
||||
.arc => {
|
||||
if (build_options.llvm_has_arc) {
|
||||
bindings.LLVMInitializeARCTarget();
|
||||
@@ -4884,21 +4821,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();
|
||||
- },
|
||||
+
|
||||
+ // Disabled LLVM targets
|
||||
+ .thumb,
|
||||
+ .thumbeb,
|
||||
+ .arm,
|
||||
+ .armeb,
|
||||
+ .avr,
|
||||
+ .hexagon,
|
||||
+ .lanai,
|
||||
+ .mips,
|
||||
+ .mipsel,
|
||||
+ .mips64,
|
||||
+ .mips64el,
|
||||
+ .msp430,
|
||||
+ .sparc,
|
||||
+ .sparc64,
|
||||
+ .xcore,
|
||||
+ .ve,
|
||||
+ .loongarch32,
|
||||
+ .loongarch64,
|
||||
.spirv32,
|
||||
.spirv64,
|
||||
- => {
|
||||
- bindings.LLVMInitializeSPIRVTarget();
|
||||
- bindings.LLVMInitializeSPIRVTargetInfo();
|
||||
- bindings.LLVMInitializeSPIRVTargetMC();
|
||||
- bindings.LLVMInitializeSPIRVAsmPrinter();
|
||||
- },
|
||||
+ => unreachable,
|
||||
|
||||
// LLVM does does not have a backend for these.
|
||||
.alpha,
|
||||
diff --git a/src/target.zig b/src/target.zig
|
||||
index 3d04c06f5e..9e19836815 100644
|
||||
--- a/src/target.zig
|
||||
+++ b/src/target.zig
|
||||
@@ -185,23 +185,12 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat)
|
||||
}
|
||||
|
||||
return switch (target.cpu.arch) {
|
||||
- .arm,
|
||||
- .armeb,
|
||||
.aarch64,
|
||||
.aarch64_be,
|
||||
.arc,
|
||||
- .avr,
|
||||
.bpfel,
|
||||
.bpfeb,
|
||||
- .hexagon,
|
||||
- .loongarch32,
|
||||
- .loongarch64,
|
||||
.m68k,
|
||||
- .mips,
|
||||
- .mipsel,
|
||||
- .mips64,
|
||||
- .mips64el,
|
||||
- .msp430,
|
||||
.powerpc,
|
||||
.powerpcle,
|
||||
.powerpc64,
|
||||
@@ -211,24 +200,38 @@ pub fn hasLlvmSupport(target: *const std.Target, ofmt: std.Target.ObjectFormat)
|
||||
.riscv32be,
|
||||
.riscv64,
|
||||
.riscv64be,
|
||||
- .sparc,
|
||||
- .sparc64,
|
||||
- .spirv32,
|
||||
- .spirv64,
|
||||
.s390x,
|
||||
- .thumb,
|
||||
- .thumbeb,
|
||||
.x86,
|
||||
.x86_64,
|
||||
- .xcore,
|
||||
.nvptx,
|
||||
.nvptx64,
|
||||
- .lanai,
|
||||
.wasm32,
|
||||
.wasm64,
|
||||
- .ve,
|
||||
=> true,
|
||||
|
||||
+ // Disabled LLVM targets
|
||||
+ .thumb,
|
||||
+ .thumbeb,
|
||||
+ .arm,
|
||||
+ .armeb,
|
||||
+ .avr,
|
||||
+ .hexagon,
|
||||
+ .lanai,
|
||||
+ .mips,
|
||||
+ .mipsel,
|
||||
+ .mips64,
|
||||
+ .mips64el,
|
||||
+ .msp430,
|
||||
+ .sparc,
|
||||
+ .sparc64,
|
||||
+ .xcore,
|
||||
+ .ve,
|
||||
+ .loongarch32,
|
||||
+ .loongarch64,
|
||||
+ .spirv32,
|
||||
+ .spirv64,
|
||||
+ => false,
|
||||
+
|
||||
// LLVM backend exists but can produce neither assembly nor object files.
|
||||
.csky,
|
||||
.xtensa,
|
||||
--
|
||||
2.53.0
|
||||
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
From fd127fafb534eade533655688c4977ae4f7cebe0 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Fri, 17 Jan 2025 20:53:30 +0100
|
||||
Subject: [PATCH 2/5] std.Build: add build-id option
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
build.zig | 6 ------
|
||||
lib/compiler/build_runner.zig | 13 +++++++++++++
|
||||
lib/std/Build.zig | 2 ++
|
||||
lib/std/Build/Step/Compile.zig | 2 +-
|
||||
4 files changed, 16 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/build.zig b/build.zig
|
||||
index 2d196041b3..c7dec601b4 100644
|
||||
--- a/build.zig
|
||||
+++ b/build.zig
|
||||
@@ -197,12 +197,6 @@ pub fn build(b: *std.Build) !void {
|
||||
exe.pie = pie;
|
||||
exe.entitlements = entitlements;
|
||||
|
||||
- exe.build_id = b.option(
|
||||
- std.zig.BuildId,
|
||||
- "build-id",
|
||||
- "Request creation of '.note.gnu.build-id' section",
|
||||
- );
|
||||
-
|
||||
if (no_bin) {
|
||||
b.getInstallStep().dependOn(&exe.step);
|
||||
} else {
|
||||
diff --git a/lib/compiler/build_runner.zig b/lib/compiler/build_runner.zig
|
||||
index 8702acb329..81393610be 100644
|
||||
--- a/lib/compiler/build_runner.zig
|
||||
+++ b/lib/compiler/build_runner.zig
|
||||
@@ -202,6 +202,15 @@ pub fn main() !void {
|
||||
next_arg, @errorName(err),
|
||||
});
|
||||
};
|
||||
+ } else if (mem.eql(u8, arg, "--build-id")) {
|
||||
+ builder.build_id = .fast;
|
||||
+ } else if (mem.startsWith(u8, arg, "--build-id=")) {
|
||||
+ const style = arg["--build-id=".len..];
|
||||
+ builder.build_id = std.zig.BuildId.parse(style) catch |err| {
|
||||
+ fatal("unable to parse --build-id style '{s}': {s}", .{
|
||||
+ style, @errorName(err),
|
||||
+ });
|
||||
+ };
|
||||
} else if (mem.eql(u8, arg, "--debounce")) {
|
||||
const next_arg = nextArg(args, &arg_idx) orelse
|
||||
fatalWithHint("expected u16 after '{s}'", .{arg});
|
||||
@@ -1364,6 +1373,10 @@ fn usage(b: *std.Build, out_stream: anytype) !void {
|
||||
\\ --zig-lib-dir [arg] Override path to Zig lib directory
|
||||
\\ --build-runner [file] Override path to build runner
|
||||
\\ --seed [integer] For shuffling dependency traversal order (default: random)
|
||||
+ \\ --build-id[=style] At a minor link-time expense, coordinates stripped binaries
|
||||
+ \\ fast, uuid, sha1, md5 with debug symbols via a '.note.gnu.build-id' section
|
||||
+ \\ 0x[hexstring] Maximum 32 bytes
|
||||
+ \\ none (default) Disable build-id
|
||||
\\ --debug-log [scope] Enable debugging the compiler
|
||||
\\ --debug-pkg-config Fail if unknown pkg-config flags encountered
|
||||
\\ --debug-rt Debug compiler runtime libraries
|
||||
diff --git a/lib/std/Build.zig b/lib/std/Build.zig
|
||||
index 4afdcd2bff..d31d9f3ee0 100644
|
||||
--- a/lib/std/Build.zig
|
||||
+++ b/lib/std/Build.zig
|
||||
@@ -94,6 +94,8 @@ available_deps: AvailableDeps,
|
||||
|
||||
release_mode: ReleaseMode,
|
||||
|
||||
+build_id: ?std.zig.BuildId = null,
|
||||
+
|
||||
pub const ReleaseMode = enum {
|
||||
off,
|
||||
any,
|
||||
diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
|
||||
index 616e8f76b4..f70410f612 100644
|
||||
--- a/lib/std/Build/Step/Compile.zig
|
||||
+++ b/lib/std/Build/Step/Compile.zig
|
||||
@@ -1681,7 +1681,7 @@ fn getZigArgs(compile: *Compile, fuzz: bool) ![][]const u8 {
|
||||
|
||||
try addFlag(&zig_args, "each-lib-rpath", compile.each_lib_rpath);
|
||||
|
||||
- if (compile.build_id) |build_id| {
|
||||
+ if (compile.build_id orelse b.build_id) |build_id| {
|
||||
try zig_args.append(switch (build_id) {
|
||||
.hexstring => |hs| b.fmt("--build-id=0x{s}", .{
|
||||
std.fmt.fmtSliceHexLower(hs.toSlice()),
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From e4b31d2e6cba763f4427bc689c7aa27978d47f49 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 21 Apr 2025 23:28:27 +0200
|
||||
Subject: [PATCH 3/5] increase upper bounds of main zig executable to 9G
|
||||
|
||||
On Fedora 42 aarch64 memory usage peaked at 8736403456 bytes
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
build.zig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build.zig b/build.zig
|
||||
index c7dec601b4..bc08eed298 100644
|
||||
--- a/build.zig
|
||||
+++ b/build.zig
|
||||
@@ -704,7 +704,7 @@ fn addCompilerStep(b: *std.Build, options: AddCompilerStepOptions) *std.Build.St
|
||||
|
||||
const exe = b.addExecutable(.{
|
||||
.name = "zig",
|
||||
- .max_rss = 7_800_000_000,
|
||||
+ .max_rss = 9_000_000_000,
|
||||
.root_module = compiler_mod,
|
||||
});
|
||||
exe.stack_size = stack_size;
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
From 2f379308820b58049cfe0aaca1eb4f77700d0047 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Thu, 24 Apr 2025 17:35:29 +0200
|
||||
Subject: [PATCH 4/5] build: pass zig lib dir as directory instead of as string
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
build.zig | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build.zig b/build.zig
|
||||
index bc08eed298..7099edfb86 100644
|
||||
--- a/build.zig
|
||||
+++ b/build.zig
|
||||
@@ -1360,7 +1360,14 @@ fn generateLangRef(b: *std.Build) std.Build.LazyPath {
|
||||
// in a temporary directory
|
||||
"--cache-root", b.cache_root.path orelse ".",
|
||||
});
|
||||
- cmd.addArgs(&.{ "--zig-lib-dir", b.fmt("{}", .{b.graph.zig_lib_directory}) });
|
||||
+ if (b.graph.zig_lib_directory.path) |zig_lib_dir| {
|
||||
+ cmd.addArgs(&.{"--zig-lib-dir"});
|
||||
+ if (fs.path.isAbsolute(zig_lib_dir)) {
|
||||
+ cmd.addArgs(&.{zig_lib_dir});
|
||||
+ } else {
|
||||
+ cmd.addDirectoryArg(b.path(zig_lib_dir));
|
||||
+ }
|
||||
+ }
|
||||
cmd.addArgs(&.{"-i"});
|
||||
cmd.addFileArg(b.path(b.fmt("doc/langref/{s}", .{entry.name})));
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
From 48aa23307d1a47b444854fc09478da6d4ee8e624 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Sun, 11 May 2025 01:09:41 +0200
|
||||
Subject: [PATCH 5/5] link.Elf: add root directory of libraries to linker path
|
||||
|
||||
all the given dynamic shared objects will be linked with an absolute path however they may link to other dynamic shared objects which won't have an absolute path, for this we need to add the library path so that lld can resolve it
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/link/Elf.zig | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/link/Elf.zig b/src/link/Elf.zig
|
||||
index 53f88101b1..fe2b7abd48 100644
|
||||
--- a/src/link/Elf.zig
|
||||
+++ b/src/link/Elf.zig
|
||||
@@ -1938,9 +1938,19 @@ fn linkWithLLD(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: s
|
||||
// Positional arguments to the linker such as object files.
|
||||
var whole_archive = false;
|
||||
|
||||
+ var lib_directories = std.StringArrayHashMap(void).init(gpa);
|
||||
+ defer lib_directories.deinit();
|
||||
+
|
||||
for (self.base.comp.link_inputs) |link_input| switch (link_input) {
|
||||
.res => unreachable, // Windows-only
|
||||
- .dso => continue,
|
||||
+ .dso => |dso| {
|
||||
+ if (dso.path.root_dir.path) |root_dir| {
|
||||
+ const lib_dir = try lib_directories.getOrPut(root_dir);
|
||||
+ if (lib_dir.found_existing) continue;
|
||||
+ try argv.append("-L");
|
||||
+ try argv.append(root_dir);
|
||||
+ }
|
||||
+ },
|
||||
.object, .archive => |obj| {
|
||||
if (obj.must_link and !whole_archive) {
|
||||
try argv.append("-whole-archive");
|
||||
--
|
||||
2.49.0
|
||||
|
||||
154
changelog
Normal file
154
changelog
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
* 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
|
||||
16
macros.zig
16
macros.zig
|
|
@ -1,8 +1,8 @@
|
|||
%zig_arches x86_64 aarch64 riscv64 %{mips64}
|
||||
|
||||
%zig %{_bindir}/zig
|
||||
%__zig %{_bindir}/zig
|
||||
|
||||
%_zig_cache_dir %{builddir}/zig-cache
|
||||
%_zig_cache_dir %{_vpath_builddir}/zig-cache
|
||||
%_zig_package_dir %{_zig_cache_dir}/p
|
||||
|
||||
# expected features for each arch when targeting baseline
|
||||
|
|
@ -27,8 +27,11 @@
|
|||
# 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}
|
||||
%_zig_system_integration --system "%{_zig_package_dir}"
|
||||
%_zig_advanced_options --cache-dir "%{_zig_cache_dir}" --global-cache-dir "%{_zig_cache_dir}"
|
||||
# 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_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}
|
||||
%_zig_install_options --prefix "%{_prefix}" --prefix-lib-dir "%{_libdir}" --prefix-exe-dir "%{_bindir}" --prefix-include-dir "%{_includedir}" %{?zig_install_options}
|
||||
|
|
@ -40,10 +43,11 @@
|
|||
mkdir -p \
|
||||
%{_zig_cache_dir} \
|
||||
%{_zig_package_dir} \
|
||||
"zig-pkg" \
|
||||
}
|
||||
|
||||
%zig_build %{shrink: \
|
||||
%zig \
|
||||
%__zig \
|
||||
build \
|
||||
%{?_zig_build_options} \
|
||||
}
|
||||
|
|
@ -56,7 +60,7 @@
|
|||
}
|
||||
|
||||
%zig_fetch %{shrink: \
|
||||
%zig \
|
||||
%__zig \
|
||||
fetch \
|
||||
%{?_zig_fetch_options} \
|
||||
}
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (zig-0.14.0.tar.xz) = 046462526ec16d56e8dcead8f8b680e99101090766c443f512f308c25860e8416f6fb2be15d4a387baa94f63a6fea6255374874c1ccf19144facbc02226a503b
|
||||
SHA512 (zig-0.14.0.tar.xz.minisig) = a5d0946f136b2a28efbfde77f6052cd8745147df64bb70ed30d1d79bad27a52af451631750d592134e1933763ebe5e24215459481864bec0a969c1730527dc2c
|
||||
SHA512 (zig-0.16.0.tar.xz) = 1404a939c6f233d5f328a4833543d7a2b2d9f0f5081babe6e3ad43daed25bbb0844b28c01c900f64b5bb63ac62b5586457c05380b10494dfefb56f49b58d4a0a
|
||||
SHA512 (zig-0.16.0.tar.xz.minisig) = 44a2d57061cbe8bd4e9ad587c247883e2e9abefa148ab375617665fe51500a106f488ceaaeaf038c0ff5ce1a70f4eb3b519a44f3211769ea1ebae5ad49b2f1b9
|
||||
|
|
|
|||
256
zig.spec
256
zig.spec
|
|
@ -1,21 +1,49 @@
|
|||
# https://ziglang.org/download/VERSION/release-notes.html#Support-Table
|
||||
%global zig_arches x86_64 aarch64 riscv64 %{mips64}
|
||||
# Signing key from https://ziglang.org/download/
|
||||
%global public_key RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U
|
||||
# architecture and toolchain
|
||||
|
||||
# note here at which Fedora or EL release we need to use compat LLVM packages
|
||||
%if 0%{?fedora} >= 42 || 0%{?rhel} >= 9
|
||||
%define llvm_compat 19
|
||||
%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.
|
||||
%global zig_arches x86_64
|
||||
%else
|
||||
# Supported architectures: https://ziglang.org/download/VERSION/release-notes.html#Support-Table
|
||||
%global zig_arches x86_64 aarch64 riscv64 %{mips64}
|
||||
%endif
|
||||
|
||||
%global llvm_version 19.0.0
|
||||
# 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/)
|
||||
%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
|
||||
%endif
|
||||
%global llvm_version 21.1.8
|
||||
|
||||
%global zig_cache_dir %{_vpath_builddir}/zig-cache
|
||||
|
||||
|
||||
# build conditionals
|
||||
|
||||
%bcond bootstrap 0
|
||||
%bcond docs %{without bootstrap}
|
||||
%bcond macro %{without bootstrap}
|
||||
%bcond test 1
|
||||
|
||||
%global zig_cache_dir %{builddir}/zig-cache
|
||||
|
||||
# build and install options
|
||||
|
||||
%global zig_build_options %{shrink: \
|
||||
--verbose \
|
||||
|
|
@ -30,7 +58,7 @@
|
|||
--cache-dir "%{zig_cache_dir}" \
|
||||
--global-cache-dir "%{zig_cache_dir}" \
|
||||
\
|
||||
-Dversion-string="%{version}" \
|
||||
-Dversion-string="%{?dev_version}%{!?dev_version:%{version}}" \
|
||||
-Dstatic-llvm=false \
|
||||
-Denable-llvm=true \
|
||||
-Dno-langref=true \
|
||||
|
|
@ -38,52 +66,41 @@
|
|||
-Dpie \
|
||||
-Dconfig_h="%{__cmake_builddir}/config.h" \
|
||||
}
|
||||
%global zig_install_options %zig_build_options %{shrink: \
|
||||
|
||||
%global zig_install_options %{shrink: \
|
||||
%zig_build_options \
|
||||
--prefix "%{_prefix}" \
|
||||
}
|
||||
|
||||
Name: zig
|
||||
Version: 0.14.0
|
||||
Release: 4%{?dist}
|
||||
Version: 0.16.0
|
||||
Release: %autorelease
|
||||
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
|
||||
|
||||
License: MIT AND NCSA AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later AND GPL-2.0-or-later WITH GCC-exception-2.0 AND BSD-3-Clause AND Inner-Net-2.0 AND ISC AND LicenseRef-Fedora-Public-Domain AND GFDL-1.1-or-later AND ZPL-2.1
|
||||
URL: https://ziglang.org
|
||||
Source0: %{url}/download/%{version}/%{name}-%{version}.tar.xz
|
||||
Source1: %{url}/download/%{version}/%{name}-%{version}.tar.xz.minisig
|
||||
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
|
||||
Patch: 0001-remove-native-lib-directories-from-rpath.patch
|
||||
# Adds a build option for setting the build-id
|
||||
# some projects are not programmed to handle a build-id's
|
||||
# by having it as a flag we can make sure no developer runs into
|
||||
# any trouble because of packaging demands
|
||||
# https://github.com/ziglang/zig/pull/22516
|
||||
Patch: 0002-std.Build-add-build-id-option.patch
|
||||
# Zig has a feature that allows the developer to specify max memory usage
|
||||
# during compilation, this allows the compiler to split up tasks efficiently-
|
||||
# Annoyingly if any singular step goes above this it will fail after completion
|
||||
# Upstream suggested simply bumping this limit to 9GB
|
||||
# https://github.com/ziglang/zig/pull/23638
|
||||
Patch: 0003-increase-upper-bounds-of-main-zig-executable-to-9G.patch
|
||||
# every snippet of code in the documentation is tested to see if it works
|
||||
# while doing this zig incorrectly passes a relative path to the doctest tool
|
||||
# which is ran in a temporary directory making that path invalid
|
||||
# This patch was superseded by https://github.com/ziglang/zig/pull/23894 which
|
||||
# implements a proper fix, but for our use case this is good enough.
|
||||
# https://github.com/ziglang/zig/pull/23644
|
||||
Patch: 0004-build-pass-zig-lib-dir-as-directory-instead-of-as-st.patch
|
||||
# lld will try to resolve every libary of a shared object thats used for this we need
|
||||
# add specify the library directories, this patch adds them back.
|
||||
# This wasn't an issue with the cc binary present because zig will call it to figure
|
||||
# out more system paths.
|
||||
# https://github.com/ziglang/zig/pull/23850
|
||||
Patch: 0005-link.Elf-add-root-directory-of-libraries-to-linker-p.patch
|
||||
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
|
||||
|
|
@ -96,7 +113,7 @@ BuildRequires: help2man
|
|||
BuildRequires: minisign
|
||||
|
||||
%if %{without bootstrap}
|
||||
BuildRequires: %{name} = %{version}
|
||||
BuildRequires: (zig >= 0.16 with zig < 0.17)
|
||||
%endif
|
||||
|
||||
%if %{with test}
|
||||
|
|
@ -112,7 +129,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.41
|
||||
Provides: bundled(glibc) = 2.43
|
||||
# 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
|
||||
|
|
@ -161,9 +178,14 @@ This package contains common RPM macros for %{name}.
|
|||
%endif
|
||||
|
||||
%prep
|
||||
/usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key}
|
||||
minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key} -Q | grep -F "file:%{archive_name}"
|
||||
|
||||
%autosetup -N
|
||||
%patch 0 -p1
|
||||
%if 0%{?rhel}
|
||||
%patch 1 -p1
|
||||
%endif
|
||||
|
||||
%autosetup -p1
|
||||
%if %{without bootstrap}
|
||||
# Ensure that the pre-build stage1 binary is not used
|
||||
rm -f stage1/zig1.wasm
|
||||
|
|
@ -171,6 +193,11 @@ rm -f stage1/zig1.wasm
|
|||
|
||||
%build
|
||||
|
||||
# Fedora supports using ccache systemwide
|
||||
# Zig generates a large C file for bootstrapping which does not
|
||||
# behave well with ccache so we explicitly disable it.
|
||||
export CCACHE_DISABLE=1
|
||||
|
||||
# zig doesn't know how to dynamically link llvm on its own so we need cmake to generate a header ahead of time
|
||||
# if we provide the header we need to also build zigcpp
|
||||
|
||||
|
|
@ -188,7 +215,7 @@ rm -f stage1/zig1.wasm
|
|||
-DZIG_TARGET_MCPU:STRING=baseline \
|
||||
-DZIG_TARGET_TRIPLE:STRING=native \
|
||||
\
|
||||
-DZIG_VERSION:STRING="%{version}"
|
||||
-DZIG_VERSION:STRING="%{?dev_version}%{!?dev_version:%{version}}"
|
||||
|
||||
%if %{with bootstrap}
|
||||
%cmake_build --target stage3
|
||||
|
|
@ -203,7 +230,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
|
||||
|
||||
|
|
@ -250,137 +277,4 @@ install -D -pv -m 0644 %{SOURCE2} %{buildroot}%{_rpmmacrodir}/macros.%{name}
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* 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
|
||||
%autochangelog
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue