
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
104 lines
2.6 KiB
Nix
104 lines
2.6 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchPypi
|
|
, python3
|
|
, cargo
|
|
, git
|
|
}:
|
|
|
|
python3.pkgs.buildPythonApplication rec {
|
|
pname = "hatch";
|
|
version = "1.9.0";
|
|
format = "pyproject";
|
|
|
|
src = fetchPypi {
|
|
inherit pname version;
|
|
hash = "sha256-4ealEeFS7HzU26vE9Pahh0hwvUnJfRfTkLkjLdpoXOM=";
|
|
};
|
|
|
|
nativeBuildInputs = with python3.pkgs; [
|
|
hatchling
|
|
hatch-vcs
|
|
];
|
|
|
|
propagatedBuildInputs = with python3.pkgs; [
|
|
click
|
|
hatchling
|
|
httpx
|
|
hyperlink
|
|
keyring
|
|
packaging
|
|
pexpect
|
|
platformdirs
|
|
rich
|
|
shellingham
|
|
tomli-w
|
|
tomlkit
|
|
userpath
|
|
virtualenv
|
|
zstandard
|
|
];
|
|
|
|
nativeCheckInputs = [
|
|
cargo
|
|
] ++ (with python3.pkgs; [
|
|
binary
|
|
git
|
|
pytestCheckHook
|
|
pytest-mock
|
|
pytest-xdist
|
|
setuptools
|
|
]);
|
|
|
|
preCheck = ''
|
|
export HOME=$(mktemp -d);
|
|
'';
|
|
|
|
disabledTests = [
|
|
# AssertionError: assert (1980, 1, 2, 0, 0, 0) == (2020, 2, 2, 0, 0, 0)
|
|
"test_default"
|
|
"test_explicit_path"
|
|
"test_default_auto_detection"
|
|
"test_editable_default"
|
|
"test_editable_default_extra_dependencies"
|
|
"test_editable_default_force_include"
|
|
"test_editable_default_force_include_option"
|
|
"test_editable_exact"
|
|
"test_editable_exact_extra_dependencies"
|
|
"test_editable_exact_force_include"
|
|
"test_editable_exact_force_include_option"
|
|
"test_editable_exact_force_include_build_data_precedence"
|
|
"test_editable_pth"
|
|
# AssertionError: assert len(extract_installed_requirements(output.splitlines())) > 0
|
|
"test_creation_allow_system_packages"
|
|
# cli table output mismatch
|
|
"test_context_formatting"
|
|
# expects sh, finds bash
|
|
"test_all"
|
|
"test_already_installed_update_flag"
|
|
"test_already_installed_update_prompt"
|
|
# unmet expectations about the binary module we provide
|
|
"test_dependency_not_found"
|
|
"test_marker_unmet"
|
|
# output capturing mismatch, likely stdout/stderr mixup
|
|
"test_no_compatibility_check_if_exists"
|
|
] ++ lib.optionals stdenv.isDarwin [
|
|
# https://github.com/NixOS/nixpkgs/issues/209358
|
|
"test_scripts_no_environment"
|
|
|
|
# This test assumes it is running on macOS with a system shell on the PATH.
|
|
# It is not possible to run it in a nix build using a /nix/store shell.
|
|
# See https://github.com/pypa/hatch/pull/709 for the relevant code.
|
|
"test_populate_default_popen_kwargs_executable"
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Modern, extensible Python project manager";
|
|
mainProgram = "hatch";
|
|
homepage = "https://hatch.pypa.io/latest/";
|
|
changelog = "https://github.com/pypa/hatch/blob/hatch-v${version}/docs/history/hatch.md";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ onny ];
|
|
};
|
|
}
|