1{
2 alsa-lib,
3 buildPythonPackage,
4 cargo,
5 fetchPypi,
6 glib,
7 lib,
8 libpcap,
9 meson,
10 ninja,
11 openal,
12 pkg-config,
13 range-typed-integers,
14 rustc,
15 rustPlatform,
16 SDL2,
17 setuptools,
18 setuptools-rust,
19 soundtouch,
20 zlib,
21}:
22buildPythonPackage rec {
23 pname = "skytemple-ssb-emulator";
24 version = "1.6.4";
25 pyproject = true;
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-qGRfX7Bwr19KJnIdhwuSVBZzXxMJyEgyBuy91aLhEj4=";
30 };
31
32 cargoDeps = rustPlatform.importCargoLock {
33 lockFile = ./Cargo.lock;
34 outputHashes = {
35 "skytemple_rust-1.6.4" = "sha256-t7P3F1zes7bgDu2JGqb5DgxlDCiztWtmViy4QY9CzT0=";
36 };
37 };
38
39 buildInputs = [
40 alsa-lib
41 glib
42 libpcap
43 SDL2
44 soundtouch
45 zlib
46 ];
47
48 nativeBuildInputs = [
49 cargo
50 meson
51 ninja
52 openal
53 pkg-config
54 rustc
55 rustPlatform.cargoSetupHook
56 setuptools
57 setuptools-rust
58 ];
59
60 propagatedBuildInputs = [ range-typed-integers ];
61
62 hardeningDisable = [ "format" ];
63
64 doCheck = false; # there are no tests
65 pythonImportsCheck = [ "skytemple_ssb_emulator" ];
66
67 meta = with lib; {
68 description = "SkyTemple Script Engine Debugger Emulator Backend";
69 homepage = "https://github.com/SkyTemple/skytemple-ssb-emulator";
70 license = licenses.gpl3Plus;
71 maintainers = with maintainers; [ marius851000 ];
72 };
73}