Index: branches/2020Q2/net/asterisk16/Makefile =================================================================== --- branches/2020Q2/net/asterisk16/Makefile (revision 539612) +++ branches/2020Q2/net/asterisk16/Makefile (revision 539613) @@ -1,305 +1,306 @@ # $FreeBSD$ PORTNAME= asterisk PORTVERSION= 16.9.0 +PORTREVISION= 1 CATEGORIES= net MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729 MASTER_SITE_SUBDIR= asterisk/ \ asterisk/old-releases/ \ sounds/releases/:g729 PKGNAMESUFFIX= 16 DISTFILES= ${DISTNAME}${EXTRACT_SUFX} DIST_SUBDIR= ${PORTNAME} MAINTAINER= madpilot@FreeBSD.org COMMENT= Open Source PBX and telephony toolkit LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid \ libjansson.so:devel/jansson ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 powerpc powerpc64 sparc64 EXTRACT_ONLY:= ${DISTNAME}${EXTRACT_SUFX} USES= bison compiler:c11 cpe gmake gnome iconv libedit localbase \ shebangfix sqlite ssl ncurses USE_CSTD= gnu89 USE_GNOME= libxml2 USE_LDCONFIG= yes USE_RC_SUBR= asterisk USE_GITHUB= nodefault GNU_CONFIGURE= yes CONFIGURE_ARGS= --datarootdir=${DATADIR} \ --with-ilbc=internal \ --with-crypto=${OPENSSLBASE} \ --with-pjproject-bundled=no \ --with-ssl=${OPENSSLBASE} CPE_VENDOR= digium SHEBANG_FILES= agi/agi-test.agi \ agi/jukebox.agi \ contrib/scripts/astversion LDFLAGS+= -L. MAKE_ENV= PTHREAD_LIBS="-lpthread" \ MKDIR="${MKDIR}" \ PWLIBDIR=${LOCALBASE}/share/pwlib \ OSVERSION=${OSVERSION} \ DOCSDIR=${DOCSDIR} \ ASTCFLAGS="${CFLAGS}" \ ASTLDFLAGS="${LDFLAGS}" MAKE_ARGS+= NOISY_BUILD=yes \ ASTDATADIR=${DATADIR} CONFLICTS= ossp-uuid-[0-9]* CONFLICTS_BUILD= linuxthreads-* CONFLICTS_INSTALL= asterisk13 asterisk15 OPTIONS_DEFINE= ASTVERSION BACKTRACE CURL EXCHANGE FREETDS G729 LDAP LUA MACRO \ MP3PLAYER OOH323 OPTIMIZED_CFLAGS PJSIP PORTAUDIO RADIUS SNMP \ SPANDSP SRTP SYSINFO XMPP OPTIONS_DEFAULT= CURL FREETDS GSM LUA MACRO MP3PLAYER NEWT ODBC MYSQL PGSQL \ PJSIP PORTAUDIO RADIUS SNMP SPANDSP SPEEX SQLITE2 SRTP VORBIS OPTIONS_DEFINE_i386= DAHDI OPTIONS_DEFINE_amd64= DAHDI OPTIONS_DEFINE_sparc64= DAHDI OPTIONS_DEFAULT_i386= DAHDI XMPP OPTIONS_DEFAULT_amd64= DAHDI XMPP OPTIONS_DEFAULT_sparc64= DAHDI XMPP OPTIONS_DEFAULT_powerpc= XMPP OPTIONS_GROUP= CODECS OPTIONS_GROUP_CODECS= GSM NEWG711 OPUS SPEEX VORBIS CODECS_DESC= Encoder/Decoder (Codec) Support OPTIONS_GROUP+= DATABASE OPTIONS_GROUP_DATABASE= MYSQL ODBC PGSQL SQLITE2 DATABASE_DESC= Database Support OPTIONS_MULTI= MENU OPTIONS_MULTI_MENU= NCURSES NEWT MENU_DESC= Menuselect Interface Backend NEWT_DESC= Newt User Interface ASTERISK_CORE_G729_SOUNDS= asterisk-core-sounds-en-g729-1.5.tar.gz ASTERISK_MOH_G729_SOUNDS= asterisk-moh-opsound-g729-2.03.tar.gz G729_DISTFILES= ${ASTERISK_CORE_G729_SOUNDS}:g729 \ ${ASTERISK_MOH_G729_SOUNDS}:g729 ASTVERSION_DESC?= Install astversion (requires bash) BACKTRACE_DESC?= Stack backtrace support via (lib)execinfo DAHDI_DESC?= DAHDI support EXCHANGE_DESC?= Exchange calendar support G729_DESC?= Install G.729 format sounds for Music-on-Hold (MoH) MACRO_DESC?= Enable app_macro (deprecated) MP3PLAYER_DESC= Install MP3 Player for Music-On-Hold (mpg123) NEWG711_DESC?= New G711 Codec OOH323_DESC?= ooh323 support OPUS_DESC?= Opus Codec PJSIP_DESC?= Build the PJSIP based SIP channel SRTP_DESC?= SecureRTP support SYSINFO_DESC?= Use devel/libsysinfo to get system information XMPP_DESC?= XMPP/GTALK support OPTIONS_SUB= yes ASTVERSION_RUN_DEPENDS= bash:shells/bash BACKTRACE_CONFIGURE_WITH= execinfo CURL_CONFIGURE_ON= --with-libcurl CURL_CONFIGURE_OFF= --with-libcurl=no CURL_LIB_DEPENDS= libcurl.so:ftp/curl DAHDI_CONFIGURE_ON= --with-dahdi --with-openr2 DAHDI_CONFIGURE_OFF= --without-dahdi --without-openr2 DAHDI_LIB_DEPENDS= libpri.so:misc/libpri \ libopenr2.so:misc/openr2 \ libtonezone.so:misc/dahdi EXCHANGE_CONFIGURE_OFF= --without-neon --without-neon29 EXCHANGE_LIB_DEPENDS= libneon.so:www/neon \ libexpat.so:textproc/expat2 EXCHANGE_USES= gettext-runtime FREETDS_CONFIGURE_ON= --with-tds=${LOCALBASE} FREETDS_CONFIGURE_OFF= --without-tds FREETDS_LIB_DEPENDS= libsybdb.so:databases/freetds GSM_CONFIGURE_WITH= gsm GSM_LIB_DEPENDS= libgsm.so:audio/gsm LDAP_CONFIGURE_WITH= ldap LDAP_USE= OPENLDAP=yes LUA_CONFIGURE_WITH= lua LUA_USES= lua LUA_CFLAGS= -I${LUA_INCDIR} LUA_LDFLAGS= -L${LUA_LIBDIR} MYSQL_CONFIGURE_WITH= mysqlclient MYSQL_USES= mysql MP3PLAYER_RUN_DEPENDS= mpg123:audio/mpg123 NCURSES_USES= ncurses NEWT_LIB_DEPENDS= libnewt.so:devel/newt ODBC_CONFIGURE_WITH= unixodbc ODBC_CONFIGURE_ON= --with-ltdl ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC \ libltdl.so:devel/libltdl OPUS_LIB_DEPENDS= libopus.so:audio/opus OPUS_EXTRACT_ONLY= ${DISTFILE_opus} OPUS_GH_TUPLE= traud:asterisk-opus:83e1b458c77e0e287adeca494eeb79edb077b0ff:opus PGSQL_CONFIGURE_WITH= postgres PGSQL_USES= pgsql PJSIP_CONFIGURE_WITH= pjproject PJSIP_USES= pkgconfig PJSIP_LIB_DEPENDS= libspeex.so:audio/speex \ libspeexdsp.so:audio/speexdsp PORTAUDIO_CONFIGURE_WITH= portaudio PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio RADIUS_CONFIGURE_WITH= radius RADIUS_LIB_DEPENDS= libradiusclient-ng.so:net/radiusclient SNMP_CONFIGURE_WITH= netsnmp SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp \ libpkg.so:${PKG_ORIGIN} SPANDSP_CONFIGURE_WITH= spandsp SPANDSP_LIB_DEPENDS= libspandsp.so:comms/spandsp \ libtiff.so:graphics/tiff SPEEX_CONFIGURE_WITH= speex SPEEX_LIB_DEPENDS= libspeex.so:audio/speex \ libspeexdsp.so:audio/speexdsp SQLITE2_CONFIGURE_WITH= sqlite SQLITE2_LIB_DEPENDS= libsqlite.so:databases/sqlite2 SRTP_CONFIGURE_WITH= srtp SRTP_LIB_DEPENDS= libsrtp2.so:net/libsrtp2 SYSINFO_LIB_DEPENDS= libsysinfo.so:devel/libsysinfo VORBIS_CONFIGURE_WITH= ogg VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \ libogg.so:audio/libogg XMPP_CONFIGURE_WITH= iksemel XMPP_LIB_DEPENDS= libiksemel.so:textproc/iksemel ASTERISK_USER?= asterisk ASTERISK_GROUP?= asterisk USERS= ${ASTERISK_USER} GROUPS= ${ASTERISK_GROUP} dahdi .include .if ${PORT_OPTIONS:MPJSIP} && ${PORT_OPTIONS:MSRTP} LIB_DEPENDS+= libpj.so:net/pjsip-extsrtp .elif ${PORT_OPTIONS:MPJSIP} && ! ${PORT_OPTIONS:MSRTP} LIB_DEPENDS+= libpj.so:net/pjsip .endif .include .if empty(ICONV_LIB) CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \ ac_cv_lib_iconv_libiconv_open=no .endif .if ${PREFIX} == ${LOCALBASE} VARDIR=/var .else VARDIR=${PREFIX}/var .endif SUB_LIST+= ASTERISK_USER=${ASTERISK_USER} PLIST_SUB+= ASTERISK_USER=${ASTERISK_USER} \ ASTERISK_GROUP=${ASTERISK_GROUP} \ VARDIR=${VARDIR} post-extract: @${FIND} ${WRKSRC} -name '*.d' -delete post-extract-G729-on: ${CP} ${DISTDIR}/${DIST_SUBDIR}/${ASTERISK_CORE_G729_SOUNDS} ${WRKSRC}/sounds ${CP} ${DISTDIR}/${DIST_SUBDIR}/${ASTERISK_MOH_G729_SOUNDS} ${WRKSRC}/sounds post-extract-OPUS-on: ${CP} ${WRKSRC_opus}/include/asterisk/* ${WRKSRC}/include/asterisk ${CP} ${WRKSRC_opus}/codecs/* ${WRKSRC}/codecs ${CP} ${WRKSRC_opus}/res/* ${WRKSRC}/res post-patch: @${REINPLACE_CMD} -e 's|/var/lib|${PREFIX}/share|g' ${WRKSRC}/configs/samples/musiconhold.conf.sample .if exists(${FILESDIR}/.asterisk.makeopts) ${CP} ${FILESDIR}/.asterisk.makeopts ${WRKSRC}/menuselect.makeopts .endif post-patch-SYSINFO-on: @${REINPLACE_CMD} -e 's/%%LIBSYSINFO%%/-lsysinfo/' ${WRKSRC}/main/Makefile post-patch-SYSINFO-off: @${REINPLACE_CMD} -e '/#define HAVE_SYSINFO 1/d' ${WRKSRC}/configure @${REINPLACE_CMD} -e '/%%LIBSYSINFO%%/d' ${WRKSRC}/main/Makefile post-configure: @cd ${WRKSRC} && ${MAKE_CMD} menuselect.makeopts @cd ${WRKSRC} && ./menuselect/menuselect --disable res_timing_kqueue menuselect.makeopts @cd ${WRKSRC} && ./menuselect/menuselect --enable chan_mgcp menuselect.makeopts @cd ${WRKSRC} && ./menuselect/menuselect --enable res_pktccops menuselect.makeopts post-configure-MACRO-on: @cd ${WRKSRC} && ./menuselect/menuselect --enable app_macro menuselect.makeopts post-configure-MYSQL-on: @cd ${WRKSRC} && ./menuselect/menuselect --enable res_config_mysql menuselect.makeopts @cd ${WRKSRC} && ./menuselect/menuselect --enable app_mysql menuselect.makeopts @cd ${WRKSRC} && ./menuselect/menuselect --enable cdr_mysql menuselect.makeopts post-configure-OOH323-on: @cd ${WRKSRC} && ./menuselect/menuselect --enable chan_ooh323 menuselect.makeopts post-configure-NEWG711-on: @cd ${WRKSRC} && ./menuselect/menuselect --enable G711_NEW_ALGORITHM menuselect.makeopts post-configure-OPTIMIZED_CFLAGS-off: @cd ${WRKSRC} && ./menuselect/menuselect --disable BUILD_NATIVE menuselect.makeopts post-configure-OPUS-on: @cd ${WRKSRC} && ./menuselect/menuselect --enable codec_opus_open_source menuselect.makeopts post-install: @${RM} ${STAGEDIR}${ETCDIR}/*.conf ${STAGEDIR}${ETCDIR}/extensions.ael ${STAGEDIR}${ETCDIR}/extensions.lua @${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/ast[a-f]* ${STAGEDIR}${PREFIX}/lib/*.so.* ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/modules/*.so ${STAGEDIR}${DATADIR}/agi-bin/eagi-* ${FIND} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/modules -type f -name '*.so' | ${SED} "s,^${STAGEDIR}${PREFIX}/,," >> ${TMPPLIST} ${FIND} ${STAGEDIR}${DATADIR}/sounds -type f | ${SED} "s,^${STAGEDIR}${DATADIR},${DATADIR}," >> ${TMPPLIST} ${FIND} ${STAGEDIR}${DATADIR}/moh -type f | ${SED} "s,^${STAGEDIR}${DATADIR},${DATADIR}," >> ${TMPPLIST} (cd ${STAGEDIR} && \ ${ECHO} "@owner ${ASTERISK_USER}" >> ${TMPPLIST} && \ ${ECHO} "@group ${ASTERISK_GROUP}" >> ${TMPPLIST} && \ ${FIND} var/spool/${PORTNAME}/voicemail/default -type f | ${SED} "s,^,/," >> ${TMPPLIST} && \ ${FIND} var/spool/${PORTNAME}/voicemail/ -type d | ${SED} "s,^,@dir /," >> ${TMPPLIST} && \ ${ECHO} "@owner" >> ${TMPPLIST} && \ ${ECHO} "@group" >> ${TMPPLIST}); post-install-ASTVERSION-off: @${RM} ${STAGEDIR}${PREFIX}/sbin/astversion .include Index: branches/2020Q2/net/asterisk16/files/patch-channels-chan_dahdi.c =================================================================== --- branches/2020Q2/net/asterisk16/files/patch-channels-chan_dahdi.c (revision 539612) +++ branches/2020Q2/net/asterisk16/files/patch-channels-chan_dahdi.c (revision 539613) @@ -1,33 +1,46 @@ ---- channels/chan_dahdi.c.orig 2018-08-08 16:02:31 UTC +--- channels/chan_dahdi.c.orig 2020-06-16 14:39:16 UTC +++ channels/chan_dahdi.c -@@ -4599,6 +4599,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p) +@@ -4649,6 +4649,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p) return; } if (p->echocancel.head.tap_length) { + struct dahdi_echocanparams *pecp; + #if defined(HAVE_PRI) || defined(HAVE_SS7) switch (p->sig) { #if defined(HAVE_PRI) -@@ -4629,7 +4631,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p) +@@ -4679,7 +4681,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p) break; } #endif /* defined(HAVE_PRI) || defined(HAVE_SS7) */ - res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &p->echocancel); + + pecp = &p->echocancel.head; + res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &pecp); if (res) { ast_log(LOG_WARNING, "Unable to enable echo cancellation on channel %d (%s)\n", p->channel, strerror(errno)); } else { -@@ -4663,8 +4667,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p) +@@ -4713,8 +4717,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p) if (p->echocanon) { struct dahdi_echocanparams ecp = { .tap_length = 0 }; + struct dahdi_echocanparams *pecp = &ecp; - res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &ecp); + res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &pecp); if (res) ast_log(LOG_WARNING, "Unable to disable echo cancellation on channel %d: %s\n", p->channel, strerror(errno)); +@@ -18147,8 +18152,10 @@ static int process_dahdi(struct dahdi_chan_conf *confp + if ((varval = strchr(varname, '='))) { + *varval++ = '\0'; + if ((tmpvar = ast_variable_new(varname, varval, ""))) { +- tmpvar->next = confp->chan.vars; +- confp->chan.vars = tmpvar; ++ if (ast_variable_list_replace(&confp->chan.vars, tmpvar)) { ++ tmpvar->next = confp->chan.vars; ++ confp->chan.vars = tmpvar; ++ } + } + } + } Index: branches/2020Q2 =================================================================== --- branches/2020Q2 (revision 539612) +++ branches/2020Q2 (revision 539613) Property changes on: branches/2020Q2 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r539600