1{ lib
2, python
3, buildPythonPackage
4, bootstrapped-pip
5, fetchFromGitHub
6, mock
7, scripttest
8, virtualenv
9, pretend
10, pytest
11, setuptools
12, wheel
13}:
14
15buildPythonPackage rec {
16 pname = "pip";
17 version = "21.0.1";
18 format = "other";
19
20 src = fetchFromGitHub {
21 owner = "pypa";
22 repo = pname;
23 rev = version;
24 sha256 = "sha256-Yt5xqdo735f5sQKP8GnKM201SoIi7ZP9l2gw+feUVW0=";
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 meta = {
39 description = "The PyPA recommended tool for installing Python packages";
40 license = with lib.licenses; [ mit ];
41 homepage = "https://pip.pypa.io/";
42 priority = 10;
43 };
44}