devel/stirmake: [NEW PORT] Scalable true implementation of recursive make
Stirmake is a fast build tool intended to allow easily developing
correct build systems with one global directed acyclic graph for
projects spanning multiple directories and potentially including Git
submodules. It is fully programmable in the embedded Amyplan
programming language. The intention is that with Stirmake, one never
has to type the equivalent of "make clean" to fix a build.
PR: 300760
Co-authored by: mce@
sysconf: Add ucl and pkg targets
ucl reads and rewrites Universal Configuration Language files with
libucl(3), the private library pkg(8) links, so what sysconf reads is
what pkg reads. Each file is parsed on its own and every scalar is
addressed by its dotted path (FreeBSD-ports.enabled); the last file
to define a path is authoritative. A write changes only the one
statement, in the file's own separator, terminator, quoting, and
boolean style, then re-parses the result with libucl and refuses the
write unless the parsed contents differ in exactly the requested key.
Removing the last key of an object removes the object.
Arrays are leaves, read back as compact JSON. name+=word and
name-=word on an array add and strike elements. Under an array a
path component is an index, as uclcmd(1) spells it: name.i reaches
one element (name.i=value sets it, name.i+=word edits it, -x name.i
strikes it), name.i.j reaches into a nested array, and name.# is the
count (name.#=value appends). A negative index counts from the end.
Under an object the same component is a key, so a key named 404 or #
[21 lines not shown]
FDP/writing style: Headings are in title case
In the FreeBSD documentation project, headings are title case following
older American publishing tradition. Google and Microsoft style guides
have switched to sentence case, but I for one like our old world style
and the quality it usually implies, and want to carry that torch.
There are different style houses have subtle nuances on what constitutes
a "small word", and I do not think there is anything to be gained from
doing a whole bikeshed on which one to follow and then trying to get all
the docs to use that consistently. For now, fix this consistently on the
writing style page without adding a new rule.
PR: 296223
Reviewed by: carlavilla
Differential Revision: https://reviews.freebsd.org/D61592
net-p2p/gtk-gnutella: unbreak the build on 32-bit architectures
Turns out this version suffers from the same issue as 1.2.1 I have
fixed before; reapply lost part of commit 9a32701b738f as a remedy.
Fixes: 676a7a30328b
pci_dw: Honor the max-link-speed property
The root port reports in LNKCAP the highest link speed the core was
synthesized for, which can be more than the PHY behind it supports. On
the RK3568 pcie2x1 the root port advertises 8GT/s while the PHY only
does 5GT/s. The link stays at 2.5GT/s after the directed speed change.
Read max-link-speed from the device tree and write it to the Max Link
Speed field of LNKCAP and to the Target Link Speed field of LNKCTL2
before requesting the speed change. Nothing changes when the property
is absent.
Tested on a Quartz64 Model A with a Samsung 970 EVO Plus NVMe drive: the
link now trains at 5GT/s and the sequential throughput goes from 200MB/s
to 400MB/s.
Differential Revision: https://reviews.freebsd.org/D61014
mcommphy: Set the 10/100 TX delay of the YT8511
The TX clock delay of the YT8511 is split in two registers. The delay
used in gigabit mode is in the clock gating page and was already set
from the RGMII mode, but the one used in the 10/100 modes is in the next
page and was left at its reset value of 2ns. With a phy-mode that does
not ask for a TX delay in the PHY, the MAC provides it and the PHY adds
another 2ns in the 10/100 modes.
Set it like the gigabit one, like Linux does.
Tested on a Quartz64 Model A, gigabit and 100Mbit links.
Reviewed by: oh
Differential Revision: https://reviews.freebsd.org/D61015
top: implement pid highlighting
Implement PID highlighting. This can be activated by pressing
'L' and entering a PID to highlight. Highlighting can be cleared
by entering '+' as a PID to highlight. This feature is inspired by
the OpenBSD top, which uses 'P' key for that. We have to use 'L'
because 'P' is already used for toggling per-CPU statistics.
Reviewed by: kib
Obtained from: OpenBSD (partially)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D61090
ip.4: Fix ip_mreqn imr_address field name
This manual used imr_interface when describing the second field of
struct ip_mreqn, but sys/netinet/in.h names that field imr_address.
Note that ip_mreq below does have imr_interface which is unchanged.
PR: 300680
MFC after: 3 days
Reviewed by: ziaee
Closes: https://github.com/freebsd/freebsd-src/pull/2553
graphics/qgis-ltr: Fix once more pkg-plist
During the correction process in the previous commit, the entry for
qgis_mapserv.fcgi was accidentally updated to newer versions of QGIS.
MFH: 2026Q4
(cherry picked from commit 16fb65e819caab5ca63e82029ac232c22e512f68)
graphics/qgis-ltr: Fix once more pkg-plist
During the correction process in the previous commit, the entry for
qgis_mapserv.fcgi was accidentally updated to newer versions of QGIS.
MFH: 2026Q4