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