Make asterisk13 port use the bundled pjproject(pjsip) library, as

suggested by upstream.

Force the bundled pjproject to use external srtp library provided
by ports to ensure it and asterisk itself link to the same library.

This decouples asterisk from the pjsip port, allowing it to be
upsdaated without breaking asterisk. [1]

PR:		245607 [1]
Submitted by:	yuri
This commit is contained in:
Guido Falsi 2020-04-18 09:49:54 +00:00
parent f326392e20
commit 1a9a0228e2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=532012
5 changed files with 39 additions and 16 deletions

View file

@ -2,13 +2,16 @@
PORTNAME= asterisk
PORTVERSION= 13.32.0
PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729 \
http://www.pjsip.org/release/${PJSIP_VERSION}/:PJSIP
MASTER_SITE_SUBDIR= asterisk/ \
asterisk/old-releases/ \
sounds/releases/:g729
PKGNAMESUFFIX= 13
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
pjproject-${PJSIP_VERSION}.tar.bz2:PJSIP
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= madpilot@FreeBSD.org
@ -26,17 +29,18 @@ 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
PJSIP_VERSION= 2.9
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --datarootdir=${DATADIR} \
--with-ilbc=internal \
--with-crypto=${OPENSSLBASE} \
--with-ssl=${OPENSSLBASE}
--with-ssl=${OPENSSLBASE} \
--with-externals-cache=${DISTDIR}/${DIST_SUBDIR}
CPE_VENDOR= digium
@ -161,9 +165,9 @@ OPUS_GH_TUPLE= traud:asterisk-opus:83e1b458c77e0e287adeca494eeb79edb077b0ff:opu
PGSQL_CONFIGURE_WITH= postgres
PGSQL_USES= pgsql
PJSIP_CONFIGURE_WITH= pjproject
PJSIP_USES= pkgconfig
PJSIP_LIB_DEPENDS= libspeex.so:audio/speex \
PJSIP_CONFIGURE_WITH= pjproject pjproject-bundled
PJSIP_LIB_DEPENDS= libsrtp2.so:net/libsrtp2 \
libspeex.so:audio/speex \
libspeexdsp.so:audio/speexdsp
PORTAUDIO_CONFIGURE_WITH= portaudio
@ -205,14 +209,6 @@ ASTERISK_GROUP?= asterisk
USERS= ${ASTERISK_USER}
GROUPS= ${ASTERISK_GROUP} dahdi
.include <bsd.port.options.mk>
.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 <bsd.port.pre.mk>
.if empty(ICONV_LIB)

View file

@ -1,6 +1,8 @@
TIMESTAMP = 1584043483
TIMESTAMP = 1586809087
SHA256 (asterisk/asterisk-13.32.0.tar.gz) = 5dc68c75c34b58f3363ce4ffe4d952a45c72a5ac873b0c98f48b946dd5abda60
SIZE (asterisk/asterisk-13.32.0.tar.gz) = 33652378
SHA256 (asterisk/pjproject-2.9.tar.bz2) = d185ef7855c8ec07191dde92f54b65a7a4b7a6f7bf8c46f7af35ceeb1da2a636
SIZE (asterisk/pjproject-2.9.tar.bz2) = 5009546
SHA256 (asterisk/asterisk-core-sounds-en-g729-1.5.tar.gz) = 8b28a59cfa53b59c76e0a191704f0708e3d83acffab8c5e6f25dfc599f0123f9
SIZE (asterisk/asterisk-core-sounds-en-g729-1.5.tar.gz) = 1551123
SHA256 (asterisk/asterisk-moh-opsound-g729-2.03.tar.gz) = 0147ca9a97f0c550227aacb7793499057c4d2c64e021c95f93722f27d5549585

View file

@ -0,0 +1,11 @@
--- third-party/pjproject/Makefile.orig 2020-03-12 14:37:03 UTC
+++ third-party/pjproject/Makefile
@@ -157,7 +157,7 @@ $(PJSIP_LIB_FILES): $(PJLIB_UTIL_LIB_FILES)
pjproject.symbols: $(ALL_LIB_FILES)
$(ECHO_PREFIX) Generating symbols
- $(CMD_PREFIX) $(NM) -Pog $(ALL_LIB_FILES) | $(SED) -n -r -e "s/.+: ([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
+ $(CMD_PREFIX) $(NM) -Pog $(ALL_LIB_FILES) | $(SED) -n -r -e "s/^([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
source/pjsip-apps/src/asterisk_malloc_debug.c: patches/asterisk_malloc_debug.c
$(ECHO_PREFIX) Copying $< to $@

View file

@ -0,0 +1,11 @@
--- third-party/pjproject/Makefile.rules.orig 2020-03-12 14:37:03 UTC
+++ third-party/pjproject/Makefile.rules
@@ -37,7 +37,7 @@ PJPROJECT_CONFIG_OPTS = $(PJPROJECT_CONFIGURE_OPTS) --
--disable-ipp \
--disable-libwebrtc \
--without-external-pa \
- --without-external-srtp
+ --with-external-srtp
ifneq ($(AST_DEVMODE),yes)
PJPROJECT_CONFIG_OPTS += --disable-resample --disable-g711-codec

View file

@ -318,6 +318,8 @@ include/asterisk/version.h
include/asterisk/xml.h
include/asterisk/xmldoc.h
include/asterisk/xmpp.h
%%PJSIP%%lib/libasteriskpj.so
%%PJSIP%%lib/libasteriskpj.so.2
lib/libasteriskssl.so
lib/libasteriskssl.so.1
man/man8/astdb2bdb.8.gz
@ -380,6 +382,7 @@ sbin/safe_asterisk
@dir %%DATADIR%%/moh
@dir %%DATADIR%%/sounds
@dir %%DATADIR%%/third-party
%%PJSIP%%@dir %%DATADIR%%/third-party/pjproject
@owner %%ASTERISK_USER%%
@group %%ASTERISK_GROUP%%
@dir %%VARDIR%%/log/asterisk/cdr-csv