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