1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 poetry-core,
7 pillow,
8 vacuum-map-parser-base,
9}:
10
11buildPythonPackage rec {
12 pname = "vacuum-map-parser-roborock";
13 version = "0.1.4";
14 pyproject = true;
15
16 disabled = pythonOlder "3.11";
17
18 src = fetchFromGitHub {
19 owner = "PiotrMachowski";
20 repo = "Python-package-${pname}";
21 tag = "v${version}";
22 hash = "sha256-MqsLvAs4PU/K2yBxEhVJucstZg9QFPYgOTCbgT2Uq/A=";
23 };
24
25 postPatch = ''
26 # Upstream doesn't set a version in the pyproject.toml file
27 substituteInPlace pyproject.toml \
28 --replace "0.0.0" "${version}"
29 '';
30
31 build-system = [ poetry-core ];
32
33 dependencies = [
34 pillow
35 vacuum-map-parser-base
36 ];
37
38 # No tests
39 doCheck = false;
40
41 pythonImportsCheck = [ "vacuum_map_parser_roborock" ];
42
43 meta = with lib; {
44 description = "Functionalities for Roborock vacuum map parsing";
45 homepage = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock";
46 changelog = "https://github.com/PiotrMachowski/Python-package-vacuum-map-parser-roborock/releases/tag/${src.tag}";
47 maintainers = with maintainers; [ jamiemagee ];
48 license = licenses.asl20;
49 };
50}