at master 2.4 kB view raw
1{ 2 lib, 3 stdenv, 4 buildPythonPackage, 5 build, 6 click, 7 fetchPypi, 8 pep517, 9 pip, 10 pytest-xdist, 11 pytestCheckHook, 12 pythonOlder, 13 setuptools, 14 setuptools-scm, 15 tomli, 16 tomli-w, 17 wheel, 18}: 19 20buildPythonPackage rec { 21 pname = "pip-tools"; 22 version = "7.4.1"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.8"; 26 27 src = fetchPypi { 28 inherit pname version; 29 hash = "sha256-hkgm9Qc4ZEUOJNvuuFzjkgzfsJhIo9aev1N7Uh8UvMk="; 30 }; 31 32 patches = [ ./fix-setup-py-bad-syntax-detection.patch ]; 33 34 build-system = [ setuptools-scm ]; 35 36 dependencies = [ 37 build 38 click 39 pep517 40 pip 41 setuptools 42 wheel 43 ] 44 ++ lib.optionals (pythonOlder "3.11") [ tomli ]; 45 46 __darwinAllowLocalNetworking = true; 47 48 nativeCheckInputs = [ 49 pytest-xdist 50 pytestCheckHook 51 tomli-w 52 ]; 53 54 preCheck = lib.optionalString (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) '' 55 # https://github.com/python/cpython/issues/74570#issuecomment-1093748531 56 export no_proxy='*'; 57 ''; 58 59 disabledTests = [ 60 # Tests require network access 61 "network" 62 "test_direct_reference_with_extras" 63 "test_local_duplicate_subdependency_combined" 64 "test_bad_setup_file" 65 # Assertion error 66 "test_compile_recursive_extras" 67 "test_combine_different_extras_of_the_same_package" 68 "test_diff_should_not_uninstall" 69 "test_cli_compile_all_extras_with_multiple_packages" 70 # Deprecations 71 "test_error_in_pyproject_toml" 72 73 # pip 25.0 compat issues 74 # https://github.com/jazzband/pip-tools/issues/2112 75 # requirement doesn't end with semicolon 76 "test_resolver" 77 "test_resolver__custom_unsafe_deps" 78 # constraints.txt is now in a tmpdir 79 "test_preserve_via_requirements_constrained_dependencies_when_run_twice" 80 "test_annotate_option" 81 # TypeError("'<' not supported between instances of 'InstallationCandidate' and 'InstallationCandidate'")>.exit_code 82 "test_no_candidates" 83 "test_no_candidates_pre" 84 "test_failure_of_legacy_resolver_prompts_for_backtracking" 85 ]; 86 87 pythonImportsCheck = [ "piptools" ]; 88 89 meta = with lib; { 90 description = "Keeps your pinned dependencies fresh"; 91 homepage = "https://github.com/jazzband/pip-tools/"; 92 changelog = "https://github.com/jazzband/pip-tools/releases/tag/${version}"; 93 license = licenses.bsd3; 94 maintainers = with maintainers; [ zimbatm ]; 95 }; 96}