From: "David Emerson" Subject: NEW: editors/issy To: ports@openbsd.org Date: Mon, 13 Apr 2026 00:04:43 -0400 I'd like to submit a new port for OpenBSD: editors/issy, a small console text editor written in Zig. The source lives at https://github.com/davidemerson/issy and is released under the ISC license. What it is: issy is a gap-buffer text 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. It has no runtime dependencies beyond libc and deliberately keeps its UI minimal: a centered code column on wide terminals, luminance-driven syntax highlighting, and a soft right margin. Build notes: issy is built with `zig build -Doptimize=ReleaseSafe`. The Makefile depends on lang/zig and redirects the zig cache into ${WRKBUILD} via ZIG_GLOBAL_CACHE_DIR / ZIG_LOCAL_CACHE_DIR in MAKE_ENV, mirroring the pattern used by lang/zig's own Makefile. The project's unit tests are wired to do-test and run under `zig build test`. As far as I can tell this is the first port in the tree that consumes lang/zig as a build tool (lang/zig itself bootstraps from CMake+LLVM), so there is no existing zig-based port I could inherit from. The do-build / do-install / do-test targets are written explicitly rather than using a module. Suggestions on factoring this out into a lang/zig consumer module — similar to lang/go — would be welcome if the maintainers think that's worthwhile. Arches: ONLY_FOR_ARCHS = amd64 arm64, matching lang/zig. powerpc64 is excluded because the upstream lang/zig port is marked BROKEN there. Testing: I do not currently have an OpenBSD build environment to test on. The port was prepared against the conventions documented in https://www.openbsd.org/faq/ports/guide.html and modeled on editors/ne and lang/zig. Please let me know if anything in the Makefile, PLIST, or build invocation fails under a real `make package`, and I will iterate. Upstream note: I added OpenBSD to the `linkLibC` branch in the project's build.zig specifically for this port, so native builds go through libc instead of issuing raw syscalls (which modern OpenBSD would refuse to execute). The port directory is attached as a gzipped tarball. Extract into ports/editors/ to produce ports/editors/issy/. Thanks for reviewing, David Emerson d@nnix.com