1{ lib
2, buildPythonPackage
3, fetchPypi
4, filelock
5, flit-core
6, importlib-metadata
7, isPy3k
8, packaging
9, pep517
10, pytest-mock
11, pytest-xdist
12, pytestCheckHook
13, pythonOlder
14, toml
15, typing ? null
16}:
17
18buildPythonPackage rec {
19 pname = "build";
20 version = "0.3.0";
21
22 format = "pyproject";
23
24 src = fetchPypi {
25 inherit pname version;
26 sha256 = "sha256-DrlbLI13DXxMm5LGjCJ8NQu/ZfPsg1UazpCXwYzBX90=";
27 };
28
29 nativeBuildInputs = [
30 flit-core
31 ];
32
33 propagatedBuildInputs = [
34 toml
35 pep517
36 packaging
37 ] ++ lib.optionals (!isPy3k) [
38 typing
39 ] ++ lib.optionals (pythonOlder "3.8") [
40 importlib-metadata
41 ];
42
43 checkInputs = [
44 filelock
45 pytestCheckHook
46 pytest-mock
47 pytest-xdist
48 ];
49
50 disabledTests = [
51 "test_isolation"
52 "test_isolated_environment_install"
53 "test_default_pip_is_never_too_old"
54 "test_build_isolated - StopIteration"
55 "test_build_raises_build_exception"
56 "test_build_raises_build_backend_exception"
57 "test_projectbuilder.py"
58 "test_projectbuilder.py"
59 ];
60
61 pythonImportsCheck = [ "build" ];
62
63 meta = with lib; {
64 description = "Simple, correct PEP517 package builder";
65 longDescription = ''
66 build will invoke the PEP 517 hooks to build a distribution package. It
67 is a simple build tool and does not perform any dependency management.
68 '';
69 homepage = "https://github.com/pypa/build";
70 maintainers = with maintainers; [ fab ];
71 license = licenses.mit;
72 };
73}