1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, userpath
6, argcomplete
7, packaging
8, pytestCheckHook
9}:
10
11buildPythonPackage rec {
12 pname = "pipx";
13 version = "0.15.5.1";
14
15 disabled = pythonOlder "3.6";
16
17 # no tests in the pypi tarball, so we directly fetch from github
18 src = fetchFromGitHub {
19 owner = "pipxproject";
20 repo = pname;
21 rev = version;
22 sha256 = "0lq8dfkq4ji11r4k5csqzyv0757fbxiax6ixn94f9747zrikssf6";
23 };
24
25 propagatedBuildInputs = [ userpath argcomplete packaging ];
26
27 checkInputs = [ pytestCheckHook ];
28
29 preCheck = ''
30 export HOME=$(mktemp -d)
31 '';
32
33 # disable tests, which require internet connection
34 disabledTests = [
35 "install"
36 "inject"
37 "ensure_null_pythonpath"
38 "missing_interpreter"
39 "cache"
40 "internet"
41 "runpip"
42 "upgrade"
43 ];
44
45 meta = with lib; {
46 description =
47 "Install and Run Python Applications in Isolated Environments";
48 homepage = "https://github.com/pipxproject/pipx";
49 license = licenses.mit;
50 maintainers = with maintainers; [ yevhenshymotiuk ];
51 };
52}