aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/tools/misc/broadlink-cli/default.nix
blob: 96b13c060e4ba2f9a841de52ff3435e44de18e11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{ stdenv, python3Packages, fetchFromGitHub }:

python3Packages.buildPythonApplication {
  pname = "broadlink-cli";
  inherit (python3Packages.broadlink) version;

  # the tools are available as part of the source distribution from GH but
  # not pypi, so we have to fetch them here.
  src = fetchFromGitHub {
    owner  = "mjg59";
    repo   = "python-broadlink";
    # this rev is version 0.15.0
    rev    = "99add9e6feea6e47be4f3a58783556d7838b759c";
    sha256 = "1q1q62brvfjcb18i0j4ca5cxqzjwv1iywdrdby0yjqa4wm6ywq6b";
  };

  format = "other";

  propagatedBuildInputs = with python3Packages; [
    broadlink
  ];

  installPhase = ''
    runHook preInstall

    install -Dm755 -t $out/bin cli/broadlink_{cli,discovery}
    install -Dm644 -t $out/share/doc/broadlink cli/README.md

    runHook postInstall
  '';

  meta = with stdenv.lib; {
    description = "Tools for interfacing with Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs";
    maintainers = with maintainers; [ peterhoeg ];
    inherit (python3Packages.broadlink.meta) homepage license;
  };
}