diff options
author | Peter Hoeg <peter@hoeg.com> | 2018-04-30 11:31:44 +0800 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2018-05-01 18:03:48 +0200 |
commit | 187e2237733e427e63aac5af91c0579c3c7bf0aa (patch) | |
tree | 0af6628d8c31cf0b321c66a354ce3c660a7f815f /pkgs/servers/unifi | |
parent | 63666bf1d5dab08209239b70e48207584001ce3f (diff) | |
download | nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.tar nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.tar.gz nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.tar.bz2 nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.tar.lz nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.tar.xz nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.tar.zst nixpkgs-187e2237733e427e63aac5af91c0579c3c7bf0aa.zip |
unifi-testing: init at 5.8.14
Also: - Instead of using a boolean flag to determine which package to build, use a generic builder - Add a few missing pre/post hooks
Diffstat (limited to 'pkgs/servers/unifi')
-rw-r--r-- | pkgs/servers/unifi/default.nix | 90 |
1 files changed, 49 insertions, 41 deletions
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix index dac4bf6899a..b4e03af1cfd 100644 --- a/pkgs/servers/unifi/default.nix +++ b/pkgs/servers/unifi/default.nix @@ -1,53 +1,61 @@ -{ stdenv -, dpkg -, fetchurl -, unzip -, useLTS ? false -}: - +{ stdenv, dpkg, fetchurl }: let - versions = { - stable = { - version = "5.7.20"; - sha256 = "1ylj4i5mcv6z9n32275ccdf1rqk74zilqsih3r6xzhm30pxrd8dd"; + generic = { version, sha256, suffix ? "" }: + stdenv.mkDerivation rec { + name = "unifi-controller-${version}"; + + src = fetchurl { + url = "https://dl.ubnt.com/unifi/${version}${suffix}/unifi_sysvinit_all.deb"; + inherit sha256; }; - lts = { - version = "5.6.36"; - sha256 = "075q7vm56fdsjwh72y2cb1pirl2pxdkvqnhvd3bf1c2n64mvp6bi"; + + nativeBuildInputs = [ dpkg ]; + + unpackPhase = '' + runHook preUnpack + dpkg-deb -x $src ./ + runHook postUnpack + ''; + + doConfigure = false; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cd ./usr/lib/unifi + cp -ar dl lib webapps $out + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = http://www.ubnt.com/; + description = "Controller for Ubiquiti UniFi access points"; + license = licenses.unfree; + platforms = platforms.unix; + maintainers = with maintainers; [ wkennington ]; }; }; - selectedVersion = - let attr = if useLTS then "lts" else "stable"; - in versions."${attr}"; -in - -stdenv.mkDerivation { - name = "unifi-controller-${selectedVersion.version}"; - src = with selectedVersion; fetchurl { - url = "https://dl.ubnt.com/unifi/${version}/unifi_sysvinit_all.deb"; - inherit sha256; - }; - buildInputs = [ dpkg ]; +in rec { - unpackPhase = '' - dpkg-deb -x $src ./ - ''; + # https://help.ubnt.com/hc/en-us/articles/115000441548-UniFi-Current-Controller-Versions - doConfigure = false; + unifiLTS = generic { + version = "5.6.36"; + sha256 = "075q7vm56fdsjwh72y2cb1pirl2pxdkvqnhvd3bf1c2n64mvp6bi"; + }; - installPhase = '' - mkdir -p $out - cd ./usr/lib/unifi - cp -ar dl lib webapps $out - ''; + unifiStable = generic { + version = "5.7.20"; + sha256 = "1ylj4i5mcv6z9n32275ccdf1rqk74zilqsih3r6xzhm30pxrd8dd"; + }; - meta = with stdenv.lib; { - homepage = http://www.ubnt.com/; - description = "Controller for Ubiquiti UniFi accesspoints"; - license = licenses.unfree; - platforms = platforms.unix; - maintainers = with maintainers; [ wkennington ]; + unifiTesting = generic { + version = "5.8.14"; + suffix = "-7ef9535d1b"; + sha256 = "09gr7zkck6npjhhmd27c9ymyna6anwj3w9v9zjicz9skbrddkccq"; }; } |