NEW: editors/issy

"David Emerson" <[email protected]> Fri, 31 Jul 2026 15:50:05 -0400
Newsgroups gmane.os.openbsd.ports
Message-ID <[email protected]>
--b314e83e760aecaa6a2fff4409a77cdbc1765094
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hey all,
New port: editors/issy, a small console text editor written in Zig.
BSD 3-Clause. https://github.com/davidemerson/issy, upstream v1.3.1.

I sent this once before (2026-07-13, at v1.2.4). That version
couldn't build on -current =E2=80=94 lang/zig moved to 0.16.0 in May and
issy was 0.15-only. Fixed upstream: v1.3.1 builds and tests clean on
zig 0.15.2 (7.9 packages) and 0.16.0 (-current).

What it is:

  Gap-buffer editor. Syntax highlighting for 20 languages,
  multi-cursor editing, incremental search, undo/redo, PDF export
  through its own PDF 1.4 writer with TTF/OTF embedding. No runtime
  dependencies beyond libc.

Build notes:

  zig build -Doptimize=3DReleaseSafe. BUILD_DEPENDS on lang/zig; the
  zig cache is redirected into ${WRKBUILD} via MAKE_ENV so the build
  doesn't write to $HOME. No zig package dependencies, so no network
  fetch =E2=80=94 the distfile is self-contained. do-test runs
  `zig build test`.

  One trap: zig's build runner reads DESTDIR from the environment,
  and MAKE_ENV carries DESTDIR=3D'' during do-build. Without a pinned
  prefix, zig installs the binary to ${DESTDIR}/usr instead of
  ./zig-out. do-build passes --prefix ${WRKBUILD}/zig-out for this
  reason (comment in the Makefile). Any future zig-consumer module
  needs the same guard.

  As far as I can tell this is the first port consuming lang/zig as
  a build tool =E2=80=94 lang/zig itself bootstraps from CMake+LLVM =E2=80=
=94 so
  there's no zig module to inherit. If you want one factored out
  (like lang/go), I'll help.

  build.zig links libc on OpenBSD because the kernel kills processes
  making raw syscalls. That's why WANTLIB has `c` on a pure-Zig
  program.

  The packaged binary carries a "dev" build stamp, which disables
  the update-notification check. A pkg_add-installed issy never
  phones home.

Arches:

  ONLY_FOR_ARCHS =3D amd64 arm64, matching lang/zig.

Testing:

  Verified at v1.3.1 on OpenBSD 7.9 amd64 with zig 0.15.2 from
  packages: 1321 unit test executions pass under `zig build test`;
  all 16 PTY integration suites (63 cases) pass under
  `bash tests/run_tests.sh`. Same suites pass on zig 0.16.0.
  Upstream CI runs the OpenBSD sequence in a 7.9 VM on every push.

  The attached port was exercised in a clean 7.9 ports tree:
  make checksum / build / fake / package / install all succeed;
  portcheck is clean.

Port directory attached as a tarball; extract into ports/editors/.

Thanks,
David Emerson
--b314e83e760aecaa6a2fff4409a77cdbc1765094
Content-Disposition: attachment; filename="issy-port.tar.gz"
Content-Type: application/x-gzip; name="issy-port.tar.gz"
Content-Transfer-Encoding: base64

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
HgAA

--b314e83e760aecaa6a2fff4409a77cdbc1765094--