bitwarden-desktop: 2024.12.0 -> 2024.12.1 (#373177)
[NixPkgs.git] / pkgs / development / python-modules / setuptools-rust / default.nix
blobe9152ab0c561c9b192ee575ab44b65b53b5934a2
2   lib,
3   buildPythonPackage,
4   fetchPypi,
5   maturin,
6   pythonOlder,
7   rustPlatform,
8   rustc,
9   cargo,
10   semantic-version,
11   setuptools,
12   setuptools-rust,
13   setuptools-scm,
14   tomli,
15   typing-extensions,
18 buildPythonPackage rec {
19   pname = "setuptools-rust";
20   version = "1.10.1";
21   format = "pyproject";
23   disabled = pythonOlder "3.6";
25   src = fetchPypi {
26     pname = "setuptools_rust";
27     inherit version;
28     hash = "sha256-15A1/FTN+TQunt9LAJSR7KsGw6ZSs3w8E3x7qFVH0+Y=";
29   };
31   build-system = [
32     setuptools
33     setuptools-scm
34   ];
36   dependencies = [
37     semantic-version
38     setuptools
39   ];
41   pythonImportsCheck = [ "setuptools_rust" ];
43   doCheck = false;
45   passthru.tests = {
46     pyo3 = maturin.tests.pyo3.override {
47       format = "setuptools";
48       buildAndTestSubdir = null;
50       nativeBuildInputs =
51         [ setuptools-rust ]
52         ++ [
53           rustPlatform.cargoSetupHook
54           cargo
55           rustc
56         ];
58       preConfigure = ''
59         # sourceRoot puts Cargo.lock in the wrong place due to the
60         # example setup.
61         cd examples/word-count
62       '';
63     };
64   };
66   meta = with lib; {
67     description = "Setuptools plugin for Rust support";
68     homepage = "https://github.com/PyO3/setuptools-rust";
69     changelog = "https://github.com/PyO3/setuptools-rust/releases/tag/v${version}";
70     license = licenses.mit;
71     maintainers = [ ];
72   };