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