Import combinatorics library/utility
Here is an HTML formatted preview of the library manual:
https://fraubsd.org/doc/cmb.3.html
And utility manual:
https://fraubsd.org/doc/cmb.1.html
Over 30 years in the making, this is not just a cute tool to generate combinations. It is both a novel algorithm and the fastest implementation we have for complex combinatorics. It is faster than python's itertools, faster than numpy, faster than Perl, faster than Perl XS, faster than comb in R, faster than every library I have found and tested over the past 5 years.
Arch Linux has already ported an earlier version of this work to their Operating System.
Equipping the FreeBSD base with this utility/library allows us to take on new exciting possibilities such as generating a full-and-complete build-option-survey. However, one of the more exciting propositions is the idea that we could generate multiple binary packages from a single port that has multiple compile-time options. That way, we could support allowing people to download packages that were compiled with the options they desire instead of punting to require a src-compile of a port every time non-standard options are desired.
I have baked into the cmb suite a lot of functionality such as the ability to resume where you left-off if you prematurely terminate a run and other mathematical solutions. So taking on large tasks such as "compile the base OS with every possible combination of build-time options" is a possible endeavor.
While I do have additional features planned, such as dynamic shared objects loaded at runtime for defining custom behavior, I have decided that 30 years of development is enough and that the initial offering is more than complete -- further features can be added later since the core underpinnings are currently solid.