1{
2 lib,
3 python3Packages,
4 fetchFromGitHub,
5 setuptools,
6 requests,
7 ssdpy,
8 appdirs,
9 pygobject3,
10 gobject-introspection,
11 gtk3,
12 wrapGAppsHook3,
13 buildApplication ? false,
14}:
15
16python3Packages.buildPythonPackage rec {
17 pname = "controku";
18 version = "1.1.0";
19 format = "pyproject";
20
21 src = fetchFromGitHub {
22 owner = "benthetechguy";
23 repo = "controku";
24 rev = version;
25 hash = "sha256-sye2GtL3a77pygllZc6ylaIP7faPb+NFbyKKyqJzIXw=";
26 };
27
28 nativeBuildInputs =
29 [ setuptools ]
30 ++ lib.optionals buildApplication [
31 gobject-introspection
32 wrapGAppsHook3
33 ];
34
35 propagatedBuildInputs =
36 [
37 requests
38 ssdpy
39 ]
40 ++ lib.optionals buildApplication [
41 gtk3
42 appdirs
43 pygobject3
44 ];
45
46 pythonImportsCheck = [ "controku" ];
47
48 meta = with lib; {
49 changelog = "https://github.com/benthetechguy/controku/releases/tag/${version}";
50 description = "Control Roku devices from the comfort of your own desktop";
51 mainProgram = "controku";
52 homepage = "https://github.com/benthetechguy/controku";
53 license = licenses.gpl3Only;
54 maintainers = with maintainers; [ mjm ];
55 };
56}