Fixup fromcvs/togit conversion
[pkgsrcv2.git] / comms / asterisk10 / Makefile
1 # $NetBSD$
2 #
3 # NOTE: when updating this package, there are two places that sound
4 #       tarballs need to be checked
5
6 DISTNAME=       asterisk-10.8.0
7 DIST_SUBDIR=    ${PKGNAME_NOREV}
8 DISTFILES=      ${DEFAULT_DISTFILES}
9 EXTRACT_ONLY=   ${DISTNAME}.tar.gz
10 PKGREVISION=    2
11 CATEGORIES=     comms net audio
12 MASTER_SITES=   http://downloads.asterisk.org/pub/telephony/asterisk/ \
13                 http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ \
14                 http://downloads.asterisk.org/pub/telephony/sounds/releases/
15
16 OWNER=          jnemeth@NetBSD.org
17 HOMEPAGE=       http://www.asterisk.org/
18 COMMENT=        The Asterisk Software PBX
19 LICENSE=        gnu-gpl-v2
20
21 CONFLICTS+=     asterisk-sounds-extra-[0-9]*
22
23 PKG_DESTDIR_SUPPORT=    user-destdir
24
25 .include "../../mk/bsd.prefs.mk"
26
27 USE_TOOLS+=             bison gmake perl:run pkg-config tar
28 USE_LANGUAGES=          c c++
29 REPLACE_PERL+=          agi/DialAnMp3.agi agi/agi-test.agi
30 REPLACE_PERL+=          agi/fastagi-test agi/jukebox.agi agi/numeralize
31 REPLACE_PERL+=          contrib/scripts/vmail.cgi
32
33 GNU_CONFIGURE=          yes
34 CONFIGURE_ARGS+=        --datarootdir=${PREFIX}/libdata
35 CONFIGURE_ARGS+=        --sysconfdir=${PKG_SYSCONFDIR}
36 CONFIGURE_ARGS+=        --without-gtk2
37 # XXX remove when lang/lua gets builtin.mk
38 CONFIGURE_ARGS+=        --without-lua
39
40 INSTALL_TARGET=         install samples
41 INSTALLATION_DIRS+=     lib/pkgconfig share/doc/${PKGBASE}
42 INSTALLATION_DIRS+=     share/examples/asterisk share/examples/rc.d
43 INSTALLATION_DIRS+=     ${ASTDATADIR}/sounds/en ${ASTDATADIR}/moh
44
45 BUILD_DEFS+=            VARBASE
46
47 ASTERISK_USER?=         asterisk
48 ASTERISK_GROUP?=        asterisk
49 PKG_GROUPS=             ${ASTERISK_GROUP}
50 PKG_USERS=              ${ASTERISK_USER}:${ASTERISK_GROUP}
51 PKG_GECOS.${ASTERISK_USER}=     Asterisk PBX
52 PKG_GROUPS_VARS=        ASTERISK_GROUP
53 PKG_USERS_VARS=         ASTERISK_USER
54 FILES_SUBST+=           ASTERISK_USER=${ASTERISK_USER}
55 FILES_SUBST+=           ASTERISK_GROUP=${ASTERISK_GROUP}
56 MESSAGE_SUBST+=         ASTERISK_USER=${ASTERISK_USER}
57 MESSAGE_SUBST+=         ASTERISK_GROUP=${ASTERISK_GROUP}
58
59 # Various path settings for Asterisk
60 PKG_SYSCONFSUBDIR=      asterisk
61 PKG_SYSCONFDIR_PERMS=   ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
62 ASTETCDIR=              ${PKG_SYSCONFDIR}
63 ASTEXAMPLEDIR=          ${PREFIX}/share/examples/asterisk
64 ASTDBDIR=               ${VARBASE}/db/asterisk
65 ASTSPOOLDIR=            ${VARBASE}/spool/asterisk
66 ASTLOGDIR=              ${VARBASE}/log/asterisk
67 MESSAGE_SUBST+=         ASTDBDIR=${ASTDBDIR}
68 MESSAGE_SUBST+=         ASTSPOOLDIR=${ASTSPOOLDIR}
69 MESSAGE_SUBST+=         ASTLOGDIR=${ASTLOGDIR}
70 ASTVARRUNDIR=           ${VARBASE}/run/asterisk
71 FILES_SUBST+=           ASTVARRUNDIR=${ASTVARRUNDIR}
72 ASTDATADIR=             ${PREFIX}/libdata/asterisk
73 MAKE_FLAGS+=            ASTLIBDIR=${PREFIX}/lib/asterisk
74 MAKE_FLAGS+=            ASTVARLIBDIR=${ASTDATADIR}
75 MAKE_FLAGS+=            ASTKEYDIR=${ASTDATADIR}
76 MAKE_FLAGS+=            ASTDATADIR=${ASTDATADIR}
77 MAKE_FLAGS+=            ASTSPOOLDIR=${ASTSPOOLDIR}
78 MAKE_FLAGS+=            ASTLOGDIR=${ASTLOGDIR}
79 MAKE_FLAGS+=            ASTHEADERDIR=${PREFIX}/include/asterisk
80 MAKE_FLAGS+=            ASTCONFPATH=${ASTETCDIR}/asterisk.conf
81 MAKE_FLAGS+=            ASTBINDIR=${PREFIX}/bin
82 MAKE_FLAGS+=            ASTSBINDIR=${PREFIX}/sbin
83 MAKE_FLAGS+=            ASTVARRUNDIR=${ASTVARRUNDIR}
84 MAKE_FLAGS+=            ASTMANDIR=${PREFIX}/${PKGMANDIR}
85 MAKE_FLAGS+=            ASTETCDIR=${ASTETCDIR}
86 MAKE_FLAGS+=            ASTDBDIR=${ASTDBDIR}
87 MAKE_FLAGS+=            AGI_DIR=${PREFIX}/libexec/agi-bin
88 MAKE_FLAGS+=            ASTEXAMPLEDIR=${ASTEXAMPLEDIR}
89 MAKE_FLAGS+=            WRKSRC=${WRKSRC}
90 MAKE_FLAGS+=            LDOPTS=${LDFLAGS:M*:Q}
91 MAKE_FLAGS+=            HTTP_DOCSDIR=${PREFIX}/share/httpd/htdocs
92 MAKE_FLAGS+=            HTTP_CGIDIR=${PREFIX}/libexec/cgi-bin
93 MAKE_FLAGS+=            OPTIMIZE=-O3
94
95 .if !empty(MACHINE_PLATFORM:MSunOS-*-i386)
96 BUILDLINK_TRANSFORM+=   rm:-march=i386
97 .endif
98
99 PLIST_VARS+=    kqueue
100 .if exists(/usr/include/sys/event.h)
101 PLIST.kqueue=   yes
102 .endif
103
104 PLIST_VARS+=    mgcp
105 # NOSIGPIPE is a temp variable, since PLIST.mgcp MUST remain undefined
106 # if the grep fails
107 NOSIGPIPE!=     ${GREP} SO_NOSIGPIPE /usr/include/sys/socket.h || echo ""
108 .if ${NOSIGPIPE} != ""
109 PLIST.mgcp= yes
110 .endif
111
112 .include "options.mk"
113
114 # check sounds/Makefile for current version when upgrading package
115 DISTFILES+=     asterisk-extra-sounds-en-gsm-1.4.11.tar.gz
116
117 # Override default paths in config files
118 SUBST_CLASSES+=         configs
119 SUBST_STAGE.configs=    pre-configure
120 SUBST_FILES.configs=    configs/cli_aliases.conf.sample
121 SUBST_FILES.configs+=   configs/festival.conf.sample
122 SUBST_FILES.configs+=   configs/http.conf.sample
123 SUBST_FILES.configs+=   configs/iax.conf.sample
124 SUBST_FILES.configs+=   configs/musiconhold.conf.sample
125 SUBST_FILES.configs+=   configs/osp.conf.sample
126 SUBST_FILES.configs+=   configs/phoneprov.conf.sample
127 SUBST_FILES.configs+=   configs/res_config_sqlite.conf.sample
128 SUBST_FILES.configs+=   configs/sla.conf.sample
129 SUBST_SED.configs+=     -e 's|doc/|${PREFIX}/share/doc/${PKGBASE}/|'
130 SUBST_SED.configs+=     -e 's|/etc/asterisk|${ASTETCDIR}|'
131 SUBST_SED.configs+=     -e 's|/var/lib/asterisk|${ASTVARLIBDIR}|'
132 SUBST_SED.configs+=     -e "s|/usr/local/man|${ASTMANDIR}|"
133 SUBST_SED.configs+=     -e "s|/usr/local|${PREFIX}|"
134 SUBST_SED.configs+=     -e "s|/var|${VARBASE}|"
135
136 # XXX gross hack, remove when atomics properly implemented
137 .if (${OPSYS} == "NetBSD")
138 SUBST_CLASSES+=         atomics
139 SUBST_STAGE.atomics=    post-configure
140 SUBST_FILES.atomics=    include/asterisk/autoconfig.h
141 SUBST_SED.atomics=      -e "s|^\#define HAVE_GCC_ATOMICS 1|\#undef HAVE_GCC_ATOMICS|"
142 .endif
143
144 RCD_SCRIPTS=            asterisk
145 OWN_DIRS_PERMS+=        ${ASTDBDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
146 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
147 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/dictate ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
148 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/meetme ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
149 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/monitor ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
150 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/outgoing ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
151 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/system ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
152 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/tmp ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
153 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
154 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail/default ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
155 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail/default/1234 ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
156 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail/default/1234/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
157 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail/default/1234/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
158 SPECIAL_PERMS+=         ${ASTSPOOLDIR}/voicemail/default/1234/en/busy.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
159 SPECIAL_PERMS+=         ${ASTSPOOLDIR}/voicemail/default/1234/en/unavail.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
160 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail/default/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
161 OWN_DIRS_PERMS+=        ${ASTSPOOLDIR}/voicemail/default/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
162 OWN_DIRS_PERMS+=        ${ASTLOGDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
163 OWN_DIRS_PERMS+=        ${ASTLOGDIR}/cdr-csv ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
164 OWN_DIRS_PERMS+=        ${ASTLOGDIR}/cdr-custom ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
165
166 CONF_FILES_PERMS=       # empty
167 .for f in asterisk.conf extensions.conf
168 CONF_FILES_PERMS+=      ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
169 .endfor
170
171 # if we put all the files in $CONF_FILES, the message is _way_ too long.
172 .for f in adsi.conf agents.conf ais.conf alarmreceiver.conf alsa.conf   \
173         amd.conf app_mysql.conf asterisk.adsi calendar.conf ccss.conf   \
174         cdr.conf cdr_adaptive_odbc.conf cdr_custom.conf                 \
175         cdr_manager.conf cdr_mysql.conf cdr_odbc.conf cdr_pgsql.conf    \
176         cdr_sqlite3_custom.conf cdr_syslog.conf cdr_tds.conf cel.conf   \
177         cel_custom.conf cel_odbc.conf cel_pgsql.conf                    \
178         cel_sqlite3_custom.conf cel_tds.conf chan_dahdi.conf            \
179         chan_mobile.conf chan_ooh323.conf cli.conf cli_aliases.conf     \
180         cli_permissions.conf codecs.conf confbridge.conf console.conf   \
181         dbsep.conf dnsmgr.conf dsp.conf dundi.conf enum.conf            \
182         extconfig.conf extensions.ael extensions.conf extensions.lua    \
183         extensions_minivm.conf features.conf festival.conf              \
184         followme.conf func_odbc.conf gtalk.conf h323.conf http.conf     \
185         iax.conf iaxprov.conf indications.conf jabber.conf jingle.conf  \
186         logger.conf manager.conf meetme.conf mgcp.conf minivm.conf      \
187         misdn.conf modules.conf musiconhold.conf muted.conf osp.conf    \
188         oss.conf phone.conf phoneprov.conf queuerules.conf queues.conf  \
189         res_config_mysql.conf res_config_sqlite.conf res_curl.conf      \
190         res_fax.conf res_ldap.conf res_odbc.conf res_pgsql.conf         \
191         res_pktccops.conf res_snmp.conf res_stun_monitor.conf rtp.conf  \
192         say.conf sip.conf sip_notify.conf skinny.conf sla.conf          \
193         smdi.conf telcordia-1.adsi udptl.conf unistim.conf users.conf   \
194         voicemail.conf vpb.conf
195 CONF_FILES_PERMS+=              ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
196 .endfor
197
198 PTHREAD_OPTS+=  require native
199
200 .if (${OPSYS} == "Darwin" && exists(/usr/include/sys/poll.h))
201 post-patch:
202         ${ECHO} "#include <sys/poll.h>" > ${WRKSRC}/include/asterisk/poll-compat.h
203 .endif
204
205 post-install:
206 # check sounds directory for current versions when upgrading package
207         ${TAR} xzf ${WRKSRC}/sounds/asterisk-core-sounds-en-gsm-1.4.22.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en
208         ${TAR} xzf ${WRKSRC}/sounds/asterisk-moh-opsound-wav-2.03.tar.gz -C ${DESTDIR}${ASTDATADIR}/moh
209         ${TAR} xzf ${DISTDIR}/${DIST_SUBDIR}/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en
210         ${INSTALL_DATA} ${WRKSRC}/BUGS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
211         ${INSTALL_DATA} ${WRKSRC}/CHANGES ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
212         ${INSTALL_DATA} ${WRKSRC}/COPYING ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
213         ${INSTALL_DATA} ${WRKSRC}/CREDITS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
214         ${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
215         ${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
216         ${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
217         ${INSTALL_DATA} ${WRKSRC}/README-SERIOUSLY.bestpractices.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
218         ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.2.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
219         ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.4.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
220         ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.6.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
221         ${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.8.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
222         ${INSTALL_DATA} ${WRKSRC}/UPGRADE.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
223         ${INSTALL_DATA} ${WRKSRC}/Zaptel-to-DAHDI.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
224         ${INSTALL_DATA} ${WRKSRC}/doc/Asterisk-Admin-Guide.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
225         ${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
226         ${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
227         ${INSTALL_DATA} ${WRKSRC}/doc/README.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
228         ${INSTALL_DATA} ${WRKSRC}/doc/api-1.6.2-changes.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
229         cp -r ${WRKSRC}/doc/Asterisk-Admin-Guide ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}/Asterisk-Admin-Guide
230
231 .include "../../databases/sqlite3/buildlink3.mk"
232 .include "../../devel/zlib/buildlink3.mk"
233 .include "../../security/openssl/buildlink3.mk"
234 .include "../../textproc/libxml2/buildlink3.mk"
235 .include "../../www/curl/buildlink3.mk"
236 .include "../../mk/curses.buildlink3.mk"
237 .include "../../mk/pthread.buildlink3.mk"
238 .include "../../mk/bsd.pkg.mk"