Hello ports@,

Please find attached a new port for checkmake 0.3.2:

devel/checkmake

checkmake is a linter and static analyzer for Makefiles:

https://github.com/checkmake/checkmake

It checks Makefiles for common mistakes and maintainability problems,
including missing .PHONY declarations, duplicate targets, excessively
long recipes, and missing standard targets. Its rules can be configured
through an INI file, and results can be produced as either human-readable text or JSON.

The port targets the latest upstream release, 0.3.2:

https://github.com/checkmake/checkmake/releases/tag/v0.3.2

Recent checkmake releases have also moved the project out of
experimental status, improved Makefile parsing and PHONY handling,
added JSON output, made the minphony rule configurable, and added the
uniquetargets rule.

The port uses lang/go and the standard MODGO infrastructure, with
modules.inc containing the complete Go dependency set.

Upstream normally generates the manual page from Markdown using Pandoc.
To avoid adding Pandoc and its dependency tree as a build dependency
for a small Go utility, the port instead downloads the pre-generated
checkmake.1 file published as part of the upstream 0.3.2 release and
installs it directly.

The upstream build also normally injects version, builder, build time,
and Go version information through linker flags. The port sets the
release version and identifies the builder as OpenBSD through
MODGO_LDFLAGS.

I added one small patch so the Go version is obtained directly from
runtime.Version() rather than requiring another build-time linker
variable. This preserves useful version information while avoiding
having to duplicate the Go toolchain version in the port.

The upstream LICENSE is installed under share/doc/checkmake.

The port also enables the upstream Go test suite with:

TEST_TARGET = ./...

Thank you for your time and consideration.

Best regards,
David.

Attachment: checkmake-0.3.2.tar.gz
Description: application/gzip

Reply via email to