271 lines
7.0 KiB
Makefile
271 lines
7.0 KiB
Makefile
# $OpenBSD: Makefile,v 1.107 2011/03/24 22:40:51 sthen Exp $
|
|
|
|
SHARED_ONLY= Yes
|
|
COMMENT-main= open source multi-protocol PBX and telephony toolkit
|
|
|
|
VER= 1.8.3.2
|
|
DISTNAME= asterisk-${VER:S/beta/-beta/:S/rc/-rc/}
|
|
PKGNAME-main= asterisk-${VER}
|
|
|
|
REVISION-main= 0
|
|
|
|
SOUNDS= CORE MOH EXTRA
|
|
SOUNDS_CORE= asterisk-core-sounds-en-gsm-1.4.20
|
|
SOUNDS_MOH= asterisk-moh-opsound-wav-2.03
|
|
SOUNDS_EXTRA= asterisk-extra-sounds-en-gsm-1.4.11
|
|
|
|
CATEGORIES= telephony
|
|
|
|
HOMEPAGE= http://www.asterisk.org/
|
|
|
|
MAINTAINER= Stuart Henderson <sthen@openbsd.org>
|
|
|
|
# Mostly GPL v2 (only). "Specific permission is also granted to link
|
|
# Asterisk with OpenSSL and OpenH323 and distribute the resulting binary
|
|
# files." core-sounds-*: GPLv2/CC-BY-SA.
|
|
PERMIT_PACKAGE_CDROM= Yes
|
|
PERMIT_PACKAGE_FTP= Yes
|
|
PERMIT_DISTFILES_CDROM= Yes
|
|
PERMIT_DISTFILES_FTP= Yes
|
|
|
|
WANTLIB-main += c crypto curl execinfo gsm iconv idn iksemel
|
|
WANTLIB-main += m ogg pthread spandsp sqlite3 ssl stdc++ termcap
|
|
WANTLIB-main += tiff vorbis vorbisenc xml2 z
|
|
|
|
MODULES= devel/gettext
|
|
MULTI_PACKAGES+= -main
|
|
SUBST_VARS+= ${SOUNDS:S/^/SOUNDS_/}
|
|
|
|
LIB_DEPENDS-main= audio/gsm \
|
|
audio/libogg \
|
|
audio/libvorbis \
|
|
databases/sqlite3 \
|
|
devel/libexecinfo \
|
|
graphics/tiff \
|
|
net/curl \
|
|
telephony/spandsp \
|
|
textproc/iksemel \
|
|
textproc/libxml
|
|
|
|
MASTER_SITES= http://downloads.digium.com/pub/telephony/asterisk/releases/ \
|
|
http://downloads.digium.com/pub/telephony/asterisk/old-releases/
|
|
MASTER_SITES0= ${MASTER_SITES:C/asterisk/sounds/}
|
|
|
|
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
|
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
|
|
|
|
.for i in ${SOUNDS}
|
|
SVER_$i = ${SOUNDS_$i:C/^[-a-z]*//}
|
|
SUBST_VARS += SVER_$i
|
|
DISTFILES += ${SOUNDS_$i}${EXTRACT_SUFX}:0 ${SOUNDS_$i}${EXTRACT_SUFX}.sha1:0
|
|
.endfor
|
|
|
|
USE_GMAKE= Yes
|
|
USE_LIBTOOL= Yes
|
|
|
|
CONFIGURE_STYLE= gnu
|
|
AUTOCONF_VERSION= 2.65
|
|
AUTOMAKE_VERSION= 1.10
|
|
BUILD_DEPENDS+= ${MODGNU_AUTOCONF_DEPENDS} \
|
|
${MODGNU_AUTOMAKE_DEPENDS}
|
|
|
|
CPPFLAGS+= -I${X11BASE}/include -I${LOCALBASE}/include
|
|
LDFLAGS+= -L${X11BASE}/lib -L${LOCALBASE}/lib
|
|
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" \
|
|
CFLAGS="${CFLAGS}" \
|
|
LDFLAGS="${LDFLAGS}"
|
|
MAKE_FLAGS+= ASTCFLAGS="${CFLAGS}" \
|
|
ASTLDFLAGS="${LDFLAGS}" \
|
|
NOISY_BUILD="Yes" \
|
|
OPTIMIZE=
|
|
|
|
CONFIGURE_ARGS+= --localstatedir=/var \
|
|
--with-sounds-cache=${DISTDIR}
|
|
|
|
CONFIGURE_ARGS+= --with-asound=no \
|
|
--with-avcodec=no \
|
|
--with-cap=no \
|
|
--with-dahdi=no \
|
|
--with-gtk2=no \
|
|
--with-gmime=no \
|
|
--with-isdnnet=no \
|
|
--with-misdn=no \
|
|
--with-nbs=no \
|
|
--with-newt=no \
|
|
--with-osptk=no \
|
|
--with-oss=no \
|
|
--with-pri=no \
|
|
--with-SDL_image=no \
|
|
--with-sdl=no \
|
|
--with-sqlite=no \
|
|
--with-ss7=no \
|
|
--with-suppserv=no \
|
|
--with-tinfo=no \
|
|
--with-tonezone=no \
|
|
--with-usb=no \
|
|
--with-vpb=no
|
|
|
|
CONFIGURE_ARGS+= --with-jack=no \
|
|
--with-lua=no \
|
|
--with-portaudio=no \
|
|
--with-radius=no \
|
|
--with-resample=no \
|
|
--with-tds=no
|
|
|
|
# Some build options (including a useful malloc debug) are available
|
|
# via menuselect. They may be enabled by running 'make configure', cd
|
|
# to WRKSRC, 'gmake menuselect', then 'cd -' back to the port directory
|
|
# and 'make'.
|
|
|
|
FLAVOR?=
|
|
FLAVORS= imap
|
|
#FLAVORS+= h323 # XXX requires older h323
|
|
|
|
## flavours:
|
|
|
|
.if ${FLAVOR:L:Mh323}
|
|
LIB_DEPENDS-main+= net/h323plus
|
|
WANTLIB-main+= SDL avutil expat h323.>=3 lber ldap ldap_r pt.>=3 sasl2
|
|
.else
|
|
CONFIGURE_ARGS+= --with-pwlib=no \
|
|
--with-h323=no
|
|
.endif
|
|
|
|
.if ${FLAVOR:L:Mimap}
|
|
CONFIGURE_ARGS+= --with-imap=yes
|
|
MAKE_FLAGS+= MENUSELECT_OPTS_app_voicemail=IMAP_STORAGE
|
|
CPPFLAGS+= -I${LOCALBASE}/include/c-client
|
|
LIB_DEPENDS-main+= mail/imap-uw,-c-client
|
|
WANTLIB-main+= c-client gssapi krb5
|
|
.else
|
|
CONFIGURE_ARGS+= --with-imap=no
|
|
.endif
|
|
|
|
## multipackages:
|
|
|
|
# calendar
|
|
PSEUDO_FLAVORS+= no_calendar
|
|
.if ${FLAVOR:L:Mno_calendar}
|
|
CONFIGURE_ARGS+= --with-ical=no
|
|
.else
|
|
MULTI_PACKAGES+= -calendar
|
|
COMMENT-calendar= calendar support for Asterisk
|
|
WANTLIB-calendar= ${MODGETTEXT_WANTLIB} asn1 crypto expat gssapi \
|
|
ical iksemel krb5 m neon ssl xml2 z
|
|
LIB_DEPENDS-calendar= net/neon \
|
|
textproc/libical \
|
|
${MODGETTEXT_LIB_DEPENDS}
|
|
.endif
|
|
|
|
# ldap
|
|
PSEUDO_FLAVORS+= no_ldap
|
|
.if ${FLAVOR:L:Mno_ldap}
|
|
CONFIGURE_ARGS+= --with-ldap=no
|
|
.else
|
|
MULTI_PACKAGES+= -ldap
|
|
COMMENT-ldap= LDAP support for Asterisk
|
|
LIB_DEPENDS-ldap= databases/openldap,-main
|
|
WANTLIB-ldap= ldap
|
|
.endif
|
|
|
|
# mysql need to handle building addons/ first XXX
|
|
#PSEUDO_FLAVORS+= no_mysql
|
|
#.if ${FLAVOR:L:Mno_mysql}
|
|
#CONFIGURE_ARGS+= --with-mysqlclient=no
|
|
#.else
|
|
#MULTI_PACKAGES+= -mysql
|
|
#COMMENT-mysql= MySQL support for Asterisk
|
|
#WANTLIB-mysql= mysqlclient
|
|
#LIB_DEPENDS-mysql= databases/mysql
|
|
#.endif
|
|
|
|
# odbc
|
|
PSEUDO_FLAVORS+= no_odbc
|
|
.if ${FLAVOR:L:Mno_odbc}
|
|
CONFIGURE_ARGS+= --with-iodbc=no \
|
|
--with-ltdl=no
|
|
.else
|
|
MULTI_PACKAGES+= -odbc
|
|
COMMENT-odbc= ODBC support for Asterisk
|
|
LIB_DEPENDS-odbc= databases/iodbc
|
|
WANTLIB-odbc= iodbc
|
|
.endif
|
|
|
|
# postgresql
|
|
PSEUDO_FLAVORS+= no_pgsql
|
|
.if ${FLAVOR:L:Mno_pgsql}
|
|
CONFIGURE_ARGS+= --with-postgres=no
|
|
.else
|
|
MULTI_PACKAGES+= -pgsql
|
|
COMMENT-pgsql= PostgreSQL support for Asterisk
|
|
WANTLIB-pgsql= pq z
|
|
LIB_DEPENDS-pgsql= databases/postgresql
|
|
.endif
|
|
|
|
# snmp
|
|
PSEUDO_FLAVORS+= no_snmp
|
|
.if ${FLAVOR:L:Mno_snmp}
|
|
CONFIGURE_ARGS+= --with-snmp=no
|
|
.else
|
|
MULTI_PACKAGES+= -snmp
|
|
COMMENT-snmp= Net-SNMP support for Asterisk
|
|
WANTLIB-snmp= c m netsnmp netsnmpagent netsnmphelpers netsnmpmibs perl util
|
|
LIB_DEPENDS-snmp= net/net-snmp
|
|
.endif
|
|
|
|
# speex
|
|
PSEUDO_FLAVORS+= no_speex
|
|
.if ${FLAVOR:L:Mno_speex}
|
|
CONFIGURE_ARGS+= --with-speex=no
|
|
.else
|
|
MULTI_PACKAGES+= -speex
|
|
COMMENT-speex= Speex codec for Asterisk
|
|
WANTLIB-speex= m speex speexdsp
|
|
LIB_DEPENDS-speex= audio/speex>=1.2rc1
|
|
.endif
|
|
|
|
NO_REGRESS= Yes
|
|
INSTALL_TARGET= install samples
|
|
EXAMPLEDIR= ${PREFIX}/share/examples/asterisk
|
|
EXAMPLEFILES= cdr.conf extensions.ael extensions.conf logger.conf \
|
|
modules.conf musiconhold.conf sip.conf voicemail.conf
|
|
|
|
.for i in ${MULTI_PACKAGES:N-main}
|
|
# subpackages aren't flavoured, so overwrite the default name/path
|
|
FULLPKGNAME$i ?= asterisk$i-${VER}
|
|
FULLPKGPATH$i ?= ${PKGPATH},$i
|
|
RUN_DEPENDS$i += asterisk-${VER}:${PKGPATH}
|
|
.endfor
|
|
|
|
post-patch:
|
|
@grep _VERSION:= ${WRKSRC}/sounds/Makefile # maintainer aid
|
|
.for i in ${SOUNDS}
|
|
@echo ${SOUNDS_$i}
|
|
.endfor
|
|
cd ${WRKSRC}; \
|
|
AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \
|
|
AUTOCONF_VERSION=${AUTOCONF_VERSION} \
|
|
./bootstrap.sh
|
|
|
|
post-install:
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/asterisk
|
|
${INSTALL_DATA} ${WRKSRC}/{BUGS,CHANGES,COPYING,CREDITS} \
|
|
${WRKSRC}/{ChangeLog,LICENSE,README*,UPGRADE*.txt} \
|
|
${PREFIX}/share/doc/asterisk
|
|
${INSTALL_DATA} ${WRKSRC}/doc/*.{pdf,txt,odt} \
|
|
${PREFIX}/share/doc/asterisk
|
|
${INSTALL_DATA_DIR} ${EXAMPLEDIR}/openbsd
|
|
.for i in ${EXAMPLEFILES}
|
|
@${SUBST_CMD} -c ${FILESDIR}/$i.sample \
|
|
${EXAMPLEDIR}/openbsd/$i.sample
|
|
.endfor
|
|
${INSTALL_DATA} ${WRKSRC}/contrib/scripts/asterisk.ldif \
|
|
${WRKSRC}/contrib/scripts/asterisk.ldap-schema \
|
|
${PREFIX}/share/examples/asterisk/
|
|
@mv ${WRKINST}/${SYSCONFDIR}/asterisk ${EXAMPLEDIR}/default
|
|
@mv ${WRKINST}/var/spool/asterisk/voicemail ${EXAMPLEDIR}/voicemail
|
|
@chown -R ${SHAREOWN}:${SHAREGRP} ${EXAMPLEDIR}
|
|
@rm -rf ${WRKINST}/{etc,var/{log,run,spool}}/asterisk
|
|
|
|
.include <bsd.port.mk>
|