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