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