Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/asterisk/
Date: Sat, 12 Sep 2020 01:49:54
Message-Id: 1599875384.0e82d29eb6b58588349673345b681b4d4c6b4735.sam@gentoo
1 commit: 0e82d29eb6b58588349673345b681b4d4c6b4735
2 Author: Jaco Kroon <jaco <AT> uls <DOT> co <DOT> za>
3 AuthorDate: Thu Sep 3 12:08:43 2020 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat Sep 12 01:49:44 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e82d29e
7
8 net-misc/asterisk: version bump to 16.13.0
9
10 Signed-off-by: Jaco Kroon <jaco <AT> uls.co.za>
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 net-misc/asterisk/Manifest | 1 +
14 net-misc/asterisk/asterisk-16.13.0.ebuild | 304 ++++++++++++++++++++++++++++++
15 2 files changed, 305 insertions(+)
16
17 diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
18 index 2af40c94463..2bd6140f0bb 100644
19 --- a/net-misc/asterisk/Manifest
20 +++ b/net-misc/asterisk/Manifest
21 @@ -5,5 +5,6 @@ DIST asterisk-13.35.0.tar.gz 33685340 BLAKE2B 728281257541977ac150b1b7d6148fd326
22 DIST asterisk-13.36.0.tar.gz 33692378 BLAKE2B 7252e7a103d94bbdd4073563f88ec2952ef88856cb5a98f7a07818a993c1064ca4ffb12202f2c297125d7bc3fd3814c9921a87c179db03dede05162844bebbd1 SHA512 276175e6df1c8a2e642c4607aa32515e7c4fffe50f7db89bbfee8850b286579350a074bb8bbe743b3e95d6ce2d92f8d5444053fe52527071cc884356b57a1efc
23 DIST asterisk-16.11.1.tar.gz 27703143 BLAKE2B ad2c70f76e5d59e183713034c9bbe0988c5848512099230b58b8b2f32edd59c0e843e4d7bc72642e84e842e11639f02213057cc893532808e9fe075b061e35cc SHA512 ff4d971c32a568d4e49d0bc49f15a4a89278e4a1c70ed7d1107e3f4cca13455326465ecc97d23e83501ad45f579b572efbf9217758edfb4531c87d59879b31f9
24 DIST asterisk-16.12.0.tar.gz 27727347 BLAKE2B 3e2e986136e5ff19a876f01fdc6db1b6c22f83bf38f8524a418e474e2400375d8091dd215fb54f5b01f998cecf46d6965a0c35a44dc6f3be7f7a811e2ce70b8c SHA512 1fc41b92d070efd4a7ea5db1a36c83bdb6dbbe7d9b5087b0a887ba3d6875e81ba1b71a79b216138b242f0349a176baf6745480ff6fb7ed47c62dda4b09b6a891
25 +DIST asterisk-16.13.0.tar.gz 27735450 BLAKE2B 64cc75c7aa715734ebaf06fe7b3df54cfa309fc6126b45abfc21cc22c2c4e795946be473ce2887dc074124f9da6c8937d1bb4207fecf402eed7803ed063faa80 SHA512 872c5a5cb8faf9b1632895dafb6ee86c87e1766c9f33099b32216e6703f063800f87cac6db3537d1744349c42abd3ea83d70afe35138e45fb756872688822dfa
26 DIST gentoo-asterisk-patchset-3.17.tar.bz2 5074 BLAKE2B 3c945e77b54b2449253acb9fcea8d289a7a3184729190622c14aff5557d36c93556efa83320fe4e7ae84021960c09f35ae9f997e8015706eef933aae2948309e SHA512 37f86f3c699b2643afd8080391e817a282571694bb56e00efd0734918dbc33d6c12a2463dbc24667597420863b4f506870140fbb8ef3f1700124ef790ae7252d
27 DIST gentoo-asterisk-patchset-4.08.tar.bz2 2176 BLAKE2B 7f8c9b5fda855091e66b2534d2be23fb1616f565480459f71f766826e5deeeecb24899e2ee9eefe74323e892624d32ab954ec7e9be6a002431ff029fc13493ed SHA512 365c1b8628882c48c279e1fd77d982e6d0820ba7d7122e97bb4988f875d7010caa956798c833c3b01d389004fa08a63a9de2c1b452c9e5701c6106e29fd8e9e1
28
29 diff --git a/net-misc/asterisk/asterisk-16.13.0.ebuild b/net-misc/asterisk/asterisk-16.13.0.ebuild
30 new file mode 100644
31 index 00000000000..44f1f489f95
32 --- /dev/null
33 +++ b/net-misc/asterisk/asterisk-16.13.0.ebuild
34 @@ -0,0 +1,304 @@
35 +# Copyright 1999-2020 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +inherit autotools linux-info systemd
41 +
42 +DESCRIPTION="Asterisk: A Modular Open Source PBX System"
43 +HOMEPAGE="https://www.asterisk.org/"
44 +SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz
45 + https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2"
46 +LICENSE="GPL-2"
47 +SLOT="0"
48 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
49 +
50 +IUSE_VOICEMAIL_STORAGE="
51 + +voicemail_storage_file
52 + voicemail_storage_odbc
53 + voicemail_storage_imap
54 +"
55 +IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc ldap libressl lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog unbound vorbis xmpp"
56 +IUSE_EXPAND="VOICEMAIL_STORAGE"
57 +REQUIRED_USE="gtalk? ( xmpp )
58 + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
59 + voicemail_storage_odbc? ( odbc )
60 +"
61 +
62 +PATCHES=(
63 + "${FILESDIR}/${PN}-historic-no-var-run-install.patch"
64 +)
65 +
66 +DEPEND="acct-user/asterisk
67 + acct-group/asterisk
68 + dev-db/sqlite:3
69 + dev-libs/popt
70 + >=dev-libs/jansson-2.11
71 + dev-libs/libedit
72 + dev-libs/libxml2:2
73 + dev-libs/libxslt
74 + sys-apps/util-linux
75 + sys-libs/ncurses:0=
76 + sys-libs/zlib
77 + alsa? ( media-libs/alsa-lib )
78 + bluetooth? ( net-wireless/bluez:= )
79 + calendar? (
80 + net-libs/neon:=
81 + dev-libs/libical:=
82 + dev-libs/iksemel
83 + )
84 + caps? ( sys-libs/libcap )
85 + cluster? ( sys-cluster/corosync )
86 + curl? ( net-misc/curl )
87 + dahdi? (
88 + net-libs/libpri
89 + net-misc/dahdi-tools
90 + )
91 + freetds? ( dev-db/freetds )
92 + gtalk? ( dev-libs/iksemel )
93 + http? ( dev-libs/gmime:2.6 )
94 + iconv? ( virtual/libiconv )
95 + ilbc? ( media-libs/libilbc )
96 + ldap? ( net-nds/openldap )
97 + lua? ( dev-lang/lua:* )
98 + mysql? ( dev-db/mysql-connector-c:= )
99 + newt? ( dev-libs/newt )
100 + odbc? ( dev-db/unixODBC )
101 + pjproject? ( >=net-libs/pjproject-2.9 )
102 + portaudio? ( media-libs/portaudio )
103 + postgres? ( dev-db/postgresql:* )
104 + radius? ( net-dialup/freeradius-client )
105 + snmp? ( net-analyzer/net-snmp:= )
106 + span? ( media-libs/spandsp )
107 + speex? (
108 + media-libs/libogg
109 + media-libs/speex
110 + media-libs/speexdsp
111 + )
112 + srtp? ( net-libs/libsrtp:0 )
113 + ssl? (
114 + !libressl? ( dev-libs/openssl:0= )
115 + libressl? ( dev-libs/libressl:0= )
116 + )
117 + unbound? ( net-dns/unbound )
118 + vorbis? (
119 + media-libs/libogg
120 + media-libs/libvorbis
121 + )
122 + voicemail_storage_imap? ( virtual/imap-c-client )
123 + xmpp? ( dev-libs/iksemel )
124 +"
125 +
126 +RDEPEND="${DEPEND}
127 + net-misc/asterisk-core-sounds
128 + net-misc/asterisk-extra-sounds
129 + net-misc/asterisk-moh-opsound
130 + selinux? ( sec-policy/selinux-asterisk )
131 + syslog? ( virtual/logger )"
132 +
133 +BDEPEND="virtual/pkgconfig"
134 +
135 +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
136 +
137 +pkg_setup() {
138 + CONFIG_CHECK="~!NF_CONNTRACK_SIP"
139 + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
140 + have reported that this module dropped critical SIP packets in their deployments. You
141 + may want to disable it if you see such problems."
142 + check_extra_config
143 +}
144 +
145 +src_prepare() {
146 + default
147 + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf
148 +}
149 +
150 +src_configure() {
151 + local vmst
152 +
153 + econf \
154 + --libdir="/usr/$(get_libdir)" \
155 + --localstatedir="/var" \
156 + --with-crypto \
157 + --with-gsm=internal \
158 + --with-popt \
159 + --with-z \
160 + --with-libedit \
161 + --without-jansson-bundled \
162 + --without-pjproject-bundled \
163 + $(use_with caps cap) \
164 + $(use_with http gmime) \
165 + $(use_with newt) \
166 + $(use_with pjproject) \
167 + $(use_with portaudio) \
168 + $(use_with ssl) \
169 + $(use_with unbound)
170 +
171 + _menuselect() {
172 + menuselect/menuselect "$@" || die "menuselect $* failed."
173 + }
174 +
175 + _use_select() {
176 + local state=$(use "$1" && echo enable || echo disable)
177 + shift # remove use from parameters
178 +
179 + while [[ -n $1 ]]; do
180 + _menuselect --${state} "$1" menuselect.makeopts
181 + shift
182 + done
183 + }
184 +
185 + # Blank out sounds/sounds.xml file to prevent
186 + # asterisk from installing sounds files (we pull them in via
187 + # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
188 + >"${S}"/sounds/sounds.xml
189 +
190 + # That NATIVE_ARCH chatter really is quite bothersome
191 + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
192 +
193 + # Compile menuselect binary for optional components
194 + emake NOISY_BUILD=yes menuselect.makeopts
195 +
196 + # Disable BUILD_NATIVE (bug #667498)
197 + _menuselect --disable build_native menuselect.makeopts
198 +
199 + # Broken functionality is forcibly disabled (bug #360143)
200 + _menuselect --disable chan_misdn menuselect.makeopts
201 + _menuselect --disable chan_ooh323 menuselect.makeopts
202 +
203 + # Utility set is forcibly enabled (bug #358001)
204 + _menuselect --enable smsq menuselect.makeopts
205 + _menuselect --enable streamplayer menuselect.makeopts
206 + _menuselect --enable aelparse menuselect.makeopts
207 + _menuselect --enable astman menuselect.makeopts
208 +
209 + # this is connected, otherwise it would not find
210 + # ast_pktccops_gate_alloc symbol
211 + _menuselect --enable chan_mgcp menuselect.makeopts
212 + _menuselect --enable res_pktccops menuselect.makeopts
213 +
214 + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
215 + _menuselect --enable pbx_dundi menuselect.makeopts
216 + _menuselect --enable func_aes menuselect.makeopts
217 + _menuselect --enable chan_iax2 menuselect.makeopts
218 +
219 + # SQlite3 is now the main database backend, enable related features
220 + _menuselect --enable cdr_sqlite3_custom menuselect.makeopts
221 + _menuselect --enable cel_sqlite3_custom menuselect.makeopts
222 +
223 + # The others are based on USE-flag settings
224 + _use_select alsa chan_alsa
225 + _use_select bluetooth chan_mobile
226 + _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
227 + _use_select cluster res_corosync
228 + _use_select curl func_curl res_config_curl res_curl
229 + _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
230 + _use_select freetds {cdr,cel}_tds
231 + _use_select gtalk chan_motif
232 + _use_select http res_http_post
233 + _use_select iconv func_iconv
234 + _use_select ilbc codec_ilbc format_ilbc
235 + _use_select ldap res_config_ldap
236 + _use_select lua pbx_lua
237 + _use_select mysql app_mysql cdr_mysql res_config_mysql
238 + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
239 + _use_select oss chan_oss
240 + _use_select postgres {cdr,cel}_pgsql res_config_pgsql
241 + _use_select radius {cdr,cel}_radius
242 + _use_select snmp res_snmp
243 + _use_select span res_fax_spandsp
244 + _use_select speex {codec,func}_speex
245 + _use_select speex format_ogg_speex
246 + _use_select srtp res_srtp
247 + _use_select statsd res_statsd res_{endpoint,chan}_stats
248 + _use_select syslog cdr_syslog
249 + _use_select vorbis format_ogg_vorbis
250 + _use_select xmpp res_xmpp
251 +
252 + # Voicemail storage ...
253 + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
254 + if use ${vmst}; then
255 + _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
256 + fi
257 + done
258 +
259 + if use debug; then
260 + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do
261 + _menuselect --enable "${o}" menuselect.makeopts
262 + done
263 + fi
264 +}
265 +
266 +src_compile() {
267 + emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes
268 +}
269 +
270 +src_install() {
271 + local d
272 +
273 + mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die
274 + emake DESTDIR="${ED}" NOISY_BUILD=yes install
275 +
276 + if use radius; then
277 + insinto /etc/radiusclient/
278 + doins contrib/dictionary.digium
279 + fi
280 + diropts -m 0750 -o root -g asterisk
281 + keepdir /etc/asterisk
282 + emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs
283 + for conffile in "${ED}/etc/asterisk/"*
284 + do
285 + fowners root:root "${conffile#${ED}}"
286 + fperms 0644 "${conffile#${ED}}"
287 + done
288 +
289 + # keep directories
290 + diropts -m 0750 -o asterisk -g root
291 + keepdir /var/lib/asterisk
292 + keepdir /var/spool/asterisk
293 + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording}
294 + diropts -m 0750 -o asterisk -g asterisk
295 + keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
296 +
297 + newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk
298 + newconfd "${FILESDIR}"/confd-13.32.0 asterisk
299 +
300 + systemd_dounit "${FILESDIR}"/asterisk.service
301 + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
302 + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
303 +
304 + # Reset diropts else dodoc uses it for doc installations.
305 + diropts -m0755
306 +
307 + # install the upgrade documentation
308 + dodoc UPGRADE* BUGS CREDITS
309 +
310 + # install extra documentation
311 + if use doc; then
312 + dodoc doc/*.txt
313 + dodoc doc/*.pdf
314 + fi
315 +
316 + # install logrotate snippet; bug #329281
317 + #
318 + insinto /etc/logrotate.d
319 + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
320 +
321 + # Asterisk installs a few folders that's empty by design,
322 + # but still required. This finds them, and marks them for
323 + # portage.
324 + for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do
325 + keepdir "${d#${ED}}"
326 + done
327 +}
328 +
329 +pkg_postinst() {
330 + if [ -z "${REPLACING_VERSIONS}" ]; then
331 + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
332 + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net"
333 + elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
334 + elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
335 + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
336 + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net"
337 + fi
338 +}