On 2026/07/06 12:39, Matt Klein wrote: > Hello, > Please find Attached, a new port archivers/mkz that I published at: > https://github.com/gitspoked/mz called `mkz` and also in rust/crates.rio. > I am looking to push to ports. > > TLDR: `mkz` is a tar-style archiver whose backend is a reversible, schema-free > auto-columnar transform (autocol) followed by zstd. It is not a new > compressor: the transform reshapes line-oriented data (logs, CSV, JSONL) > so zstd sees per-column-homogeneous streams. Its product is measurably > smaller on that kind of data, and behind a per-block never-worse gate. > Provably never larger than zstd alone. Archives carry an end-to-end SHA-256, > verified on extract. > > This is a pure-C upstream build: six C files, depends on libzstd only; > we have vendored SHA-256 and base-95. It is byte-compatible in both > directions with the Rust reference implementation, and the wire format > is specified: https://github.com/gitspoked/mkz/blob/main/FORMAT.md > > Tested on 7.9/arm64: distinfo reproduces from the hosted release > tarball via the the framework fetch; make / make fake / make package / > make test upstream's three test programs -- > port-lib-depends-check all clean; portcheck clean. > - attached: mkz-obsd-port.tgz. digest 9a7fe784… > - exact tarball was revalidated > > The C port was made from the Rust implementation with an OpenBSD first-target > I know how vigorously accountable you hold security standards to > within this circle. > I figured, before I submitted to any other ports trees, why not see if > we can break it > apart here first, to be sure. > > I am upstream and listed on MAINTAINER; I am happy to take feedback and > keep the port current. Please let me know if you have any questions. Thx > > Thank you, > Matt Klein > mk@ntele.net > mklein@nmedia.net : # mkz is dual-licensed MIT OR Apache-2.0. : PERMIT_PACKAGE = Yes ports Makefiles aren't meant to be chatty; just use # MIT OR Apache-2.0 PERMIT_PACKAGE = Yes : # Links libc and libzstd only (SHA-256 and base-95 are vendored). I'd drop that too : WANTLIB = c zstd : : SITES = https://github.com/gitspoked/mkz/releases/download/v${V}/ : : # The release tarball extracts to mkz-c/ (the pure-C tree), not ${DISTNAME}/. : WRKSRC = ${WRKDIR}/mkz-c should be WRKDIST not WRKSRC also needs FIX_EXTRACT_PERMISSIONS = Yes due to restrictive file modes in the tar : LIB_DEPENDS = archivers/zstd : : # Plain handful of C files - no configure, and no GNU make needed : # for the port build. it's simpler for upgrades if you use the standard project's build/test/ install infrastructure, which isn't hard to do, and needs no additional deps. PLIST should be generated with "make plist" (which adds annotations to binaries, amongst other things). not a big fan of the asciified em-dashes in DESCR. suggested alternative tgz attached.
No comments:
Post a Comment