Created attachment 269816 [details] Patch for port files Provides the nickel binary on FreeBSD systems. Nickel is a configuration programming language which allows users to create contracts which other data formats (such as YAML or JSON) can be validated against. Additionally, configurations can be written in the .ncl format which allows the user to use variables, loops, and functions in the configuration as well.
Created attachment 269818 [details] Patch for port files The previous attachment was accidentally downloaded as a zip file from my CICD. This is the raw patch file.
It is customary to move crates listing to Makefile.crates. See also other Rust-based ports.
Created attachment 269855 [details] patch file with Makefile.crates Ah, using Makefile.crates actually makes maintenance way easier for me. Thanks for the direction, patch file updated.
Here is your patch after portclippy and portlint: https://github.com/freebsd/freebsd-ports/compare/main...michael-o:freebsd-ports:nickel?expand=1 Before I run it in poudriere, can you confirm that the duplicate crates, but different versions are on purpose and no error?
I believe that is intentional and is related to the transitive dependencies. For example I tracked down the arrayvec as being a transitive dependency 3 times with 2 different versions. I think all these dependencies were evaluated when I ran make cargo-crates, resulting in duplicates.
(In reply to Derek Anderson from comment #5) Right, this is exactly what I have assumed. Will run tomorrow.
Thank you!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=96a7b88af89729c5ac1711ca0f9b5db5c86620e7 commit 96a7b88af89729c5ac1711ca0f9b5db5c86620e7 Author: Derek Anderson <ports@nxtrn.dev> AuthorDate: 2026-04-16 19:09:26 +0000 Commit: Michael Osipov <michaelo@FreeBSD.org> CommitDate: 2026-04-17 05:36:32 +0000 [NEW PORT] lang/nickel Universal configuration language Co-authored-by: Michael Osipov <michaelo@FreeBSD.org> PR: 294549 lang/Makefile | 1 + lang/nickel/Makefile (new) | 25 + lang/nickel/Makefile.crates (new) | 609 ++++++++++++++++++ lang/nickel/distinfo (new) | 1221 +++++++++++++++++++++++++++++++++++++ lang/nickel/pkg-descr (new) | 16 + 5 files changed, 1872 insertions(+)