diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix index 3b345e994e30..c80c747b50c6 100644 --- a/pkgs/servers/asterisk/default.nix +++ b/pkgs/servers/asterisk/default.nix @@ -1,11 +1,38 @@ -{ stdenv, lib, fetchurl, fetchsvn, fetchFromGitHub, - jansson, libedit, libxml2, libxslt, ncurses, openssl, sqlite, - util-linux, dmidecode, libuuid, newt, - lua, speex, libopus, opusfile, libogg, - srtp, wget, curl, iksemel, pkg-config, - autoconf, libtool, automake, fetchpatch, - python39, writeScript, - withOpus ? true, +{ stdenv +, lib +, fetchurl +, fetchsvn +, fetchFromGitHub +, jansson +, libedit +, libxml2 +, libxslt +, ncurses +, openssl +, sqlite +, util-linux +, dmidecode +, libuuid +, newt +, lua +, speex +, libopus +, opusfile +, libogg +, srtp +, wget +, curl +, iksemel +, pkg-config +, autoconf +, libtool +, automake +, fetchpatch +, python39 +, writeScript +, withOpus ? true +, ldapSupport ? false +, openldap }: let @@ -27,15 +54,32 @@ let sha256 = "sha256-0iEr/Z4UQpWsTXYWVYzWWk7MQDOFnTQ1BBYpynGLTVQ="; }) ]; - common = {version, sha256, externals}: stdenv.mkDerivation { + common = { version, sha256, externals }: stdenv.mkDerivation { inherit version; - pname = "asterisk"; + pname = "asterisk" + + lib.optionalString ldapSupport "-ldap"; - buildInputs = [ jansson libedit libxml2 libxslt ncurses openssl sqlite - dmidecode libuuid newt - lua speex - srtp wget curl iksemel ] - ++ lib.optionals withOpus [ libopus opusfile libogg ]; + + buildInputs = [ + jansson + libedit + libxml2 + libxslt + ncurses + openssl + sqlite + dmidecode + libuuid + newt + lua + speex + srtp + wget + curl + iksemel + ] + ++ lib.optionals withOpus [ libopus opusfile libogg ] + ++ lib.optionals ldapSupport [ openldap ]; nativeBuildInputs = [ util-linux pkg-config autoconf libtool automake ]; patches = [ @@ -135,13 +179,15 @@ let }; # auto-generated by update.py - versions = lib.mapAttrs (_: {version, sha256}: common { - inherit version sha256; - externals = { - "externals_cache/pjproject-2.12.1.tar.bz2" = pjproject_2_12_1; - "addons/mp3" = mp3-202; - }; - }) (lib.importJSON ./versions.json); + versions = lib.mapAttrs + (_: { version, sha256 }: common { + inherit version sha256; + externals = { + "externals_cache/pjproject-2.12.1.tar.bz2" = pjproject_2_12_1; + "addons/mp3" = mp3-202; + }; + }) + (lib.importJSON ./versions.json); updateScript_python = python39.withPackages (p: with p; [ packaging beautifulsoup4 requests ]); updateScript = writeScript "asterisk-update" '' @@ -149,7 +195,8 @@ let exec ${updateScript_python}/bin/python ${toString ./update.py} ''; -in { +in +{ # Supported releases (as of 2022-04-05). # Source: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions # Exact version can be found at https://www.asterisk.org/downloads/asterisk/all-asterisk-versions/ @@ -162,7 +209,7 @@ in { asterisk-lts = versions.asterisk_18; asterisk-stable = versions.asterisk_19; asterisk = versions.asterisk_19.overrideAttrs (o: { - passthru = (o.passthru or {}) // { inherit updateScript; }; + passthru = (o.passthru or { }) // { inherit updateScript; }; }); } // versions diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6827e87d82f..2ab827314ee8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24852,6 +24852,8 @@ with pkgs; asterisk-module-sccp = callPackage ../servers/asterisk/sccp { }; + asterisk-ldap = lowPrio (asterisk.override { ldapSupport = true; }); + sabnzbd = callPackage ../servers/sabnzbd { }; baserow = callPackage ../servers/baserow { };