1{
2 buildPythonPackage,
3 explorerscript,
4 fetchFromGitHub,
5 setuptools,
6 gobject-introspection,
7 gtk3,
8 gtksourceview4,
9 importlib-metadata,
10 lib,
11 ndspy,
12 nest-asyncio,
13 pmdsky-debug-py,
14 pycairo,
15 pygobject3,
16 pygtkspellcheck,
17 pythonOlder,
18 range-typed-integers,
19 skytemple-files,
20 skytemple-icons,
21 skytemple-ssb-emulator,
22 wrapGAppsHook3,
23}:
24
25buildPythonPackage rec {
26 pname = "skytemple-ssb-debugger";
27 version = "1.8.3";
28 pyproject = true;
29
30 src = fetchFromGitHub {
31 owner = "SkyTemple";
32 repo = "skytemple-ssb-debugger";
33 rev = version;
34 hash = "sha256-J4UAxNxB2QSaTW1r1xL9wKGTISv0H4RdDnRiZp4idts=";
35 };
36
37 build-system = [ setuptools ];
38
39 buildInputs = [
40 gtk3
41 gtksourceview4
42 ];
43 nativeBuildInputs = [
44 gobject-introspection
45 wrapGAppsHook3
46 ];
47 dependencies = [
48 explorerscript
49 ndspy
50 nest-asyncio
51 pmdsky-debug-py
52 pycairo
53 pygobject3
54 pygtkspellcheck
55 range-typed-integers
56 skytemple-files
57 skytemple-icons
58 skytemple-ssb-emulator
59 ]
60 ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
61
62 doCheck = false; # requires Pokémon Mystery Dungeon ROM
63 pythonImportsCheck = [ "skytemple_ssb_debugger" ];
64
65 meta = with lib; {
66 homepage = "https://github.com/SkyTemple/skytemple-ssb-debugger";
67 description = "Script Engine Debugger for Pokémon Mystery Dungeon Explorers of Sky";
68 mainProgram = "skytemple-ssb-debugger";
69 license = licenses.gpl3Plus;
70 maintainers = with maintainers; [ marius851000 ];
71 };
72}