cabal2pkg: Update to cabal2pkg-0.1.2
## 0.1.2 -- 2026-11-08
Compatibility changes:
* Fixed build with GHC 9.10. `cabal2pkg` no longer supports GHC 9.8.
New features:
* Added a global option `--fill-column=COLUMN` for specifying page
width. Currently only used for generating `DESCR` files. Previously it
was fixed to 80, but now it's defaulted to 76. This options is only meant
to be used for debugging.
* `cabal2pkg init` now infers a package from the name of the directory if
no package URI is given. The package is assumed to be available in
Hackage in this case.
Behaviour changes:
[66 lines not shown]
Fail graceful VM and container stop when the guest keeps running
## Problem
A graceful `vm.stop` / `container.stop` (no `force`, no `force_after_timeout`, the API default) waited `shutdown_timeout` and then reported SUCCESS even when the guest ignored the shutdown request and was still running. The UI showed the guest as stopped and a graceful container restart then failed on start with "already started". A suspended VM was also left suspended with a successful job, even with `force_after_timeout`, because the post-stop check only looked for `RUNNING`.
## Solution
After the shutdown request, both stop paths check the state again. If the guest has not stopped, it is powered off when `force_after_timeout` is set; otherwise the job fails with an ETIMEDOUT `CallError` saying it did not stop within the timeout. A suspended VM is resumed before the shutdown request so the guest can act on it, and library errors (e.g. stopping a guest that is not running) are raised as `CallError` like start already does. The docstrings describe the new behaviour and the container stop test now expects the graceful stop to fail.
[SLP] Emit min/max reduction at the root select, not its compare
The min/max matcher accepts select (cmp X, Y), X, Y' with Y' identical
to Y but defined after the compare. Emitting the reduction before the
compare used Y' before its definition. The compare position was needed
only while the reduction replaced the compare uses, removed in D99753.
The root compare now has a single use, so emit at the select, which
all reduced values dominate.
Fixes #240006.
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/240133
Validate container configuration values when they are saved
## Problem
Several container settings passed create and update but only failed at start, often as a raw IndexError or ValueError: an unparseable or empty init, a cpuset with whitespace or CPUs that are not online, and a memory limit above host RAM. A missing initdir made start report success for a container that exited immediately.
## Solution
- **Save time**: init must parse to at least one token; cpuset must be well formed and online, and memory within host RAM. The cpuset and memory checks only run when the value changes, so a host that has since lost CPUs or memory does not block unrelated edits.
- **Start time**: initdir must resolve to a directory inside the container root.
- **Migration**: an incus CPU count, or a CPU set or memory limit this host can't satisfy, is dropped with a job log line instead of failing the container.
- An invalid pinned VM cpuset is a validation error instead of an unhandled ValueError, and autostart failures are logged with a traceback. Accepting `0-0` relies on the matching truenas_pylibvirt parser change.
[SLP]Fix stride of reversed strided stores
Keep the store stride in scalar order and apply the reverse in cost and
codegen, matching strided loads. Do not overwrite stride info of
already strided stores when they become reversed after reordering.
Fixes #240004.
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/240131
wip/hs-isnull: import IsNull-0.4.0.0
A typeclass to determine if a given foldable type (or other) is empty ~ null ~
invalid. The definition is intentionally vague, to cover types from Either to
Text and Sets.
mail/thunderbird: Update to 159.0
Changelog:
159.0:
What's Fixed
fixed
Non-ASCII IMAP tags could exceed server length limits and be rejected
fixed
Zoom Text Only option did not work in the View menu
fixed
Multiple messages were printed even after canceling the print dialog
fixed
Save All and Detach All failed for attachments with invalid filename paths
fixed
[339 lines not shown]
[SLP] Price gathered lanes of vectorized entries as a shuffle
A gathered lane already vectorized in another entry is moved out of
that vector with a shuffle, which a zero insert price misses. Add the
shuffle cost of these lanes when their insert price is zero.
Mark Johnsons Claude code found a duplicate call to rack_check_reorder_ack() in rack.c
Mark's Claude code properly points out an interesting bug case where if a new block is
created from a sack aka
rsm |--------|
sackblk |--------->
Then when the new block is created rack_check_reorder_ack() is called and then called again when
the block is actually ack'ed. Proper thing is to *not* in this case call the function and only call
it at the processing to ACK. You leave the hookery side however since that is just transfering
the existing block pointers.
Differential Revision:https://reviews.freebsd.org/D61159
[SLP]Do not vectorize the same freeze in several nodes
Each vector freeze may produce its own value for an undef or poison
lane, so a freeze vectorized in more than one node is duplicated.
Gather such bundles instead.
Fixes #240001
Assisted-by: Cursor
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/240125
[LV] Respect access type and alignment when speculating loads (#229379)
An unconditional access does not make a wider or more strongly aligned
load at the same pointer safe. Track the maximum fixed access size and
alignment for each pointer, skipping scalable accesses. Implemented with
assistance from OpenAI Codex.