FreeBSD/ports 9d1b773devel/jsoncpp distinfo Makefile, devel/jsoncpp/files patch-jsoncpp-namespaced-targets.cmake patch-jsoncppConfig.cmake.meson.in

devel/jsoncpp: Update to 1.9.8

* Change install dir to match other major (Linux) distros
* Some small adjustments port Makefile to closer follow Porters Handbook
* Import patch from Debian, prefer shared library over static

Changelog:
https://github.com/open-source-parsers/jsoncpp/releases/tag/1.9.8

Reference:
https://sources.debian.org/patches/libjsoncpp/1.9.8-2/0001-Prefer-shared-library-for-namespaced-target.patch/

PR:             297570
Approved by:    maintainer timeout, 2+ weeks
DeltaFile
+0-23devel/jsoncpp/files/patch-jsoncppConfig.cmake.meson.in
+11-11devel/jsoncpp/pkg-plist
+18-0devel/jsoncpp/files/patch-jsoncpp-namespaced-targets.cmake
+7-5devel/jsoncpp/Makefile
+3-3devel/jsoncpp/distinfo
+39-425 files

FreeBSD/ports c134462devel/etcd Makefile

devel/etcd: Bump PORTREVISION

As per policy so metadata gets pushed to package users

Reported by:    joneum
DeltaFile
+1-1devel/etcd/Makefile
+1-11 files

FreeBSD/ports a660a3aaudio/tta Makefile

audio/tta: Revert removal of deprecation and expiration date

Previous commit was not approved by any member of multimedia@
DeltaFile
+3-0audio/tta/Makefile
+3-01 files

NetBSD/pkgsrc-wip 9ff07deicewm Makefile distinfo

icewm: update to 4.1.0
DeltaFile
+3-3icewm/distinfo
+1-1icewm/Makefile
+4-42 files

FreeBSD/ports 660051ex11/roxterm distinfo Makefile

x11/roxterm: Update to 3.18.2

- Switch to DISTVERSION
- Cleanup dependencies
- Pet portclippy and portfmt
- Take maintainership

ChangeLog:      https://github.com/realh/roxterm/releases/tag/3.18.2
                https://github.com/realh/roxterm/releases/tag/3.18.1
MFH:            2026Q3
DeltaFile
+10-5x11/roxterm/pkg-plist
+6-8x11/roxterm/Makefile
+3-3x11/roxterm/distinfo
+19-163 files

LLVM/project b45b02allvm/lib/Transforms/Vectorize VPlanUnroll.cpp, llvm/test/Transforms/LoopVectorize float-induction.ll

[VPlan] Fix VPScalarIVStepsRecipe for FSub inductions. (#219214)

The lane offsets passed to the new VPScalarIVStepsRecipe always count
upwards (based on the canonical IV), independent of the induction
opcode.

Remove code incorrectly negating the lane offset for inductions with
FPSub opcode. The double negation caused incorrect results.

PR: https://github.com/llvm/llvm-project/pull/219214
DeltaFile
+10-10llvm/test/Transforms/LoopVectorize/float-induction.ll
+4-5llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
+14-152 files

LLVM/project a95b4d1llvm/include/llvm/Analysis ScalarEvolution.h, llvm/unittests/Analysis ScalarEvolutionTest.cpp

[SCEV] Use SCEVUse for FoldID. (#219813)

As pointed out in https://github.com/llvm/llvm-project/pull/216761,
FoldID was not properly migrated to use SCEVUse. This caused incorrect
lookups, when an expression was cached with an operand with SCEVUse
flags and queried for the same expression without flags.

PR: https://github.com/llvm/llvm-project/pull/219813
DeltaFile
+44-0llvm/unittests/Analysis/ScalarEvolutionTest.cpp
+6-5llvm/include/llvm/Analysis/ScalarEvolution.h
+50-52 files

FreeBSD/ports fe6cad8lang/bas2tap Makefile

lang/bas2tap: change WWW to a working one

Reported by:    Repology
DeltaFile
+1-1lang/bas2tap/Makefile
+1-11 files

LLVM/project 9946f44clang/lib/Driver/ToolChains Cygwin.h Cygwin.cpp, clang/test/Driver cygwin.cpp

[Clang][Driver] Revise Cygwin ToolChain to call linker directly (#147960)

...so that `libc++`, `compiler-rt`, and `libunwind` can be used by the
options: `-stdlib=libc++`, `-rtlib=compiler-rt`, and
`-unwindlib=libunwind` respectively. Along with this change, the test
for this driver is also trimmed a bit.

This is a followup patch for
https://github.com/llvm/llvm-project/commit/52924a2d7255cdd280b2b82dad8616e01fe065da.

---------

Signed-off-by: Takashi Yano <takashi.yano at nifty.ne.jp>
Co-authored-by: Jeremy Drake <github at jdrake.com>
Co-authored-by: Tomohiro Kashiwada <kikairoya at gmail.com>
DeltaFile
+275-0clang/lib/Driver/ToolChains/Cygwin.cpp
+112-12clang/test/Driver/cygwin.cpp
+18-0clang/lib/Driver/ToolChains/Cygwin.h
+0-0clang/test/Driver/Inputs/basic_cygwin_tree/usr/lib/gcc/i686-pc-cygwin/10/crtend.o
+0-0clang/test/Driver/Inputs/basic_cross_cygwin_tree/usr/i686-pc-msys/lib/crt0.o
+0-0clang/test/Driver/Inputs/basic_cygwin_tree/usr/lib/gcc/x86_64-pc-msys/10/crtend.o
+405-125 files not shown
+405-1211 files

NetBSD/pkgsrc-wip b741ec1. Makefile

wip: Add icewm
DeltaFile
+1-0Makefile
+1-01 files

LLVM/project f9d53b2llvm/test/Transforms/LoopVectorize/VPlan vplan-scev-address-idioms.ll

[VPlan] Add tests for more address idioms not by VPlan's SCEV (NFC). (#219843)

Add tests gaps currently handled by IR based SCEV analysis, but not
VPlan-based SCEV analysis.
DeltaFile
+975-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-scev-address-idioms.ll
+975-01 files

FreeBSD/ports a2061b9devel/lnphost Makefile

devel/lnphost: Deprecate

No activity upstream for many years.
Consider porting brickOS-bibo if interested in Lego Mindstorms.

(cherry picked from commit 9414e65491eff9f303c5104bb0e33228cf091f78)
DeltaFile
+5-2devel/lnphost/Makefile
+5-21 files

FreeBSD/ports 9414e65devel/lnphost Makefile

devel/lnphost: Deprecate

No activity upstream for many years.
Consider porting brickOS-bibo if interested in Lego Mindstorms.
DeltaFile
+5-2devel/lnphost/Makefile
+5-21 files

NetBSD/pkgsrc-wip 0d858f9icewm Makefile COMMIT_MSG, icewm/files bsd-daemon.xpm

icewm: Import icewm-4.0.0 as wip/icewm

Copied files from existing pkgsrc wm/icewm package.
Will update to 4.1.0 release and enable icewm-menu-fdo tool.
Added COMMIT_MSG.
DeltaFile
+635-0icewm/PLIST
+169-0icewm/files/bsd-daemon.xpm
+60-0icewm/COMMIT_MSG
+50-0icewm/Makefile
+43-0icewm/patches/patch-src_ylocale.cc
+26-0icewm/patches/patch-lib_Makefile.am
+983-03 files not shown
+1,012-09 files

NetBSD/pkgsrc 5VmnfY9doc CHANGES-2026

   doc: Updated emulators/nono to 1.8.3
VersionDeltaFile
1.5693+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc 6awcqXWemulators/nono Makefile distinfo

   nono: update to 1.8.3.

   add options.mk for alsa and pulseaudio
    https://gist.github.com/tsutsui/4d2f78d001871479e7e5a68695606952

   1.8.3 (2026/08/29)

   build(New): "Migrated to C++17."
   m68030(Fix): "Fix access to the cache-inhibited area. This fixes the issue where 4.4BSD failed to boot since ver 1.6.6."
   vm(Fix): "Fix and adjust "out of tune" mark on SSG monitor."
   vm(Update): "In CLI app, power-off sequence on the system port also makes power button off on X68030."
   debugger(Fix): "Fix branch information for DJNZ on HD64180."
   debugger(Fix): "Fix mnemonic of LD r,(IX+d) / LD (IX+d),r where r is H/L on HD64180."
   debugger(New): "Implement bt command."
   vm(Update): "MSX-DOS mode now can pass command line arguments to the guest command."
VersionDeltaFile
1.1+20-0emulators/nono/options.mk
1.52+4-4emulators/nono/distinfo
1.71+5-2emulators/nono/Makefile
+29-63 files

LLVM/project 5c9c1f5llvm/include/llvm/ADT FoldingSet.h, llvm/lib/Support FoldingSet.cpp

[ADT] Inline FoldingSet's equality dispatch (#219784)

FoldingSetBase compares nodes through a FoldingSetInfo table of function
pointers, which the compiler cannot inline through to the node's
Profile().
Add a probe() template taking the match test as a template parameter,
and build lookup, FindNodeOrInsertPos and getOrInsert on it in
FoldingSetImpl where the trait is known.

LLM-aided
DeltaFile
+60-64llvm/include/llvm/ADT/FoldingSet.h
+1-54llvm/lib/Support/FoldingSet.cpp
+61-1182 files

FreeBSD/ports ec1a352math/octave-forge-devtools Makefile distinfo

math/octave-forge-devtools: Update to 0.2.1.
DeltaFile
+3-3math/octave-forge-devtools/distinfo
+1-1math/octave-forge-devtools/Makefile
+4-42 files

FreeNAS/freenas efe9b74src/middlewared/middlewared/alert/source fips.py, src/middlewared/middlewared/pytest/unit/alert/golden applicability.txt

Keep the FIPS misconfiguration alert on licensed Minis and whiteboxes

This commit fixes an issue where the FIPS misconfiguration alert stopped running on licensed Minis and licensed whiteboxes even though those systems can still enable FIPS: the STIG vector is key-only on both hardware sides and STIG is injected into every legacy licence, so they are entitled while TRUENAS_HARDWARE excluded them by construction.

EXPECTED_TO_BE_LICENSED is a strict superset of both the old product_type gate and the hardware gate, so nothing loses coverage, unlicensed appliances keep the check that catches FIPS being active when it was never configured, and licensed whiteboxes that could never see this alert are now covered too.
DeltaFile
+2-2src/middlewared/middlewared/alert/source/fips.py
+1-1src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+3-32 files

FreeNAS/freenas 9566588docs/source/middleware/plugins alert.rst

Document alert applicability and the frozen inventory

This commit adds changes to document the applicability axes and the frozen inventory in the alert plugin docs, since the only record of how to regenerate that file lived in the test module's own docstring and you only found it after CI had already failed. The populations are pulled in with automodule so a new one documents itself, and the page spells out what does and does not require a regeneration plus what each guard test means when it fails.
DeltaFile
+119-0docs/source/middleware/plugins/alert.rst
+119-01 files

FreeNAS/freenas 831a5c0src/middlewared/middlewared/alert/source license_status.py

Only report a missing license on HA capable systems

This commit fixes an issue where an unlicensed R-series or Z-series started getting told to contact support about a license it was never sold. Those chassis are appliances so they satisfy the hardware rule, but they cannot fail over, and on 26 the product_type disjunct meant a system with no license only reached this alert when it was HA capable. HA capability is a chassis probe the applicability axes deliberately do not carry, so the test sits in check_sync rather than in applies_to.
DeltaFile
+3-0src/middlewared/middlewared/alert/source/license_status.py
+3-01 files

FreeNAS/freenas 0937e0fsrc/middlewared/middlewared/alert/applicability __init__.py vocabulary.py, src/middlewared/middlewared/alert/source memory_errors.py

Keep uncorrected memory error alerts on Minis

This commit fixes an issue where the uncorrected memory error alert stopped running on Minis even though they carry ECC memory and populate the same EDAC counters the source reads. TRUENAS_HARDWARE excludes MINI by construction, so a licensed Mini lost a proactive support warning it used to get, and any alert it was already sitting on was purged on upgrade without a cleared notification.

TRUENAS_OR_MINI_HARDWARE is the union of the two hardware names, composed from them rather than defined as "not GENERIC" so a hardware class added later has to be added here deliberately. MemorySizeMismatch stays on TRUENAS_HARDWARE because its own check returns early without an HA licence.
DeltaFile
+9-0src/middlewared/middlewared/alert/applicability/vocabulary.py
+3-3src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+3-3src/middlewared/middlewared/alert/source/memory_errors.py
+2-0src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+2-0src/middlewared/middlewared/alert/applicability/__init__.py
+19-65 files

FreeNAS/freenas 4680edesrc/middlewared/middlewared/alert base.py, src/middlewared/middlewared/alert/source jbof.py failover.py

Remove the product_type gate from alerts

This commit adds changes to delete `products` from every alert declaration now that the hardware and license axes carry the gating, along with the `product_types` field it fed in `alert.list_categories` and the unused `AlertService.product_type` helper. The applicability matrix loses its old-versus-new comparison and becomes a frozen inventory of what each declaration covers; the declared answers are unchanged from the previous commit, cell for cell.

The API field is removed outright rather than deprecated because nothing consumes it - it exists in no earlier API version and has no client in the WebUI, api_client or midcli, so the downgrade adapter's strip loop is already a no-op here. Forward-porting this to master will need a `to_previous` on `AlertCategoryClass`, because there v26_0_0 is frozen with the field required and the version adapter only backfills fields that are not required.
DeltaFile
+362-362src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+57-63src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+0-10src/middlewared/middlewared/alert/source/mseries_nvdimm_and_bios.py
+1-7src/middlewared/middlewared/alert/base.py
+0-7src/middlewared/middlewared/alert/source/failover.py
+0-6src/middlewared/middlewared/alert/source/jbof.py
+420-45520 files not shown
+422-52126 files

FreeNAS/freenas 8e30797src/middlewared/middlewared/alert/source sata_dom_wear.py, src/middlewared/middlewared/pytest/unit/alert/golden applicability.txt

Remove the broken SATA DOM wear alert

This commit adds changes to delete the SATA DOM wear alert source and its two classes. The source calls disk.sata_dom_lifetime_left, which was removed in 25.10 and has no implementation anywhere, so it raises on every run on any M or Z series chassis and produces nothing but alert source failures.

Alerts already persisted on existing systems clear on the next start through the stale source check in initialize, which runs before the policies are built, so nothing is announced as cleared. No migration is needed, matching how every previous alert source removal was handled.
DeltaFile
+0-55src/middlewared/middlewared/alert/source/sata_dom_wear.py
+0-5src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+0-602 files

FreeNAS/freenas c99a02bsrc/middlewared/middlewared/alert/source failover_sync.py mseries_nvdimm_and_bios.py, src/middlewared/middlewared/plugins alert.py

Move alert gating onto hardware and license axes

This commit adds changes to give every declaration under alert/source its own applicability rule on the decoupled hardware and license axes, and points the enforcement sites in plugins/alert.py at those rules instead of system.product_type. The products lines stay for now because the API field still reads them. HA classes take a hardware applies_to alongside listed_when on purpose, so on iX hardware whose HA licence is absent or lapsed they leave the settings catalogue without being silenced, and a source that no longer applies now has its stored alerts dropped rather than stranding them undismissable. The two scheduled-reboot classes are the exception: they are gated on the HA licence itself, so a system without one stops seeing them at all.

sata_dom_wear is knowingly shipped in a broken state: its source calls disk.sata_dom_lifetime_left, which was removed in March 2025, so appliances will see the check fail. That is a deliberate, signed-off decision and not an oversight.

The checked-in matrix under pytest/unit/alert/golden spells out old versus new applicability per population for every declaration, and its test regenerates and diffs it so no population change lands unread.
DeltaFile
+377-0src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+266-0src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+34-16src/middlewared/middlewared/plugins/alert.py
+16-0src/middlewared/middlewared/alert/source/failover.py
+13-0src/middlewared/middlewared/alert/source/mseries_nvdimm_and_bios.py
+11-0src/middlewared/middlewared/alert/source/failover_sync.py
+717-1619 files not shown
+836-1625 files

FreeNAS/freenas d1480fdsrc/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py test_alert_black_holes.py

Drive the alert enforcement sites from unit tests

This commit adds changes to test the four sites in plugins/alert.py that consume an applicability rule, rather than only the rules themselves. The run and send axes had no execution coverage at all: emptying the excluded-source set, deleting the alert purge loop, or making the send filter answer True all left the suite green. These drive __run_alerts and send_alerts against stub sources through a shared harness, and record what the policies delete, since dropping the purge loop still leaves the alert list correct and nothing else can see it.

The purge is worth pinning on its own because it destroys state: a source whose rule stops admitting this system loses the alerts it had persisted, and when it applies again they come back with a fresh uuid and their dismissed flag cleared. There is also an asymmetry three lines apart in that loop, deliberate but unasserted until now, where a rule-excluded source is purged and a gate-blocked one is only skipped.

Also fixes both AST scanners. BondStatus is a shipped source that does not carry the AlertSource name suffix, so the black hole check never saw it or the three classes it creates; keying off the subclass relation the loader itself uses picks it up and keeps the two modules from disagreeing. Reading attribute-spelled bases stops a class written as base.AlertClass dropping out of the frozen inventory with nothing to show for it. Both scanners now carry an invariant test, so a shape they cannot model fails instead of silently shrinking what is covered.
DeltaFile
+207-0src/middlewared/middlewared/pytest/unit/alert/harness.py
+163-0src/middlewared/middlewared/pytest/unit/alert/test_alert_send_alerts.py
+124-0src/middlewared/middlewared/pytest/unit/alert/test_alert_run_loop.py
+31-25src/middlewared/middlewared/pytest/unit/alert/test_alert_plugin_applicability.py
+41-4src/middlewared/middlewared/pytest/unit/alert/test_alert_black_holes.py
+36-3src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+602-321 files not shown
+614-457 files

FreeNAS/freenas 66b5ecesrc/middlewared/middlewared/plugins alert.py, src/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py test_run_gates.py

Say which systems the enclosure alerts newly reach

This commit adds changes to test the failover run gates and to correct what the enclosure change was described as affecting. post_failover_blackout and require_stable_peer move out of the run loop into source_run_gates_pass so both can be checked without a middleware object or a running service, and a frozen inventory test pins which sources carry them and what each one is gated on.

failover_related was gating enclosure_status on an HA licence, which is a licensing predicate in front of a hardware question. Enclosure faults are now reported on every iX appliance that lacks an ENTERPRISE_HA licence, both unlicensed appliances and single controller licensed ones (ENTERPRISE_SINGLE, FREENAS-CERTIFIED). The earlier note said only "unlicensed appliances", which undercounts the fleet by the whole licensed single controller half. EnclosureHealthy is INFO and is raised once per enclosure, expansion shelves included, so affected systems will see several new informational alerts.

The matrix legend claimed a source row meant the source is ran, which was never true: it models applies_to only, and never post_failover_blackout, require_stable_peer, the schedule or source locks. That is the only change to the golden file.
DeltaFile
+151-0src/middlewared/middlewared/pytest/unit/alert/test_run_gates.py
+20-4src/middlewared/middlewared/plugins/alert.py
+3-1src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+3-1src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+177-64 files

FreeNAS/freenas de9b8a9docs/source/middleware/plugins alert.rst, src/middlewared/middlewared/pytest/unit/alert test_applicability_matrix.py test_alert_black_holes.py

Clarify the alert applicability docs and inventory naming

This commit adds changes to address review feedback on the alert applicability work: the frozen inventory moves out of `golden/` into `inventory/` so the directory name says what it holds, the documentation drops the parts that duplicate the inventory file's own header along with the aside about rules we do not accept, and the black hole scan loses its `alert.oneshot_create` branch since no alert source names a class by string. Regenerating the inventory is a no-op, so no population moved.
DeltaFile
+0-396src/middlewared/middlewared/pytest/unit/alert/golden/applicability.txt
+396-0src/middlewared/middlewared/pytest/unit/alert/inventory/applicability.txt
+7-21docs/source/middleware/plugins/alert.rst
+0-12src/middlewared/middlewared/pytest/unit/alert/test_alert_black_holes.py
+5-5src/middlewared/middlewared/pytest/unit/alert/test_applicability_matrix.py
+408-4345 files

FreeNAS/freenas e83ec62src/middlewared/middlewared/alert base.py, src/middlewared/middlewared/alert/applicability __init__.py snapshot.py

Type alert applicability against AlertSource and AlertClass

This commit adds changes to drop the Declaration protocols in favour of TYPE_CHECKING imports of AlertSource and AlertClass, which is what review asked for, and to tighten the surface while we are in there: rule_name is no longer re-exported now that declaration_rule_name is the only entry point production goes through, and the Rule docstring keeps just the part that constrains how you write one, which is to name it so the black-hole diagnostic has something to report.

Dropping the protocols makes alert.applicability depend on alert.base, and import-linter counts TYPE_CHECKING imports, so that broke the package layering contract: engine reached vocabulary and snapshot through alert.base importing the whole package. alert/base.py now takes Rule from the engine module directly, which is the only thing it ever wanted, and the contract holds without an ignore.
DeltaFile
+10-19src/middlewared/middlewared/alert/applicability/engine.py
+12-7src/middlewared/middlewared/alert/applicability/snapshot.py
+3-11src/middlewared/middlewared/alert/applicability/__init__.py
+2-2src/middlewared/middlewared/pytest/unit/alert/test_run_gates.py
+1-1src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+1-1src/middlewared/middlewared/alert/base.py
+29-416 files

FreeNAS/freenas fed1a67src/middlewared/middlewared/alert/applicability snapshot.py vocabulary.py, src/middlewared/middlewared/plugins alert.py

Express alert applicability rules as functions and cache them once

This commit adds changes to replace the applicability rule dataclasses with plain functions that take facts, and to route every applicability answer through a single Applicability object holding one reading of those facts and memoizing per declaration. Nothing in the tree ever introspected rule structure, so the isinstance dispatch and the AnyOf/AllOf combinators go away with it, and because the seven vocabulary names are unchanged no alert declaration moves and the golden matrix is byte for byte identical.

The five separate get_facts() reads in the alert plugin become one, invalidated on system.post_license_update so an upload takes effect on both nodes at once. A None license is never cached, since get_license() returns None both for "no license" and "the daemon did not answer" and we do not want a hiccup to stick until restart.
DeltaFile
+152-66src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+191-0src/middlewared/middlewared/pytest/unit/alert/test_alert_plugin_applicability.py
+33-72src/middlewared/middlewared/alert/applicability/engine.py
+62-28src/middlewared/middlewared/plugins/alert.py
+43-28src/middlewared/middlewared/alert/applicability/vocabulary.py
+62-0src/middlewared/middlewared/alert/applicability/snapshot.py
+543-1945 files not shown
+615-23611 files