diff options
Diffstat (limited to 'comms/asterisk/Makefile')
-rw-r--r-- | comms/asterisk/Makefile | 270 |
1 files changed, 199 insertions, 71 deletions
diff --git a/comms/asterisk/Makefile b/comms/asterisk/Makefile index 98207d7654a..ad03857403c 100644 --- a/comms/asterisk/Makefile +++ b/comms/asterisk/Makefile @@ -1,97 +1,196 @@ -# $NetBSD: Makefile,v 1.75 2012/10/03 21:54:04 wiz Exp $ - -DISTNAME= asterisk-1.2.37 -PKGREVISION= 4 +# $NetBSD: Makefile,v 1.76 2012/12/11 08:22:48 jnemeth Exp $ +# +# NOTE: when updating this package, there are two places that sound +# tarballs need to be checked + +DISTNAME= asterisk-11.1.0 +DIST_SUBDIR= ${PKGNAME_NOREV} +DISTFILES= ${DEFAULT_DISTFILES} +EXTRACT_ONLY= ${DISTNAME}.tar.gz CATEGORIES= comms net audio -MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/releases/ \ - http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ +MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/ \ + http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ \ + http://downloads.asterisk.org/pub/telephony/sounds/releases/ -MAINTAINER= pkgsrc-users@NetBSD.org +OWNER= jnemeth@NetBSD.org HOMEPAGE= http://www.asterisk.org/ COMMENT= The Asterisk Software PBX LICENSE= gnu-gpl-v2 +CONFLICTS+= asterisk-sounds-extra-[0-9]* + .include "../../mk/bsd.prefs.mk" -USE_TOOLS+= bash bison gmake perl:run -REPLACE_BASH= mkpkgconfig -REPLACE_PERL+= agi/agi-test.agi +USE_TOOLS+= bison gmake perl:run pkg-config tar +USE_LANGUAGES= c c++ +REPLACE_PERL+= agi/DialAnMp3.agi agi/agi-test.agi +REPLACE_PERL+= agi/fastagi-test agi/jukebox.agi agi/numeralize +REPLACE_PERL+= contrib/scripts/vmail.cgi + +GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --datarootdir=${PREFIX}/libdata +CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} +CONFIGURE_ARGS+= --without-gtk2 +# XXX remove when lang/lua gets builtin.mk +CONFIGURE_ARGS+= --without-lua INSTALL_TARGET= install samples -INSTALLATION_DIRS= lib/pkgconfig +INSTALLATION_DIRS+= lib/pkgconfig share/doc/${PKGBASE} +INSTALLATION_DIRS+= share/examples/asterisk share/examples/rc.d +INSTALLATION_DIRS+= ${ASTDATADIR}/sounds/en ${ASTDATADIR}/moh BUILD_DEFS+= VARBASE -# Running as non-root will come later -#ASTERISK_USER?= asterisk -#ASTERISK_GROUP?= asterisk -#PKG_GROUPS= ${ASTERISK_GROUP} -#PKG_USERS= ${ASTERISK_USER}:${ASTERISK_GROUP} -#PKG_GROUPS_VARS+= ASTERISK_GROUP -#PKG_USERS_VARS+= ASTERISK_USER +ASTERISK_USER?= asterisk +ASTERISK_GROUP?= asterisk +PKG_GROUPS= ${ASTERISK_GROUP} +PKG_USERS= ${ASTERISK_USER}:${ASTERISK_GROUP} +PKG_GECOS.${ASTERISK_USER}= Asterisk PBX +PKG_GROUPS_VARS= ASTERISK_GROUP +PKG_USERS_VARS= ASTERISK_USER +FILES_SUBST+= ASTERISK_USER=${ASTERISK_USER} +FILES_SUBST+= ASTERISK_GROUP=${ASTERISK_GROUP} +MESSAGE_SUBST+= ASTERISK_USER=${ASTERISK_USER} +MESSAGE_SUBST+= ASTERISK_GROUP=${ASTERISK_GROUP} # Various path settings for Asterisk PKG_SYSCONFSUBDIR= asterisk -ASTLIBDIR?= ${PREFIX}/lib/asterisk -ASTVARLIBDIR?= ${PREFIX}/libdata/asterisk -ASTETCDIR?= ${PKG_SYSCONFDIR} -ASTSPOOLDIR?= ${VARBASE}/spool/asterisk -ASTLOGDIR?= ${VARBASE}/log/asterisk -ASTHEADERDIR?= ${PREFIX}/include/asterisk -ASTCONFPATH?= ${ASTETCDIR}/asterisk.conf -ASTBINDIR?= ${PREFIX}/bin -ASTSBINDIR?= ${PREFIX}/sbin -ASTVARRUNDIR?= ${VARBASE}/run -ASTMANDIR?= ${PREFIX}/${PKGMANDIR} -ASTEXAMPLEDIR?= ${PREFIX}/share/examples/asterisk - -# Override default paths in Makefile -SUBST_CLASSES+= asterisk -SUBST_STAGE.asterisk= pre-configure -SUBST_FILES.asterisk= Makefile configs/musiconhold.conf.sample -SUBST_SED.asterisk+= -e 's|/var/lib/asterisk|${ASTVARLIBDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTLIBDIR\)=.*|\1 = ${ASTLIBDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTVARLIBDIR\)=.*|\1 = ${ASTVARLIBDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTETCDIR\)=.*|\1 = ${ASTETCDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTSPOOLDIR\)=.*|\1 = ${ASTSPOOLDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTLOGDIR\)=.*|\1 = ${ASTLOGDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTHEADERDIR\)=.*|\1 = ${ASTHEADERDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTCONFPATH\)=.*|\1 = ${ASTCONFPATH:Q}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTBINDIR\)=.*|\1 = ${ASTBINDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTSBINDIR\)=.*|\1 = ${ASTSBINDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTVARRUNDIR\)=.*|\1 = ${ASTVARRUNDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTMANDIR\)=.*|\1 = ${ASTMANDIR}|' -SUBST_SED.asterisk+= -e 's|^ *\(ASTEXAMPLEDIR\)=.*|\1 = ${ASTEXAMPLEDIR}|' +PKG_SYSCONFDIR_PERMS= ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +ASTETCDIR= ${PKG_SYSCONFDIR} +ASTEXAMPLEDIR= ${PREFIX}/share/examples/asterisk +ASTDBDIR= ${VARBASE}/db/asterisk +ASTSPOOLDIR= ${VARBASE}/spool/asterisk +ASTLOGDIR= ${VARBASE}/log/asterisk +MESSAGE_SUBST+= ASTDBDIR=${ASTDBDIR} +MESSAGE_SUBST+= ASTSPOOLDIR=${ASTSPOOLDIR} +MESSAGE_SUBST+= ASTLOGDIR=${ASTLOGDIR} +ASTVARRUNDIR= ${VARBASE}/run/asterisk +FILES_SUBST+= ASTVARRUNDIR=${ASTVARRUNDIR} +ASTDATADIR= ${PREFIX}/libdata/asterisk +MAKE_FLAGS+= ASTLIBDIR=${PREFIX}/lib/asterisk +MAKE_FLAGS+= ASTVARLIBDIR=${ASTDATADIR} +MAKE_FLAGS+= ASTKEYDIR=${ASTDATADIR} +MAKE_FLAGS+= ASTDATADIR=${ASTDATADIR} +MAKE_FLAGS+= ASTSPOOLDIR=${ASTSPOOLDIR} +MAKE_FLAGS+= ASTLOGDIR=${ASTLOGDIR} +MAKE_FLAGS+= ASTHEADERDIR=${PREFIX}/include/asterisk +MAKE_FLAGS+= ASTCONFPATH=${ASTETCDIR}/asterisk.conf +MAKE_FLAGS+= ASTBINDIR=${PREFIX}/bin +MAKE_FLAGS+= ASTSBINDIR=${PREFIX}/sbin +MAKE_FLAGS+= ASTVARRUNDIR=${ASTVARRUNDIR} +MAKE_FLAGS+= ASTMANDIR=${PREFIX}/${PKGMANDIR} +MAKE_FLAGS+= ASTETCDIR=${ASTETCDIR} +MAKE_FLAGS+= ASTDBDIR=${ASTDBDIR} +MAKE_FLAGS+= AGI_DIR=${PREFIX}/libexec/agi-bin +MAKE_FLAGS+= ASTEXAMPLEDIR=${ASTEXAMPLEDIR} +MAKE_FLAGS+= WRKSRC=${WRKSRC} +MAKE_FLAGS+= LDOPTS=${LDFLAGS:M*:Q} +MAKE_FLAGS+= HTTP_DOCSDIR=${PREFIX}/share/httpd/htdocs +MAKE_FLAGS+= HTTP_CGIDIR=${PREFIX}/libexec/cgi-bin +MAKE_FLAGS+= OPTIMIZE=-O3 + +.if !empty(MACHINE_PLATFORM:MSunOS-*-i386) +BUILDLINK_TRANSFORM+= rm:-march=i386 +.endif + +PLIST_VARS+= kqueue +.if exists(/usr/include/sys/event.h) +PLIST.kqueue= yes +.endif + +PLIST_VARS+= mgcp +# NOSIGPIPE is a temp variable, since PLIST.mgcp MUST remain undefined +# if the grep fails +NOSIGPIPE!= ${GREP} SO_NOSIGPIPE /usr/include/sys/socket.h || echo "" +.if ${NOSIGPIPE} != "" +PLIST.mgcp= yes +.endif .include "options.mk" -RCD_SCRIPTS= asterisk -OWN_DIRS+= ${ASTSPOOLDIR} ${ASTLOGDIR} ${ASTVARRUNDIR} -OWN_DIRS+= ${ASTLOGDIR}/cdr-csv -# XXX: should be in ${VARBASE} -OWN_DIRS+= ${ASTVARLIBDIR}/sounds/priv-callerintros +# check sounds/Makefile for current version when upgrading package +DISTFILES+= asterisk-extra-sounds-en-gsm-1.4.11.tar.gz + +# Override default paths in config files +SUBST_CLASSES+= configs +SUBST_STAGE.configs= pre-configure +SUBST_FILES.configs= configs/cli_aliases.conf.sample +SUBST_FILES.configs+= configs/festival.conf.sample +SUBST_FILES.configs+= configs/http.conf.sample +SUBST_FILES.configs+= configs/iax.conf.sample +SUBST_FILES.configs+= configs/musiconhold.conf.sample +SUBST_FILES.configs+= configs/osp.conf.sample +SUBST_FILES.configs+= configs/phoneprov.conf.sample +SUBST_FILES.configs+= configs/res_config_sqlite.conf.sample +SUBST_FILES.configs+= configs/sla.conf.sample +SUBST_SED.configs+= -e 's|doc/|${PREFIX}/share/doc/${PKGBASE}/|' +SUBST_SED.configs+= -e 's|/etc/asterisk|${ASTETCDIR}|' +SUBST_SED.configs+= -e 's|/var/lib/asterisk|${ASTVARLIBDIR}|' +SUBST_SED.configs+= -e "s|/usr/local/man|${ASTMANDIR}|" +SUBST_SED.configs+= -e "s|/usr/local|${PREFIX}|" +SUBST_SED.configs+= -e "s|/var|${VARBASE}|" + +# XXX gross hack, remove when atomics properly implemented +.if (${OPSYS} == "NetBSD") +SUBST_CLASSES+= atomics +SUBST_STAGE.atomics= post-configure +SUBST_FILES.atomics= include/asterisk/autoconfig.h +SUBST_SED.atomics= -e "s|^\#define HAVE_GCC_ATOMICS 1|\#undef HAVE_GCC_ATOMICS|" +.endif -CONF_FILES= # empty +RCD_SCRIPTS= asterisk +OWN_DIRS_PERMS+= ${ASTDBDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/dictate ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/meetme ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/monitor ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/outgoing ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/system ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/tmp ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234 ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +SPECIAL_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en/busy.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644 +SPECIAL_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en/unavail.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTLOGDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTLOGDIR}/cdr-csv ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 +OWN_DIRS_PERMS+= ${ASTLOGDIR}/cdr-custom ${ASTERISK_USER} ${ASTERISK_GROUP} 0755 + +CONF_FILES_PERMS= # empty .for f in asterisk.conf extensions.conf -CONF_FILES+= ${ASTEXAMPLEDIR}/${f:Q} ${ASTETCDIR}/${f:Q} +CONF_FILES_PERMS+= ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644 .endfor -MAKE_ENV+= VARBASE=${VARBASE} -MAKE_ENV+= PKGSRC_RPATH=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.curl}/lib -MAKE_FLAGS+= INSTALL_PREFIX=${PREFIX} - # if we put all the files in $CONF_FILES, the message is _way_ too long. -.for f in adsi.conf adtranvofr.conf agents.conf alarmreceiver.conf \ - alsa.conf cdr_manager.conf cdr_odbc.conf \ - cdr_pgsql.conf cdr_tds.conf enum.conf extconfig.conf \ - features.conf festival.conf iax.conf \ - iaxprov.conf indications.conf logger.conf manager.conf \ - meetme.conf mgcp.conf modem.conf modules.conf musiconhold.conf \ - osp.conf oss.conf phone.conf privacy.conf queues.conf \ - res_odbc.conf rpt.conf rtp.conf sip.conf \ - skinny.conf voicemail.conf vpb.conf zapata.conf asterisk.adsi \ - telcordia-1.adsi -CONF_FILES+= ${ASTEXAMPLEDIR}/${f:Q} ${ASTETCDIR}/${f:Q} +.for f in acl.conf adsi.conf agents.conf alarmreceiver.conf alsa.conf \ + amd.conf app_mysql.conf asterisk.adsi calendar.conf ccss.conf \ + cdr.conf cdr_adaptive_odbc.conf cdr_custom.conf \ + cdr_manager.conf cdr_mysql.conf cdr_odbc.conf cdr_pgsql.conf \ + cdr_sqlite3_custom.conf cdr_syslog.conf cdr_tds.conf cel.conf \ + cel_custom.conf cel_odbc.conf cel_pgsql.conf \ + cel_sqlite3_custom.conf cel_tds.conf chan_dahdi.conf \ + chan_mobile.conf cli.conf cli_aliases.conf cli_permissions.conf \ + codecs.conf confbridge.conf console.conf dbsep.conf dnsmgr.conf \ + dsp.conf dundi.conf enum.conf extconfig.conf extensions.ael \ + extensions.conf extensions.lua extensions_minivm.conf \ + features.conf festival.conf followme.conf func_odbc.conf \ + gtalk.conf h323.conf http.conf iax.conf iaxprov.conf \ + indications.conf jabber.conf jingle.conf logger.conf \ + manager.conf meetme.conf mgcp.conf minivm.conf misdn.conf \ + modules.conf motif.conf musiconhold.conf muted.conf ooh323.conf \ + osp.conf oss.conf phone.conf phoneprov.conf queuerules.conf \ + queues.conf res_config_mysql.conf res_config_sqlite.conf \ + res_config_sqlite3.conf res_corosync.conf res_curl.conf \ + res_fax.conf res_ldap.conf res_odbc.conf res_pgsql.conf \ + res_pktccops.conf res_snmp.conf res_stun_monitor.conf rtp.conf \ + say.conf sip.conf sip_notify.conf skinny.conf sla.conf \ + smdi.conf telcordia-1.adsi udptl.conf unistim.conf users.conf \ + voicemail.conf vpb.conf xmpp.conf +CONF_FILES_PERMS+= ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644 .endfor PTHREAD_OPTS+= require native @@ -101,9 +200,38 @@ post-patch: ${ECHO} "#include <sys/poll.h>" > ${WRKSRC}/include/asterisk/poll-compat.h .endif -.include "../../devel/ncurses/buildlink3.mk" +post-install: +# check sounds directory for current versions when upgrading package + ${TAR} xzf ${WRKSRC}/sounds/asterisk-core-sounds-en-gsm-1.4.22.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en + ${TAR} xzf ${WRKSRC}/sounds/asterisk-moh-opsound-wav-2.03.tar.gz -C ${DESTDIR}${ASTDATADIR}/moh + ${TAR} xzf ${DISTDIR}/${DIST_SUBDIR}/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en + ${INSTALL_DATA} ${WRKSRC}/BUGS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/CHANGES ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/COPYING ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/CREDITS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/README-SERIOUSLY.bestpractices.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.2.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.4.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.6.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.8.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/UPGRADE-10.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/UPGRADE.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/Zaptel-to-DAHDI.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/doc/Asterisk-Admin-Guide.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/doc/README.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + ${INSTALL_DATA} ${WRKSRC}/doc/api-1.6.2-changes.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} + cp -r ${WRKSRC}/doc/Asterisk-Admin-Guide ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}/Asterisk-Admin-Guide + +.include "../../databases/sqlite3/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" +.include "../../textproc/libxml2/buildlink3.mk" .include "../../www/curl/buildlink3.mk" +.include "../../mk/curses.buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" |