python3Packages.buildPythonPackage: ban pytestFlagsArray

This commit is contained in:
Yueh-Shun Li
2026-04-27 03:59:04 +08:00
parent 00b1ba4228
commit 82da9cf45c
2 changed files with 20 additions and 0 deletions
+4
View File
@@ -168,6 +168,10 @@
- the `xorg` package set has been deprecated, packages have moved to the top level.
- `python3Packages.buildPythonPackage` and `python3Packages.buildPythonApplication` now throw errors in the presence of `pytestFlagsArray`.
Please use [`pytestFlags` and `(enabled|disabled)(TestPaths|Tests|TestMarks)`](#using-pytestcheckhook) instead.
If modifying the Nix expression is not feasible, users can remediate the error by overriding `pytestFlagsArray` with `null` or `[ ]`.
- `python3Packages.pygame` has been been renamed to `python3Packages.pygame-original`, the attribute `python3Packages.pygame` will from python 3.14 default to the more actively maintained `python3Packages.pygame-ce`
- `fastly` has been updated to major version 14. For more information, you can check the [release notes](https://github.com/fastly/cli/releases/tag/v14.0.0)
@@ -112,6 +112,9 @@ lib.extendMkDerivation {
"dependencies"
"optional-dependencies"
"build-system"
# Deprecated arguments
"pytestFlagsArray"
];
extendDrvArgs =
@@ -439,6 +442,19 @@ lib.extendMkDerivation {
# Longer-term we should get rid of `checkPhase` and use `installCheckPhase`.
installCheckPhase = attrs.checkPhase;
}
// (
let
deprecatedFlagNotEmpty =
attrs ? pytestFlagsArray && attrs.pytestFlagsArray != null && attrs.pytestFlagsArray != [ ];
pos = builtins.unsafeGetAttrPos "pytestFlagsArray" attrs;
in
{
${if deprecatedFlagNotEmpty then "pytestFlagsArray" else null} = throw ''
buildPythonPackage: Deprecated flag pytestFlagsArray found at ${pos.file}:${toString pos.line}
Use pytestFlags or (enabled|disabled)(TestPaths|Tests|TestMarks) instead.
'';
}
)
//
lib.mapAttrs
(