1 # Created by: Maxim Sobolev <sobomax@portaone.com>
7 MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/ \
8 http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/
11 MAINTAINER= madpilot@FreeBSD.org
12 COMMENT= Open Source PBX and telephony toolkit
15 LICENSE_FILE= ${WRKSRC}/LICENSE
17 LIB_DEPENDS= libspeex.so:${PORTSDIR}/audio/speex \
18 libnewt.so:${PORTSDIR}/devel/newt \
19 libexecinfo.so:${PORTSDIR}/devel/libexecinfo
20 RUN_DEPENDS= mpg123:${PORTSDIR}/audio/mpg123
22 ONLY_FOR_ARCHS= i386 amd64 powerpc sparc64
25 LDFLAGS+= -L${LOCALBASE}/lib
26 CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/openh323
30 USES= alias bison cpe gmake shebangfix
32 SHEBANG_FILES= agi/agi-test.agi \
37 MAKE_ENV= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
38 PTHREAD_LIBS="${PTHREAD_LIBS}" \
40 PWLIBDIR=${LOCALBASE}/share/pwlib \
41 OPENH323DIR=${LOCALBASE}/share/openh323 \
42 OSVERSION=${OSVERSION} \
47 CONFLICTS_BUILD= linuxthreads-*
48 CONFLICTS_INSTALL= asterisk*-11* asterisk*-13*
50 OPTIONS_DEFINE= VORBIS PGSQL MYSQL ODBC RADIUS SNMP H323 FREETDS JABBER SQLITE GSM \
51 CURL SPANDSP EXCHANGE NEWG711 SRTP LUA LDAP OOH323
52 OPTIONS_DEFAULT= VORBIS ODBC PGSQL RADIUS SNMP H323 FREETDS JABBER GSM \
55 OPTIONS_DEFINE_i386= DAHDI
56 OPTIONS_DEFINE_x86_64= DAHDI
57 OPTIONS_DEFINE_sparc64= DAHDI
59 OPTIONS_DEFAULT_i386= DAHDI
60 OPTIONS_DEFAULT_x86_64= DAHDI
61 OPTIONS_DEFAULT_sparc64= DAHDI
63 EXCHANGE_DESC?= Exchange calendar support
64 NEWG711_DESC?= New G711 Codec
65 SRTP_DESC?= SecureRTP support
66 OOH323_DESC?= ooh323 support
67 DAHDI_DESC?= DAHDI support
70 H323_CONFIGURE_WITH= h323
71 H323_LIB_DEPENDS= libpt_r.so:${PORTSDIR}/devel/pwlib \
72 libh323_r.so:${PORTSDIR}/net/openh323
73 DAHDI_CONFIGURE_ON= --with-dahdi --with-openr2
74 DAHDI_CONFIGURE_OFF= --without-dahdi --without-openr2
75 DAHDI_BUILD_DEPENDS= libpri>=1.4.10:${PORTSDIR}/misc/libpri \
76 ${LOCALBASE}/include/dahdi/user.h:${PORTSDIR}/misc/dahdi
77 DAHDI_LIB_DEPENDS= libpri.so:${PORTSDIR}/misc/libpri \
78 libopenr2.so:${PORTSDIR}/misc/openr2
79 ODBC_CONFIGURE_WITH= unixodbc
80 ODBC_CONFIGURE_ON= --with-ltdl
81 ODBC_LIB_DEPENDS= libodbc.so:${PORTSDIR}/databases/unixODBC \
82 libltdl.so:${PORTSDIR}/devel/libltdl
83 FREETDS_CONFIGURE_ON= --with-tds=${LOCALBASE}
84 FREETDS_CONFIGURE_OFF= --without-tds
85 FREETDS_LIB_DEPENDS= libsybdb.so:${PORTSDIR}/databases/freetds
86 PGSQL_CONFIGURE_WITH= postgres
88 MYSQL_CONFIGURE_WITH= mysqlclient
90 VORBIS_CONFIGURE_WITH= ogg
91 VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
92 RADIUS_CONFIGURE_WITH= radius
93 RADIUS_LIB_DEPENDS= libradiusclient-ng.so:${PORTSDIR}/net/radiusclient
94 SNMP_CONFIGURE_WITH= netsnmp
95 SNMP_LIB_DEPENDS= libnetsnmp.so:${PORTSDIR}/net-mgmt/net-snmp
96 JABBER_CONFIGURE_WITH= iksemel
97 JABBER_LIB_DEPENDS= libiksemel.so:${PORTSDIR}/textproc/iksemel
98 SQLITE_CONFIGURE_WITH= sqlite
99 SQLITE_CONFIGURE_OFF= --with-sqlite3=no
100 SQLITE_LIB_DEPENDS= libsqlite.so:${PORTSDIR}/databases/sqlite2 \
101 libsqlite3.so:${PORTSDIR}/databases/sqlite3
102 GSM_CONFIGURE_WITH= gsm
103 GSM_LIB_DEPENDS= libgsm.so:${PORTSDIR}/audio/gsm
104 CURL_CONFIGURE_ON= --with-libcurl
105 CURL_CONFIGURE_OFF= --with-libcurl=no
106 CURL_LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl
107 SPANDSP_CONFIGURE_WITH= spandsp
108 SPANDSP_LIB_DEPENDS= libspandsp.so:${PORTSDIR}/comms/spandsp
109 EXCHANGE_CONFIGURE_OFF= --without-neon --without-neon29
110 EXCHANGE_LIB_DEPENDS= libneon.so:${PORTSDIR}/www/neon
111 SRTP_CONFIGURE_WITH= srtp
112 SRTP_BUILD_DEPENDS= libsrtp>=1.4.4:${PORTSDIR}/net/libsrtp
113 LUA_CONFIGURE_WITH= lua
115 LUA_CFLAGS= -I${LUA_INCDIR}
116 LUA_LDFLAGS= -L${LUA_LIBDIR}
117 LDAP_CONFIGURE_WITH= ldap
118 LDAP_USE= OPENLDAP=yes
120 PORTSCOUT= limit:^1\.8\.
122 ASTERISK_USER?= asterisk
123 ASTERISK_GROUP?= asterisk
125 USERS= ${ASTERISK_USER}
126 GROUPS= ${ASTERISK_GROUP} dahdi
128 .include <bsd.port.pre.mk>
130 .if ${PREFIX} == ${LOCALBASE}
136 SUB_LIST+= ASTERISK_USER=${ASTERISK_USER}
137 PLIST_SUB+= ASTERISK_USER=${ASTERISK_USER}
138 PLIST_SUB+= ASTERISK_GROUP=${ASTERISK_GROUP}
139 PLIST_SUB+= VARDIR=${VARDIR}
142 ${FIND} ${WRKSRC} -name '*.d' -delete
145 ${REINPLACE_CMD} -e 's|/var/lib|${PREFIX}/share|g' ${WRKSRC}/configs/musiconhold.conf.sample
148 @cd ${WRKSRC} && ${MAKE_CMD} menuselect.makeopts
149 @cd ${WRKSRC} && ./menuselect/menuselect --disable res_timing_kqueue menuselect.makeopts
150 .if ${PORT_OPTIONS:MMYSQL}
151 @cd ${WRKSRC} && ./menuselect/menuselect --enable res_config_mysql menuselect.makeopts
152 @cd ${WRKSRC} && ./menuselect/menuselect --enable app_mysql menuselect.makeopts
153 @cd ${WRKSRC} && ./menuselect/menuselect --enable cdr_mysql menuselect.makeopts
155 .if ${PORT_OPTIONS:MOOH323}
156 @cd ${WRKSRC} && ./menuselect/menuselect --enable chan_ooh323 menuselect.makeopts
158 .if ${PORT_OPTIONS:MNEWG711}
159 @cd ${WRKSRC} && ./menuselect/menuselect --enable G711_NEW_ALGORITHM menuselect.makeopts
163 @${RM} ${STAGEDIR}${ETCDIR}/*.conf ${STAGEDIR}${ETCDIR}/extensions.ael ${STAGEDIR}${ETCDIR}/extensions.lua
165 .include <bsd.port.post.mk>