Skip to content

Zig16 rebase - #62548

Open
mamins1376 wants to merge 9 commits into
void-linux:masterfrom
mamins1376:zig16-rebase
Open

mamins1376 wants to merge 9 commits into
void-linux:masterfrom
mamins1376:zig16-rebase

Conversation

@mamins1376

Copy link
Copy Markdown
Contributor

Testing the changes

  • I tested the changes in this PR: briefly

Local build testing

  • I built this PR locally for my native architecture, x86_64-glibc
  • (cross builds handled by CI — see note below)

This is a rebased and fixed version of PR #59955 (Zig 0.16 update, stalled 5+ months).

Changes:

  • Rebased 8 commits cleanly onto current upstream/master
  • Cross-compile fix: ncdu2 now uses pkg-config in translate-c for ncursesw headers

Cross-compile fix detail:
ncdu2's build.zig passes system library names (ncursesw, zstd) to translate-c via link_system_libs, but without use_pkg_config = .yes. On cross builds, the C compiler receives -nostdlibinc and only the libc file's include paths — /usr/include/curses.h in the sysroot is found, but .../ncursesw/curses.h subdirectories aren't. Enabling pkg-config makes translate-c call pkg-config ncursesw --cflags --libs, which returns the correct cross-sysroot include paths via the cross pkg-config wrapper that xbps-src already sets up.

Changeset (11 files, +152/-42):

Package Change
zig 0.13.0 → 0.16.0
zls update to 0.16.0
linuxwave 0.2.0 → 0.4.0
river 0.3.x → 0.4.8 (new river-classic package)
waylock update to 1.6.0
ncdu2 update to 2.11.1 (BratishkaErik fork, zig 0.16 compat + cross-fix)
zig-build.sh sysroot/search-prefix for zig 0.16 API changes

tranzystorekk and others added 9 commits September 15, 2026 16:33
The ncdu fork builds with system ncursesw and zstd via translate_c.
Without pkg-config enabled, the translator doesn't pass the correct
-I include paths for cross-compilation (e.g. armv7l, aarch64),
causing 'curses.h not found' errors.

The fix enables use_pkg_config = .yes so that translate-c calls
pkg-config to get --cflags, which gives the proper cross-sysroot
include paths. xbps-src already sets PKG_CONFIG to the cross
wrapper with the correct PKG_CONFIG_SYSROOT_DIR.
@tranzystorekk

Copy link
Copy Markdown
Contributor

The description seems AI-generated, and the cross runs clearly are still failing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants