5 |
5 |
|
6 |
6 |
LUA_COMPAT=( lua5-{1..4} )
|
7 |
7 |
|
8 |
|
inherit autotools linux-info lua-single toolchain-funcs
|
|
8 |
inherit autotools linux-info lua-single systemd toolchain-funcs tmpfiles
|
9 |
9 |
|
10 |
10 |
DESCRIPTION="Asterisk: A Modular Open Source PBX System"
|
11 |
11 |
HOMEPAGE="https://www.asterisk.org/"
|
12 |
12 |
SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz"
|
13 |
13 |
LICENSE="GPL-2"
|
14 |
14 |
SLOT="0/${PV%%.*}"
|
15 |
|
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
|
|
15 |
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
16 |
16 |
|
17 |
17 |
IUSE_VOICEMAIL_STORAGE=(
|
18 |
18 |
voicemail_storage_odbc
|
19 |
19 |
voicemail_storage_imap
|
20 |
20 |
)
|
21 |
|
IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog systemd unbound vorbis xmpp"
|
|
21 |
IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl dahdi debug deprecated doc freetds gtalk http iconv ilbc ldap lua mysql newt odbc pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd systemd unbound vorbis xmpp"
|
22 |
22 |
IUSE_EXPAND="VOICEMAIL_STORAGE"
|
23 |
23 |
REQUIRED_USE="gtalk? ( xmpp )
|
24 |
24 |
lua? ( ${LUA_REQUIRED_USE} )
|
... | ... | |
97 |
97 |
net-misc/asterisk-core-sounds
|
98 |
98 |
net-misc/asterisk-extra-sounds
|
99 |
99 |
net-misc/asterisk-moh-opsound
|
100 |
|
selinux? ( sec-policy/selinux-asterisk )
|
101 |
|
syslog? ( virtual/logger )"
|
102 |
|
PDEPEND="net-misc/asterisk-base"
|
|
100 |
selinux? ( sec-policy/selinux-asterisk )"
|
103 |
101 |
|
104 |
102 |
BDEPEND="dev-libs/libxml2:2
|
105 |
103 |
virtual/pkgconfig"
|
... | ... | |
204 |
202 |
_menuselect --disable build_native menuselect.makeopts
|
205 |
203 |
|
206 |
204 |
# Broken functionality is forcibly disabled (bug #360143)
|
207 |
|
_menuselect --disable chan_misdn menuselect.makeopts
|
208 |
205 |
_menuselect --disable chan_ooh323 menuselect.makeopts
|
209 |
206 |
|
210 |
207 |
# Utility set is forcibly enabled (bug #358001)
|
... | ... | |
237 |
234 |
_use_select cluster res_corosync
|
238 |
235 |
_use_select codec2 codec_codec2
|
239 |
236 |
_use_select curl func_curl res_config_curl res_curl
|
240 |
|
_use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
|
241 |
|
_use_select deprecated app_macro
|
|
237 |
_use_select dahdi app_meetme chan_dahdi codec_dahdi res_timing_dahdi
|
|
238 |
_use_select deprecated app_macro chan_sip res_monitor
|
242 |
239 |
_use_select freetds {cdr,cel}_tds
|
243 |
240 |
_use_select gtalk chan_motif
|
244 |
241 |
_use_select http res_http_post
|
... | ... | |
246 |
243 |
_use_select ilbc codec_ilbc format_ilbc
|
247 |
244 |
_use_select ldap res_config_ldap
|
248 |
245 |
_use_select lua pbx_lua
|
249 |
|
_use_select mysql app_mysql cdr_mysql res_config_mysql
|
|
246 |
_use_select mysql res_config_mysql
|
250 |
247 |
_use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
|
251 |
|
_use_select oss chan_oss
|
252 |
248 |
_use_select postgres {cdr,cel}_pgsql res_config_pgsql
|
253 |
249 |
_use_select radius {cdr,cel}_radius
|
254 |
250 |
_use_select snmp res_snmp
|
... | ... | |
257 |
253 |
_use_select speex format_ogg_speex
|
258 |
254 |
_use_select srtp res_srtp
|
259 |
255 |
_use_select statsd res_statsd res_{endpoint,chan}_stats
|
260 |
|
_use_select syslog cdr_syslog
|
261 |
256 |
_use_select vorbis format_ogg_vorbis
|
262 |
257 |
_use_select xmpp res_xmpp
|
263 |
258 |
|
... | ... | |
313 |
308 |
diropts -m 0750 -o asterisk -g asterisk
|
314 |
309 |
keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
|
315 |
310 |
|
|
311 |
newsbin "${FILESDIR}/asterisk_wrapper-18.17.1-20.2.1" asterisk_wrapper
|
|
312 |
newinitd "${FILESDIR}"/initd-18.17.1-20.2.1 asterisk
|
|
313 |
newconfd "${FILESDIR}"/confd-16.26.1-18.12.1 asterisk
|
|
314 |
|
|
315 |
systemd_dounit "${FILESDIR}"/asterisk.service
|
|
316 |
newtmpfiles "${FILESDIR}"/asterisk.tmpfiles-16.22.0-18.8.0.conf asterisk.conf
|
|
317 |
systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
|
|
318 |
|
316 |
319 |
# Reset diropts else dodoc uses it for doc installations.
|
317 |
320 |
diropts -m0755
|
318 |
321 |
|
... | ... | |
322 |
325 |
# install extra documentation
|
323 |
326 |
use doc && dodoc doc/*.{txt,pdf}
|
324 |
327 |
|
|
328 |
# install logrotate snippet; bug #329281
|
|
329 |
#
|
|
330 |
insinto /etc/logrotate.d
|
|
331 |
newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
|
|
332 |
|
325 |
333 |
# Asterisk installs a few folders that's empty by design,
|
326 |
334 |
# but still required. This finds them, and marks them for
|
327 |
335 |
# portage.
|
... | ... | |
331 |
339 |
}
|
332 |
340 |
|
333 |
341 |
pkg_postinst() {
|
|
342 |
tmpfiles_process asterisk.conf
|
|
343 |
|
334 |
344 |
if [ -z "${REPLACING_VERSIONS}" ]; then
|
335 |
345 |
elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
|
336 |
346 |
elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat"
|