freeswitch: add patches for CVEs in bundled libvpx
[feed/telephony.git] / net / freeswitch / Makefile
index dece5c8dce4745ae294f8581bc25f03fabb30d3d..96dfe7ce28aa4841a322998938bc979fc0b702d9 100644 (file)
@@ -8,28 +8,23 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=freeswitch
-PKG_VERSION:=1.10.3
-PKG_RELEASE:=3
+PKG_VERSION:=1.10.10
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
 
 PKG_SOURCE:=freeswitch-$(PKG_VERSION).-release.tar.xz
 PKG_SOURCE_URL:=https://files.freeswitch.org/releases/freeswitch
-PKG_HASH:=2d7db07a64ee2f19f9b6e3a4ce76fa42e0fe46c29d95edf1b690a3df3729f307
+PKG_HASH:=d2c702c7f4bd6eca539c3981cf859ad5c1846d9283829e24cd75686f2322b9df
 
 PKG_CPE_ID:=cpe:/a:freeswitch:freeswitch
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/freeswitch-$(PKG_VERSION).-release
 
-# configure in libs/spandsp fails without libjpeg-turbo and tiff
-PKG_BUILD_DEPENDS:= \
-       libjpeg-turbo \
-       tiff \
-       perl/host
+PKG_BUILD_DEPENDS:=perl/host
 
 PKG_FIXUP:=autoreconf
 
-# With mod_ssml and mod_rayo enabled the parallel compiles always failed
-PKG_BUILD_PARALLEL:=0
+PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
 
 PKG_LICENSE:= \
@@ -103,7 +98,6 @@ FS_MOD_AVAILABLE:= \
        dialplan_asterisk \
        dialplan_directory \
        dialplan_xml \
-       dingaling \
        directory \
        distributor \
        dptools \
@@ -120,7 +114,6 @@ FS_MOD_AVAILABLE:= \
        fail2ban \
        fifo \
        format_cdr \
-       freetdm \
        fsk \
        fsv \
        g723_1 \
@@ -157,6 +150,7 @@ FS_MOD_AVAILABLE:= \
        portaudio_stream \
        posix_timer \
        prefix \
+       python3 \
        radius_cdr \
        random \
        raven \
@@ -203,7 +197,6 @@ FS_MOD_AVAILABLE:= \
        tone_stream \
        translate \
        tts_commandline \
-       unimrcp \
        valet_parking \
        verto \
        video_filter \
@@ -227,32 +220,18 @@ PKG_CONFIG_DEPENDS:= \
        CONFIG_FS_WITH_PNG \
        CONFIG_FS_WITH_SRTP \
        CONFIG_FS_WITH_VPX \
-       CONFIG_FS_WITH_ZRTP \
        CONFIG_LIBC \
-       CONFIG_PACKAGE_libfreetdm \
-       CONFIG_PACKAGE_libfreetdm-ftmod-libpri \
-       CONFIG_PACKAGE_libfreetdm-ftmod-pritap \
        CONFIG_PACKAGE_freeswitch-misc-perl-esl \
+       CONFIG_PACKAGE_freeswitch-misc-python3-esl \
        CONFIG_SOFT_FLOAT
 
-include $(INCLUDE_DIR)/uclibc++.mk
 include $(INCLUDE_DIR)/package.mk
 # iconv support
 include $(INCLUDE_DIR)/nls.mk
-#######################################################
-# mod_gsmopen can't detect if iconv's inbuf is const. #
-#                                                     #
-#                  musl    uclibc                     #
-# libiconv-stub    -       -                          #
-# libiconv-full    -       const                      #
-#                                                     #
-#######################################################
-ifeq ($(ICONV_FULL)$(CONFIG_USE_UCLIBC),1y)
-TARGET_CFLAGS+=-DFS_ICONV_INBUF_CONST
-endif
 
 FS_PERL_FEED:=$(TOPDIR)/feeds/packages/lang/perl
 
+include $(TOPDIR)/feeds/packages/lang/python/python3-version.mk
 include $(FS_PERL_FEED)/perlver.mk
 
 PERL_SITELIB:=/usr/lib/perl$(PERL_MAJOR)/$(PERL_VERSION2)
@@ -261,15 +240,25 @@ FS_PERL_LIBS:=$(shell grep "^libs=" \
        $(FS_PERL_FEED)/files/base.config | \
                        sed "s/^libs=//;s/'//g")
 
+FS_PYTHON3_SITE_DIR:=$(FS_LIB_DIR)/python$(PYTHON3_VERSION)/site-packages
+
 define Download/files
 define Download/$(1)
   FILE:=$(2)
   URL:=$(3)
   HASH:=$(4)
+  VERSION:=$(5)
+  SUBDIR:=$(6)
+  MIRROR_HASH:=$(7)
+  PROTO:=$(8)
 endef
 $$(eval $$(call Download,$(1)))
 endef
 
+define Package/freeswitch/enable/plugin
+       $(SED) '/$(1)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
+endef
+
 define Package/freeswitch/install/bin
        $(INSTALL_DIR) $(1)$(FS_BIN_DIR)
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(FS_BIN_DIR)/$(2) \
@@ -288,12 +277,6 @@ define Package/freeswitch/install/dir
        done
 endef
 
-define Package/libfreetdm/install/ftmod
-       $(INSTALL_DIR) $(1)$(FS_MOD_DIR)
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(FS_MOD_DIR)/ftmod_$(2).so \
-                                               $(1)$(FS_MOD_DIR)
-endef
-
 define Package/freeswitch/install/lib
        $(INSTALL_DIR) $(1)$(FS_LIB_DIR)
        $(CP) $(PKG_INSTALL_DIR)$(FS_LIB_DIR)/$(2).so.* \
@@ -310,45 +293,6 @@ define Package/freeswitch/config
        source "$(SOURCE)/Config.in"
 endef
 
-define Package/libfreetdm/Default
-  SECTION:=libs
-  CATEGORY:=Libraries
-  SUBMENU:=Telephony
-  URL:=https://www.freeswitch.org
-endef
-
-define Package/libfreetdm
-$(call Package/libfreetdm/Default)
-  DEPENDS:=
-  TITLE:=TDM signaling and media API
-  MENU:=1
-  URL:=https://www.freeswitch.org
-endef
-
-define Package/libfreetdm/description
-Provides a unified interface to hardware TDM cards and SS7 stacks.
-endef
-
-define Package/libfreetdm/install
-$(call Package/freeswitch/install/lib,$(1),libfreetdm)
-endef
-
-define Package/libfreetdm/FTModule
-define Package/libfreetdm-ftmod-$(subst _,-,$(1))
-$(call Package/libfreetdm/Default)
-  DEPENDS:=libfreetdm \
-         $(patsubst +%,+PACKAGE_libfreetdm-ftmod-$(subst _,-,$(1)):%,$(4))
-  TITLE:=$(2) FreeTDM module
-endef
-define Package/libfreetdm-ftmod-$(subst _,-,$(1))/description
-$(subst \n,$(newline),$(3))
-endef
-define Package/libfreetdm-ftmod-$(subst _,-,$(1))/install
-$(call Package/libfreetdm/install/ftmod,$$(1),$(1))
-endef
-$$(eval $$(call BuildPackage,libfreetdm-ftmod-$(subst _,-,$(1))))
-endef
-
 define Package/freeswitch/Default
   SUBMENU:=Telephony
   SECTION:=net
@@ -356,14 +300,18 @@ define Package/freeswitch/Default
   URL:=https://www.freeswitch.org
 endef
 
+# Note: shadow deps are a bit strange; you need to select shadow-utils
+# package first for shadow-su to be selected, even though the
+# shadow-utils package later becomes a no-op.
 define Package/freeswitch
 $(call Package/freeswitch/Default)
   TITLE:=Open source telephony platform, v$(PKG_VERSION)
   MENU:=1
   USERID:=freeswitch=372:freeswitch=372
   DEPENDS:= \
-         $(CXX_DEPENDS) \
          $(ICONV_DEPENDS) \
+         +libstdcpp \
+         +!BUSYBOX_DEFAULT_SU:shadow-utils \
          +!BUSYBOX_DEFAULT_SU:shadow-su \
          +@OPENSSL_WITH_DEPRECATED \
          +FS_WITH_FREETYPE:libfreetype \
@@ -375,10 +323,12 @@ $(call Package/freeswitch/Default)
          +libpcre \
          +libpthread \
          +librt \
+         +libspandsp3 \
          +libspeex \
          +libspeexdsp \
          +libsqlite3 \
          +libuuid \
+         +sofia-sip \
          +zlib
 endef
 
@@ -464,6 +414,27 @@ define Package/freeswitch-misc-perl-esl/install
                                        $(1)$(PERL_SITELIB)/ESL
 endef
 
+define Package/freeswitch-misc-python3-esl
+$(call Package/freeswitch/Default)
+  TITLE:=Python3 ESL
+  DEPENDS:=freeswitch +PACKAGE_freeswitch-misc-python3-esl:python3-light
+endef
+
+define Package/freeswitch-misc-python3-esl/description
+This package contains the Python3 binding for FreeSWITCH's Event Socket
+Library (ESL).
+endef
+
+define Package/freeswitch-misc-python3-esl/install
+       $(INSTALL_DIR) $(1)$(FS_PYTHON3_SITE_DIR)
+       $(INSTALL_BIN) \
+               $(PKG_INSTALL_DIR)$(FS_PYTHON3_SITE_DIR)/_ESL.so \
+                                       $(1)$(FS_PYTHON3_SITE_DIR)
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)$(FS_PYTHON3_SITE_DIR)/ESL.py \
+                                       $(1)$(FS_PYTHON3_SITE_DIR)
+endef
+
 define Package/freeswitch-misc-timezones
 $(call Package/freeswitch/Default)
   TITLE:=Timezones file
@@ -561,6 +532,12 @@ ifeq ($(1),perl)
                $(PKG_INSTALL_DIR)/usr/perl/freeswitch.pm \
                                                        $$(1)$(PERL_SITELIB)
 endif
+ifeq ($(1),python3)
+       $(INSTALL_DIR) $$(1)$(FS_PYTHON3_SITE_DIR)
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)$(FS_PYTHON3_SITE_DIR)/freeswitch.py \
+                                       $$(1)$(FS_PYTHON3_SITE_DIR)
+endif
 endef
 $$(eval $$(call BuildPackage,freeswitch-mod-$(subst _,-,$(1))))
 endef
@@ -602,24 +579,22 @@ CONFIGURE_ARGS+= \
        $(call autoconf_bool,CONFIG_FS_WITH_ODBC,core-odbc-support) \
        $(call autoconf_bool,CONFIG_FS_WITH_SRTP,srtp) \
        $(call autoconf_bool,CONFIG_FS_WITH_VPX,libvpx) \
-       $(call autoconf_bool,CONFIG_FS_WITH_ZRTP,zrtp) \
        $(if $(CONFIG_FS_WITH_FREETYPE),,--without-freetype) \
        $(if $(CONFIG_FS_WITH_ODBC),--with-odbc-lib="$(STAGING_DIR)$(FS_LIB_DIR)") \
        $(if $(CONFIG_FS_WITH_ODBC),--with-odbc="$(STAGING_DIR)/usr") \
-       $(if $(CONFIG_FS_WITH_PNG),,--without-png) \
-       $(if $(CONFIG_PACKAGE_libfreetdm-ftmod-libpri),--with-libpri="$(STAGING_DIR)/usr",--without-libpri) \
-       $(if $(CONFIG_PACKAGE_libfreetdm-ftmod-pritap),--with-pritap,--without-pritap)
+       $(if $(CONFIG_FS_WITH_PNG),,--without-png)
 
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-erlang-event)$(CONFIG_PACKAGE_freeswitch-mod-kazoo),)
+ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl)$(CONFIG_PACKAGE_freeswitch-mod-python3),)
 CONFIGURE_ARGS+= \
-       --with-erlang=no
+       --with-python3=$(STAGING_DIR_HOST)/bin/python3
+else
+CONFIGURE_ARGS+= \
+       --with-python3=no
 endif
 
-# Make mod_spandsp use fixed point math when soft float support is
-# enabled on target devices.
-ifeq ($(CONFIG_SOFT_FLOAT),y)
+ifeq ($(CONFIG_PACKAGE_freeswitch-mod-erlang-event)$(CONFIG_PACKAGE_freeswitch-mod-kazoo),)
 CONFIGURE_ARGS+= \
-       --enable-fixed-point
+       --with-erlang=no
 endif
 
 # FreeSWITCH dropped postgresql support from the core. postgresql
@@ -676,7 +651,7 @@ endif
 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-perl-esl)$(CONFIG_PACKAGE_freeswitch-mod-perl),)
 CONFIGURE_VARS+= \
        PERL="$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION)" \
-       PERL_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
+       PERL_CFLAGS="-D_LARGEFILE_SOURCE $(if $(CONFIG_USE_MUSL),-D_LARGEFILE64_SOURCE) -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
        PERL_INC="-I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
        PERL_LDFLAGS="-Wl,-rpath,$(PERL_SITELIB)/CORE -L$(STAGING_DIR)$(PERL_SITELIB)/CORE -lperl" \
        PERL_LIBDIR="-L$(PERL_SITELIB)/CORE" \
@@ -688,6 +663,15 @@ CONFIGURE_VARS+= \
        ac_cv_prog_PERL=false
 endif
 
+ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl)$(CONFIG_PACKAGE_freeswitch-mod-python3),)
+CONFIGURE_VARS+= \
+       PYTHON3_CFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION)" \
+       PYTHON3_LDFLAGS="-lpython$(PYTHON3_VERSION)" \
+       PYTHON3_LIB="python$(PYTHON3_VERSION)" \
+       PYTHON3_LIBDIR="$(FS_LIB_DIR)" \
+       PYTHON3_SITE_DIR="$(FS_PYTHON3_SITE_DIR)"
+endif
+
 # mod_radius_cdr runs configure in libs/freeradius-client. Let
 # freeradius-client know /dev/urandom is available on target devices.
 MAKE_VARS+= \
@@ -737,48 +721,36 @@ ifneq ($(CONFIG_PACKAGE_freeswitch-mod-radius-cdr),)
 $(eval $(call Download/files,freeradius-client,$(FS_FREERADIUS_CLIENT_FILE),$(FS_LIBS_URL),$(FS_FREERADIUS_CLIENT_HASH)))
 endif
 
-# Need to update LDFLAGS for libs/unimrcp, otherwise it will try to link to a
-# different apr/apr-util if found.
-# FS_ANCHOR: string in build/acmacros/apr.m4 that will be replaced
-FS_ANCHOR:=dnl Get build information from APR
-FS_APR_LIBS:=-L$(PKG_BUILD_DIR)/libs/apr -L$(PKG_BUILD_DIR)/libs/apr-util
-
 define Build/Prepare
        $(call Build/Prepare/Default)
 
        echo '#applications/mod_random' >> $(PKG_BUILD_DIR)/modules.conf
        echo '#codecs/mod_yuv' >> $(PKG_BUILD_DIR)/modules.conf
        echo '#event_handlers/mod_event_test' >> $(PKG_BUILD_DIR)/modules.conf
-
-       $(SED) 's|$(FS_ANCHOR)|APR_SETVAR(LDFLAGS,[$(FS_APR_LIBS) $(TARGET_LDFLAGS)])|' \
-               $(PKG_BUILD_DIR)/libs/unimrcp/build/acmacros/apr.m4
 endef
 
 define Build/Configure
        $(SED) '/^#/!s/^/#/' $(PKG_BUILD_DIR)/modules.conf
        $(foreach m,$(FS_MOD_AVAILABLE),
                $(if $(CONFIG_PACKAGE_freeswitch-mod-$(subst _,-,$(m))),
-               $(SED) '/mod_$(m)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf))
+               $(call Package/freeswitch/enable/plugin,mod_$(m))))
+
+# Some of the dependencies that necessitate below hacks are documented in
+# src/mod/Makefile.am.
 
 # Hack for misc-grammar - needs mod_pocketsphinx to provide grammar files
 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-grammar),)
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-pocketsphinx),)
-       $(SED) '/mod_pocketsphinx$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+       $(call Package/freeswitch/enable/plugin,mod_pocketsphinx)
 endif
 
 # Hack for mod_gsmopen - it has a build-time dep on mod_spandsp
 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-gsmopen),)
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-spandsp),)
-       $(SED) '/mod_spandsp$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+       $(call Package/freeswitch/enable/plugin,mod_spandsp)
 endif
 
-# Hack for mod_unimrcp - it has a build-time dep on mod_sofia
-ifneq ($(CONFIG_PACKAGE_freeswitch-mod-unimrcp),)
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-sofia),)
-       $(SED) '/mod_sofia$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+# Hack for mod_ssml - it has a build-time dep on mod_rayo.
+ifneq ($(CONFIG_PACKAGE_freeswitch-mod-ssml),)
+       $(call Package/freeswitch/enable/plugin,mod_rayo)
 endif
 
        $(call Build/Configure/Default)
@@ -800,61 +772,41 @@ ifneq ($(CONFIG_PACKAGE_freeswitch-mod-radius-cdr),)
        $(CP) $(DL_DIR)/$(FS_FREERADIUS_CLIENT_FILE) $(PKG_BUILD_DIR)/libs
 endif
 
-# Compile FreeTDM first
-ifneq ($(CONFIG_PACKAGE_libfreetdm),)
-       $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/freetdm)
-endif
-ifneq ($(CONFIG_PACKAGE_freeswitch),)
        $(call Build/Compile/Default)
-endif
+
 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-perl-esl),)
        $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/esl perlmod)
 endif
+ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl),)
+       $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/esl py3mod)
+endif
 endef
 
 define Build/Install
-# Again, FreeTDM first
-ifneq ($(CONFIG_PACKAGE_libfreetdm),)
-       $(call Build/Install/Default,-C $(PKG_BUILD_DIR)/libs/freetdm install)
-endif
-ifneq ($(CONFIG_PACKAGE_freeswitch),)
        $(call Build/Install/Default)
-endif
 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-perl-esl),)
        $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/esl DESTDIR=$(PKG_INSTALL_DIR) perlmod-install)
 endif
+ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl),)
+       $(call Build/Install/Default,-C $(PKG_BUILD_DIR)/libs/esl py3mod-install)
+endif
 endef
 
-define Build/InstallDev/libfreetdm
-       $(INSTALL_DIR) $(1)/usr/include
-       $(INSTALL_DATA) \
-               $(PKG_INSTALL_DIR)$(FS_PKGCONFIG_DIR)/freetdm.pc \
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)$(FS_INCLUDES_DIR) $(1)$(FS_LIB_DIR) \
                                                $(1)$(FS_PKGCONFIG_DIR)
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include
-endef
-
-define Build/InstallDev/freeswitch
-       $(INSTALL_DIR) $(1)$(FS_INCLUDES_DIR)
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)$(FS_INCLUDES_DIR)/*.h \
                                                $(1)$(FS_INCLUDES_DIR)
        $(INSTALL_DATA) \
                $(PKG_INSTALL_DIR)$(FS_PKGCONFIG_DIR)/freeswitch.pc \
                                                $(1)$(FS_PKGCONFIG_DIR)
+       $(CP) $(PKG_INSTALL_DIR)$(FS_LIB_DIR)/libfreeswitch.so* \
+                                               $(1)$(FS_LIB_DIR)
 endef
 
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)$(FS_PKGCONFIG_DIR)
-ifneq ($(CONFIG_PACKAGE_libfreetdm),)
-       $(call Build/InstallDev/libfreetdm,$(1))
-endif
-ifneq ($(CONFIG_PACKAGE_freeswitch),)
-       $(call Build/InstallDev/freeswitch,$(1))
-endif
-endef
-
-$(eval $(call BuildPackage,libfreetdm))
 $(eval $(call BuildPackage,freeswitch))
 $(eval $(call BuildPackage,freeswitch-misc-perl-esl))
+$(eval $(call BuildPackage,freeswitch-misc-python3-esl))
 $(eval $(call BuildPackage,freeswitch-misc-timezones))
 
 ################################
@@ -872,22 +824,6 @@ $(eval $(call Package/freeswitch/Example,softphone))
 $(eval $(call Package/freeswitch/Example,testing))
 $(eval $(call Package/freeswitch/Example,vanilla))
 
-################################
-# FreeTDM modules
-# Params:
-# 1 - Package subname
-# 2 - Package title
-# 3 - Module description
-# 4 - Module dependencies
-################################
-
-$(eval $(call Package/libfreetdm/FTModule,analog,Analog,Offers generic FXO/FXS support for any type of card supported by FreeTDM.,))
-$(eval $(call Package/libfreetdm/FTModule,analog_em,Analog EM,Offers generic E&M signaling for any type of card supported by FreeTDM.,))
-$(eval $(call Package/libfreetdm/FTModule,libpri,LibPRI,Offers support for PRI lines using the open source libpri stack for any\ntype of card supported by FreeTDM. Supports both PRI and BRI signalling.,+libpri @!aarch64))
-$(eval $(call Package/libfreetdm/FTModule,pritap,PRI tapping,This module is used to tap PRI lines.,+libfreetdm-ftmod-libpri))
-$(eval $(call Package/libfreetdm/FTModule,skel,Skeleton,ftmod_skel is an example module.,))
-$(eval $(call Package/libfreetdm/FTModule,zt,DAHDI I/O,This module supports the DAHDI interface. The DAHDI interface is used by\nseveral hardware vendors.,))
-
 ################################
 # FreeSWITCH language files
 # Params:
@@ -956,7 +892,6 @@ $(eval $(call Package/freeswitch/Module,db,DB,This module implements a simple db
 $(eval $(call Package/freeswitch/Module,dialplan_asterisk,Asterisk dialplan,Asterisk extensions.conf style dialplan parser.,))
 $(eval $(call Package/freeswitch/Module,dialplan_directory,Directory dialplan,Directory dialplan support.,))
 $(eval $(call Package/freeswitch/Module,dialplan_xml,XML dialplan,Standard FreeSWITCH XML dialplan support.,))
-$(eval $(call Package/freeswitch/Module,dingaling,Generic XMPP,Allows FreeSWITCH to be used as a client for XMPP Servers.,))
 $(eval $(call Package/freeswitch/Module,directory,Dial-by-name directory,This module implements a dial-by-name directory IVR.,))
 $(eval $(call Package/freeswitch/Module,distributor,Load distributor,This module implements a mechanism for performing load balancing.,))
 $(eval $(call Package/freeswitch/Module,dptools,Dialplan tools,This module implements basic dialplan tools.,))
@@ -968,12 +903,11 @@ $(eval $(call Package/freeswitch/Module,esl,Single ESL,This module adds an API f
 $(eval $(call Package/freeswitch/Module,event_multicast,Multicast Event,Multicast Event System for FreeSWITCH.,))
 $(eval $(call Package/freeswitch/Module,event_socket,Event socket,Sends events via a single socket. Needed for fs_cli.,))
 $(eval $(call Package/freeswitch/Module,event_test,Event test,Event demo module.,))
-$(eval $(call Package/freeswitch/Module,event_zmq,ZMQ event,ZMQ event module.,@!USE_UCLIBCXX))
+$(eval $(call Package/freeswitch/Module,event_zmq,ZMQ event,ZMQ event module.,))
 $(eval $(call Package/freeswitch/Module,expr,Expr,This module adds expr support for expression evaluation.,))
 $(eval $(call Package/freeswitch/Module,fail2ban,Fail2ban logging,Provides support for Fail2ban logging.,))
 $(eval $(call Package/freeswitch/Module,fifo,FIFO,This module adds a first-in first-out queue system.,))
 $(eval $(call Package/freeswitch/Module,format_cdr,Multiformat CDR,A superset of mod_json_cdr and mod_xml_cdr.,))
-$(eval $(call Package/freeswitch/Module,freetdm,FreeTDM endpoint,This module is the glue between FreeSWITCH and FreeTDM.,+libfreetdm))
 $(eval $(call Package/freeswitch/Module,fsk,FSK,This module adds frequency-shift keying support which can be used to\nsend and receive caller ID.,))
 $(eval $(call Package/freeswitch/Module,fsv,FSV,This module provides dialplan applications for recording and playing\nvideos.,))
 $(eval $(call Package/freeswitch/Module,g723_1,G.723.1 passthrough,G.723.1 codec passthrough.,))
@@ -994,7 +928,7 @@ $(eval $(call Package/freeswitch/Module,local_stream,Local stream,Connects multi
 $(eval $(call Package/freeswitch/Module,logfile,File logger,Logs FreeSWITCH output to a file.,))
 $(eval $(call Package/freeswitch/Module,loopback,Loopback,A loopback channel driver.,))
 $(eval $(call Package/freeswitch/Module,lua,Lua,Lua language interface for FreeSWITCH.,+liblua))
-$(eval $(call Package/freeswitch/Module,mariadb,MariaDB,Adds MariaDB support.,+libmariadb @!USE_UCLIBCXX))
+$(eval $(call Package/freeswitch/Module,mariadb,MariaDB,Adds MariaDB support.,+libmariadb))
 $(eval $(call Package/freeswitch/Module,mp4v,MP4 video passthrough,MP4 video passthrough.,))
 $(eval $(call Package/freeswitch/Module,native_file,Native file,Plays files that are already encoded in the right format.,))
 $(eval $(call Package/freeswitch/Module,nibblebill,Nibblebill,This module allows for real-time accounting of a cash balance and\nusing that information for call routing.,))
@@ -1010,6 +944,7 @@ $(eval $(call Package/freeswitch/Module,portaudio,Portaudio,Voice through a loca
 $(eval $(call Package/freeswitch/Module,portaudio_stream,Portaudio streaming,Stream from an external audio source for Music on Hold.,+portaudio))
 $(eval $(call Package/freeswitch/Module,posix_timer,POSIX timer,Add POSIX timer support.,))
 $(eval $(call Package/freeswitch/Module,prefix,Prefix match,This module provides a data store with fast lookups by the longest\nprefix match rule.,))
+$(eval $(call Package/freeswitch/Module,python3,Python3,Python3 support module.,+python3-light))
 $(eval $(call Package/freeswitch/Module,radius_cdr,Radius CDR,Radius Call Detail Record handler.,))
 $(eval $(call Package/freeswitch/Module,random,Entropy,This module extracts entropy from FreeSWITCH and feeds it into\n/dev/random.,))
 $(eval $(call Package/freeswitch/Module,raven,Raven logging,Adds support for logging to Raven instances.,))
@@ -1056,9 +991,8 @@ $(eval $(call Package/freeswitch/Module,theora,Theora passthrough,Theora video c
 $(eval $(call Package/freeswitch/Module,tone_stream,Tone stream,Tone generation stream.,))
 $(eval $(call Package/freeswitch/Module,translate,Number translation,This module implements number translation.,))
 $(eval $(call Package/freeswitch/Module,tts_commandline,TTS command-line,Run a command-line and play the output file.,))
-$(eval $(call Package/freeswitch/Module,unimrcp,UniMRCP,Allows communication with Media Resource Control Protocol servers.,))
 $(eval $(call Package/freeswitch/Module,valet_parking,Valet parking,This module implements the valet call parking strategy.,))
-$(eval $(call Package/freeswitch/Module,verto,Verto,Verto signaling protocol.,))
+$(eval $(call Package/freeswitch/Module,verto,Verto,Verto signaling protocol.,+libks))
 $(eval $(call Package/freeswitch/Module,video_filter,Video filter chromakey,This module provides a media bug for chromakey functionality.,))
 $(eval $(call Package/freeswitch/Module,vmd,Voicemail detection,This module detects voicemail beeps.,))
 $(eval $(call Package/freeswitch/Module,voicemail,Voicemail,This module provides a voicemail system.,))