Index | Thread | Search

From:
"David Emerson" <d@nnix.com>
Subject:
NEW: editors/issy
To:
ports@openbsd.org
Date:
Mon, 13 Apr 2026 00:04:43 -0400

Download raw body.

Thread
  • David Emerson:

    NEW: editors/issy

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