1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 setuptools,
7 pyudev,
8 pytestCheckHook,
9}:
10
11buildPythonPackage rec {
12 pname = "monitorcontrol";
13 version = "4.1.1";
14 pyproject = true;
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchFromGitHub {
19 owner = "newAM";
20 repo = "monitorcontrol";
21 tag = version;
22 hash = "sha256-4A7Cj2PWANZOmMSB9rH++TAf6SgyQd0OFULKa4JRu0s=";
23 };
24
25 build-system = [ setuptools ];
26
27 dependencies = [ pyudev ];
28
29 nativeCheckInputs = [ pytestCheckHook ];
30
31 pythonImportsCheck = [ pname ];
32
33 meta = {
34 description = "Python monitor controls using DDC-CI";
35 mainProgram = "monitorcontrol";
36 homepage = "https://github.com/newAM/monitorcontrol";
37 changelog = "https://github.com/newAM/monitorcontrol/blob/${version}/CHANGELOG.md";
38 license = lib.licenses.mit;
39 platforms = lib.platforms.linux;
40 maintainers = with lib.maintainers; [ newam ];
41 };
42}