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