Gentoo Archives: gentoo-commits

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