1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, pytestCheckHook
6, flit-core
7, installer
8, mock
9}:
10
11buildPythonPackage rec {
12 pname = "installer";
13 version = "0.7.0";
14 format = "pyproject";
15
16 src = fetchFromGitHub {
17 owner = "pypa";
18 repo = pname;
19 rev = version;
20 hash = "sha256-thHghU+1Alpay5r9Dc3v7ATRFfYKV8l9qR0nbGOOX/A=";
21 };
22
23 nativeBuildInputs = [ flit-core ];
24
25 # We need to disable tests because this package is part of the bootstrap chain
26 # and its test dependencies cannot be built yet when this is being built.
27 doCheck = false;
28
29 passthru.tests = {
30 pytest = buildPythonPackage {
31 pname = "${pname}-pytest";
32 inherit version;
33 format = "other";
34
35 dontBuild = true;
36 dontInstall = true;
37
38 nativeCheckInputs = [
39 installer
40 mock
41 pytestCheckHook
42 ];
43 };
44 };
45
46 meta = with lib; {
47 description = "A low-level library for installing a Python package from a wheel distribution";
48 homepage = "https://github.com/pypa/installer";
49 changelog = "https://github.com/pypa/installer/blob/${src.rev}/docs/changelog.md";
50 license = licenses.mit;
51 maintainers = teams.python.members ++ [ maintainers.cpcloud ];
52 };
53}