include $(TOPDIR)/rules.mk
PKG_NAME:=freeswitch
-PKG_VERSION:=1.10.7
+PKG_VERSION:=1.10.9
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:=0919bddc2ea9cab2e4944314e71637bea9dd4f40d510722a74ea032104594c41
+PKG_HASH:=f649d53af7beccb59c1d03864cd8f2d287e4ea26ef652b5c4969d29121ced063
PKG_CPE_ID:=cpe:/a:freeswitch:freeswitch
dialplan_asterisk \
dialplan_directory \
dialplan_xml \
- dingaling \
directory \
distributor \
dptools \
tone_stream \
translate \
tts_commandline \
- unimrcp \
valet_parking \
verto \
video_filter \
CONFIG_FS_WITH_DEBUG \
CONFIG_FS_WITH_FREETYPE \
CONFIG_FS_WITH_LIBYUV \
- CONFIG_FS_WITH_MODCONF \
CONFIG_FS_WITH_ODBC \
CONFIG_FS_WITH_PNG \
CONFIG_FS_WITH_SRTP \
CONFIG_FS_WITH_VPX \
- CONFIG_FS_WITH_ZRTP \
CONFIG_LIBC \
CONFIG_PACKAGE_freeswitch-misc-perl-esl \
CONFIG_PACKAGE_freeswitch-misc-python3-esl \
include $(TOPDIR)/feeds/packages/lang/python/python3-version.mk
include $(FS_PERL_FEED)/perlver.mk
+# https://github.com/signalwire/freeswitch/issues/1670
+TARGET_CFLAGS+=-Wno-error=address
+
+# Allow compiling with OpenSSL 3.0
+TARGET_CFLAGS+=-Wno-error=deprecated-declarations
+
PERL_SITELIB:=/usr/lib/perl$(PERL_MAJOR)/$(PERL_VERSION2)
FS_PERL_LIBS:=$(shell grep "^libs=" \
$(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") \
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" \
$(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
$(call Package/freeswitch/enable/plugin,mod_spandsp)
endif
-# Hack for mod_rayo - it has a build-time dep on mod_dingaling
-ifneq ($(CONFIG_PACKAGE_freeswitch-mod-rayo),)
- $(call Package/freeswitch/enable/plugin,mod_dingaling)
-endif
-
-# Hack for mod_ssml - it has a build-time dep on mod_rayo. And mod_rayo needs
-# mod_dingaling :)
+# 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)
- $(call Package/freeswitch/enable/plugin,mod_dingaling)
-endif
-
-# Hack for mod_unimrcp - it has a build-time dep on mod_sofia
-ifneq ($(CONFIG_PACKAGE_freeswitch-mod-unimrcp),)
- $(call Package/freeswitch/enable/plugin,mod_sofia)
endif
$(call Build/Configure/Default)
$(eval $(call Package/freeswitch/Module,alsa,ALSA endpoint,ALSA endpoint module.,+alsa-lib))
$(eval $(call Package/freeswitch/Module,amr,AMR passthrough,Passthrough AMR codec support.,))
$(eval $(call Package/freeswitch/Module,amrwb,AMR wideband passthrough,Passthrough AMR wideband codec support.,))
-$(eval $(call Package/freeswitch/Module,av,AV,Video codec and format support via FFmpeg.,+libffmpeg-full @x86_64))
+$(eval $(call Package/freeswitch/Module,av,AV,Video codec and format support via FFmpeg.,+libffmpeg-full @BROKEN @x86_64))
$(eval $(call Package/freeswitch/Module,avmd,Voicemail detection,This module attempts to determine when a voicemail system has answered\nthe call.,))
$(eval $(call Package/freeswitch/Module,b64,Base64,Transfers data Base64 encoded.,))
$(eval $(call Package/freeswitch/Module,basic,BASIC,BASIC module for FreeSWITCH.,))
$(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.,))
$(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.,+libks))
$(eval $(call Package/freeswitch/Module,video_filter,Video filter chromakey,This module provides a media bug for chromakey functionality.,))