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