Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / servers / unifi / default.nix
blob1f186bb14e2139252d80d9492b7f5907bb31cff4
1 { lib, stdenv, dpkg, fetchurl, zip, nixosTests }:
3 let
4   generic = { version, sha256, suffix ? "", ... } @ args:
5   stdenv.mkDerivation (args // {
6     pname = "unifi-controller";
8     src = fetchurl {
9       url = "https://dl.ubnt.com/unifi/${version}${suffix}/unifi_sysvinit_all.deb";
10       inherit sha256;
11     };
13     nativeBuildInputs = [ dpkg ];
15     unpackPhase = ''
16       runHook preUnpack
17       dpkg-deb -x $src ./
18       runHook postUnpack
19     '';
21     installPhase = ''
22       runHook preInstall
24       mkdir -p $out
25       cd ./usr/lib/unifi
26       cp -ar dl lib webapps $out
28       runHook postInstall
29     '';
31     passthru.tests = {
32       unifi = nixosTests.unifi;
33     };
35     meta = with lib; {
36       homepage = "http://www.ubnt.com/";
37       description = "Controller for Ubiquiti UniFi access points";
38       sourceProvenance = with sourceTypes; [ binaryBytecode ];
39       license = licenses.unfree;
40       platforms = platforms.unix;
41       maintainers = with maintainers; [ globin patryk27 ];
42     };
43   });
45 in rec {
46   # see https://community.ui.com/releases / https://www.ui.com/download/unifi
48   unifi7 = generic {
49     version = "7.5.187";
50     suffix = "-f57f5bf7ab";
51     sha256 = "sha256-a5kl8gZbRnhS/p1imPl7soM0/QSFHdM0+2bNmDfc1mY=";
52   };
54   unifi8 = generic {
55     version = "8.2.93";
56     suffix = "-1c329ecd26";
57     sha256 = "sha256-7zcRxflEvPRxH7MtudOqumeUpSzAaEIbjaaJVpr2Gbc=";
58   };