Add cabal port update tool
Add update-cabal-port to help maintain cabal ports. The Perl script
uses cabal database to fetch versions and generates cabal.inc files
with dependency manifests.
OK kn@
Slightly iprove a confusing wording in the parse.y manuals:
The things that need quoting are not necessarily "argument names",
and not even necessarily "names" at all, so just talk about "arguments".
"I guess?" florian@ and no objection from otto@, both back in July 2025.
Actually, the quoting rules are more complicated than the text makes
believe, but i do not know how to better describe them. It may not be
easy because some suspect the implementation may be somewhat adhoc
rather than based on cleary defined lexical rules.
Delete duplicate SEE ALSO entry: lstat(2) is documented in the same
manual page as stat(2), and will almost certainly always be,
so having SEE ALSO pointers to both was gratuitiously wordy.
Avoid statement that was misleading by being overly specific:
without -T, the format of the last modification column varies.
Being less specific is actually better because that indicates
to the reader that it's intended for human consumption, and that
trying to parse it programmatically is likely not a good idea.
Issue reported by Jan Stary <hans at stare.cz> on tech.
Patch by me, OK sthen@.
Rewrite ec_point_cmp()
This removes some complications due to handling the fast path for affine
points and general points at the same time. The result is a bit more code
but both paths should be much easier to follow.
ok jsing kenjiro
update-plist: ensure all LIB*_VERSION have a matching file in PLISTs
This had been the case before the rewrite but was left as a TODO in the
new code. This makes update-plist complain about SHARED_LIB entries that
don't exist as a file, which avoids fiddly and error prone grep for huge
library ports like abseil-cpp and boost.
from espie, thanks
mlkem: fix mklem_{generate_key,encap}_external_entropy() declarations
The prototypes used sized arrays appropriate only for MLKEM768 while the
declarations used pointers. For some reason clang doesn't flag this but
gcc does. In any case it was wrong. The callers of these functions check
that they pass in the correct size. Which is weird but the mlkem directory
has an unbelievable amount of mess and bad code.
found by/ok jsing
mlkem: garbage collect the unusd mlkem_{generate_key,encap}()
These are flagged by more recent gcc since declarations and definitions
don't match (sized array vs pointer). Also an array was checked for NULL.
found by/ok jsing
stub 'time' command; OK miod
octeon (like loongson at least) lacks clock code and thus the 'time'
command besides MD boot* manuals.
Since unsupported commands are treated as file names and explicit
kernels overrule any /bsd.{boot,upgrade} fallback in general,
this causes sysupgrade to not kick in until boot.conf is fixed:
>> OpenBSD/octeon BOOT 1.5
upgrade detected: switching to /bsd.upgrade
failed to load kernel sd0a:time: No such file or directory
will try /bsd
boot>
NOTE: random seed is being reused.
booting sd0a:/bsd
Make 'time' do nothing and return success to ensure it doesn't effect
subsequent execution.
prune previous libLLVM; OK jca deraadt
Reclaiming ~10% of that gigabyte sysupgrade now wants in /usr/ seems nice:
octeon -r--r--r-- 1 root bin 106M Apr 14 2025 /usr/lib/libLLVM.so.8.0
amd64 -r--r--r-- 1 root bin 82.6M Jun 10 2025 /usr/lib/libLLVM.so.8.0
distrib/sets/lists/base/md.* shows macppc as last arch to switch to 9.0
(even bigger) on 01.08.25, so nothing should use old libs anymore by now.