Yueh-Shun Li 76e2a397c2 treewide: pytestFlagsArray -> pytestFlags and join flag and option argument
This treewide change targets Python packages
that specifies pytest flags with pytestFlagsArray,
and whose flags cannot be consructed by other pytestCheckHook-honoured arguments.

Use the __structuredAttrs-agnostic argument pytestFlags
instead of the deprecated pytestFlagsArray.

For flags with option arguments,
join each flag and their option argument into a single command-line argument
following POSIX Utility Argument Syntax[1]
for easier overriding (remove/replace).

Examples:

* [ "-W" "ignore:message:WarningClass" ] ->
  [ "-Wignore:message:WarningClass" ]

* [ "--reruns" "3" ] ->
  [ "--reruns=3" ]

[1]: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap12.html
2025-06-16 01:02:16 +08:00

54 lines
1.1 KiB
Nix

{
stdenv,
lib,
buildPythonPackage,
fetchPypi,
wasmer,
wasmer-compiler-cranelift,
py,
pytestCheckHook,
pytest-benchmark,
}:
buildPythonPackage rec {
pname = "fastdiff";
version = "0.3.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "4dfa09c47832a8c040acda3f1f55fc0ab4d666f0e14e6951e6da78d59acd945a";
};
postPatch = ''
substituteInPlace setup.py \
--replace 'pytest-runner' ""
substituteInPlace setup.cfg \
--replace "collect_ignore = ['setup.py']" ""
'';
propagatedBuildInputs = [
wasmer
wasmer-compiler-cranelift
];
nativeCheckInputs = [
py
pytestCheckHook
pytest-benchmark
];
pytestFlags = [ "--benchmark-skip" ];
pythonImportsCheck = [ "fastdiff" ];
meta = with lib; {
description = "Fast native implementation of diff algorithm with a pure Python fallback";
homepage = "https://github.com/syrusakbary/fastdiff";
license = licenses.mit;
maintainers = [ ];
# resulting compiled object panics at import
broken = stdenv.hostPlatform.is32bit;
};
}