[Support] Make format_object non-virtual (#206319)
Currently, format_object creates a 32B vtable for every instantiation.
This is costs space and dynamic relocations. Make format_object
non-virtual and adapt the two printing users to use a function_ref
instead.
adduser: Normalize supplemental groups
Rather than insist on a space-separated list, normalize the input so
that any number of spaces, commas, colons, or semicolons are accepted.
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D57774
(cherry picked from commit 65fba082f44cb9451d2b12bcd99c3287d0a47acc)
rc: Improve load_kld
* Centralize the usage message.
* Document and enforce that -e and -m are mutually exclusive; previously,
speficying both would result in only -e being applied.
* If -e was not specified, and -m was not specified or did not match,
fall back to `kldstat -n file` which will always work for modules that
aren't built into the kernel.
This means the kld and ntpd scripts can now rely on load_kld to dtrt.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D57706
(cherry picked from commit a95d324dd3107afcbc16767d183acca7a57ebca9)
rc: Fix improper use of load_kld
Fix scripts that needlessly used -e when the simpler -m would work, or
that used -m when the module and file name are the same, or, in one
particularly egregious case, used -m with the wrong name when using
nothing at all would have worked just fine.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D57705
(cherry picked from commit cfe1962a19259fea8f51673f4da6c96656776486)
rc: Make devmatch use load_kld
The default behavior of load_kld is now robust enough for devmatch.
Switching means settings from /etc/sysctl.kld.d are now properly applied
when the corresponding modules are loaded by devmatch.
While here, reduce the amount of output produced by devmatch from one
line per module to a single line.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D57707
(cherry picked from commit b9f616d031566e94e6967a2c533b8aa7f36123b9)
adduser: Normalize supplemental groups
Rather than insist on a space-separated list, normalize the input so
that any number of spaces, commas, colons, or semicolons are accepted.
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D57774
(cherry picked from commit 65fba082f44cb9451d2b12bcd99c3287d0a47acc)
rc: Make devmatch use load_kld
The default behavior of load_kld is now robust enough for devmatch.
Switching means settings from /etc/sysctl.kld.d are now properly applied
when the corresponding modules are loaded by devmatch.
While here, reduce the amount of output produced by devmatch from one
line per module to a single line.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D57707
(cherry picked from commit b9f616d031566e94e6967a2c533b8aa7f36123b9)
rc: Fix improper use of load_kld
Fix scripts that needlessly used -e when the simpler -m would work, or
that used -m when the module and file name are the same, or, in one
particularly egregious case, used -m with the wrong name when using
nothing at all would have worked just fine.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D57705
(cherry picked from commit cfe1962a19259fea8f51673f4da6c96656776486)
rc: Improve load_kld
* Centralize the usage message.
* Document and enforce that -e and -m are mutually exclusive; previously,
speficying both would result in only -e being applied.
* If -e was not specified, and -m was not specified or did not match,
fall back to `kldstat -n file` which will always work for modules that
aren't built into the kernel.
This means the kld and ntpd scripts can now rely on load_kld to dtrt.
MFC after: 1 week
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D57706
(cherry picked from commit a95d324dd3107afcbc16767d183acca7a57ebca9)
gotosocial: improve package after review by wiz
Changes:
- Removed unecessary things like PKGREVISION, pre-extract
- Cleanup
- Added INSTALL_UNSTRIPPED flag to no to mimic GoToSocial's production
build
py-blessed: updated to 1.44.0
1.44
* improve: reduce errant XTGETTCAP output for Terminal.app and ConEmu.exe :ghpull:`385`.
1.43
* bugfix: regression of XTGETTCAP responses leaking into first call for empty/non-response
terminals (libvte/Gnome Terminal), in versions 1.40 to 1.42 :ghpull:`383`.
1.42
* bugfix: regression in :meth:`~.Terminal.cbreak` and :meth:`~.Terminal.raw` were not thread-safe
broken in versions 1.40 and 1.41, remove signal ignore of SIGTTOU :ghissue:`380`.
1.41
* bugfix: :meth:`~.Terminal.get_location` broken in 1.40, returned a generator instead of a tuple.
:ghissue:`378`.
1.40
* improved: jinxed_ is **now required on all platforms**, providing a curses-free and
[18 lines not shown]
py-jinxed: added version 2.0.4
Jinxed is a pure-Python implementation of a subset of the Python curses
library. It provides jinxed.tigetstr(), jinxed.tparm(), and related terminfo
functions on all platforms with a virtual terminfo(5) database.
atari800: updated to 7.0.0
7.0.0
New features:
Auto-download missing OS/BASIC ROMs from the Internet
Mount zipped disk images directly from the Internet
Portable mode — config file and data storage next to the executable
Platform specific:
Windows: 32/64-bit builds, installer executable, portable zip archive
Windows: app icon, MP3 recording support
Windows: win32-no-network build for XP compatibility
macOS: ready-to-run .dmg archive
Linux: AppImage builds (x86_64 + i386)
Android: auto-download ROMs, upgrade dialog
[10 lines not shown]
databases/turso: New port
Turso is an open-source, SQLite-compatible database written in Rust that
lets developers create millions of small, file-based databases for AI
agents, multi-tenant SaaS applications, and edge workloads.
Unlike traditional databases that run as a single shared server process,
Turso treats each database as a lightweight file that can be spun up
instantly, replicated globally, or synced to a device.
strawberry: updated to 1.2.21
1.2.21 (2026.06.27):
* Re-point playlist items that references duplicated songs before removal
* Preserve user data before deleting duplicate songs
* Check for svg support
* Support custom icons from scalable dir
* Custom icons take precedence over system theme icons
* Add .tak to valid file extensions
nghttp3: updated to 1.17.0
1.17.0
lib: Add nghttp3_downcase_byte
lib: Fix header name validation
lib: Reformat downcase table
Add nghttp3_conn_stream_flushed
lib: Take into account non-DATA frame in nghttp3_conn_is_stream_flushed
Update scripts
Reformat huffman data tables
Update doc
lib: Treat non-existent stream flushed
Bump sfparse
lib: Add the public API to encode and decode variable-length integer
build(deps): bump actions/checkout from 6 to 7
Add missing version-added
sqlite3: updated to 3.53.3
3.53.3 (2026-06-26):
Fixes for problems in 3.53.0 (and 3.53.1 and 3.53.2) mostly coming from AIs. See the check-in timeline for details.
py-tibs: updated to 0.11.0
0.11.0
Backwardly incompatible changes
* Restored `Tibs.__hash__`, reversing the change made in version 0.10.0.
`Tibs` is now hashable again, while `Mutibs` remains unhashable.
* Instead, equality no longer promotes strings, bytes or iterables to bit containers.
`Tibs` and `Mutibs` compare equal to each other when their bit sequences
match, but expressions such as `Tibs('0xf') == '0b1111'` now return `False`.
Use `Tibs('0b1111')`, `Mutibs('0b1111')`, or representation properties such
as `.bin` and `.hex` when comparing against literal representations.
Added
* Added `Tibs.to_padded_bytes()` and `Mutibs.to_padded_bytes()`, which convert
to `bytes` after appending 0 to 7 zero bits on the right to reach a byte
boundary.
[12 lines not shown]