Fixes CVE-2026-8177. Drops the libxml-2.13 test patch, now included upstream.
Assisted-by: Claude Code (Claude Opus 4.8)
Signed-off-by: Stig Palmquist <git@stig.io>
gettext 1.0 changed msginit to merge into existing output files
instead of overwriting them. When po4a passes an empty PO file as the
output target, this produces a PO with stripped headers and corrupted
UTF-8 content (e.g. "nämes" becomes "nmes").
Fix by removing empty output files before calling msginit, so it
creates a fresh PO file with proper headers.
https://github.com/mquinson/po4a/issues/636
This goal of this change is to make nix-update-script work out of the
box with packages built using `buildPerlPackage`.
Explicitly setting `src` in the `stdenv.mkDerivation` call currently
causes `builtins.unsafeGetAttrPos "src" <package>` to point to
`pkgs/development/perl-modules/generic/default.nix` for packages built
using `buildPerlPackage`. If the result of this expression is not
`null`, nix-update will try to update `src` of `<package>` in this
file [1], which will fail for obvious reasons.
A good example of this happening is with the pgformatter package.
Removing the explicit `inherit src` allows
`builtins.unsafeGetAttrPos "src" <package>` to point to the file where
`<package>.src` is actually defined, fixing nix-update runs for
affected packages.
Git history doesn't provide any indication as to why this argument was
introduced in the first place, so I hope it's fine to remove it. The
only difference in evaluation will be for calls to `buildPerlPackage`
without `src`: In these cases, `src` will be unset instead of `null`.
[1] https://github.com/Mic92/nix-update/blob/8227513ecf2f9ca657951fac3a6935410107eb90/nix_update/eval.nix#L99
This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
Remove t/backend/options.t as one of its tests fail. Seems benign.
Failed test '...and correct error'
at t/backend/options.t line 97.
got: 'number: value "foo" invalid for option number (integer number expected)'
expected: 'number: value "foo" invalid for option number (number expected)'