From: "David Emerson" Subject: NEW: editors/issy (resubmit) To: ports@openbsd.org Date: Thu, 16 Apr 2026 05:12:24 -0400 Submitting editors/issy: a small console text editor written in Zig, BSD 3-Clause licensed. Source at https://github.com/davidemerson/issy. What it is: A gap-buffer editor with syntax highlighting for 17 languages (including TeX/LaTeX), multi-cursor editing, incremental search, undo/redo, and PDF export via a hand-rolled PDF 1.4 writer with TTF/OTF font embedding. No runtime dependencies beyond libc. Build notes: `zig build -Doptimize=ReleaseSafe`. BUILD_DEPENDS on lang/zig and redirects the zig cache into ${WRKBUILD} via MAKE_ENV (same pattern as lang/zig's own Makefile) so the ports build doesn't write to $HOME. Unit tests run under `zig build test`, wired to do-test. As far as I can tell this is the first port in the tree consuming lang/zig as a build tool — lang/zig itself bootstraps from CMake+LLVM — so there's no existing zig module to inherit. If you'd like a lang/zig consumer module (à la lang/go) factored out, happy to help. Arches: ONLY_FOR_ARCHS = amd64 arm64, matching lang/zig. powerpc64 is excluded because lang/zig is marked BROKEN there. Testing: Re-submission. The first round failed at do-build with `std.fs.Dir.realpath ... unsupported on this host` — Zig's stdlib reaches for /proc/self/fd/ which OpenBSD lacks. Fixed upstream in commit 4438a2d by switching to std.posix.getcwd (plain libc). Build and test now verified end-to-end on a real OpenBSD 7.8 amd64 VM with lang/zig 0.15.1 from packages: 666/666 unit tests pass, and all 14 integration suites under `bash tests/run_tests.sh` pass. Upstream CI runs the same sequence on every push via cross-platform-actions/action, so future regressions will block main. Upstream build.zig calls linkLibC() on OpenBSD so native builds go through libc rather than raw syscalls. Port directory attached as a gzipped tarball; extract into ports/editors/ to produce ports/editors/issy/. Thanks for the feedback last time, David Emerson