diff --git a/net/yate/Makefile b/net/yate/Makefile index 94d4f27..160d583 100644 --- a/net/yate/Makefile +++ b/net/yate/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2014 OpenWrt.org +# Copyright (C) 2006-2018 OpenWrt.org # Copyright (C) 2006-2011 SMBPhone # # This is free software, licensed under the GNU General Public License v2. @@ -12,7 +12,7 @@ RELEASEVER:=6.0.0 PKG_NAME:=yate PKG_VERSION:=$(RELEASEVER)-1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://yate.null.ro/tarballs/yate6/ @@ -56,7 +56,10 @@ endef define Package/$(PKG_NAME)-scripts-perl $(call Package/yate/Default) - DEPENDS += $(PKG_NAME) $(PKG_NAME)-mod-extmodule +perlbase-data + DEPENDS += $(PKG_NAME) \ + +PACKAGE_$(PKG_NAME)-scripts-perl:$(PKG_NAME)-mod-extmodule \ + +PACKAGE_$(PKG_NAME)-scripts-perl:perlbase-data \ + @!arc TITLE:= Perl module for Yate endef @@ -69,63 +72,54 @@ endef define Package/$(PKG_NAME)-collection-basic $(call Package/yate/Default) DEPENDS += $(PKG_NAME) \ - +$(PKG_NAME)-sounds \ - +$(PKG_NAME)-mod-dumbchan \ - +$(PKG_NAME)-mod-regfile \ - +$(PKG_NAME)-mod-regexroute \ - +$(PKG_NAME)-mod-rmanager \ - +$(PKG_NAME)-mod-tonegen \ - +$(PKG_NAME)-mod-yrtpchan \ - +$(PKG_NAME)-mod-ysipchan + +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 -ifneq ($(CONFIG_USE_MUSL),) - LIBNSL:= -else - LIBNSL:=-lnsl -endif - -TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include $(if $(CONFIG_BIG_ENDIAN),-DBIGENDIAN,) +# Otherwise yate ignores CPPFLAGS +TARGET_CFLAGS += $(TARGET_CPPFLAGS) CONFIGURE_ARGS+= \ - --enable-strings \ - --enable-poll \ - --enable-inline \ - --enable-atomics \ - --disable-sse2 \ + $(if $(CONFIG_x86_64),--enable-sse2) \ --disable-sctp \ - --enable-resolver \ - --enable-internalregex \ --disable-dahdi \ --disable-zaptel \ --disable-wpcard \ --disable-tdmcard \ --disable-wanpipe \ --enable-ilbc \ - --enable-ilbc-webrtc \ - --enable-isac-float \ - --disable-isac-fixed \ + $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-ilbcwebrtc),--enable-ilbc-webrtc,--disable-ilbc-webrtc) \ --enable-rtti \ - --with-libpq="$(STAGING_DIR)/usr" \ - --with-mysql="$(STAGING_DIR)/usr" \ + $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-pgsqldb),--with-libpq="$(STAGING_DIR)/usr",--without-libpq) \ + $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-mysqldb),--with-mysql="$(STAGING_DIR)/usr",--without-mysql) \ --without-wphwec \ --without-libgsm \ --without-amrnb \ - --with-spandsp="$(STAGING_DIR)/usr/include" \ + $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-faxchan),--with-spandsp="$(STAGING_DIR)/usr/include",--without-spandsp) \ --without-pwlib \ --without-openh323 \ - --with-openssl \ - --with-zlib="$(STAGING_DIR)/usr" \ + $(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 -CONFIGURE_VARS+= \ - LDFLAGS="$$$$LDFLAGS -nodefaultlibs" \ - LIBS="-lc -luClibc++ -lpthread -lresolv -ldl -lm -lc $(LIBGCC_S) $(LIBNSL)" +ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-isaccodec),) +CONFIGURE_ARGS+=$(if $(CONFIG_SOFT_FLOAT),--disable-isac-float --enable-isac-fixed,--disable-isac-fixed --enable-isac-float) +else +CONFIGURE_ARGS+= \ + --disable-isac-fixed \ + --disable-isac-float +endif define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/lib @@ -167,15 +161,13 @@ endef define BuildPlugin define Package/$(PKG_NAME)-mod-$(1) $(call Package/yate/Default) - DEPENDS:= $(PKG_NAME) $(4) + DEPENDS:= $(PKG_NAME) $(patsubst +%,+PACKAGE_$(PKG_NAME)-mod-$(1):%,$(4)) TITLE:=$(3) endef - $(if $(PKG_BUILD_DIR)/conf.d/$(1).conf.sample, define Package/$(PKG_NAME)-mod-$(1)/conffiles - /etc/yate/$(1).conf +$(if $(6),/etc/yate/$(1).conf) endef - ,) define Package/$(PKG_NAME)-mod-$(1)/description $(3) module for $(PKG_NAME) @@ -201,82 +193,91 @@ $(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)) -$(eval $(call BuildPlugin,accfile,server,SIP or H.323 client (from file),)) + +############################ +# 1: plugin +# 2: client, server or empty +# 3: description +# 4: depends +# 5: extra files +# 6: has a config sample (y) +# ########################## +$(eval $(call BuildPlugin,accfile,server,SIP or H.323 client (from file),,,y)) $(eval $(call BuildPlugin,alsachan,client,ALSA Sound Channel,+alsa-lib)) $(eval $(call BuildPlugin,amrnbcodec,,AMR-NB Codec,@BROKEN)) # Missing amr-nb library -$(eval $(call BuildPlugin,analog,server,Analog (e.g. POTS) Channel,)) +$(eval $(call BuildPlugin,analog,server,Analog (e.g. POTS) Channel,,,y)) $(eval $(call BuildPlugin,analogdetect,server,Analog Data Detector,)) $(eval $(call BuildPlugin,analyzer,,Test Call Generator and AQ Analyzer,)) -$(eval $(call BuildPlugin,cache,server,CNAM and LNP memory caches,)) -$(eval $(call BuildPlugin,callcounters,server,Count Active Call Legs,)) -$(eval $(call BuildPlugin,callfork,,Call Forker,)) +$(eval $(call BuildPlugin,cache,server,CNAM and LNP memory caches,,,y)) +$(eval $(call BuildPlugin,callcounters,server,Count Active Call Legs,,,y)) +$(eval $(call BuildPlugin,callfork,,Call Forker,,,y)) $(eval $(call BuildPlugin,callgen,,Call Generator,)) -$(eval $(call BuildPlugin,ccongestion,server,Accept Status from Installed Engine Monitors,)) -$(eval $(call BuildPlugin,cdrbuild,,Call Detail Record Builder,)) +$(eval $(call BuildPlugin,ccongestion,server,Accept Status from Installed Engine Monitors,,,y)) +$(eval $(call BuildPlugin,cdrbuild,,Call Detail Record Builder,,,y)) $(eval $(call BuildPlugin,cdrcombine,,Call Detail Records per call instead of per call leg,)) -$(eval $(call BuildPlugin,cdrfile,,Call Detail Record to File,)) -$(eval $(call BuildPlugin,ciscosm,server,SS7 Support,)) -$(eval $(call BuildPlugin,clustering,server,Clustering Server Support,)) +$(eval $(call BuildPlugin,cdrfile,,Call Detail Record to File,,,y)) +$(eval $(call BuildPlugin,ciscosm,server,SS7 Support,,,y)) +$(eval $(call BuildPlugin,clustering,server,Clustering Server Support,,,y)) $(eval $(call BuildPlugin,conference,,Conference Room Mixer,)) -$(eval $(call BuildPlugin,cpuload,server,Monitor CPU load and Inform Yate,)) -$(eval $(call BuildPlugin,dbpbx,server,PBX IVR and Multi-routing from Database,)) +$(eval $(call BuildPlugin,cpuload,server,Monitor CPU load and Inform Yate,,,y)) +$(eval $(call BuildPlugin,dbpbx,server,PBX IVR and Multi-routing from Database,,,y)) $(eval $(call BuildPlugin,dbwave,server,Wav Media for DB Storage,+$(PKG_NAME)-mod-wavefile)) $(eval $(call BuildPlugin,dumbchan,,Dummy Channel,)) -$(eval $(call BuildPlugin,enumroute,,ENUM Routing,)) -$(eval $(call BuildPlugin,eventlogs,server,Write events and alarms to log files,)) -$(eval $(call BuildPlugin,extmodule,,External Module Handler,,/usr/share/yate/scripts/echo.sh)) +$(eval $(call BuildPlugin,enumroute,,ENUM Routing,,,y)) +$(eval $(call BuildPlugin,eventlogs,server,Write events and alarms to log files,,,y)) +$(eval $(call BuildPlugin,extmodule,,External Module Handler,,/usr/share/yate/scripts/echo.sh,y)) $(eval $(call BuildPlugin,faxchan,,Spandsp Fax Channel,+libspandsp)) -$(eval $(call BuildPlugin,filetransfer,,File Transfer Driver,)) -$(eval $(call BuildPlugin,gvoice,,Google Voice support,)) -$(eval $(call BuildPlugin,heartbeat,server,Linux-HA compatible heartbeat,)) +$(eval $(call BuildPlugin,filetransfer,,File Transfer Driver,,,y)) +$(eval $(call BuildPlugin,gvoice,,Google Voice support,,,y)) +$(eval $(call BuildPlugin,heartbeat,server,Linux-HA compatible heartbeat,,,y)) $(eval $(call BuildPlugin,ilbccodec,,iLBC Codec,)) -$(eval $(call BuildPlugin,ilbcwebrtc,,iLBC Codec from the WebRTC project,)) -$(eval $(call BuildPlugin,isaccodec,,internet Speech Audio Codec,)) -$(eval $(call BuildPlugin,isupmangler,sig,ISUP parameter mangling in a STP,)) -$(eval $(call BuildPlugin,jabberclient,client,Jabber Client,)) -$(eval $(call BuildPlugin,jabberserver,jabber,Jabber Server,)) -$(eval $(call BuildPlugin,javascript,,Routing using the embedded Javascript language,)) -$(eval $(call BuildPlugin,jbfeatures,jabber,Jabber Server Features,)) -$(eval $(call BuildPlugin,lateroute,server,Last Chance Routing,)) -$(eval $(call BuildPlugin,mgcpca,server,Media Gateway Control Protocol Agent,)) -$(eval $(call BuildPlugin,mgcpgw,server,Media Gateway Control Protocol Gateway,)) -$(eval $(call BuildPlugin,moh,,On Hold (music) Generator,)) -$(eval $(call BuildPlugin,monitoring,server,Monitoring/gathering Information,)) +$(eval $(call BuildPlugin,ilbcwebrtc,,iLBC Codec from the WebRTC project,@!arc)) +$(eval $(call BuildPlugin,isaccodec,,internet Speech Audio Codec,@!arc)) +$(eval $(call BuildPlugin,isupmangler,sig,ISUP parameter mangling in a STP,,,y)) +$(eval $(call BuildPlugin,jabberclient,client,Jabber Client,,,y)) +$(eval $(call BuildPlugin,jabberserver,jabber,Jabber Server,,,y)) +$(eval $(call BuildPlugin,javascript,,Routing using the embedded Javascript language,,,y)) +$(eval $(call BuildPlugin,jbfeatures,jabber,Jabber Server Features,,,y)) +$(eval $(call BuildPlugin,lateroute,server,Last Chance Routing,,,y)) +$(eval $(call BuildPlugin,mgcpca,server,Media Gateway Control Protocol Agent,,,y)) +$(eval $(call BuildPlugin,mgcpgw,server,Media Gateway Control Protocol Gateway,,,y)) +$(eval $(call BuildPlugin,moh,,On Hold (music) Generator,,,y)) +$(eval $(call BuildPlugin,monitoring,server,Monitoring/gathering Information,,,y)) $(eval $(call BuildPlugin,mrcpspeech,server,MRCP v2 Voice/Tone Detector and Synthesizer,)) $(eval $(call BuildPlugin,msgsniff,,Sample Message Sniffer,)) -$(eval $(call BuildPlugin,mux,,Data Multiplexor,)) -$(eval $(call BuildPlugin,mysqldb,server,MySQL Backend DB,+libmysqlclient-r)) -$(eval $(call BuildPlugin,openssl,,Encrypted transport (OpenSSL),+libopenssl)) +$(eval $(call BuildPlugin,mux,,Data Multiplexor,,,y)) +$(eval $(call BuildPlugin,mysqldb,server,MySQL Backend DB,+libmysqlclient-r,,y)) +$(eval $(call BuildPlugin,openssl,,Encrypted transport (OpenSSL),+libopenssl,,y)) $(eval $(call BuildPlugin,osschan,client,OSS Sound Channel,)) $(eval $(call BuildPlugin,park,server,Call Parking,)) $(eval $(call BuildPlugin,pbx,,PBX Message Handlers,)) -$(eval $(call BuildPlugin,pbxassist,server,Full featured PBX and IVR,)) -$(eval $(call BuildPlugin,pgsqldb,server,PostgrestSQL Backend DB,+libpq)) -$(eval $(call BuildPlugin,presence,server,Presence,)) -$(eval $(call BuildPlugin,queues,server,Call Distribution and Queues from Database,)) -$(eval $(call BuildPlugin,queuesnotify,server,Notify when queued call status changes,)) -$(eval $(call BuildPlugin,regexroute,,Regular Expression Based Routing,)) -$(eval $(call BuildPlugin,regfile,server,Registration based on users in file,)) -$(eval $(call BuildPlugin,register,server,Call Detail Record to a database,)) -$(eval $(call BuildPlugin,rmanager,,Yate Remote Management,)) -$(eval $(call BuildPlugin,sigtransport,server,SIGTRAN (SS7 over IP) connection provider,)) -$(eval $(call BuildPlugin,sip_cnam_lnp,sip,Query CNAM and LNP databases using SIP INVITE,)) -$(eval $(call BuildPlugin,sipfeatures,server,SIP Features (SUBSCRIBE/NOTIFY),)) -$(eval $(call BuildPlugin,subscription,server,Subcription handler and presence notifier,)) +$(eval $(call BuildPlugin,pbxassist,server,Full featured PBX and IVR,,,y)) +$(eval $(call BuildPlugin,pgsqldb,server,PostgrestSQL Backend DB,@!arc +libpq)) +$(eval $(call BuildPlugin,presence,server,Presence,,,y)) +$(eval $(call BuildPlugin,queues,server,Call Distribution and Queues from Database,,,y)) +$(eval $(call BuildPlugin,queuesnotify,server,Notify when queued call status changes,,,y)) +$(eval $(call BuildPlugin,regexroute,,Regular Expression Based Routing,,,y)) +$(eval $(call BuildPlugin,regfile,server,Registration based on users in file,,,y)) +$(eval $(call BuildPlugin,register,server,Call Detail Record to a database,,,y)) +$(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,subscription,server,Subcription handler and presence notifier,,,y)) $(eval $(call BuildPlugin,tdmcard,server,TDM Cards Signalling and Data Driver,@BROKEN)) # Missing TDM libraries $(eval $(call BuildPlugin,tonedetect,,Detectors for Various Tones,)) -$(eval $(call BuildPlugin,tonegen,,Tones Generator,)) -$(eval $(call BuildPlugin,users,server,Users,)) +$(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,wpcard,server,Wanpipe PRI cards Signalling and Data Driver,@BROKEN)) # Mising wanpipe and PRI libraries -$(eval $(call BuildPlugin,yiaxchan,,IAX Channel,)) -$(eval $(call BuildPlugin,yjinglechan,,Jingle Channel,)) -$(eval $(call BuildPlugin,yradius,server,RADIUS Client,)) -$(eval $(call BuildPlugin,yrtpchan,,RTP Channel and Other Data Helper,)) -$(eval $(call BuildPlugin,ysigchan,server,SS7/ISDN Protocols - Yate Signalling Library,)) -$(eval $(call BuildPlugin,ysipchan,,SIP Channel,)) -$(eval $(call BuildPlugin,ysnmpagent,server,SNMP Protocol Agent,,/usr/share/yate/data/NULL-TEAM-MIB.txt /usr/share/yate/data/snmp_mib.conf /usr/share/yate/data/YATE-MIB.txt)) -$(eval $(call BuildPlugin,ysockschan,,SOCKS Channel,)) -$(eval $(call BuildPlugin,ystunchan,,STUN Support,)) -$(eval $(call BuildPlugin,zlibcompress,,Zlib Compression,+zlib)) +$(eval $(call BuildPlugin,yiaxchan,,IAX Channel,,,y)) +$(eval $(call BuildPlugin,yjinglechan,,Jingle Channel,,,y)) +$(eval $(call BuildPlugin,yradius,server,RADIUS Client,,,y)) +$(eval $(call BuildPlugin,yrtpchan,,RTP Channel and Other Data Helper,,,y)) +$(eval $(call BuildPlugin,ysigchan,server,SS7/ISDN Protocols - Yate Signalling Library,,,y)) +$(eval $(call BuildPlugin,ysipchan,,SIP Channel,,,y)) +$(eval $(call BuildPlugin,ysnmpagent,server,SNMP Protocol Agent,,/usr/share/yate/data/NULL-TEAM-MIB.txt /usr/share/yate/data/snmp_mib.conf /usr/share/yate/data/YATE-MIB.txt,y)) +$(eval $(call BuildPlugin,ysockschan,,SOCKS Channel,,,y)) +$(eval $(call BuildPlugin,ystunchan,,STUN Support,,,y)) +$(eval $(call BuildPlugin,zlibcompress,,Zlib Compression,+zlib,,y)) diff --git a/net/yate/patches/130-fix-ilbc-flags.patch b/net/yate/patches/130-fix-ilbc-flags.patch new file mode 100644 index 0000000..7bf636c --- /dev/null +++ b/net/yate/patches/130-fix-ilbc-flags.patch @@ -0,0 +1,11 @@ +--- a/libs/ilbc/Makefile.in ++++ b/libs/ilbc/Makefile.in +@@ -6,7 +6,7 @@ AR := ar + SED := sed + DEFS := + INCLUDES := -I@top_srcdir@ +-CFLAGS := @CFLAGS@ -O3 -funroll-loops -fomit-frame-pointer -fsigned-char @MODULE_CFLAGS@ ++CFLAGS := @CFLAGS@ -fsigned-char @MODULE_CFLAGS@ + LDFLAGS:= @LDFLAGS@ + + PROGS=