sysutils/leaves: Add port: Text-mode disk usage visualization utility
Leaves is a disk usage analyzer inspired by WinDirStat and QDirStat.
It shows files and directories in a hierarchy of nested
rectangles. The area of a rectangle is proportional to its size. A 200
MB file will have twice the size as a sibling with 100 MB. The parent
directory will have about 3 times the area of the smaller file.
However, due to the limited resolution of working at a character
level, this is a fairly coarse approximation compared to a graphical
tool. On the other hand, this will work over remote shell connections
when graphical desktop environments are not available or impractical.
WWW: https://github.com/patonw/leaves
website: Add navigation between the documents of a release
Every release publishes a set of sibling documents (announcement, signed
checksums, upgrading or installation instructions, hardware notes, release
notes, errata, readme and schedule), but they are only listed together on
the release index page. Once inside one of them there is no way to reach
the others without editing the URL, which is inconvenient for the documents
most often read before an update, such as the errata and the upgrading
instructions.
Add a discreet list of the other documents of the same release under the
page title. The list holds the documents the release index page links to,
so releases shipping a different set of documents are handled without any
per-release maintenance, and the documents of an upcoming release stay
hidden until the index publishes them.
Only releases whose directory has its own _index.adoc are covered, which is
10.2R and newer.
[5 lines not shown]
sysutils/kubo-go: builds fine with Go 1.26
Remove Go version pin and undeprecate.
I presume USES=go:1.25+ was originally meant.
Approved by: portmgr (build fix blanket)
MFH: 2026Q3
(cherry picked from commit 717e3028f5710aa5ecade2ab72c64941e484007e)
net/rsync-bpc: fix build on armv7
Supply GNU_CONFIGURE=yes instead of HAS_CONFIGURE=yes so that the right
magic is passed to work around the error
checking build system type... Invalid configuration `armv7-unknown-freebsd15.1-gnueabihf': machine `armv7-unknown-freebsd15.1' not recognized
Approved by: portmgr (build fix blanket)
MFH: 2026Q3
(cherry picked from commit 977fa78a30b4c9045da3dc080d11de9feb0dc3b9)
sysutils/kubo-go: builds fine with Go 1.26
Remove Go version pin and undeprecate.
I presume USES=go:1.25+ was originally meant.
Approved by: portmgr (build fix blanket)
MFH: 2026Q3
net/rsync-bpc: fix build on armv7
Supply GNU_CONFIGURE=yes instead of HAS_CONFIGURE=yes so that the right
magic is passed to work around the error
checking build system type... Invalid configuration `armv7-unknown-freebsd15.1-gnueabihf': machine `armv7-unknown-freebsd15.1' not recognized
Approved by: portmgr (build fix blanket)
MFH: 2026Q3
emulators/wine-devel: Update 11.14 => 11.15
Changelog:
- More KDF algorithms in BCrypt.
- Support for ARM64EC build in Mingw mode.
- More format conversions in WindowsCodecs.
- Support for local NTLM authentication.
- Various bug fixes.
https://gitlab.winehq.org/wine/wine/-/releases/wine-11.15
PR: 297398
Sponsored by: UNIS Labs
textproc/presenterm: Add new port
Presenterm lets you create presentations in markdown format and run them from
your terminal, with support for image and animated gifs, highly customizable
themes, code highlighting, exporting presentations into PDF format, and plenty
of other features.
https://mfontanini.github.io/presenterm/
usb: use SYSINIT(9) order instead of using non-existing subsystem
Found with: clang -Werror=assign-enum
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58710
tests/netinet/socket_afinet: multibind second socket can be different
Allows to add tests to the table where the second socket doesn't take
address from the first. No functional change yet, all tests test the same
conditions.
Differential Revision: https://reviews.freebsd.org/D58087
tests/netinet/socket_afinet: unroll multibind test into a table
The test has 6 dimensions: address family, socket type, socket option on
the first socket, socket option on the second socket, is first socket
bound to specific address or wildcard and is the second socket priveleged
or not. Before the change 3 dimensions are implemented as 3 nested for()
loops, 2 dimensions are implemented as repetitions in the test body and
one dimension as two actions in the innermost loop.
I'm about to add one more dimension: whether the second socket is bound to
a specific address or wildcard instead of using first socket's
getsockopt(2) result. Also, there is a change under discussion that would
make SOCK_STREAM sockets behave different to SOCK_DGRAM. That would break
result consistency in the dimensions of socket type.
We expect that consistency in the dimension of address families shall
never break, thus this one remains a for() loop. The priveleged & non-
privileged bind(2) attempts also remain as two actions, but expected
results are in the table. The rest of dimensions are unrolled into a
[7 lines not shown]
inpcb: take a pcbinfo database out from single lock
Initialize all three hashes (exact, wild, load balance group) with a per-
bucket lock. Nothing changes for the packet lookup KPI - it still uses
SMR section for thread safety. But connect(2) and bind(2) operations gain
parallelism now.
The main concept is that as we lookup inpcb database for editing, we are
accumulating bucket locks necessary to accomplish the operation. Once all
lookups are complete and we are good to go, the inpcb is inserted (or
moved) and accumulated lock context is released.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D58131
tests/netinet/socket_afinet: add more tests to multibind
Add tests where first socket and second socket are bound to different
addresses, e.g. first specific and second wildcard and vice versa.
Mark success with SO_REUSEPORT on the second socket as a bug suspect.
Mark failure to bind to INADDR_ANY in presence of other UID's specific
bound socket to the same port as probably too strict.
Differential Revision: https://reviews.freebsd.org/D58088
taskqueue: Move wakeup() out of tq_mutex
taskqueue KPI require wakeup() to be called for each completed
task. With everything else there heavily optimized over the years,
even when doing nothing this wakeup()'s lock/unlock is significant.
Since no external taskqueue consumer can depend on the tq_mutex,
we can move the wakeup() out of it. It creates some complications
for internal waiters, but those should be much more rare, and can
be handled with separate locked wakeups on demand.
My tests of taskqueue-intensive ZFS RAIDZ writes on 64-core system
show performance improvement from this change ~4%, while same time
reducing CPU usage by several percent due to lower lock contention,
confirmed by CPU profiler.