1{
2 lib,
3 fetchFromGitHub,
4 setuptools,
5 requests,
6 ssdpy,
7 appdirs,
8 pygobject3,
9 gobject-introspection,
10 gtk3,
11 wrapGAppsHook3,
12 buildPythonPackage,
13 buildApplication ? false,
14}:
15
16buildPythonPackage 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 ]
31 ++ lib.optionals buildApplication [
32 gobject-introspection
33 wrapGAppsHook3
34 ];
35
36 propagatedBuildInputs = [
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}