1{
2 lib,
3 alsa-lib,
4 buildPythonPackage,
5 fetchFromGitHub,
6 gitpython,
7 libpcap,
8 meson,
9 ninja,
10 openal,
11 pillow,
12 pkg-config,
13 pygobject3,
14 pythonOlder,
15 SDL2,
16 soundtouch,
17}:
18
19buildPythonPackage rec {
20 pname = "py-desmume";
21 version = "0.0.7";
22 format = "setuptools";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "SkyTemple";
28 repo = "py-desmume";
29 tag = version;
30 hash = "sha256-aH7f/BI89VLUGqwA8Y7ThSpmKxWffYRETT/+EjPVTg8=";
31 fetchSubmodules = true;
32 };
33
34 nativeBuildInputs = [
35 meson
36 ninja
37 pkg-config
38 ];
39
40 buildInputs = [
41 alsa-lib
42 gitpython
43 libpcap
44 openal
45 SDL2
46 soundtouch
47 ];
48
49 propagatedBuildInputs = [
50 pillow
51 pygobject3
52 ];
53
54 hardeningDisable = [ "format" ];
55
56 doCheck = false; # there are no tests
57
58 pythonImportsCheck = [ "desmume" ];
59
60 meta = with lib; {
61 description = "Python library to interface with DeSmuME, the Nintendo DS emulator";
62 homepage = "https://github.com/SkyTemple/py-desmume";
63 license = licenses.gpl3Plus;
64 maintainers = with maintainers; [ marius851000 ];
65 };
66}