about summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-02-18 20:36:48 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2019-02-18 20:36:48 -0500
commitb1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3 (patch)
treed6eaa4102b8caf97fd924395114f4d9df5d3b4ef /pkgs/servers
parenta808baa5e50e83c64b00f772d0070e5989f6afb9 (diff)
parent266315c91d5e4a6d7b8465eb44d4f6af30d90b30 (diff)
downloadnixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.tar
nixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.tar.gz
nixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.tar.bz2
nixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.tar.lz
nixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.tar.xz
nixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.tar.zst
nixlib-b1bbd94bb680dbcb1c7b55128d129d5cdd3f81c3.zip
Merge remote-tracking branch 'NixOS/master' into staging
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/dict/default.nix2
-rw-r--r--pkgs/servers/diod/default.nix16
-rw-r--r--pkgs/servers/headphones/default.nix33
-rw-r--r--pkgs/servers/icingaweb2/default.nix33
-rw-r--r--pkgs/servers/icingaweb2/theme-april/default.nix24
-rw-r--r--pkgs/servers/icingaweb2/theme-lsd/default.nix24
-rw-r--r--pkgs/servers/icingaweb2/theme-particles/default.nix24
-rw-r--r--pkgs/servers/icingaweb2/theme-snow/default.nix30
-rw-r--r--pkgs/servers/icingaweb2/theme-spring/default.nix24
-rw-r--r--pkgs/servers/icingaweb2/theme-unicorn/default.nix45
-rw-r--r--pkgs/servers/mail/exim/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/sabnzbd/default.nix4
-rw-r--r--pkgs/servers/sickbeard/default.nix4
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix8
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix99
-rw-r--r--pkgs/servers/sip/freeswitch/modules.nix223
-rw-r--r--pkgs/servers/sql/postgresql/default.nix6
-rw-r--r--pkgs/servers/tt-rss/plugin-auth-ldap/default.nix2
-rw-r--r--pkgs/servers/tt-rss/plugin-ff-instagram/default.nix30
-rw-r--r--pkgs/servers/tt-rss/plugin-tumblr-gdpr/default.nix4
-rw-r--r--pkgs/servers/tt-rss/theme-feedly/default.nix6
-rw-r--r--pkgs/servers/unifi/default.nix4
25 files changed, 623 insertions, 40 deletions
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index bf9fd77df7c9..c45098b2ae09 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   patchPhase = "patch -p0 < ${./buildfix.diff}";
   configureFlags = [
     "--enable-dictorg"
-    "--datadir=/run/current-systems/sw/share/dictd"
+    "--datadir=/run/current-system/sw/share/dictd"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/diod/default.nix b/pkgs/servers/diod/default.nix
index eba73b2692a2..2199d62b4dd7 100644
--- a/pkgs/servers/diod/default.nix
+++ b/pkgs/servers/diod/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, munge, lua, libcap, perl, ncurses }:
+{ stdenv, fetchurl, munge, lua,
+  libcap, perl, ncurses
+}:
 
 stdenv.mkDerivation rec {
   name = "diod-${version}";
@@ -9,12 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "17wckwfsqj61yixz53nwkc35z66arb1x3napahpi64m7q68jn7gl";
   };
 
+  postPatch = ''
+    substituteInPlace diod/xattr.c --replace attr/xattr.h sys/xattr.h
+  '';
+
   buildInputs = [ munge lua libcap perl ncurses ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An I/O forwarding server that implements a variant of the 9P protocol";
-    maintainers = [ stdenv.lib.maintainers.rickynils];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with maintainers; [ rnhmjoj rickynils ];
+    platforms   = platforms.linux;
+    license     = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/servers/headphones/default.nix b/pkgs/servers/headphones/default.nix
new file mode 100644
index 000000000000..eff1155fc205
--- /dev/null
+++ b/pkgs/servers/headphones/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, python2, makeWrapper }:
+
+python2.pkgs.buildPythonApplication rec {
+  name = "headphones-${version}";
+  version = "0.5.19";
+
+  src = fetchFromGitHub {
+    owner = "rembo10";
+    repo = "headphones";
+    rev = "v${version}";
+    sha256 = "0z39gyan3ksdhnjxxs7byamrzmrk8cn15g300iqigzvgidff1lq0";
+  };
+
+  dontBuild = true;
+  doCheck = false;
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python2 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R {data,headphones,lib,Headphones.py} $out/
+
+    makeWrapper $out/Headphones.py $out/bin/headphones
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automatic music downloader for SABnzbd";
+    license     = licenses.gpl3;
+    homepage    = https:/github.com/rembo10/headphones;
+    maintainers = with stdenv.lib.maintainers; [ rembo10 ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix
new file mode 100644
index 000000000000..5a6556f248af
--- /dev/null
+++ b/pkgs/servers/icingaweb2/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, php }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-${version}";
+  version = "2.6.2";
+
+  src = fetchFromGitHub {
+    owner = "Icinga";
+    repo = "icingaweb2";
+    rev = "v${version}";
+    sha256 = "1gf28nm94bq6r7i8yds5y9s59559i2zvj0swzb28zll6xbyprib0";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp -ra application bin etc library modules public $out
+    cp -ra doc $out/share
+
+    wrapProgram $out/bin/icingacli --prefix PATH : "${makeBinPath [ php ]}"
+  '';
+
+  meta = {
+    description = "Webinterface for Icinga 2";
+    longDescription = ''
+      A lightweight and extensible web interface to keep an eye on your environment.
+      Analyse problems and act on them.
+    '';
+    homepage = "https://www.icinga.com/products/icinga-web-2/";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/theme-april/default.nix b/pkgs/servers/icingaweb2/theme-april/default.nix
new file mode 100644
index 000000000000..7c592fca33b6
--- /dev/null
+++ b/pkgs/servers/icingaweb2/theme-april/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-theme-april";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "Mikesch-mp";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "0i1js2k47llzgmc77q9frvcmr02mqlhg0qhswx1486fvm6myxg0g";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+  '';
+
+  meta = {
+    description = "Icingaweb2 theme for april fools";
+    homepage = "https://github.com/Mikesch-mp/icingaweb2-theme-april";
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/theme-lsd/default.nix b/pkgs/servers/icingaweb2/theme-lsd/default.nix
new file mode 100644
index 000000000000..273bcf6945d9
--- /dev/null
+++ b/pkgs/servers/icingaweb2/theme-lsd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-theme-lsd";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "Mikesch-mp";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "172y08sar4nbyv5pfq5chw8xa3b7fg1dacmsg778zky5zf49qz2w";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+  '';
+
+  meta = {
+    description = "Psychadelic theme for IcingaWeb 2";
+    homepage = "https://github.com/Mikesch-mp/icingaweb2-theme-lsd";
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/theme-particles/default.nix b/pkgs/servers/icingaweb2/theme-particles/default.nix
new file mode 100644
index 000000000000..3d28481cd84e
--- /dev/null
+++ b/pkgs/servers/icingaweb2/theme-particles/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-theme-particles";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Mikesch-mp";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "0m6bbz191686k4djqbk8v0zcdm4cyi159jb3zwz7q295xbpi2vfy";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+  '';
+
+  meta = {
+    description = "This theme adds a nice particle effect to the login screen of Icingaweb 2";
+    homepage = "https://github.com/Mikesch-mp/icingaweb2-theme-particles";
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/theme-snow/default.nix b/pkgs/servers/icingaweb2/theme-snow/default.nix
new file mode 100644
index 000000000000..136168fc8d4a
--- /dev/null
+++ b/pkgs/servers/icingaweb2/theme-snow/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitHub, gawk }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-theme-snow";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Mikesch-mp";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "1c974v85mbsis52y2knwzh33996q8sza7pqrcs6ydx033s0rxjrp";
+  };
+
+  patchPhase = ''
+    # Module info contains some fancy ascii art which breaks the module list
+
+    awk -i inplace 'BEGIN {empty=0;write=1;}{if ($0 == ""){empty++;};if(empty==2){write=0};if (write==1){print $0}}' module.info
+  '';
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+  '';
+
+  meta = {
+    description = "Snow theme for Icingaweb 2";
+    homepage = "https://github.com/Mikesch-mp/icingaweb2-theme-snow";
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/theme-spring/default.nix b/pkgs/servers/icingaweb2/theme-spring/default.nix
new file mode 100644
index 000000000000..a21f6cc89a25
--- /dev/null
+++ b/pkgs/servers/icingaweb2/theme-spring/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchFromGitHub }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-theme-spring";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "Mikesch-mp";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "09v4871pndarhm2spxm9fdab58l5wj8m40kh53wvk1xc3g7pqki9";
+  };
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+  '';
+
+  meta = {
+    description = "Theme with some soft colors and nice background images loaded from unsplash.com";
+    homepage = "https://github.com/Mikesch-mp/icingaweb2-theme-spring";
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/icingaweb2/theme-unicorn/default.nix b/pkgs/servers/icingaweb2/theme-unicorn/default.nix
new file mode 100644
index 000000000000..a43f7d7c09ad
--- /dev/null
+++ b/pkgs/servers/icingaweb2/theme-unicorn/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchurl, fetchFromGitHub }: with lib; stdenv.mkDerivation rec {
+  name = "icingaweb2-theme-unicorn";
+  version = "1.0.2";
+
+  srcs = [
+    (fetchFromGitHub {
+      owner = "Mikesch-mp";
+      repo = name;
+      rev = "v${version}";
+      sha256 = "1qmcajdf0g70vp2avqa50lfrfigq22k91kggbgn5ablwyg9dki05";
+    })
+    (fetchurl {
+      url = "http://i.imgur.com/SCfMd.png";
+      sha256 = "1y6wqm1z6mn0a6jankd7pzqgi7zm5320kk6knvbv3qhzx2b74ypp";
+    })
+  ];
+
+  unpackPhase = ''
+    for src in $srcs; do
+      case $src in
+        *.png)
+          cp $src unicorn.png
+          ;;
+        *)
+          cp -r $src/* .
+          ;;
+      esac
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p "$out"
+    cp -r * "$out"
+    chmod 755 $out/public/img
+    cp unicorn.png "$out/public/img/unicorn.png"
+  '';
+
+  meta = {
+    description = "Unicorn theme for IcingaWeb 2";
+    homepage = "https://github.com/Mikesch-mp/icingaweb2-theme-unicorn";
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 07623a80f243..f4581023c064 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -6,11 +6,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.91";
+  name = "exim-4.92";
 
   src = fetchurl {
     url = "https://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
-    sha256 = "066ip7a5lqfn9rcr14j4nm0kqysw6mzvbbb0ip50lmfm0fqsqmzc";
+    sha256 = "0qhxxwl0nhzgp0w3pjkhx9z9lqfpk8id25q5ghf9ay2f90mydjba";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index e2ee3e55afb7..46d74c06013d 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "0.99.0";
+  version = "0.99.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1xsp60172zvgyjgpjmzz90rj1din8d65ffg73nzid4nd875p45kh";
+    sha256 = "1ych13x3c2cam7af4q2ariwvzwvr65g3j2x8ajjn33ydwxxbqbg6";
   };
 
   propagatedBuildInputs = [
@@ -67,7 +67,7 @@ in buildPythonApplication rec {
     unpaddedbase64
   ] ++ lib.optional enableSystemd systemd;
 
-  checkInputs = [ mock ];
+  checkInputs = [ mock parameterized ];
 
   checkPhase = ''
     PYTHONPATH=".:$PYTHONPATH" trial tests
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 68f1374bbdc0..e26a97dc6f30 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nextcloud-${version}";
-  version = "15.0.2";
+  version = "15.0.4";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "1shgr81hhxr2k45hqlx06qhyayhbqdi0ndvpcyzdv54rwcrwrx61";
+    sha256 = "0xwg7p31y1pkjk1pzygh9shpqxnfkafrab52j7in7xblq53v0zgq";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index 0aa2101e951c..0781e66f0069 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "neo4j-${version}";
-  version = "3.5.2";
+  version = "3.5.3";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    sha256 = "0i36vgs6b24bdhckgkhw23g59x1f2zg6h07c73jv55sdmxmcdpn1";
+    sha256 = "1shkffikl9mrjg1kq2s2ylgf4691f9fv53d3x4qk2a6m4y1y9dnl";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index afa6321fb5d3..2e68944c00d0 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -4,7 +4,7 @@ let
   pythonEnv = python2.withPackages(ps: with ps; [ cryptography cheetah yenc sabyenc ]);
   path = stdenv.lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "2.3.3";
+  version = "2.3.7";
   pname = "sabnzbd";
   name = "${pname}-${version}";
 
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0za4xjc4x44f7i30r86bbza3zppid333ifwzp5h526w3zak1lal8";
+    sha256 = "08bk2ignm50ki2bqwwl0q9pia7v91cixr5b1yibz6qxsyfprk0mj";
   };
 
   buildInputs = [ pythonEnv makeWrapper ];
diff --git a/pkgs/servers/sickbeard/default.nix b/pkgs/servers/sickbeard/default.nix
index 4d6e181c61d2..20840a978c5c 100644
--- a/pkgs/servers/sickbeard/default.nix
+++ b/pkgs/servers/sickbeard/default.nix
@@ -2,8 +2,8 @@
 
 let
   pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
-in python2.pkgs.buildPythonApplication rec {
-  name = "sickbeard-${version}";
+in stdenv.mkDerivation rec {
+  pname = "sickbeard";
   version = "2016-03-21";
 
   src = fetchFromGitHub {
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index 21254f557530..b50c6b36acd7 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -2,15 +2,15 @@
 
 let
   pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
-in python2.pkgs.buildPythonApplication rec {
-  name = "sickgear-${version}";
-  version = "0.17.5";
+in stdenv.mkDerivation rec {
+  pname = "sickgear";
+  version = "0.18.14";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    sha256 = "1lx060klgxz8gjanfjvya6p6kd8842qbpp1qhhiw49a25r8gyxpk";
+    sha256 = "0sw436zbsaxwy58lfkgw6gb6hapxxxl4wipkpzd80dgaz7bvd7c3";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 33097888ff38..c37eaad2f7fb 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,19 +1,96 @@
+let
+
+# the default list from v1.8.5, except with applications/mod_signalwire also disabled
+defaultModules = mods: with mods; [
+  applications.commands
+  applications.conference
+  applications.db
+  applications.dptools
+  applications.enum
+  applications.esf
+  applications.expr
+  applications.fifo
+  applications.fsv
+  applications.hash
+  applications.httapi
+  applications.sms
+  applications.spandsp
+  applications.valet_parking
+  applications.voicemail
+
+  applications.curl
+
+  codecs.amr
+  codecs.b64
+  codecs.g723_1
+  codecs.g729
+  codecs.h26x
+  codecs.opus
+
+  dialplans.asterisk
+  dialplans.xml
+
+  endpoints.loopback
+  endpoints.rtc
+  endpoints.skinny
+  endpoints.sofia
+  endpoints.verto
+
+  event_handlers.cdr_csv
+  event_handlers.cdr_sqlite
+  event_handlers.event_socket
+
+  formats.local_stream
+  formats.native_file
+  formats.png
+  formats.sndfile
+  formats.tone_stream
+
+  languages.lua
+
+  loggers.console
+  loggers.logfile
+  loggers.syslog
+
+  say.en
+
+  xml_int.cdr
+  xml_int.rpc
+  xml_int.scgi
+];
+
+in
+
 { fetchurl, stdenv, lib, ncurses, curl, pkgconfig, gnutls, readline
 , openssl, perl, sqlite, libjpeg, speex, pcre
-, ldns, libedit, yasm, which, lua, libopus, libsndfile
+, ldns, libedit, yasm, which, lua, libopus, libsndfile, libtiff
 
+, modules ? defaultModules
 , postgresql
 , enablePostgres ? true
 
 , SystemConfiguration
 }:
 
+let
+
+availableModules = import ./modules.nix { inherit curl lua libopus; };
+
+enabledModules = modules availableModules;
+
+modulesConf = let
+  lst = builtins.map (mod: mod.path) enabledModules;
+  str = lib.strings.concatStringsSep "\n" lst;
+  in builtins.toFile "modules.conf" str;
+
+in
+
 stdenv.mkDerivation rec {
-  name = "freeswitch-1.6.20";
+  name = "freeswitch-1.8.5";
 
   src = fetchurl {
     url = "https://files.freeswitch.org/freeswitch-releases/${name}.tar.bz2";
-    sha256 = "0hqz68abs5x5vzf1mndcvdi35nrhmnklzdrnrk8dyvzvz67hp2ah";
+    sha256 = "00xdrx84pw2v5pw1r5gfbb77nmvlfj275pmd48yfrc9g8c91j1sr";
   };
   postPatch = ''
     patchShebangs     libs/libvpx/build/make/rtcd.pl
@@ -23,10 +100,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    openssl ncurses curl gnutls readline perl libjpeg
-    sqlite pcre speex ldns libedit yasm which lua libopus
-    libsndfile
+    openssl ncurses gnutls readline perl libjpeg
+    sqlite pcre speex ldns libedit yasm which
+    libsndfile libtiff
   ]
+  ++ lib.unique (lib.concatMap (mod: mod.inputs) enabledModules)
   ++ lib.optionals enablePostgres [ postgresql ]
   ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ];
 
@@ -36,6 +114,15 @@ stdenv.mkDerivation rec {
 
   configureFlags = lib.optionals enablePostgres [ "--enable-core-pgsql-support" ];
 
+  preConfigure = ''
+    cp "${modulesConf}" modules.conf
+  '';
+
+  postInstall = ''
+    # helper for compiling modules... not generally useful; also pulls in perl dependency
+    rm "$out"/bin/fsxs
+  '';
+
   meta = {
     description = "Cross-Platform Scalable FREE Multi-Protocol Soft Switch";
     homepage = https://freeswitch.org/;
diff --git a/pkgs/servers/sip/freeswitch/modules.nix b/pkgs/servers/sip/freeswitch/modules.nix
new file mode 100644
index 000000000000..aed30e467e8b
--- /dev/null
+++ b/pkgs/servers/sip/freeswitch/modules.nix
@@ -0,0 +1,223 @@
+{ libopus
+, lua
+, curl
+}:
+
+let
+
+mk = path: inputs: { inherit path inputs; };
+
+in
+
+# TODO: many of these are untested and missing required inputs
+{
+  applications = {
+    abstraction = mk "applications/mod_abstraction" [];
+    av = mk "applications/mod_av" [];
+    avmd = mk "applications/mod_avmd" [];
+    bert = mk "applications/mod_bert" [];
+    blacklist = mk "applications/mod_blacklist" [];
+    callcenter = mk "applications/mod_callcenter" [];
+    cidlookup = mk "applications/mod_cidlookup" [];
+    cluechoo = mk "applications/mod_cluechoo" [];
+    commands = mk "applications/mod_commands" [];
+    conference = mk "applications/mod_conference" [];
+    curl = mk "applications/mod_curl" [ curl ];
+    cv = mk "applications/mod_cv" [];
+    db = mk "applications/mod_db" [];
+    directory = mk "applications/mod_directory" [];
+    distributor = mk "applications/mod_distributor" [];
+    dptools = mk "applications/mod_dptools" [];
+    easyroute = mk "applications/mod_easyroute" [];
+    enum = mk "applications/mod_enum" [];
+    esf = mk "applications/mod_esf" [];
+    esl = mk "applications/mod_esl" [];
+    expr = mk "applications/mod_expr" [];
+    fifo = mk "applications/mod_fifo" [];
+    fsk = mk "applications/mod_fsk" [];
+    fsv = mk "applications/mod_fsv" [];
+    hash = mk "applications/mod_hash" [];
+    hiredis = mk "applications/mod_hiredis" [];
+    httapi = mk "applications/mod_httapi" [];
+    http_cache = mk "applications/mod_http_cache" [];
+    ladspa = mk "applications/mod_ladspa" [];
+    lcr = mk "applications/mod_lcr" [];
+    memcache = mk "applications/mod_memcache" [];
+    mongo = mk "applications/mod_mongo" [];
+    mp4 = mk "applications/mod_mp4" [];
+    mp4v2 = mk "applications/mod_mp4v2" [];
+    nibblebill = mk "applications/mod_nibblebill" [];
+    oreka = mk "applications/mod_oreka" [];
+    osp = mk "applications/mod_osp" [];
+    prefix = mk "applications/mod_prefix" [];
+    rad_auth = mk "applications/mod_rad_auth" [];
+    redis = mk "applications/mod_redis" [];
+    rss = mk "applications/mod_rss" [];
+    signalwire = mk "applications/mod_signalwire" [];
+    sms = mk "applications/mod_sms" [];
+    sms_flowroute = mk "applications/mod_sms_flowroute" [];
+    snapshot = mk "applications/mod_snapshot" [];
+    snom = mk "applications/mod_snom" [];
+    sonar = mk "applications/mod_sonar" [];
+    soundtouch = mk "applications/mod_soundtouch" [];
+    spandsp = mk "applications/mod_spandsp" [];
+    spy = mk "applications/mod_spy" [];
+    stress = mk "applications/mod_stress" [];
+    translate = mk "applications/mod_translate" [];
+    valet_parking = mk "applications/mod_valet_parking" [];
+    video_filter = mk "applications/mod_video_filter" [];
+    vmd = mk "applications/mod_vmd" [];
+    voicemail = mk "applications/mod_voicemail" [];
+    voicemail_ivr = mk "applications/mod_voicemail_ivr" [];
+  };
+
+  ast_tts = {
+    cepstral = mk "ast_tts/mod_cepstral" [];
+    flite = mk "ast_tts/mod_flite" [];
+    pocketsphinx = mk "ast_tts/mod_pocketsphinx" [];
+    tts_commandline = mk "ast_tts/mod_tts_commandline" [];
+    unimrcp = mk "ast_tts/mod_unimrcp" [];
+  };
+
+  codecs = {
+    amr = mk "codecs/mod_amr" [];
+    amrwb = mk "codecs/mod_amrwb" [];
+    b64 = mk "codecs/mod_b64" [];
+    bv = mk "codecs/mod_bv" [];
+    clearmode = mk "codecs/mod_clearmode" [];
+    codec2 = mk "codecs/mod_codec2" [];
+    com_g729 = mk "codecs/mod_com_g729" [];
+    dahdi_codec = mk "codecs/mod_dahdi_codec" [];
+    g723_1 = mk "codecs/mod_g723_1" [];
+    g729 = mk "codecs/mod_g729" [];
+    h26x = mk "codecs/mod_h26x" [];
+    ilbc = mk "codecs/mod_ilbc" [];
+    isac = mk "codecs/mod_isac" [];
+    mp4v = mk "codecs/mod_mp4v" [];
+    opus = mk "codecs/mod_opus" [ libopus ];
+    sangoma_codec = mk "codecs/mod_sangoma_codec" [];
+    silk = mk "codecs/mod_silk" [];
+    siren = mk "codecs/mod_siren" [];
+    theora = mk "codecs/mod_theora" [];
+  };
+
+  dialplans = {
+    asterisk = mk "dialplans/mod_dialplan_asterisk" [];
+    directory = mk "dialplans/mod_dialplan_directory" [];
+    xml = mk "dialplans/mod_dialplan_xml" [];
+  };
+
+  directories = {
+    ldap = mk "directories/mod_ldap" [];
+  };
+
+  endpoints = {
+    alsa = mk "endpoints/mod_alsa" [];
+    dingaling = mk "endpoints/mod_dingaling" [];
+    gsmopen = mk "endpoints/mod_gsmopen" [];
+    h323 = mk "endpoints/mod_h323" [];
+    khomp = mk "endpoints/mod_khomp" [];
+    loopback = mk "endpoints/mod_loopback" [];
+    opal = mk "endpoints/mod_opal" [];
+    portaudio = mk "endpoints/mod_portaudio" [];
+    rtc = mk "endpoints/mod_rtc" [];
+    rtmp = mk "endpoints/mod_rtmp" [];
+    skinny = mk "endpoints/mod_skinny" [];
+    sofia = mk "endpoints/mod_sofia" [];
+    verto = mk "endpoints/mod_verto" [];
+  };
+
+  event_handlers = {
+    amqp = mk "event_handlers/mod_amqp" [];
+    cdr_csv = mk "event_handlers/mod_cdr_csv" [];
+    cdr_mongodb = mk "event_handlers/mod_cdr_mongodb" [];
+    cdr_pg_csv = mk "event_handlers/mod_cdr_pg_csv" [];
+    cdr_sqlite = mk "event_handlers/mod_cdr_sqlite" [];
+    erlang_event = mk "event_handlers/mod_erlang_event" [];
+    event_multicast = mk "event_handlers/mod_event_multicast" [];
+    event_socket = mk "event_handlers/mod_event_socket" [];
+    fail2ban = mk "event_handlers/mod_fail2ban" [];
+    format_cdr = mk "event_handlers/mod_format_cdr" [];
+    json_cdr = mk "event_handlers/mod_json_cdr" [];
+    radius_cdr = mk "event_handlers/mod_radius_cdr" [];
+    odbc_cdr = mk "event_handlers/mod_odbc_cdr" [];
+    kazoo = mk "event_handlers/mod_kazoo" [];
+    rayo = mk "event_handlers/mod_rayo" [];
+    smpp = mk "event_handlers/mod_smpp" [];
+    snmp = mk "event_handlers/mod_snmp" [];
+    event_zmq = mk "event_handlers/mod_event_zmq" [];
+  };
+
+  formats = {
+    imagick = mk "formats/mod_imagick" [];
+    local_stream = mk "formats/mod_local_stream" [];
+    native_file = mk "formats/mod_native_file" [];
+    png = mk "formats/mod_png" [];
+    portaudio_stream = mk "formats/mod_portaudio_stream" [];
+    shell_stream = mk "formats/mod_shell_stream" [];
+    shout = mk "formats/mod_shout" [];
+    sndfile = mk "formats/mod_sndfile" [];
+    ssml = mk "formats/mod_ssml" [];
+    tone_stream = mk "formats/mod_tone_stream" [];
+    vlc = mk "formats/mod_vlc" [];
+  };
+
+  languages = {
+    basic = mk "languages/mod_basic" [];
+    java = mk "languages/mod_java" [];
+    lua = mk "languages/mod_lua" [ lua ];
+    managed = mk "languages/mod_managed" [];
+    perl = mk "languages/mod_perl" [];
+    python = mk "languages/mod_python" [];
+    v8 = mk "languages/mod_v8" [];
+    yaml = mk "languages/mod_yaml" [];
+  };
+
+  loggers = {
+    console = mk "loggers/mod_console" [];
+    graylog2 = mk "loggers/mod_graylog2" [];
+    logfile = mk "loggers/mod_logfile" [];
+    syslog = mk "loggers/mod_syslog" [];
+    raven = mk "loggers/mod_raven" [];
+  };
+
+  say = {
+    de = mk "say/mod_say_de" [];
+    en = mk "say/mod_say_en" [];
+    es = mk "say/mod_say_es" [];
+    es_ar = mk "say/mod_say_es_ar" [];
+    fa = mk "say/mod_say_fa" [];
+    fr = mk "say/mod_say_fr" [];
+    he = mk "say/mod_say_he" [];
+    hr = mk "say/mod_say_hr" [];
+    hu = mk "say/mod_say_hu" [];
+    it = mk "say/mod_say_it" [];
+    ja = mk "say/mod_say_ja" [];
+    nl = mk "say/mod_say_nl" [];
+    pl = mk "say/mod_say_pl" [];
+    pt = mk "say/mod_say_pt" [];
+    ru = mk "say/mod_say_ru" [];
+    sv = mk "say/mod_say_sv" [];
+    th = mk "say/mod_say_th" [];
+    zh = mk "say/mod_say_zh" [];
+  };
+
+  timers = {
+    posix_timer = mk "timers/mod_posix_timer" [];
+    timerfd = mk "timers/mod_timerfd" [];
+  };
+
+  xml_int = {
+    cdr = mk "xml_int/mod_xml_cdr" [];
+    curl = mk "xml_int/mod_xml_curl" [ curl ];
+    ldap = mk "xml_int/mod_xml_ldap" [];
+    radius = mk "xml_int/mod_xml_radius" [];
+    rpc = mk "xml_int/mod_xml_rpc" [];
+    scgi = mk "xml_int/mod_xml_scgi" [];
+
+    # experimental
+    odbc = mk "../../contrib/mod/xml_int/mod_xml_odbc" [];
+  };
+
+  freetdm = mk "../../libs/freetdm/mod_freetdm" [];
+}
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 842d01a640cb..7b92d756da5c 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -188,9 +188,9 @@ in self: {
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.1";
-    psqlSchema = "11.1";
-    sha256 = "026v0sicsh7avzi45waf8shcbhivyxmi7qgn9fd1x0vl520mx0ch";
+    version = "11.2";
+    psqlSchema = "11.2";
+    sha256 = "01clq2lw0v83zh5dc89xdr3mmap0jr37kdkh401ph6f2177bjxi6";
     this = self.postgresql_11;
     inherit self;
   };
diff --git a/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix b/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix
index 85d12cf07beb..6fad061ce996 100644
--- a/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix
+++ b/pkgs/servers/tt-rss/plugin-auth-ldap/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Plugin for TT-RSS to authenticate users via ldap";
-    license = licenses.gpl3;
+    license = licenses.asl20;
     homepage = https://github.com/hydrian/TTRSS-Auth-LDAP;
     maintainers = with maintainers; [ mic92 ];
     platforms = platforms.all;
diff --git a/pkgs/servers/tt-rss/plugin-ff-instagram/default.nix b/pkgs/servers/tt-rss/plugin-ff-instagram/default.nix
new file mode 100644
index 000000000000..27416537e331
--- /dev/null
+++ b/pkgs/servers/tt-rss/plugin-ff-instagram/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
+  name = "tt-rss-plugin-ff-instagram-${version}";
+  version = "git-2019-01-10"; # No release, see https://github.com/wltb/ff_instagram/issues/6
+
+  src = fetchFromGitHub {
+    owner = "wltb";
+    repo = "ff_instagram";
+    rev = "0366ffb18c4d490c8fbfba2f5f3367a5af23cfe8";
+    sha256 = "0vvzl6wi6jmrqknsfddvckjgsgfizz1d923d1nyrpzjfn6bda1vk";
+  };
+
+  installPhase = ''
+    mkdir -p $out/ff_instagram
+
+    cp *.php $out/ff_instagram
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Plugin for Tiny Tiny RSS that allows to fetch posts from Instagram user sites";
+    longDescription = ''
+      Plugin for Tiny Tiny RSS that allows to fetch posts from Instagram user sites.
+
+      The name of the plugin in TT-RSS is 'ff_instagram'.
+    '';
+    license = licenses.agpl3;
+    homepage = "https://github.com/wltb/ff_instagram";
+    maintainers = with maintainers; [ das_j ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/tt-rss/plugin-tumblr-gdpr/default.nix b/pkgs/servers/tt-rss/plugin-tumblr-gdpr/default.nix
index 88ce2d5c3d08..702b95b3f0e3 100644
--- a/pkgs/servers/tt-rss/plugin-tumblr-gdpr/default.nix
+++ b/pkgs/servers/tt-rss/plugin-tumblr-gdpr/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
   name = "tt-rss-plugin-tumblr-gdpr-${version}";
-  version = "1.2";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "GregThib";
     repo = "ttrss-tumblr-gdpr";
     rev = "v${version}";
-    sha256 = "1qqnzysg1d0b169kr9fbgi50yjnvw7lrvgrl2zjx6px6z61jhv4j";
+    sha256 = "09cbghi5b6ww4i5677i39qc9rhpq70xmygp0d7x30239r3i23rpq";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/tt-rss/theme-feedly/default.nix b/pkgs/servers/tt-rss/theme-feedly/default.nix
index 4a9312ae459c..710775f3f16b 100644
--- a/pkgs/servers/tt-rss/theme-feedly/default.nix
+++ b/pkgs/servers/tt-rss/theme-feedly/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub }: stdenv.mkDerivation rec {
   name = "tt-rss-theme-feedly-${version}";
-  version = "1.4.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "levito";
     repo = "tt-rss-feedly-theme";
     rev = "v${version}";
-    sha256 = "1n5vci84l0wxsd2k90m2x3j8d7y9kz5fqc6fk6y7r568p1cakg9b";
+    sha256 = "024hngwzfdgw5jqppc8vh75jidfqghaccy969hvbhxhgk6j6l8m4";
   };
 
   dontBuild = true;
@@ -20,7 +20,7 @@
   meta = with stdenv.lib; {
     description = "Feedly theme for Tiny Tiny RSS";
     license = licenses.wtfpl;
-    homepage = https://github.com/levito/tt-rss-feedly-theme;
+    homepage = "https://github.com/levito/tt-rss-feedly-theme";
     maintainers = with maintainers; [ das_j ];
     platforms = platforms.all;
   };
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index fd04ec78fc87..efdf5914e189 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -49,8 +49,8 @@ in rec {
   };
 
   unifiStable = generic {
-    version = "5.9.29";
-    sha256  = "0djdjh7lwaa5nvhvz2yh6dn07iad5nq4jpab7rc909sljl6wvwvx";
+    version = "5.10.17";
+    sha256  = "0mkbyz14c0i435afj4wyhnp45hbhvmhvcg02yxd2xs3zmcr8sjgz";
   };
 
   unifiTesting = unifiStable;