Merge pull request #647 from robho/yate-6.3.0_21.02

[21.02] yate: bump to 6.3.0 and enable speex codec
This commit is contained in:
Jiri Slachta 2021-06-08 08:28:11 +02:00 committed by GitHub
commit ee64ec42e9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 57 additions and 142 deletions

View file

@ -9,41 +9,46 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=yate
PKG_VERSION:=6.1.0-1
PKG_RELEASE:=2
PKG_VERSION:=6.3.0-1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://yate.null.ro/tarballs/yate6/
PKG_HASH:=ed88519c8e2f63eec0d699bc6ed8831854af9b32b654b3d7e7c2697b528aa377
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
PKG_HASH:=cbd3afc417da7b26b4d7f57146c815a667db2bf1ff4d1ea9dae986954cbcd62f
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
PKG_FIXUP:=autoreconf
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
# Yate currently does not compile with FORTIFY_SOURCE enabled
PKG_FORTIFY_SOURCE:=0
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_$(PKG_NAME)-mod-zapcard \
CONFIG_PACKAGE_$(PKG_NAME)-mod-faxchan \
CONFIG_PACKAGE_$(PKG_NAME)-mod-g722webrtc \
CONFIG_PACKAGE_$(PKG_NAME)-mod-ilbccodec \
CONFIG_PACKAGE_$(PKG_NAME)-mod-ilbcwebrtc \
CONFIG_PACKAGE_$(PKG_NAME)-mod-isaccodec \
CONFIG_PACKAGE_$(PKG_NAME)-mod-pgsqldb \
CONFIG_PACKAGE_$(PKG_NAME)-mod-mysqldb \
CONFIG_PACKAGE_$(PKG_NAME)-mod-faxchan \
CONFIG_PACKAGE_$(PKG_NAME)-mod-openssl \
CONFIG_PACKAGE_$(PKG_NAME)-mod-pgsqldb \
CONFIG_PACKAGE_$(PKG_NAME)-mod-speexcodec \
CONFIG_PACKAGE_$(PKG_NAME)-mod-sqlitedb \
CONFIG_PACKAGE_$(PKG_NAME)-mod-zapcard \
CONFIG_PACKAGE_$(PKG_NAME)-mod-zlibcompress \
CONFIG_SOFT_FLOAT
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
# Needed for yate-mod-mysqldb to find iconv
include $(INCLUDE_DIR)/nls.mk
TAR_OPTIONS+= --strip-components 1
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define Package/$(PKG_NAME)/Default
SUBMENU:=Telephony
SECTION:=net
@ -83,49 +88,38 @@ define Package/$(PKG_NAME)-sounds
TITLE := Sounds for Yate
endef
define Package/$(PKG_NAME)-collection-basic
$(call Package/yate/Default)
DEPENDS += $(PKG_NAME) \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-sounds \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-dumbchan \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-regfile \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-regexroute \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-rmanager \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-tonegen \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-yrtpchan \
+PACKAGE_$(PKG_NAME)-collection-basic:$(PKG_NAME)-mod-ysipchan
TITLE := Basic Yate Server
endef
# Otherwise yate ignores CPPFLAGS
TARGET_CFLAGS += $(TARGET_CPPFLAGS)
CONFIGURE_ARGS+= \
$(if $(CONFIG_x86_64),--enable-sse2) \
--disable-sctp \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-zapcard),,--disable-dahdi --disable-zaptel) \
--disable-wpcard \
--disable-tdmcard \
--disable-wanpipe \
--enable-ilbc \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-ilbcwebrtc),--enable-ilbc-webrtc,--disable-ilbc-webrtc) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-pgsqldb),--with-libpq="$(STAGING_DIR)/usr",--without-libpq) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-mysqldb),--with-mysql=yes,--with-mysql=no) \
--without-wphwec \
--without-libgsm \
--disable-wpcard \
--without-amrnb \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-faxchan),--with-spandsp="$(STAGING_DIR)/usr/include",--without-spandsp) \
--without-pwlib \
--without-openh323 \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-openssl),--with-openssl,--without-openssl) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-zlibcompress),--with-zlib="$(STAGING_DIR)/usr",--without-zlib) \
--without-libqt4 \
--without-qtstatic \
--without-coredumper \
--without-doxygen \
--without-kdoc
--without-kdoc \
--without-libgsm \
--without-libqt4 \
--without-openh323 \
--without-pwlib \
--without-qtstatic \
--without-wphwec \
$(if $(CONFIG_x86_64),--enable-sse2) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-faxchan),--with-spandsp="$(STAGING_DIR)/usr/include",--without-spandsp) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-g722webrtc),--enable-g722-webrtc,--disable-g722-webrtc) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-ilbccodec),--enable-ilbc,--disable-ilbc) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-ilbcwebrtc),--enable-ilbc-webrtc,--disable-ilbc-webrtc) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-mysqldb),--with-mysql=yes,--without-mysql) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-openssl),--with-openssl,--without-openssl) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-pgsqldb),--with-libpq="$(STAGING_DIR)/usr",--without-libpq) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-speexcodec),--with-libspeex="$(STAGING_DIR)/usr/include",--without-libspeex) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-sqlitedb),--with-sqlite,--without-sqlite) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-zapcard),,--disable-dahdi --disable-zaptel) \
$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-zlibcompress),--with-zlib="$(STAGING_DIR)/usr",--without-zlib)
# The regexp implementation of musl 1.1.19 is not fully compatible with yate
# The regexp implementation of musl 1.1.24 is not fully compatible with yate
CONFIGURE_ARGS+= \
--enable-internalregex
@ -139,11 +133,11 @@ endif
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/lib
for yatelib in "" asn sig mgcp jabber script; do \
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libyate$$$${yatelib}.so* $(1)/usr/lib ;\
done
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/yate $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/$(PKG_NAME)
@ -163,9 +157,6 @@ define Package/$(PKG_NAME)-sounds/install
$(CP) $(PKG_INSTALL_DIR)/usr/share/yate/sounds/ $(1)/usr/share/yate/
endef
define Package/$(PKG_NAME)-collection-basic/install
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(STAGING_DIR)/usr/include/
@ -183,11 +174,11 @@ define BuildPlugin
define Package/$(PKG_NAME)-mod-$(subst _,-,$(1))/conffiles
$(if $(6),/etc/yate/$(1).conf)
endef
define Package/$(PKG_NAME)-mod-$(subst _,-,$(1))/description
$(3) module for $(PKG_NAME)
endef
define Package/$(PKG_NAME)-mod-$(subst _,-,$(1))/install
$$(INSTALL_DIR) $$(1)/usr/lib/yate/$(2)
$$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/yate/$(2)/$(1).yate $$(1)/usr/lib/yate/$(2)/$(1).yate
@ -205,7 +196,6 @@ $(if $(6),/etc/yate/$(1).conf)
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
$(eval $(call BuildPackage,$(PKG_NAME)-collection-basic))
$(eval $(call BuildPackage,$(PKG_NAME)-scripts-perl))
$(eval $(call BuildPackage,$(PKG_NAME)-sounds))
@ -245,6 +235,7 @@ $(eval $(call BuildPlugin,extmodule,,External Module Handler,,/usr/share/yate/sc
$(eval $(call BuildPlugin,faxchan,,Spandsp Fax Channel,+libspandsp))
$(eval $(call BuildPlugin,fileinfo,,File Info Holder,,,y))
$(eval $(call BuildPlugin,filetransfer,,File Transfer Driver,,,y))
$(eval $(call BuildPlugin,g722webrtc,,G.722 codec using library based on WebRTC project,))
$(eval $(call BuildPlugin,gvoice,,Google Voice support,,,y))
$(eval $(call BuildPlugin,heartbeat,server,Linux-HA compatible heartbeat,,,y))
$(eval $(call BuildPlugin,ilbccodec,,iLBC Codec,))
@ -280,6 +271,7 @@ $(eval $(call BuildPlugin,rmanager,,Yate Remote Management,,,y))
$(eval $(call BuildPlugin,sigtransport,server,SIGTRAN (SS7 over IP) connection provider,,,y))
$(eval $(call BuildPlugin,sip_cnam_lnp,sip,Query CNAM and LNP databases using SIP INVITE,,,y))
$(eval $(call BuildPlugin,sipfeatures,server,SIP Features (SUBSCRIBE/NOTIFY),,,y))
$(eval $(call BuildPlugin,speexcodec,,Speex codec module written by Olaf Conradi,+libspeex))
$(eval $(call BuildPlugin,sqlitedb,server,SQLite Support,+libsqlite3,,y))
$(eval $(call BuildPlugin,ss7_lnp_ansi,sig,Query LNP Databases,,,y))
$(eval $(call BuildPlugin,subscription,server,Subcription handler and presence notifier,,,y))
@ -288,6 +280,7 @@ $(eval $(call BuildPlugin,tonedetect,,Detectors for Various Tones,))
$(eval $(call BuildPlugin,tonegen,,Tones Generator,,,y))
$(eval $(call BuildPlugin,users,server,Users,,,y))
$(eval $(call BuildPlugin,wavefile,,Wav file Record and Playback,))
$(eval $(call BuildPlugin,wiresniff,,Capture interface for YATE messages,,,y))
$(eval $(call BuildPlugin,wpcard,server,Wanpipe PRI cards Signalling and Data Driver,@BROKEN)) # Mising wanpipe and PRI libraries
$(eval $(call BuildPlugin,yiaxchan,,IAX Channel,,,y))
$(eval $(call BuildPlugin,yjinglechan,,Jingle Channel,,,y))
@ -300,4 +293,3 @@ $(eval $(call BuildPlugin,ysockschan,,SOCKS Channel,,,y))
$(eval $(call BuildPlugin,ystunchan,,STUN Support,,,y))
$(eval $(call BuildPlugin,zapcard,server,Zaptel PRI/TDM/FXS/FXO cards,@!aarch64 +kmod-dahdi,,y))
$(eval $(call BuildPlugin,zlibcompress,,Zlib Compression,+zlib,,y))

View file

@ -1,11 +0,0 @@
--- a/configure.ac
+++ b/configure.ac
@@ -713,7 +713,7 @@ if [[ "x$local_lib" != "xlib" -a ! -d "$
fi
if [[ -f "$ac_cv_use_mysql/include/mysql/mysql.h" -a -d "$ac_cv_use_mysql/$local_lib/mysql" ]]; then
MYSQL_INC="-I$ac_cv_use_mysql/include/mysql"
-MYSQL_LIB="-L$ac_cv_use_mysql/$local_lib/mysql -lmysqlclient_r -lpthread -lz -lcrypt -lnsl -lm"
+MYSQL_LIB="-L$ac_cv_use_mysql/$local_lib/mysql -lmysqlclient_r -lpthread -lz -lcrypt -lm"
MYSQL_VER=`sed -n 's/^.*MYSQL_SERVER_VERSION[[^"]]*"\([[^"]]*\).*$/\1/p' "$ac_cv_use_mysql/include/mysql/mysql_version.h"`
HAVE_MYSQL=yes
fi

View file

@ -0,0 +1,15 @@
--- a/modules/ysipchan.cpp
+++ b/modules/ysipchan.cpp
@@ -3415,8 +3415,10 @@ int YateSIPUDPTransport::process()
}
SIPMessage* msg = SIPMessage::fromParsing(0,b,res);
- msg->msgPrint = print;
- receiveMsg(msg);
+ if (msg) {
+ msg->msgPrint = print;
+ receiveMsg(msg);
+ }
return 0;
}

View file

@ -1,49 +0,0 @@
--- a/engine/Thread.cpp
+++ b/engine/Thread.cpp
@@ -106,21 +106,18 @@ static DWORD getTls()
return tls_index;
}
#else /* _WINDOWS */
-static pthread_key_t current_key;
-
-class ThreadPrivateKeyAlloc
+static pthread_key_t& current_key()
{
-public:
- ThreadPrivateKeyAlloc()
- {
- if (::pthread_key_create(&current_key,ThreadPrivate::destroyFunc)) {
+ static pthread_key_t* current_key = NULL;
+ if (!current_key) {
+ current_key = new pthread_key_t;
+ if (::pthread_key_create(current_key, ThreadPrivate::destroyFunc)) {
abortOnBug(true);
Debug(DebugFail,"Failed to create current thread key!");
}
}
-};
-
-static ThreadPrivateKeyAlloc keyAllocator;
+ return *current_key;
+}
#endif /* _WINDOWS */
static TokenDict s_prio[] = {
@@ -309,7 +306,7 @@ void ThreadPrivate::run()
#ifdef _WINDOWS
::TlsSetValue(getTls(),this);
#else
- ::pthread_setspecific(current_key,this);
+ ::pthread_setspecific(current_key(),this);
pthread_cleanup_push(cleanupFunc,this);
#ifdef PTHREAD_CANCEL_ASYNCHRONOUS
::pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS,0);
@@ -421,7 +418,7 @@ ThreadPrivate* ThreadPrivate::current()
#ifdef _WINDOWS
return reinterpret_cast<ThreadPrivate *>(::TlsGetValue(getTls()));
#else
- return reinterpret_cast<ThreadPrivate *>(::pthread_getspecific(current_key));
+ return reinterpret_cast<ThreadPrivate *>(::pthread_getspecific(current_key()));
#endif
}

View file

@ -1,32 +0,0 @@
--- a/libs/ysdp/parser.cpp
+++ b/libs/ysdp/parser.cpp
@@ -59,6 +59,7 @@ const TokenDict SDPParser::s_payloads[]
{ "h263-2000", 112 },
{ "h264", 114 },
{ "vp8", 113 },
+ { "vp9", 115 },
{ "mpv", 32 },
{ "mp2t", 33 },
{ "mp4v", 110 },
@@ -95,6 +96,7 @@ const TokenDict SDPParser::s_rtpmap[] =
{ "H263-2000/90000", 112 },
{ "H264/90000", 114 },
{ "VP8/90000", 113 },
+ { "VP9/90000", 115 },
{ "MPV/90000", 32 },
{ "MP2T/90000", 33 },
{ "MP4V-ES/90000", 110 },
--- a/modules/yrtpchan.cpp
+++ b/modules/yrtpchan.cpp
@@ -63,6 +63,11 @@ static TokenDict dict_payloads[] = {
{ "mjpeg", 26 },
{ "h261", 31 },
{ "h263", 34 },
+ { "h263-1998", 111 },
+ { "h263-2000", 112 },
+ { "h264", 114 },
+ { "vp8", 113 },
+ { "vp9", 115 },
{ "mpv", 32 },
{ "mp2t", 33 },
{ "mp4v", 98 },