1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pygame,
6 pyglet,
7 pysdl2,
8 pytestCheckHook,
9 pythonOlder,
10 setuptools-scm,
11}:
12
13buildPythonPackage {
14 pname = "pytmx";
15 version = "3.32";
16
17 pyproject = true;
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "bitcraft";
23 repo = "PyTMX";
24 # Latest release was not tagged. However, the changes of this commit - the
25 # current HEAD - are part of the 3.32 release on PyPI.
26 rev = "7af805bc916e666fdf7165d5d6ba4c0eddfcde18";
27 hash = "sha256-zRrMk812gAZoCAeYq4Uz/1RwJ0lJc7szyZ3IQDYZOd4=";
28 };
29
30 build-system = [
31 setuptools-scm
32 ];
33
34 dependencies = [
35 pygame
36 pyglet
37 pysdl2
38 ];
39
40 pythonImportsCheck = [
41 "pytmx.pytmx"
42 "pytmx.util_pygame"
43 "pytmx.util_pyglet"
44 "pytmx.util_pysdl2"
45 ];
46
47 nativeCheckInputs = [ pytestCheckHook ];
48
49 disabledTests = [
50 # AssertionError on the property name
51 "test_contains_reserved_property_name"
52 ];
53
54 meta = with lib; {
55 homepage = "https://github.com/bitcraft/PyTMX";
56 description = "Python library to read Tiled Map Editor's TMX maps";
57 license = licenses.lgpl3Plus;
58 maintainers = with maintainers; [ oxzi ];
59 };
60}