1{
2 callPackage,
3 lib,
4 buildPythonPackage,
5 fetchPypi,
6 pythonOlder,
7 semantic-version,
8 setuptools,
9 setuptools-scm,
10 tomli,
11 typing-extensions,
12}:
13
14buildPythonPackage rec {
15 pname = "setuptools-rust";
16 version = "1.9.0";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-cE3wlI8uTMYMJZatboQOpnn09D5Y7UrQwYV4ByQOq5Y=";
24 };
25
26 nativeBuildInputs = [
27 setuptools
28 setuptools-scm
29 ];
30
31 propagatedBuildInputs = [
32 semantic-version
33 setuptools
34 typing-extensions
35 ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
36
37 pythonImportsCheck = [ "setuptools_rust" ];
38
39 doCheck = false;
40
41 passthru.tests.pyo3 = callPackage ./pyo3-test { };
42
43 meta = with lib; {
44 description = "Setuptools plugin for Rust support";
45 homepage = "https://github.com/PyO3/setuptools-rust";
46 changelog = "https://github.com/PyO3/setuptools-rust/releases/tag/v${version}";
47 license = licenses.mit;
48 maintainers = with maintainers; [ ];
49 };
50}