2025-07-24 13:55:40 +02:00

56 lines
1.1 KiB
Nix

{
lib,
buildPythonPackage,
fetchFromGitHub,
mock,
pytestCheckHook,
pyyaml,
pythonAtLeast,
pythonOlder,
}:
buildPythonPackage rec {
pname = "configargparse";
version = "1.7";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "bw2";
repo = "ConfigArgParse";
tag = version;
hash = "sha256-m77MY0IZ1AJkd4/Y7ltApvdF9y17Lgn92WZPYTCU9tA=";
};
patches = [
# https://github.com/bw2/ConfigArgParse/pull/295
./python3.13-compat.patch
];
optional-dependencies = {
yaml = [ pyyaml ];
};
nativeCheckInputs = [
pytestCheckHook
mock
]
++ lib.flatten (lib.attrValues optional-dependencies);
disabledTests = lib.optionals (pythonAtLeast "3.13") [
# regex mismatch
"testMutuallyExclusiveArgs"
];
pythonImportsCheck = [ "configargparse" ];
meta = with lib; {
description = "Drop-in replacement for argparse";
homepage = "https://github.com/bw2/ConfigArgParse";
changelog = "https://github.com/bw2/ConfigArgParse/releases/tag/${version}";
license = licenses.mit;
maintainers = [ ];
};
}