1{ lib
2, stdenv
3, buildPythonPackage
4, cargo
5, fetchFromGitHub
6, libiconv
7, Foundation
8, rustPlatform
9, rustc
10, setuptools-rust
11, range-typed-integers
12}:
13
14buildPythonPackage rec {
15 pname = "skytemple-rust";
16 version = "1.4.0.post0";
17
18 src = fetchFromGitHub {
19 owner = "SkyTemple";
20 repo = pname;
21 rev = version;
22 hash = "sha256-aw57B15sDbMcdNPD8MW+O7AdqSSqjlOcuXNSm10GdPM=";
23 };
24
25 cargoDeps = rustPlatform.fetchCargoTarball {
26 inherit src;
27 name = "${pname}-${version}";
28 hash = "sha256-SvHrMr5k4afVdU5nvg+bcoHVmzHYyoOYqv7nOSVxRCE=";
29 };
30
31 buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
32 nativeBuildInputs = [ setuptools-rust rustPlatform.cargoSetupHook cargo rustc ];
33 propagatedBuildInputs = [ range-typed-integers ];
34
35 GETTEXT_SYSTEM = true;
36
37 doCheck = false; # there are no tests
38 pythonImportsCheck = [ "skytemple_rust" ];
39
40 meta = with lib; {
41 homepage = "https://github.com/SkyTemple/skytemple-rust";
42 description = "Binary Rust extensions for SkyTemple";
43 license = licenses.mit;
44 maintainers = with maintainers; [ xfix marius851000 ];
45 };
46}