1{ lib
2, buildPythonPackage
3, bootstrapped-pip
4, fetchFromGitHub
5, mock
6, scripttest
7, virtualenv
8, pretend
9, pytest
10
11# coupled downsteam dependencies
12, pip-tools
13}:
14
15buildPythonPackage rec {
16 pname = "pip";
17 version = "22.2.2";
18 format = "other";
19
20 src = fetchFromGitHub {
21 owner = "pypa";
22 repo = pname;
23 rev = version;
24 sha256 = "sha256-SLjmxFUFmvgy8E8kxfc6lxxCRo+GN4L77pqkWkRR8aE=";
25 name = "${pname}-${version}-source";
26 };
27
28 nativeBuildInputs = [ bootstrapped-pip ];
29
30 # pip detects that we already have bootstrapped_pip "installed", so we need
31 # to force it a little.
32 pipInstallFlags = [ "--ignore-installed" ];
33
34 checkInputs = [ mock scripttest virtualenv pretend pytest ];
35 # Pip wants pytest, but tests are not distributed
36 doCheck = false;
37
38 passthru.tests = { inherit pip-tools; };
39
40 meta = {
41 description = "The PyPA recommended tool for installing Python packages";
42 license = with lib.licenses; [ mit ];
43 homepage = "https://pip.pypa.io/";
44 priority = 10;
45 };
46}