1{ lib
2, stdenv
3, buildPythonPackage
4, build
5, click
6, fetchPypi
7, pep517
8, pip
9, pytest-xdist
10, pytestCheckHook
11, pythonOlder
12, setuptools
13, setuptools-scm
14, wheel
15}:
16
17buildPythonPackage rec {
18 pname = "pip-tools";
19 version = "6.13.0";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-YdRr0uuAFu1Kkk4Zbm5bCiaM07q9eeWTBIcg2yNSK7E=";
27 };
28
29 patches = [ ./fix-setup-py-bad-syntax-detection.patch ];
30
31 nativeBuildInputs = [
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 build
37 click
38 pep517
39 pip
40 setuptools
41 wheel
42 ];
43
44 nativeCheckInputs = [
45 pytest-xdist
46 pytestCheckHook
47 ];
48
49 preCheck = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
50 # https://github.com/python/cpython/issues/74570#issuecomment-1093748531
51 export no_proxy='*';
52 '';
53
54 disabledTests = [
55 # Tests require network access
56 "network"
57 "test_direct_reference_with_extras"
58 "test_local_duplicate_subdependency_combined"
59 "test_bad_setup_file"
60 # Assertion error
61 "test_compile_recursive_extras"
62 ];
63
64 pythonImportsCheck = [
65 "piptools"
66 ];
67
68 meta = with lib; {
69 description = "Keeps your pinned dependencies fresh";
70 homepage = "https://github.com/jazzband/pip-tools/";
71 changelog = "https://github.com/jazzband/pip-tools/releases/tag/${version}";
72 license = licenses.bsd3;
73 maintainers = with maintainers; [ zimbatm ];
74 };
75}