Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/z/zig/abi_used_libs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
ld-linux-x86-64.so.2
libLLVM.so.21.1
libc.so.6
libclang-cpp.so.21.1
Expand Down
1 change: 0 additions & 1 deletion packages/z/zig/abi_used_symbols
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
ld-linux-x86-64.so.2:__tls_get_addr
libLLVM.so.21.1:LLVMContextCreate
libLLVM.so.21.1:LLVMContextDispose
libLLVM.so.21.1:LLVMCreateMemoryBufferWithMemoryRange
Expand Down
33 changes: 33 additions & 0 deletions packages/z/zig/files/0001-Try-versioned-zig-libdir.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Reilly Brogan <reilly@reillybrogan.com>
Date: Wed, 22 Apr 2026 15:52:14 -0500
Subject: [PATCH] Try versioned zig libdir

---
src/introspect.zig | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/src/introspect.zig b/src/introspect.zig
index 13d0052093..69fb3dfc36 100644
--- a/src/introspect.zig
+++ b/src/introspect.zig
@@ -19,6 +19,19 @@ const Package = @import("Package.zig");
fn testZigInstallPrefix(io: Io, base_dir: Io.Dir) ?Cache.Directory {
const test_index_file = "std" ++ Dir.path.sep_str ++ "std.zig";

+ // Try the versioned libdir first
+ zig_dir_versioned: {
+ // Try lib/zig-0.16/std/std.zig
+ const lib_zig = "lib" ++ Dir.path.sep_str ++ "zig-0.16";
+ var test_zig_dir = base_dir.openDir(io, lib_zig, .{}) catch break :zig_dir_versioned;
+ const file = test_zig_dir.openFile(io, test_index_file, .{}) catch {
+ test_zig_dir.close(io);
+ break :zig_dir_versioned;
+ };
+ file.close(io);
+ return .{ .handle = test_zig_dir, .path = lib_zig };
+ }
+
zig_dir: {
// Try lib/zig/std/std.zig
const lib_zig = "lib" ++ Dir.path.sep_str ++ "zig";
40 changes: 26 additions & 14 deletions packages/z/zig/package.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=/usr/share/ypkg/schema/schema.json
name : zig
version : 0.16.0
release : 18
release : 19
source :
- https://ziglang.org/download/0.16.0/zig-0.16.0.tar.xz : 43186959edc87d5c7a1be7b7d2a25efffd22ce5807c7af99067f86f99641bfdf
homepage : https://ziglang.org
Expand All @@ -15,28 +15,40 @@ builddeps :
- clang-devel
- lld-devel
- llvm-devel
environment: |
export CC=/usr/bin/clang
export CXX=/usr/bin/clang++
if [ -e /usr/bin/ccache ]; then
export CMAKE_C_COMPILER_LAUNCHER=ccache
export CMAKE_CXX_COMPILER_LAUNCHER=ccache
fi
setup : |
%patch -p1 -i ${pkgfiles}/0001-Try-versioned-zig-libdir.patch

# Note: Check the kernel minimum in glibc for the kernel version to use below
%cmake_ninja \
-DZIG_PIE=ON \
-DZIG_SHARED_LLVM=ON \
-DZIG_TARGET_TRIPLE=x86_64-linux.6.18-gnu.2.42 \
-DZIG_TARGET_MCPU=baseline \
-DZIG_USE_LLVM_CONFIG=ON
build : |
%ninja_build
%install_license LICENSE
install : |
%ninja_install
_MAJOR_MIN_VERSION=$(echo ${version} | cut -d. -f1-2)
_ZIG_LIBDIR=${installdir}/usr/lib/zig-${_MAJOR_MIN_VERSION}

DESTDIR="${PWD}/tmp" cmake --install "solusBuildDir" --verbose

install -dm 00755 ${installdir}/usr/bin ${_ZIG_LIBDIR}
pushd tmp/usr
cp -va --no-preserve=ownership bin ${_ZIG_LIBDIR}
cp -va --no-preserve=ownership lib/zig/* ${_ZIG_LIBDIR}
popd

%install_license LICENSE

# Add versioned command
ln -srv ${_ZIG_LIBDIR}/bin/zig ${installdir}/usr/bin/zig-${_MAJOR_MIN_VERSION}

# Add unversioned since this is the default
ln -srv ${_ZIG_LIBDIR}/bin/zig ${installdir}/usr/bin/zig
check : |
pushd `mktemp -d`
$installdir/usr/bin/zig init
$installdir/usr/bin/zig build run
$installdir/usr/bin/zig build test
pushd $(mktemp -d)
${installdir}/usr/bin/zig init
${installdir}/usr/bin/zig build run
${installdir}/usr/bin/zig build test
popd
Loading