Gentoo Archives: gentoo-commits

From: Tony Vroon <chainsaw@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/asterisk/
Date: Thu, 01 Dec 2016 16:04:54
Message-Id: 1480608286.caf99ce2b7fe3d9df2fee43422ad928fe6a8a0f7.chainsaw@gentoo
1 commit: caf99ce2b7fe3d9df2fee43422ad928fe6a8a0f7
2 Author: Tony Vroon <chainsaw <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 1 16:04:26 2016 +0000
4 Commit: Tony Vroon <chainsaw <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 1 16:04:46 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=caf99ce2
7
8 net-misc/asterisk: Bugfix releases on both the 11 & 13 branches.
9
10 Package-Manager: portage-2.3.2
11
12 net-misc/asterisk/Manifest | 2 +
13 net-misc/asterisk/asterisk-11.25.0.ebuild | 325 +++++++++++++++++++++++++++++
14 net-misc/asterisk/asterisk-13.13.0.ebuild | 328 ++++++++++++++++++++++++++++++
15 3 files changed, 655 insertions(+)
16
17 diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
18 index 4615e3c..0e044b3 100644
19 --- a/net-misc/asterisk/Manifest
20 +++ b/net-misc/asterisk/Manifest
21 @@ -1,8 +1,10 @@
22 DIST asterisk-11.21.1.tar.gz 34867941 SHA256 d02afbdda172a6bb98883350d64f83ce865fcea01642a05067ca2c916c3a1ee5 SHA512 d52a14ebae872d62cbfa676bfd86b28790d8e9cfad97585e9255cf9e8ca1957dae509d41ac46cd5280478d38707bc9628bafb31551ab8345e7064aabdbd5dea3 WHIRLPOOL 396eda8b1bc8b8a1465c90456c76f83c4946fd696ec647596bfdd2e74b32a1c6a15e9f4423d54da7ecda949f5ab472df3f08c30a99ebb099204d82cd8440d515
23 DIST asterisk-11.23.1.tar.gz 35098451 SHA256 5696a7f999dc01afdce91ed3afbd62f54b49ed37b4cbddb02bab124a88656d5c SHA512 6d067ea86a7c050b19e29d6ea25aefd23c3f32bb7d334f4e3c74bcaedaf21e4faeeab71b4fd260fc39f3e12f645c3bf89737f4c2d16f988cc66f93d4e47f80a7 WHIRLPOOL 3b2d0b67b5c58cd326176eb05ed056622cbfdb492f4acf861e6ad8bde183a4f7c0f3ef38003e120b0dcd754cafa359bec83502f0f9011edec6cda8a256058874
24 DIST asterisk-11.24.1.tar.gz 35123437 SHA256 006fe06c6a03e0c0af0ea392e500dbba7bc87b14542a7355b4d8648a0bedefc8 SHA512 d24c60070dfa82f7b35315fdff5c548ac4e2c109d77acbb995e31344df1555366291502a620ec59ac29ca28347d6d169cb2f6001d7955c3053056802bf6285df WHIRLPOOL a8111cff061f1001335a77fb8cbc85e9b7fb9092cb8f24e569dc3ce69a5e7d2db4d5a88eb249c2c9b8253b534f8c21a0452bcd4024729785e5f12575228d5244
25 +DIST asterisk-11.25.0.tar.gz 35125167 SHA256 12bc6d6b254e232417c656e86bec99e08828335e135d923f87498c133641f1c1 SHA512 a545352180612b9008ab92c7c24e416835cbf12ba3fd93c8a6ceee9b7a930b197b5ee3eb0de949605a800f0f57257393bee7deab2a1d933beed3d81ce28ec0c2 WHIRLPOOL 047654c4defe3446f3930192e3228e5df2d882ba2e7c307c15d575e1a226f401c59ca2e6d2e6a63d7fd8a2b8273961d5f900482c5a6b02fc6e45662665c9a79c
26 DIST asterisk-13.11.2.tar.gz 32630702 SHA256 6ea7001bb11ba11fcdbb5febb028b2fd62c44c7bda3cc966b8aaafcb429c5a3a SHA512 c0275d353ab19de37ddd7b026ca5c920cf2a9fa578396e6af9a170e8dd8abf51875beacb103aaa1f9829d12efadd7ab7fd608e311f7f8b855a451073fe7197e9 WHIRLPOOL 78547c3734d8c688221b88771ee75069cf00cdae25122cc309d4a33b11798723967f3933117bcea9637219134213c4f8e5c0b725908294e56931bdd805e33731
27 DIST asterisk-13.12.1.tar.gz 32701506 SHA256 fe8523a1182cdd4e638c530038956d84db1e8a63a1eece1e31e9dbbc6d3e6f30 SHA512 cbd5b15d2070302c6a7b979ccb9f43b6ecdde34e062f5f13b51c4c07b65f1cf54408cb15b64af0eab15711ff1cfb8ef25ddca1713c4c77af80cd2ee2a87a30d2 WHIRLPOOL 92a8be0382d48d12999907ef0b512fe4e95abeeb46352067db108a3fa7069861d265d75624776d489276ea4deb0a89359f0cead1cf8ed77e4b86dc19ff08c440
28 +DIST asterisk-13.13.0.tar.gz 32761401 SHA256 e35064b5d4c5c766661b34794f4e5fdf15ad683c3121b35e03c9e9f2a3fa9738 SHA512 e404a0a4239165784f6393c4e0b15aa0fb30ab2b4a32fb1bbe4c21a7c2b04e5bd4e9155030d4784dd03d409814e181aafa97494dd408aecf5c8445730191c9bb WHIRLPOOL e2115b6e27fa55595aa0db9cbf1c7b17e6c31506f436d894324abc4ebf671910afc718c57cc170d70b93f39c0c331ae937030f3100e9143eccdfc313e8544ca1
29 DIST gentoo-asterisk-patchset-3.16.tar.bz2 5018 SHA256 9c393aba3272b19ae7c7d79302c288ddb6d6b0368c72fbbeda11569ab751be6d SHA512 83d0be42f935068afd130ecf6768355d6f9702238c829e1482135d320f99e6a2ad9dd39814ea139e8a8e9009ecb99a6b3d5ed5f2cc778353d03a09183d7a06a0 WHIRLPOOL cc6a032aaa781a4eb29f913578bd10245775d9915f5a934f7c2982f44cf063cf3030b764e628b6e17f4f023558fb50e73116a19c77738ae5e8de85c0c672dfd9
30 DIST gentoo-asterisk-patchset-3.17.tar.bz2 5074 SHA256 2af864f0b40b42c55f3c3ac737856942c9393adddd47ebf6d982d9214b85a2ad SHA512 37f86f3c699b2643afd8080391e817a282571694bb56e00efd0734918dbc33d6c12a2463dbc24667597420863b4f506870140fbb8ef3f1700124ef790ae7252d WHIRLPOOL 79017eeb3737953515286db6386bfd848f7501b6f2abbc1ba6b6865a75495ce999d555e3112336abae23371a21a2d64a10f1d173e285314bb5bab22bfe2d4c1a
31 DIST gentoo-asterisk-patchset-4.03.tar.bz2 5989 SHA256 3a68854bb8a9c2c5e44615412c586606d0ba5fb3abb88e61b22c4d7dbfda7bed SHA512 acde7d6e017c260b236b0f2dafd3e02c545fc31cbd50abaff3dbc734a6423bdcfdf9c136d5c8d76fc39735d8f07f2df4086aada034d16e9b6936207e39c4abb0 WHIRLPOOL b2c1f5d8d5bd07ae57925c6746ab7193388fdbc5357f908dd60179cebacfb07b8846ac6e0b37a345916e05d57aaad9351b410c92f93b33f9498c1ccb2a374d48
32
33 diff --git a/net-misc/asterisk/asterisk-11.25.0.ebuild b/net-misc/asterisk/asterisk-11.25.0.ebuild
34 new file mode 100644
35 index 00000000..97b607c
36 --- /dev/null
37 +++ b/net-misc/asterisk/asterisk-11.25.0.ebuild
38 @@ -0,0 +1,325 @@
39 +# Copyright 1999-2016 Gentoo Foundation
40 +# Distributed under the terms of the GNU General Public License v2
41 +# $Id$
42 +
43 +EAPI=6
44 +inherit autotools eutils linux-info multilib user systemd
45 +
46 +MY_P="${PN}-${PV/_/-}"
47 +
48 +DESCRIPTION="Asterisk: A Modular Open Source PBX System"
49 +HOMEPAGE="http://www.asterisk.org/"
50 +SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz
51 + mirror://gentoo/gentoo-asterisk-patchset-3.17.tar.bz2"
52 +LICENSE="GPL-2"
53 +SLOT="0"
54 +KEYWORDS="~amd64 ~x86"
55 +
56 +IUSE_VOICEMAIL_STORAGE="
57 + +voicemail_storage_file
58 + voicemail_storage_odbc
59 + voicemail_storage_imap
60 +"
61 +IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc xmpp ldap libedit libressl lua mysql newt +samples odbc osplookup oss portaudio postgres radius selinux snmp span speex srtp static syslog vorbis"
62 +IUSE_EXPAND="VOICEMAIL_STORAGE"
63 +REQUIRED_USE="gtalk? ( xmpp )
64 + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
65 + voicemail_storage_odbc? ( odbc )
66 +"
67 +
68 +EPATCH_SUFFIX="patch"
69 +PATCHES=( "${WORKDIR}/asterisk-patchset" )
70 +
71 +CDEPEND="dev-db/sqlite:3
72 + dev-libs/popt
73 + dev-libs/libxml2
74 + !libressl? ( dev-libs/openssl:0 )
75 + libressl? ( dev-libs/libressl )
76 + sys-libs/ncurses:*
77 + sys-libs/zlib
78 + alsa? ( media-libs/alsa-lib )
79 + bluetooth? ( net-wireless/bluez )
80 + calendar? ( net-libs/neon
81 + dev-libs/libical
82 + dev-libs/iksemel )
83 + caps? ( sys-libs/libcap )
84 + cluster? ( sys-cluster/corosync )
85 + curl? ( net-misc/curl )
86 + dahdi? ( >=net-libs/libpri-1.4.12_beta2
87 + net-misc/dahdi-tools )
88 + freetds? ( dev-db/freetds )
89 + gtalk? ( dev-libs/iksemel )
90 + http? ( dev-libs/gmime:2.6 )
91 + iconv? ( virtual/libiconv )
92 + ilbc? ( dev-libs/ilbc-rfc3951 )
93 + xmpp? ( dev-libs/iksemel )
94 + ldap? ( net-nds/openldap )
95 + libedit? ( dev-libs/libedit )
96 + lua? ( dev-lang/lua:* )
97 + mysql? ( virtual/mysql )
98 + newt? ( dev-libs/newt )
99 + odbc? ( dev-db/unixODBC )
100 + osplookup? ( net-libs/osptoolkit )
101 + portaudio? ( media-libs/portaudio )
102 + postgres? ( dev-db/postgresql:* )
103 + radius? ( net-dialup/freeradius-client )
104 + snmp? ( net-analyzer/net-snmp )
105 + span? ( media-libs/spandsp )
106 + speex? ( media-libs/speex )
107 + srtp? ( net-libs/libsrtp )
108 + vorbis? ( media-libs/libvorbis )"
109 +
110 +DEPEND="${CDEPEND}
111 + !net-libs/openh323
112 + !net-libs/pjsip
113 + voicemail_storage_imap? ( virtual/imap-c-client )
114 + virtual/pkgconfig
115 +"
116 +
117 +RDEPEND="${CDEPEND}
118 + selinux? ( sec-policy/selinux-asterisk )
119 + syslog? ( virtual/logger )"
120 +
121 +PDEPEND="net-misc/asterisk-core-sounds
122 + net-misc/asterisk-extra-sounds
123 + net-misc/asterisk-moh-opsound"
124 +
125 +S="${WORKDIR}/${MY_P}"
126 +
127 +pkg_setup() {
128 + CONFIG_CHECK="~!NF_CONNTRACK_SIP"
129 + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
130 + have reported that this module dropped critical SIP packets in their deployments. You
131 + may want to disable it if you see such problems."
132 + check_extra_config
133 +
134 + enewgroup asterisk
135 + enewgroup dialout 20
136 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
137 +}
138 +
139 +src_prepare() {
140 + default
141 + AT_M4DIR=autoconf eautoreconf
142 +}
143 +
144 +src_configure() {
145 + local vmst
146 +
147 + econf \
148 + --libdir="/usr/$(get_libdir)" \
149 + --localstatedir="/var" \
150 + --with-crypto \
151 + --with-gsm=internal \
152 + --with-popt \
153 + --with-ssl \
154 + --with-z \
155 + --without-pwlib \
156 + $(use_with caps cap) \
157 + $(use_with http gmime) \
158 + $(use_with newt) \
159 + $(use_with portaudio)
160 +
161 + # Blank out sounds/sounds.xml file to prevent
162 + # asterisk from installing sounds files (we pull them in via
163 + # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
164 + >"${S}"/sounds/sounds.xml
165 +
166 + # That NATIVE_ARCH chatter really is quite bothersome
167 + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
168 +
169 + # Compile menuselect binary for optional components
170 + emake menuselect.makeopts
171 +
172 + # Broken functionality is forcibly disabled (bug #360143)
173 + menuselect/menuselect --disable chan_misdn menuselect.makeopts
174 + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
175 +
176 + # Utility set is forcibly enabled (bug #358001)
177 + menuselect/menuselect --enable smsq menuselect.makeopts
178 + menuselect/menuselect --enable streamplayer menuselect.makeopts
179 + menuselect/menuselect --enable aelparse menuselect.makeopts
180 + menuselect/menuselect --enable astman menuselect.makeopts
181 +
182 + # this is connected, otherwise it would not find
183 + # ast_pktccops_gate_alloc symbol
184 + menuselect/menuselect --enable chan_mgcp menuselect.makeopts
185 + menuselect/menuselect --enable res_pktccops menuselect.makeopts
186 +
187 + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
188 + menuselect/menuselect --enable pbx_dundi menuselect.makeopts
189 + menuselect/menuselect --enable func_aes menuselect.makeopts
190 + menuselect/menuselect --enable chan_iax2 menuselect.makeopts
191 +
192 + # SQlite3 is now the main database backend, enable related features
193 + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts
194 + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts
195 +
196 + # The others are based on USE-flag settings
197 + use_select() {
198 + local state=$(use "$1" && echo enable || echo disable)
199 + shift # remove use from parameters
200 +
201 + while [[ -n $1 ]]; do
202 + menuselect/menuselect --${state} "$1" menuselect.makeopts
203 + shift
204 + done
205 + }
206 +
207 + use_select alsa chan_alsa
208 + use_select bluetooth chan_mobile
209 + use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
210 + use_select cluster res_corosync
211 + use_select curl func_curl res_config_curl res_curl
212 + use_select dahdi app_dahdibarge app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
213 + use_select freetds {cdr,cel}_tds
214 + use_select gtalk chan_motif
215 + use_select http res_http_post
216 + use_select iconv func_iconv
217 + use_select xmpp res_xmpp
218 + use_select ilbc codec_ilbc format_ilbc
219 + use_select ldap res_config_ldap
220 + use_select lua pbx_lua
221 + use_select mysql app_mysql cdr_mysql res_config_mysql
222 + use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
223 + use_select osplookup app_osplookup
224 + use_select oss chan_oss
225 + use_select postgres {cdr,cel}_pgsql res_config_pgsql
226 + use_select radius {cdr,cel}_radius
227 + use_select snmp res_snmp
228 + use_select span res_fax_spandsp
229 + use_select speex {codec,func}_speex
230 + use_select srtp res_srtp
231 + use_select syslog cdr_syslog
232 + use_select vorbis format_ogg_vorbis
233 +
234 + # Voicemail storage ...
235 + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
236 + if use ${vmst}; then
237 + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
238 + fi
239 + done
240 +
241 + if use debug; then
242 + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do
243 + menuselect/menuselect --enable $o menuselect.makeopts
244 + done
245 + fi
246 +}
247 +
248 +src_compile() {
249 + ASTLDFLAGS="${LDFLAGS}" emake
250 +}
251 +
252 +src_install() {
253 + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die
254 + emake DESTDIR="${D}" installdirs
255 + emake DESTDIR="${D}" install
256 +
257 + if use radius; then
258 + insinto /etc/radiusclient/
259 + doins contrib/dictionary.digium
260 + fi
261 + diropts -m 0750 -o root -g asterisk
262 + keepdir /etc/asterisk
263 + if use samples; then
264 + emake DESTDIR="${D}" samples
265 + for conffile in "${D}"etc/asterisk/*.*
266 + do
267 + chown root:root $conffile
268 + chmod 0644 $conffile
269 + done
270 + einfo "Sample files have been installed"
271 + else
272 + einfo "Skipping installation of sample files..."
273 + rm -f "${D}"var/lib/asterisk/mohmp3/* || die
274 + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die
275 + rm -f "${D}"var/lib/asterisk/agi-bin/* || die
276 + rm -f "${D}"etc/asterisk/* || die
277 + fi
278 + rm -rf "${D}"var/spool/asterisk/voicemail/default || die
279 +
280 + # keep directories
281 + diropts -m 0770 -o asterisk asterisk
282 + keepdir /var/lib/asterisk
283 + keepdir /var/spool/asterisk
284 + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail}
285 + diropts -m 0750 -o asterisk -g asterisk
286 + keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
287 +
288 + newinitd "${FILESDIR}"/1.8.0/asterisk.initd8 asterisk
289 + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk
290 +
291 + systemd_dounit "${FILESDIR}"/asterisk.service
292 + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
293 + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
294 +
295 + # install the upgrade documentation
296 + #
297 + dodoc README UPGRADE* BUGS CREDITS
298 +
299 + # install extra documentation
300 + #
301 + if use doc
302 + then
303 + dodoc doc/*.txt
304 + dodoc doc/*.pdf
305 + fi
306 +
307 + # install SIP scripts; bug #300832
308 + #
309 + dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
310 + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh"
311 + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh"
312 + dodoc "${FILESDIR}/1.6.2/call_data.txt"
313 +
314 + # install logrotate snippet; bug #329281
315 + #
316 + insinto /etc/logrotate.d
317 + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
318 +}
319 +
320 +pkg_postinst() {
321 + #
322 + # Announcements, warnings, reminders...
323 + #
324 + einfo "Asterisk has been installed"
325 + echo
326 + elog "If you want to know more about asterisk, visit these sites:"
327 + elog "http://www.asteriskdocs.org/"
328 + elog "http://www.voip-info.org/wiki-Asterisk"
329 + echo
330 + elog "http://www.automated.it/guidetoasterisk.htm"
331 + echo
332 + elog "Gentoo VoIP IRC Channel:"
333 + elog "#gentoo-voip @ irc.freenode.net"
334 + echo
335 + echo
336 + elog "Please read the Asterisk 11 upgrade document:"
337 + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+11"
338 +}
339 +
340 +pkg_config() {
341 + einfo "Do you want to reset file permissions and ownerships (y/N)?"
342 +
343 + read tmp
344 + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"
345 +
346 + if [[ "$tmp" = "y" ]] ||\
347 + [[ "$tmp" = "yes" ]]
348 + then
349 + einfo "Resetting permissions to defaults..."
350 +
351 + for x in spool run lib log; do
352 + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
353 + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
354 + done
355 +
356 + chown -R root:asterisk "${ROOT}"etc/asterisk
357 + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk
358 +
359 + einfo "done"
360 + else
361 + einfo "skipping"
362 + fi
363 +}
364
365 diff --git a/net-misc/asterisk/asterisk-13.13.0.ebuild b/net-misc/asterisk/asterisk-13.13.0.ebuild
366 new file mode 100644
367 index 00000000..b1debde
368 --- /dev/null
369 +++ b/net-misc/asterisk/asterisk-13.13.0.ebuild
370 @@ -0,0 +1,328 @@
371 +# Copyright 1999-2016 Gentoo Foundation
372 +# Distributed under the terms of the GNU General Public License v2
373 +# $Id$
374 +
375 +EAPI=6
376 +inherit autotools eutils linux-info multilib user systemd
377 +
378 +MY_P="${PN}-${PV/_/-}"
379 +
380 +DESCRIPTION="Asterisk: A Modular Open Source PBX System"
381 +HOMEPAGE="http://www.asterisk.org/"
382 +SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz
383 + mirror://gentoo/gentoo-asterisk-patchset-4.04.tar.bz2"
384 +LICENSE="GPL-2"
385 +SLOT="0"
386 +KEYWORDS="~amd64 ~x86"
387 +
388 +IUSE_VOICEMAIL_STORAGE="
389 + +voicemail_storage_file
390 + voicemail_storage_odbc
391 + voicemail_storage_imap
392 +"
393 +IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc xmpp ldap libedit libressl lua mysql newt +samples odbc osplookup oss pjproject portaudio postgres radius selinux snmp span speex srtp static syslog vorbis"
394 +IUSE_EXPAND="VOICEMAIL_STORAGE"
395 +REQUIRED_USE="gtalk? ( xmpp )
396 + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
397 + voicemail_storage_odbc? ( odbc )
398 +"
399 +
400 +EPATCH_SUFFIX="patch"
401 +PATCHES=( "${WORKDIR}/asterisk-patchset" )
402 +
403 +CDEPEND="dev-db/sqlite:3
404 + dev-libs/popt
405 + dev-libs/jansson
406 + dev-libs/libxml2
407 + !libressl? ( dev-libs/openssl:0 )
408 + libressl? ( dev-libs/libressl )
409 + sys-libs/ncurses:*
410 + sys-libs/zlib
411 + alsa? ( media-libs/alsa-lib )
412 + bluetooth? ( net-wireless/bluez )
413 + calendar? ( net-libs/neon
414 + dev-libs/libical
415 + dev-libs/iksemel )
416 + caps? ( sys-libs/libcap )
417 + cluster? ( sys-cluster/corosync )
418 + curl? ( net-misc/curl )
419 + dahdi? ( >=net-libs/libpri-1.4.12_beta2
420 + net-misc/dahdi-tools )
421 + freetds? ( dev-db/freetds )
422 + gtalk? ( dev-libs/iksemel )
423 + http? ( dev-libs/gmime:2.6 )
424 + iconv? ( virtual/libiconv )
425 + ilbc? ( dev-libs/ilbc-rfc3951 )
426 + xmpp? ( dev-libs/iksemel )
427 + ldap? ( net-nds/openldap )
428 + libedit? ( dev-libs/libedit )
429 + lua? ( dev-lang/lua:* )
430 + mysql? ( virtual/mysql )
431 + newt? ( dev-libs/newt )
432 + odbc? ( dev-db/unixODBC )
433 + osplookup? ( net-libs/osptoolkit )
434 + portaudio? ( media-libs/portaudio )
435 + postgres? ( dev-db/postgresql:* )
436 + radius? ( net-dialup/freeradius-client )
437 + snmp? ( net-analyzer/net-snmp )
438 + span? ( media-libs/spandsp )
439 + speex? ( media-libs/speex )
440 + srtp? ( net-libs/libsrtp )
441 + vorbis? ( media-libs/libvorbis )"
442 +
443 +DEPEND="${CDEPEND}
444 + !net-libs/openh323
445 + !net-libs/pjsip
446 + voicemail_storage_imap? ( virtual/imap-c-client )
447 + virtual/pkgconfig
448 + pjproject? ( net-libs/pjproject )
449 +"
450 +
451 +RDEPEND="${CDEPEND}
452 + selinux? ( sec-policy/selinux-asterisk )
453 + syslog? ( virtual/logger )"
454 +
455 +PDEPEND="net-misc/asterisk-core-sounds
456 + net-misc/asterisk-extra-sounds
457 + net-misc/asterisk-moh-opsound"
458 +
459 +S="${WORKDIR}/${MY_P}"
460 +
461 +pkg_setup() {
462 + CONFIG_CHECK="~!NF_CONNTRACK_SIP"
463 + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
464 + have reported that this module dropped critical SIP packets in their deployments. You
465 + may want to disable it if you see such problems."
466 + check_extra_config
467 +
468 + enewgroup asterisk
469 + enewgroup dialout 20
470 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
471 +}
472 +
473 +src_prepare() {
474 + default
475 + AT_M4DIR="autoconf third-party third-party/pjproject" eautoreconf
476 +}
477 +
478 +src_configure() {
479 + local vmst
480 +
481 + econf \
482 + --libdir="/usr/$(get_libdir)" \
483 + --localstatedir="/var" \
484 + --with-crypto \
485 + --with-gsm=internal \
486 + --with-popt \
487 + --with-ssl \
488 + --with-z \
489 + --without-pwlib \
490 + $(use_with caps cap) \
491 + $(use_with http gmime) \
492 + $(use_with newt) \
493 + $(use_with portaudio) \
494 + $(use_with pjproject)
495 +
496 + # Blank out sounds/sounds.xml file to prevent
497 + # asterisk from installing sounds files (we pull them in via
498 + # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
499 + >"${S}"/sounds/sounds.xml
500 +
501 + # That NATIVE_ARCH chatter really is quite bothersome
502 + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
503 +
504 + # Compile menuselect binary for optional components
505 + emake menuselect.makeopts
506 +
507 + # Broken functionality is forcibly disabled (bug #360143)
508 + menuselect/menuselect --disable chan_misdn menuselect.makeopts
509 + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
510 +
511 + # Utility set is forcibly enabled (bug #358001)
512 + menuselect/menuselect --enable smsq menuselect.makeopts
513 + menuselect/menuselect --enable streamplayer menuselect.makeopts
514 + menuselect/menuselect --enable aelparse menuselect.makeopts
515 + menuselect/menuselect --enable astman menuselect.makeopts
516 +
517 + # this is connected, otherwise it would not find
518 + # ast_pktccops_gate_alloc symbol
519 + menuselect/menuselect --enable chan_mgcp menuselect.makeopts
520 + menuselect/menuselect --enable res_pktccops menuselect.makeopts
521 +
522 + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
523 + menuselect/menuselect --enable pbx_dundi menuselect.makeopts
524 + menuselect/menuselect --enable func_aes menuselect.makeopts
525 + menuselect/menuselect --enable chan_iax2 menuselect.makeopts
526 +
527 + # SQlite3 is now the main database backend, enable related features
528 + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts
529 + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts
530 +
531 + # The others are based on USE-flag settings
532 + use_select() {
533 + local state=$(use "$1" && echo enable || echo disable)
534 + shift # remove use from parameters
535 +
536 + while [[ -n $1 ]]; do
537 + menuselect/menuselect --${state} "$1" menuselect.makeopts
538 + shift
539 + done
540 + }
541 +
542 + use_select alsa chan_alsa
543 + use_select bluetooth chan_mobile
544 + use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
545 + use_select cluster res_corosync
546 + use_select curl func_curl res_config_curl res_curl
547 + use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
548 + use_select freetds {cdr,cel}_tds
549 + use_select gtalk chan_motif
550 + use_select http res_http_post
551 + use_select iconv func_iconv
552 + use_select xmpp res_xmpp
553 + use_select ilbc codec_ilbc format_ilbc
554 + use_select ldap res_config_ldap
555 + use_select lua pbx_lua
556 + use_select mysql app_mysql cdr_mysql res_config_mysql
557 + use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
558 + use_select osplookup app_osplookup
559 + use_select oss chan_oss
560 + use_select postgres {cdr,cel}_pgsql res_config_pgsql
561 + use_select radius {cdr,cel}_radius
562 + use_select snmp res_snmp
563 + use_select span res_fax_spandsp
564 + use_select speex {codec,func}_speex
565 + use_select srtp res_srtp
566 + use_select syslog cdr_syslog
567 + use_select vorbis format_ogg_vorbis
568 +
569 + # Voicemail storage ...
570 + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
571 + if use ${vmst}; then
572 + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
573 + fi
574 + done
575 +
576 + if use debug; then
577 + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do
578 + menuselect/menuselect --enable $o menuselect.makeopts
579 + done
580 + fi
581 +}
582 +
583 +src_compile() {
584 + ASTLDFLAGS="${LDFLAGS}" emake
585 +}
586 +
587 +src_install() {
588 + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die
589 + emake DESTDIR="${D}" installdirs
590 + emake DESTDIR="${D}" install
591 +
592 + if use radius; then
593 + insinto /etc/radiusclient/
594 + doins contrib/dictionary.digium
595 + fi
596 + diropts -m 0750 -o root -g asterisk
597 + keepdir /etc/asterisk
598 + if use samples; then
599 + emake DESTDIR="${D}" samples
600 + for conffile in "${D}"etc/asterisk/*.*
601 + do
602 + chown root:root $conffile
603 + chmod 0644 $conffile
604 + done
605 + einfo "Sample files have been installed"
606 + else
607 + einfo "Skipping installation of sample files..."
608 + rm -f "${D}"var/lib/asterisk/mohmp3/* || die
609 + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die
610 + rm -f "${D}"var/lib/asterisk/agi-bin/* || die
611 + rm -f "${D}"etc/asterisk/* || die
612 + fi
613 + rm -rf "${D}"var/spool/asterisk/voicemail/default || die
614 +
615 + # keep directories
616 + diropts -m 0770 -o asterisk asterisk
617 + keepdir /var/lib/asterisk
618 + keepdir /var/spool/asterisk
619 + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail}
620 + diropts -m 0750 -o asterisk -g asterisk
621 + keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
622 +
623 + newinitd "${FILESDIR}"/1.8.0/asterisk.initd8 asterisk
624 + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk
625 +
626 + systemd_dounit "${FILESDIR}"/asterisk.service
627 + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
628 + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
629 +
630 + # install the upgrade documentation
631 + #
632 + dodoc README UPGRADE* BUGS CREDITS
633 +
634 + # install extra documentation
635 + #
636 + if use doc
637 + then
638 + dodoc doc/*.txt
639 + dodoc doc/*.pdf
640 + fi
641 +
642 + # install SIP scripts; bug #300832
643 + #
644 + dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
645 + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh"
646 + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh"
647 + dodoc "${FILESDIR}/1.6.2/call_data.txt"
648 +
649 + # install logrotate snippet; bug #329281
650 + #
651 + insinto /etc/logrotate.d
652 + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
653 +}
654 +
655 +pkg_postinst() {
656 + #
657 + # Announcements, warnings, reminders...
658 + #
659 + einfo "Asterisk has been installed"
660 + echo
661 + elog "If you want to know more about asterisk, visit these sites:"
662 + elog "http://www.asteriskdocs.org/"
663 + elog "http://www.voip-info.org/wiki-Asterisk"
664 + echo
665 + elog "http://www.automated.it/guidetoasterisk.htm"
666 + echo
667 + elog "Gentoo VoIP IRC Channel:"
668 + elog "#gentoo-voip @ irc.freenode.net"
669 + echo
670 + echo
671 + elog "Please read the Asterisk 13 upgrade document:"
672 + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+13"
673 +}
674 +
675 +pkg_config() {
676 + einfo "Do you want to reset file permissions and ownerships (y/N)?"
677 +
678 + read tmp
679 + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"
680 +
681 + if [[ "$tmp" = "y" ]] ||\
682 + [[ "$tmp" = "yes" ]]
683 + then
684 + einfo "Resetting permissions to defaults..."
685 +
686 + for x in spool run lib log; do
687 + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
688 + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
689 + done
690 +
691 + chown -R root:asterisk "${ROOT}"etc/asterisk
692 + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk
693 +
694 + einfo "done"
695 + else
696 + einfo "skipping"
697 + fi
698 +}