From 9ee6d97c2883d42f204a533a8bc1f4562df778fb Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 16 Sep 2020 09:32:48 +0100 Subject: gentoo resync : 16.09.2020 --- net-misc/asterisk/Manifest | 12 +- net-misc/asterisk/asterisk-13.33.0.ebuild | 295 -------------------------- net-misc/asterisk/asterisk-13.35.0-r1.ebuild | 299 ++++++++++++++++++++++++++ net-misc/asterisk/asterisk-13.35.0.ebuild | 294 -------------------------- net-misc/asterisk/asterisk-13.36.0.ebuild | 299 ++++++++++++++++++++++++++ net-misc/asterisk/asterisk-16.11.1.ebuild | 300 -------------------------- net-misc/asterisk/asterisk-16.12.0-r1.ebuild | 304 +++++++++++++++++++++++++++ net-misc/asterisk/asterisk-16.12.0.ebuild | 299 -------------------------- net-misc/asterisk/asterisk-16.13.0.ebuild | 304 +++++++++++++++++++++++++++ 9 files changed, 1212 insertions(+), 1194 deletions(-) delete mode 100644 net-misc/asterisk/asterisk-13.33.0.ebuild create mode 100644 net-misc/asterisk/asterisk-13.35.0-r1.ebuild delete mode 100644 net-misc/asterisk/asterisk-13.35.0.ebuild create mode 100644 net-misc/asterisk/asterisk-13.36.0.ebuild delete mode 100644 net-misc/asterisk/asterisk-16.11.1.ebuild create mode 100644 net-misc/asterisk/asterisk-16.12.0-r1.ebuild delete mode 100644 net-misc/asterisk/asterisk-16.12.0.ebuild create mode 100644 net-misc/asterisk/asterisk-16.13.0.ebuild (limited to 'net-misc/asterisk') diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest index cd1e10dc3a18..5ccf026c2c9c 100644 --- a/net-misc/asterisk/Manifest +++ b/net-misc/asterisk/Manifest @@ -7,17 +7,17 @@ AUX asterisk.tmpfiles.conf 88 BLAKE2B 3c32a8dd17b94d607407a7b201448be69c72f1cbe2 AUX confd-13.32.0 3895 BLAKE2B eada6c9ef6bb6754645679e6f2f5f2d299d89a3df3830f32ad468d2b83da3e98a4dda51250d86b5625e240c89dc151b26199e23b4131fd00764bcad223d15768 SHA512 55e8b2e2ac4da129375224cdfbb1165032b934fcce3da509e966083c80d7606af77025460214349da5203d9650cc03a9d4087266128459c7d99593068d94aae5 AUX initd-13.32.0-r1 9945 BLAKE2B 26fd8ff02e63a77fbe0712b745b9270fa58ae44d1dec4428bdaa93e1354b660dfb76b5969b5811add3b092302dcba3fbbdfdcd849cacb1f05fe645af9d73d359 SHA512 556fe37a67994989642b609443d94f990b23fd0cf037268b1ef9f66a9fdd93a79cb7f2e9ee10c069936b41b7f361abbb72836b1da759e646733e2f7c14d3195b DIST asterisk-11.25.3.tar.gz 35134682 BLAKE2B 9da24d5d6a674ab660edb103e5fc56ddfbcc58cd86166cc08cceb0598a63b51eae36133565e09a30ad11ff6623ba8945437dfb561d2916f68341d398540dabce SHA512 9c0521d55e5b69663ea40066d52e397ba6c165a4b20cd0a1e5e375b9c0e5a6e4f37908e50b0b580e288dec9be252af9a8bce7bceb03ba029f902fb757e6311ed -DIST asterisk-13.33.0.tar.gz 33683712 BLAKE2B ecfc122628c08e93fc389f111e1ee8ddcf3d27895437df9da5b83a6440c2135f9223a5605e0ef436e8585f8b023abba5b74680cac97f1700e1bc153872c1ed87 SHA512 b866a63cce7c289d32333b4b3b0a605c413b48fc7518976aa0768dd5c68894348d0de1c9bc7c56b73eb86b69e0fd9847d7226fa0f9e449f8ebb8a7118329db56 DIST asterisk-13.34.0.tar.gz 33686020 BLAKE2B 48de77f2e29028ab3503ea30038e629b6ede43154bec8efe1384a7077fb971f91b85d9b4eb55f7a4ea6577a31ad5fe496453fe59cd607a0c613e46edef9a11d9 SHA512 2132db831bb063330c47cea8cea67af706839d25e64eee558475643cb79a4e548fc6ffe7ce61a053f41cf6f367320eedaa87973a5de4ef38ae858a6e5a183ee7 DIST asterisk-13.35.0.tar.gz 33685340 BLAKE2B 728281257541977ac150b1b7d6148fd326c584f7827af46882ff3e3af111d876c3e53f92f1034c55875d730e5b92c379b8906198393b7a4227a5bb74818ab27c SHA512 7596f387d45ef9f0327d78bc0446979e233aba517bbedfb539409cc507e2dac15e3b32d5c8a5e69783d106d4244661cb20b0580ed00904699bc5bf5db7b4713a -DIST asterisk-16.11.1.tar.gz 27703143 BLAKE2B ad2c70f76e5d59e183713034c9bbe0988c5848512099230b58b8b2f32edd59c0e843e4d7bc72642e84e842e11639f02213057cc893532808e9fe075b061e35cc SHA512 ff4d971c32a568d4e49d0bc49f15a4a89278e4a1c70ed7d1107e3f4cca13455326465ecc97d23e83501ad45f579b572efbf9217758edfb4531c87d59879b31f9 +DIST asterisk-13.36.0.tar.gz 33692378 BLAKE2B 7252e7a103d94bbdd4073563f88ec2952ef88856cb5a98f7a07818a993c1064ca4ffb12202f2c297125d7bc3fd3814c9921a87c179db03dede05162844bebbd1 SHA512 276175e6df1c8a2e642c4607aa32515e7c4fffe50f7db89bbfee8850b286579350a074bb8bbe743b3e95d6ce2d92f8d5444053fe52527071cc884356b57a1efc DIST asterisk-16.12.0.tar.gz 27727347 BLAKE2B 3e2e986136e5ff19a876f01fdc6db1b6c22f83bf38f8524a418e474e2400375d8091dd215fb54f5b01f998cecf46d6965a0c35a44dc6f3be7f7a811e2ce70b8c SHA512 1fc41b92d070efd4a7ea5db1a36c83bdb6dbbe7d9b5087b0a887ba3d6875e81ba1b71a79b216138b242f0349a176baf6745480ff6fb7ed47c62dda4b09b6a891 +DIST asterisk-16.13.0.tar.gz 27735450 BLAKE2B 64cc75c7aa715734ebaf06fe7b3df54cfa309fc6126b45abfc21cc22c2c4e795946be473ce2887dc074124f9da6c8937d1bb4207fecf402eed7803ed063faa80 SHA512 872c5a5cb8faf9b1632895dafb6ee86c87e1766c9f33099b32216e6703f063800f87cac6db3537d1744349c42abd3ea83d70afe35138e45fb756872688822dfa DIST gentoo-asterisk-patchset-3.17.tar.bz2 5074 BLAKE2B 3c945e77b54b2449253acb9fcea8d289a7a3184729190622c14aff5557d36c93556efa83320fe4e7ae84021960c09f35ae9f997e8015706eef933aae2948309e SHA512 37f86f3c699b2643afd8080391e817a282571694bb56e00efd0734918dbc33d6c12a2463dbc24667597420863b4f506870140fbb8ef3f1700124ef790ae7252d DIST gentoo-asterisk-patchset-4.08.tar.bz2 2176 BLAKE2B 7f8c9b5fda855091e66b2534d2be23fb1616f565480459f71f766826e5deeeecb24899e2ee9eefe74323e892624d32ab954ec7e9be6a002431ff029fc13493ed SHA512 365c1b8628882c48c279e1fd77d982e6d0820ba7d7122e97bb4988f875d7010caa956798c833c3b01d389004fa08a63a9de2c1b452c9e5701c6106e29fd8e9e1 EBUILD asterisk-11.25.3-r1.ebuild 9217 BLAKE2B eb0e7a050246a399a16460392602bc1e24b1c24ccdfa498eff96e4b385783d091422aa68260460ef11643084191b47f377841d8bb878558f7ac2fa31b4545dcf SHA512 5f53ad786fee2e7e14d144dce3f59ba11e39645469fe056b505b784f6f8eea1be274fd5eb9a63bbd66ae9c1c3e014b5cc2f7c38cc939884b9346e2aba5212432 -EBUILD asterisk-13.33.0.ebuild 9138 BLAKE2B 97ef7fed6dc2e1c302215b1e4e48c96816c244b80711c290080c741ff67851e2566fe3c26d106d2cb07d53f67d1d3f39a3f58711850445bfa19bf9a88cbe3fc3 SHA512 1f522c0116f43ff52867047c11df7d76f7b614781cc333bec1165d2e8fb077dfa13d7e72c366cbe95abc3f2e2d5b72671854ff3baa7efc58d4b102393fc9db55 EBUILD asterisk-13.34.0.ebuild 9114 BLAKE2B dff3812c7fdfce38e14426d4fcb04ac1829303be1ef1caac40ac98c1ecbe6fe5f3cef33847047f16a5af163e26c9a669a2960f2d145f80f1bfa13800e93b600c SHA512 b144e6b3820628dd2ae44c69e18056967cd96e8a7ed9cf397cbe31cf8587233cb82c9b3f4ffbaa2086cdfa1a1e5cb987f36f940be759ae424e5ac0455147ec5e -EBUILD asterisk-13.35.0.ebuild 9099 BLAKE2B ab7c025a242ee6e260de71083df4460264697788879b9c600488d5e22946aaaf4c680073b6814a7320249a4f66930291010b8b0873a769a7ec97d54fde43c7bc SHA512 09f0c631a3703594664959660e78f8ffe74d72d495c3e78e605feba17889f9b1ca0b01e5c7ad40e0495a6ae5bb92090fe53f5852f0c016787c074a05422bcc78 -EBUILD asterisk-16.11.1.ebuild 9278 BLAKE2B d1e9340f0ca063e9046029c8cb983d7086f4c9e3a6985bab46fd2f6921005733829fbd3e17c22206557c0d33f29c9d358a30569e69d2e421265b2846765666c6 SHA512 1d871f6d84d65b324d9285973052aa81860e9a2492bae5f1bba2fa36f4c258c1455eaafef355f96934a39ce9bdc2d62717691e8f6a886c0940f649e9642fcf31 -EBUILD asterisk-16.12.0.ebuild 9276 BLAKE2B 4e255b30bf55f0104a3a92262b319459e0633f206558f5f195b78bb5dc1b8edbc78b7d292362cab7ac623d677eb33ae2e7cce8b5fe8c154a94603acad3f05285 SHA512 8aa84ddd97cee7aa9f164c1e158820754d008734660af68164130fc5a4d3309a80bfb0bb0d9b186e546b3d60480d0d4149276cbba80002b748ba8ec51cbd2a2f +EBUILD asterisk-13.35.0-r1.ebuild 9185 BLAKE2B 499a0edee30087662bd0d1206ff4c48096b32e36e847cc63218fcf6b579b0f405613681b401bc42024714eb8de488432da5902e2d7cad0e7f5b43f1b192cd817 SHA512 8db46328ef142fbdf522ff0b4a379d8bdd8122d9ac9b3c617ab3a61b7d00601293e30cdadcd99b7ec825c36c3abddca7feef444660f27b0b46863f9fcee31110 +EBUILD asterisk-13.36.0.ebuild 9185 BLAKE2B 499a0edee30087662bd0d1206ff4c48096b32e36e847cc63218fcf6b579b0f405613681b401bc42024714eb8de488432da5902e2d7cad0e7f5b43f1b192cd817 SHA512 8db46328ef142fbdf522ff0b4a379d8bdd8122d9ac9b3c617ab3a61b7d00601293e30cdadcd99b7ec825c36c3abddca7feef444660f27b0b46863f9fcee31110 +EBUILD asterisk-16.12.0-r1.ebuild 9362 BLAKE2B 21c376575631bae725a96adfed3ead1b4cd0503d053e802d8ebc6dae77742c04853bef6f66a7b81bca55f8b23505c950a381527b1daecaa6b8ef179942d7f6ea SHA512 8c458c9f2498387f2cdc91bf25d2176b24916e9da459509182a526c2a123077e76fb72f509680d72d19c8a93e151ec008e5a489f7518ebb607e345b157577221 +EBUILD asterisk-16.13.0.ebuild 9362 BLAKE2B 21c376575631bae725a96adfed3ead1b4cd0503d053e802d8ebc6dae77742c04853bef6f66a7b81bca55f8b23505c950a381527b1daecaa6b8ef179942d7f6ea SHA512 8c458c9f2498387f2cdc91bf25d2176b24916e9da459509182a526c2a123077e76fb72f509680d72d19c8a93e151ec008e5a489f7518ebb607e345b157577221 MISC metadata.xml 1301 BLAKE2B 0989c94d86393562384681c19a2809dc6ebedfcdd592543b606206a8bd7829a4ca6768cb74082f74e75635c72804dda9154df3a4d61dcdbcc43eda93aa881322 SHA512 009e4dba6f55b8ff08940aab4722df6b76a055add43c7634a49dbc0fb68fe11e6c102a7a27ac84a253a2853b0d719f3a73bb40c86c2d2faa186b707e773987e3 diff --git a/net-misc/asterisk/asterisk-13.33.0.ebuild b/net-misc/asterisk/asterisk-13.33.0.ebuild deleted file mode 100644 index 88b0e7f31aa0..000000000000 --- a/net-misc/asterisk/asterisk-13.33.0.ebuild +++ /dev/null @@ -1,295 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info systemd - -DESCRIPTION="Asterisk: A Modular Open Source PBX System" -HOMEPAGE="https://www.asterisk.org/" -SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz - https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" - -IUSE_VOICEMAIL_STORAGE=" - +voicemail_storage_file - voicemail_storage_odbc - voicemail_storage_imap -" -IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc ldap libedit libressl lua mysql newt odbc oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog vorbis xmpp" -IUSE_EXPAND="VOICEMAIL_STORAGE" -REQUIRED_USE="gtalk? ( xmpp ) - ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) - voicemail_storage_odbc? ( odbc ) -" - -PATCHES=( - "${FILESDIR}/${PN}-historic-no-var-run-install.patch" - "${FILESDIR}/${PN}-13.33.0-nossl.patch" -) - -DEPEND="acct-user/asterisk - acct-group/asterisk - dev-db/sqlite:3 - dev-libs/popt - dev-libs/jansson - dev-libs/libxml2:2 - dev-libs/libxslt - sys-libs/ncurses:0= - sys-libs/zlib - alsa? ( media-libs/alsa-lib ) - bluetooth? ( net-wireless/bluez:= ) - calendar? ( - net-libs/neon:= - dev-libs/libical:= - dev-libs/iksemel - ) - caps? ( sys-libs/libcap ) - cluster? ( sys-cluster/corosync ) - curl? ( net-misc/curl ) - dahdi? ( - net-libs/libpri - net-misc/dahdi-tools - ) - freetds? ( dev-db/freetds ) - gtalk? ( dev-libs/iksemel ) - http? ( dev-libs/gmime:2.6 ) - iconv? ( virtual/libiconv ) - ilbc? ( media-libs/libilbc ) - ldap? ( net-nds/openldap ) - libedit? ( dev-libs/libedit ) - lua? ( dev-lang/lua:* ) - mysql? ( dev-db/mysql-connector-c:= ) - newt? ( dev-libs/newt ) - odbc? ( dev-db/unixODBC ) - pjproject? ( net-libs/pjproject ) - portaudio? ( media-libs/portaudio ) - postgres? ( dev-db/postgresql:* ) - radius? ( net-dialup/freeradius-client ) - snmp? ( net-analyzer/net-snmp:= ) - span? ( media-libs/spandsp ) - speex? ( - media-libs/speex - media-libs/speexdsp - ) - srtp? ( net-libs/libsrtp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - vorbis? ( media-libs/libvorbis ) - voicemail_storage_imap? ( virtual/imap-c-client ) - xmpp? ( dev-libs/iksemel ) -" - -RDEPEND="${DEPEND} - net-misc/asterisk-core-sounds - net-misc/asterisk-extra-sounds - net-misc/asterisk-moh-opsound - selinux? ( sec-policy/selinux-asterisk ) - syslog? ( virtual/logger )" - -BDEPEND="virtual/pkgconfig" - -QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" - -pkg_setup() { - CONFIG_CHECK="~!NF_CONNTRACK_SIP" - local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users - have reported that this module dropped critical SIP packets in their deployments. You - may want to disable it if you see such problems." - check_extra_config -} - -src_prepare() { - default - AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf -} - -function menuselect() { - menuselect/menuselect "$@" || die "menuselect $* failed." -} - -src_configure() { - local vmst - - econf \ - --libdir="/usr/$(get_libdir)" \ - --localstatedir="/var" \ - --with-crypto \ - --with-gsm=internal \ - --with-popt \ - --with-z \ - --without-libedit \ - $(use_with caps cap) \ - $(use_with http gmime) \ - $(use_with newt) \ - $(use_with pjproject) \ - $(use_with portaudio) \ - $(use_with ssl) - - # Blank out sounds/sounds.xml file to prevent - # asterisk from installing sounds files (we pull them in via - # asterisk-{core,extra}-sounds and asterisk-moh-opsound. - >"${S}"/sounds/sounds.xml - - # That NATIVE_ARCH chatter really is quite bothersome - sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" - - # Compile menuselect binary for optional components - emake NOISE_BUILD=yes menuselect.makeopts - - # Disable BUILD_NATIVE (bug #667498) - menuselect --disable build_native menuselect.makeopts - - # Broken functionality is forcibly disabled (bug #360143) - menuselect --disable chan_misdn menuselect.makeopts - menuselect --disable chan_ooh323 menuselect.makeopts - - # Utility set is forcibly enabled (bug #358001) - menuselect --enable smsq menuselect.makeopts - menuselect --enable streamplayer menuselect.makeopts - menuselect --enable aelparse menuselect.makeopts - menuselect --enable astman menuselect.makeopts - - # this is connected, otherwise it would not find - # ast_pktccops_gate_alloc symbol - menuselect --enable chan_mgcp menuselect.makeopts - menuselect --enable res_pktccops menuselect.makeopts - - # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available - menuselect --enable pbx_dundi menuselect.makeopts - menuselect --enable func_aes menuselect.makeopts - menuselect --enable chan_iax2 menuselect.makeopts - - # SQlite3 is now the main database backend, enable related features - menuselect --enable cdr_sqlite3_custom menuselect.makeopts - menuselect --enable cel_sqlite3_custom menuselect.makeopts - - # The others are based on USE-flag settings - use_select() { - local state=$(use "$1" && echo enable || echo disable) - shift # remove use from parameters - - while [[ -n $1 ]]; do - menuselect --${state} "$1" menuselect.makeopts - shift - done - } - - use_select alsa chan_alsa - use_select bluetooth chan_mobile - use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} - use_select cluster res_corosync - use_select curl func_curl res_config_curl res_curl - use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi - use_select freetds {cdr,cel}_tds - use_select gtalk chan_motif - use_select http res_http_post - use_select iconv func_iconv - use_select ilbc codec_ilbc format_ilbc - use_select ldap res_config_ldap - use_select lua pbx_lua - use_select mysql app_mysql cdr_mysql res_config_mysql - use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - use_select oss chan_oss - use_select postgres {cdr,cel}_pgsql res_config_pgsql - use_select radius {cdr,cel}_radius - use_select snmp res_snmp - use_select span res_fax_spandsp - use_select speex {codec,func}_speex - use_select srtp res_srtp - use_select statsd res_statsd res_{endpoint,chan}_stats - use_select syslog cdr_syslog - use_select vorbis format_ogg_vorbis - use_select xmpp res_xmpp - - # Voicemail storage ... - for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do - if use ${vmst}; then - menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts - fi - done - - if use debug; then - for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do - menuselect --enable $o menuselect.makeopts - done - fi -} - -src_compile() { - emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes -} - -src_install() { - local d - - mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die - emake DESTDIR="${ED}" NOISY_BUILD=yes install - - if use radius; then - insinto /etc/radiusclient/ - doins contrib/dictionary.digium - fi - diropts -m 0750 -o root -g asterisk - keepdir /etc/asterisk - emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs - for conffile in "${ED}/etc/asterisk/"* - do - fowners root:root "${conffile#${ED}}" - fperms 0644 "${conffile#${ED}}" - done - - # keep directories - diropts -m 0750 -o asterisk -g root - keepdir /var/lib/asterisk - keepdir /var/spool/asterisk - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk - newconfd "${FILESDIR}"/confd-13.32.0 asterisk - - systemd_dounit "${FILESDIR}"/asterisk.service - systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf - systemd_install_serviced "${FILESDIR}"/asterisk.service.conf - - # Reset diropts else dodoc uses it for doc installations. - diropts -m0755 - - # install the upgrade documentation - dodoc UPGRADE* BUGS CREDITS - - # install extra documentation - if use doc; then - dodoc doc/*.txt - dodoc doc/*.pdf - fi - - # install logrotate snippet; bug #329281 - # - insinto /etc/logrotate.d - newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk - - # Asterisk installs a few folders that's empty by design, - # but still required. This finds them, and marks them for - # portage. - for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do - keepdir "${d#${ED}}" - done -} - -pkg_postinst() { - if [ -z "${REPLACING_VERSIONS}" ]; then - elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then - elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" - elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - fi -} diff --git a/net-misc/asterisk/asterisk-13.35.0-r1.ebuild b/net-misc/asterisk/asterisk-13.35.0-r1.ebuild new file mode 100644 index 000000000000..b4c18883346d --- /dev/null +++ b/net-misc/asterisk/asterisk-13.35.0-r1.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info systemd + +DESCRIPTION="Asterisk: A Modular Open Source PBX System" +HOMEPAGE="https://www.asterisk.org/" +SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz + https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/${PN}-historic-no-var-run-install.patch" +) + +DEPEND="acct-user/asterisk + acct-group/asterisk + dev-db/sqlite:3 + dev-libs/popt + dev-libs/jansson + dev-libs/libedit + dev-libs/libxml2:2 + dev-libs/libxslt + sys-libs/ncurses:0= + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + cluster? ( sys-cluster/corosync ) + curl? ( net-misc/curl ) + dahdi? ( + net-libs/libpri + net-misc/dahdi-tools + ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( media-libs/libilbc ) + ldap? ( net-nds/openldap ) + lua? ( dev-lang/lua:* ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( net-libs/pjproject ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql:* ) + radius? ( net-dialup/freeradius-client ) + snmp? ( net-analyzer/net-snmp:= ) + span? ( media-libs/spandsp ) + speex? ( + media-libs/libogg + media-libs/speex + media-libs/speexdsp + ) + srtp? ( net-libs/libsrtp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( virtual/imap-c-client ) + xmpp? ( dev-libs/iksemel ) +" + +RDEPEND="${DEPEND} + net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +BDEPEND="virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-z \ + --with-libedit \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with pjproject) \ + $(use_with portaudio) \ + $(use_with ssl) + + _menuselect() { + menuselect/menuselect "$@" || die "menuselect $* failed." + } + + _use_select() { + local state=$(usex "$1" enable disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + _menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake NOISE_BUILD=yes menuselect.makeopts + + # Disable BUILD_NATIVE (bug #667498) + _menuselect --disable build_native menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + _menuselect --disable chan_misdn menuselect.makeopts + _menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + _menuselect --enable smsq menuselect.makeopts + _menuselect --enable streamplayer menuselect.makeopts + _menuselect --enable aelparse menuselect.makeopts + _menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + _menuselect --enable chan_mgcp menuselect.makeopts + _menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + _menuselect --enable pbx_dundi menuselect.makeopts + _menuselect --enable func_aes menuselect.makeopts + _menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + _menuselect --enable cdr_sqlite3_custom menuselect.makeopts + _menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + _use_select alsa chan_alsa + _use_select bluetooth chan_mobile + _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} + _use_select cluster res_corosync + _use_select curl func_curl res_config_curl res_curl + _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi + _use_select freetds {cdr,cel}_tds + _use_select gtalk chan_motif + _use_select http res_http_post + _use_select iconv func_iconv + _use_select ilbc codec_ilbc format_ilbc + _use_select ldap res_config_ldap + _use_select lua pbx_lua + _use_select mysql app_mysql cdr_mysql res_config_mysql + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc + _use_select oss chan_oss + _use_select postgres {cdr,cel}_pgsql res_config_pgsql + _use_select radius {cdr,cel}_radius + _use_select snmp res_snmp + _use_select span res_fax_spandsp + _use_select speex {codec,func}_speex + _use_select speex format_ogg_speex + _use_select srtp res_srtp + _use_select statsd res_statsd res_{endpoint,chan}_stats + _use_select syslog cdr_syslog + _use_select vorbis format_ogg_vorbis + _use_select xmpp res_xmpp + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + _menuselect --enable $o menuselect.makeopts + done + fi +} + +src_compile() { + emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes +} + +src_install() { + local d + + mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die + emake DESTDIR="${ED}" NOISY_BUILD=yes install + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs + for conffile in "${ED}/etc/asterisk/"* + do + fowners root:root "${conffile#${ED}}" + fperms 0644 "${conffile#${ED}}" + done + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk + newconfd "${FILESDIR}"/confd-13.32.0 asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + # install the upgrade documentation + dodoc UPGRADE* BUGS CREDITS + + # install extra documentation + if use doc; then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do + keepdir "${d#${ED}}" + done +} + +pkg_postinst() { + if [ -z "${REPLACING_VERSIONS}" ]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then + elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + fi +} diff --git a/net-misc/asterisk/asterisk-13.35.0.ebuild b/net-misc/asterisk/asterisk-13.35.0.ebuild deleted file mode 100644 index 1f33018e9fc4..000000000000 --- a/net-misc/asterisk/asterisk-13.35.0.ebuild +++ /dev/null @@ -1,294 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info systemd - -DESCRIPTION="Asterisk: A Modular Open Source PBX System" -HOMEPAGE="https://www.asterisk.org/" -SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz - https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" - -IUSE_VOICEMAIL_STORAGE=" - +voicemail_storage_file - voicemail_storage_odbc - voicemail_storage_imap -" -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" -IUSE_EXPAND="VOICEMAIL_STORAGE" -REQUIRED_USE="gtalk? ( xmpp ) - ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) - voicemail_storage_odbc? ( odbc ) -" - -PATCHES=( - "${FILESDIR}/${PN}-historic-no-var-run-install.patch" -) - -DEPEND="acct-user/asterisk - acct-group/asterisk - dev-db/sqlite:3 - dev-libs/popt - dev-libs/jansson - dev-libs/libedit - dev-libs/libxml2:2 - dev-libs/libxslt - sys-libs/ncurses:0= - sys-libs/zlib - alsa? ( media-libs/alsa-lib ) - bluetooth? ( net-wireless/bluez:= ) - calendar? ( - net-libs/neon:= - dev-libs/libical:= - dev-libs/iksemel - ) - caps? ( sys-libs/libcap ) - cluster? ( sys-cluster/corosync ) - curl? ( net-misc/curl ) - dahdi? ( - net-libs/libpri - net-misc/dahdi-tools - ) - freetds? ( dev-db/freetds ) - gtalk? ( dev-libs/iksemel ) - http? ( dev-libs/gmime:2.6 ) - iconv? ( virtual/libiconv ) - ilbc? ( media-libs/libilbc ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua:* ) - mysql? ( dev-db/mysql-connector-c:= ) - newt? ( dev-libs/newt ) - odbc? ( dev-db/unixODBC ) - pjproject? ( net-libs/pjproject ) - portaudio? ( media-libs/portaudio ) - postgres? ( dev-db/postgresql:* ) - radius? ( net-dialup/freeradius-client ) - snmp? ( net-analyzer/net-snmp:= ) - span? ( media-libs/spandsp ) - speex? ( - media-libs/speex - media-libs/speexdsp - ) - srtp? ( net-libs/libsrtp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - vorbis? ( media-libs/libvorbis ) - voicemail_storage_imap? ( virtual/imap-c-client ) - xmpp? ( dev-libs/iksemel ) -" - -RDEPEND="${DEPEND} - net-misc/asterisk-core-sounds - net-misc/asterisk-extra-sounds - net-misc/asterisk-moh-opsound - selinux? ( sec-policy/selinux-asterisk ) - syslog? ( virtual/logger )" - -BDEPEND="virtual/pkgconfig" - -QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" - -pkg_setup() { - CONFIG_CHECK="~!NF_CONNTRACK_SIP" - local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users - have reported that this module dropped critical SIP packets in their deployments. You - may want to disable it if you see such problems." - check_extra_config -} - -src_prepare() { - default - AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf -} - -src_configure() { - local vmst - - econf \ - --libdir="/usr/$(get_libdir)" \ - --localstatedir="/var" \ - --with-crypto \ - --with-gsm=internal \ - --with-popt \ - --with-z \ - --with-libedit \ - $(use_with caps cap) \ - $(use_with http gmime) \ - $(use_with newt) \ - $(use_with pjproject) \ - $(use_with portaudio) \ - $(use_with ssl) - - _menuselect() { - menuselect/menuselect "$@" || die "menuselect $* failed." - } - - _use_select() { - local state=$(usex "$1" enable disable) - shift # remove use from parameters - - while [[ -n $1 ]]; do - _menuselect --${state} "$1" menuselect.makeopts - shift - done - } - - # Blank out sounds/sounds.xml file to prevent - # asterisk from installing sounds files (we pull them in via - # asterisk-{core,extra}-sounds and asterisk-moh-opsound. - >"${S}"/sounds/sounds.xml - - # That NATIVE_ARCH chatter really is quite bothersome - sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" - - # Compile menuselect binary for optional components - emake NOISE_BUILD=yes menuselect.makeopts - - # Disable BUILD_NATIVE (bug #667498) - _menuselect --disable build_native menuselect.makeopts - - # Broken functionality is forcibly disabled (bug #360143) - _menuselect --disable chan_misdn menuselect.makeopts - _menuselect --disable chan_ooh323 menuselect.makeopts - - # Utility set is forcibly enabled (bug #358001) - _menuselect --enable smsq menuselect.makeopts - _menuselect --enable streamplayer menuselect.makeopts - _menuselect --enable aelparse menuselect.makeopts - _menuselect --enable astman menuselect.makeopts - - # this is connected, otherwise it would not find - # ast_pktccops_gate_alloc symbol - _menuselect --enable chan_mgcp menuselect.makeopts - _menuselect --enable res_pktccops menuselect.makeopts - - # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available - _menuselect --enable pbx_dundi menuselect.makeopts - _menuselect --enable func_aes menuselect.makeopts - _menuselect --enable chan_iax2 menuselect.makeopts - - # SQlite3 is now the main database backend, enable related features - _menuselect --enable cdr_sqlite3_custom menuselect.makeopts - _menuselect --enable cel_sqlite3_custom menuselect.makeopts - - # The others are based on USE-flag settings - _use_select alsa chan_alsa - _use_select bluetooth chan_mobile - _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} - _use_select cluster res_corosync - _use_select curl func_curl res_config_curl res_curl - _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi - _use_select freetds {cdr,cel}_tds - _use_select gtalk chan_motif - _use_select http res_http_post - _use_select iconv func_iconv - _use_select ilbc codec_ilbc format_ilbc - _use_select ldap res_config_ldap - _use_select lua pbx_lua - _use_select mysql app_mysql cdr_mysql res_config_mysql - _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - _use_select oss chan_oss - _use_select postgres {cdr,cel}_pgsql res_config_pgsql - _use_select radius {cdr,cel}_radius - _use_select snmp res_snmp - _use_select span res_fax_spandsp - _use_select speex {codec,func}_speex - _use_select srtp res_srtp - _use_select statsd res_statsd res_{endpoint,chan}_stats - _use_select syslog cdr_syslog - _use_select vorbis format_ogg_vorbis - _use_select xmpp res_xmpp - - # Voicemail storage ... - for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do - if use ${vmst}; then - _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts - fi - done - - if use debug; then - for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do - _menuselect --enable $o menuselect.makeopts - done - fi -} - -src_compile() { - emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes -} - -src_install() { - local d - - mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die - emake DESTDIR="${ED}" NOISY_BUILD=yes install - - if use radius; then - insinto /etc/radiusclient/ - doins contrib/dictionary.digium - fi - diropts -m 0750 -o root -g asterisk - keepdir /etc/asterisk - emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs - for conffile in "${ED}/etc/asterisk/"* - do - fowners root:root "${conffile#${ED}}" - fperms 0644 "${conffile#${ED}}" - done - - # keep directories - diropts -m 0750 -o asterisk -g root - keepdir /var/lib/asterisk - keepdir /var/spool/asterisk - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk - newconfd "${FILESDIR}"/confd-13.32.0 asterisk - - systemd_dounit "${FILESDIR}"/asterisk.service - systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf - systemd_install_serviced "${FILESDIR}"/asterisk.service.conf - - # Reset diropts else dodoc uses it for doc installations. - diropts -m0755 - - # install the upgrade documentation - dodoc UPGRADE* BUGS CREDITS - - # install extra documentation - if use doc; then - dodoc doc/*.txt - dodoc doc/*.pdf - fi - - # install logrotate snippet; bug #329281 - # - insinto /etc/logrotate.d - newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk - - # Asterisk installs a few folders that's empty by design, - # but still required. This finds them, and marks them for - # portage. - for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do - keepdir "${d#${ED}}" - done -} - -pkg_postinst() { - if [ -z "${REPLACING_VERSIONS}" ]; then - elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then - elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" - elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - fi -} diff --git a/net-misc/asterisk/asterisk-13.36.0.ebuild b/net-misc/asterisk/asterisk-13.36.0.ebuild new file mode 100644 index 000000000000..b4c18883346d --- /dev/null +++ b/net-misc/asterisk/asterisk-13.36.0.ebuild @@ -0,0 +1,299 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info systemd + +DESCRIPTION="Asterisk: A Modular Open Source PBX System" +HOMEPAGE="https://www.asterisk.org/" +SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz + https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/${PN}-historic-no-var-run-install.patch" +) + +DEPEND="acct-user/asterisk + acct-group/asterisk + dev-db/sqlite:3 + dev-libs/popt + dev-libs/jansson + dev-libs/libedit + dev-libs/libxml2:2 + dev-libs/libxslt + sys-libs/ncurses:0= + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + cluster? ( sys-cluster/corosync ) + curl? ( net-misc/curl ) + dahdi? ( + net-libs/libpri + net-misc/dahdi-tools + ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( media-libs/libilbc ) + ldap? ( net-nds/openldap ) + lua? ( dev-lang/lua:* ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( net-libs/pjproject ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql:* ) + radius? ( net-dialup/freeradius-client ) + snmp? ( net-analyzer/net-snmp:= ) + span? ( media-libs/spandsp ) + speex? ( + media-libs/libogg + media-libs/speex + media-libs/speexdsp + ) + srtp? ( net-libs/libsrtp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( virtual/imap-c-client ) + xmpp? ( dev-libs/iksemel ) +" + +RDEPEND="${DEPEND} + net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +BDEPEND="virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-z \ + --with-libedit \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with pjproject) \ + $(use_with portaudio) \ + $(use_with ssl) + + _menuselect() { + menuselect/menuselect "$@" || die "menuselect $* failed." + } + + _use_select() { + local state=$(usex "$1" enable disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + _menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake NOISE_BUILD=yes menuselect.makeopts + + # Disable BUILD_NATIVE (bug #667498) + _menuselect --disable build_native menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + _menuselect --disable chan_misdn menuselect.makeopts + _menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + _menuselect --enable smsq menuselect.makeopts + _menuselect --enable streamplayer menuselect.makeopts + _menuselect --enable aelparse menuselect.makeopts + _menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + _menuselect --enable chan_mgcp menuselect.makeopts + _menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + _menuselect --enable pbx_dundi menuselect.makeopts + _menuselect --enable func_aes menuselect.makeopts + _menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + _menuselect --enable cdr_sqlite3_custom menuselect.makeopts + _menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + _use_select alsa chan_alsa + _use_select bluetooth chan_mobile + _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} + _use_select cluster res_corosync + _use_select curl func_curl res_config_curl res_curl + _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi + _use_select freetds {cdr,cel}_tds + _use_select gtalk chan_motif + _use_select http res_http_post + _use_select iconv func_iconv + _use_select ilbc codec_ilbc format_ilbc + _use_select ldap res_config_ldap + _use_select lua pbx_lua + _use_select mysql app_mysql cdr_mysql res_config_mysql + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc + _use_select oss chan_oss + _use_select postgres {cdr,cel}_pgsql res_config_pgsql + _use_select radius {cdr,cel}_radius + _use_select snmp res_snmp + _use_select span res_fax_spandsp + _use_select speex {codec,func}_speex + _use_select speex format_ogg_speex + _use_select srtp res_srtp + _use_select statsd res_statsd res_{endpoint,chan}_stats + _use_select syslog cdr_syslog + _use_select vorbis format_ogg_vorbis + _use_select xmpp res_xmpp + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + _menuselect --enable $o menuselect.makeopts + done + fi +} + +src_compile() { + emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes +} + +src_install() { + local d + + mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die + emake DESTDIR="${ED}" NOISY_BUILD=yes install + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs + for conffile in "${ED}/etc/asterisk/"* + do + fowners root:root "${conffile#${ED}}" + fperms 0644 "${conffile#${ED}}" + done + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk + newconfd "${FILESDIR}"/confd-13.32.0 asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + # install the upgrade documentation + dodoc UPGRADE* BUGS CREDITS + + # install extra documentation + if use doc; then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do + keepdir "${d#${ED}}" + done +} + +pkg_postinst() { + if [ -z "${REPLACING_VERSIONS}" ]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then + elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + fi +} diff --git a/net-misc/asterisk/asterisk-16.11.1.ebuild b/net-misc/asterisk/asterisk-16.11.1.ebuild deleted file mode 100644 index b971778f05c4..000000000000 --- a/net-misc/asterisk/asterisk-16.11.1.ebuild +++ /dev/null @@ -1,300 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info systemd - -DESCRIPTION="Asterisk: A Modular Open Source PBX System" -HOMEPAGE="https://www.asterisk.org/" -SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz - https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" - -IUSE_VOICEMAIL_STORAGE=" - +voicemail_storage_file - voicemail_storage_odbc - voicemail_storage_imap -" -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" -IUSE_EXPAND="VOICEMAIL_STORAGE" -REQUIRED_USE="gtalk? ( xmpp ) - ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) - voicemail_storage_odbc? ( odbc ) -" - -PATCHES=( - "${FILESDIR}/${PN}-historic-no-var-run-install.patch" - "${FILESDIR}/${PN}-13.33.0-nossl.patch" -) - -DEPEND="acct-user/asterisk - acct-group/asterisk - dev-db/sqlite:3 - dev-libs/popt - >=dev-libs/jansson-2.11 - dev-libs/libedit - dev-libs/libxml2:2 - dev-libs/libxslt - sys-apps/util-linux - sys-libs/ncurses:0= - sys-libs/zlib - alsa? ( media-libs/alsa-lib ) - bluetooth? ( net-wireless/bluez:= ) - calendar? ( - net-libs/neon:= - dev-libs/libical:= - dev-libs/iksemel - ) - caps? ( sys-libs/libcap ) - cluster? ( sys-cluster/corosync ) - curl? ( net-misc/curl ) - dahdi? ( - net-libs/libpri - net-misc/dahdi-tools - ) - freetds? ( dev-db/freetds ) - gtalk? ( dev-libs/iksemel ) - http? ( dev-libs/gmime:2.6 ) - iconv? ( virtual/libiconv ) - ilbc? ( media-libs/libilbc ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua:* ) - mysql? ( dev-db/mysql-connector-c:= ) - newt? ( dev-libs/newt ) - odbc? ( dev-db/unixODBC ) - pjproject? ( >=net-libs/pjproject-2.9 ) - portaudio? ( media-libs/portaudio ) - postgres? ( dev-db/postgresql:* ) - radius? ( net-dialup/freeradius-client ) - snmp? ( net-analyzer/net-snmp:= ) - span? ( media-libs/spandsp ) - speex? ( - media-libs/speex - media-libs/speexdsp - ) - srtp? ( net-libs/libsrtp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - unbound? ( net-dns/unbound ) - vorbis? ( media-libs/libvorbis ) - voicemail_storage_imap? ( virtual/imap-c-client ) - xmpp? ( dev-libs/iksemel ) -" - -RDEPEND="${DEPEND} - net-misc/asterisk-core-sounds - net-misc/asterisk-extra-sounds - net-misc/asterisk-moh-opsound - selinux? ( sec-policy/selinux-asterisk ) - syslog? ( virtual/logger )" - -BDEPEND="virtual/pkgconfig" - -QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" - -pkg_setup() { - CONFIG_CHECK="~!NF_CONNTRACK_SIP" - local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users - have reported that this module dropped critical SIP packets in their deployments. You - may want to disable it if you see such problems." - check_extra_config -} - -src_prepare() { - default - AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf -} - -function menuselect() { - menuselect/menuselect "$@" || die "menuselect $* failed." -} - -src_configure() { - local vmst - - econf \ - --libdir="/usr/$(get_libdir)" \ - --localstatedir="/var" \ - --with-crypto \ - --with-gsm=internal \ - --with-popt \ - --with-z \ - --with-libedit \ - --without-jansson-bundled \ - --without-pjproject-bundled \ - $(use_with caps cap) \ - $(use_with http gmime) \ - $(use_with newt) \ - $(use_with pjproject) \ - $(use_with portaudio) \ - $(use_with ssl) \ - $(use_with unbound) - - # Blank out sounds/sounds.xml file to prevent - # asterisk from installing sounds files (we pull them in via - # asterisk-{core,extra}-sounds and asterisk-moh-opsound. - >"${S}"/sounds/sounds.xml - - # That NATIVE_ARCH chatter really is quite bothersome - sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" - - # Compile menuselect binary for optional components - emake NOISY_BUILD=yes menuselect.makeopts - - # Disable BUILD_NATIVE (bug #667498) - menuselect --disable build_native menuselect.makeopts - - # Broken functionality is forcibly disabled (bug #360143) - menuselect --disable chan_misdn menuselect.makeopts - menuselect --disable chan_ooh323 menuselect.makeopts - - # Utility set is forcibly enabled (bug #358001) - menuselect --enable smsq menuselect.makeopts - menuselect --enable streamplayer menuselect.makeopts - menuselect --enable aelparse menuselect.makeopts - menuselect --enable astman menuselect.makeopts - - # this is connected, otherwise it would not find - # ast_pktccops_gate_alloc symbol - menuselect --enable chan_mgcp menuselect.makeopts - menuselect --enable res_pktccops menuselect.makeopts - - # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available - menuselect --enable pbx_dundi menuselect.makeopts - menuselect --enable func_aes menuselect.makeopts - menuselect --enable chan_iax2 menuselect.makeopts - - # SQlite3 is now the main database backend, enable related features - menuselect --enable cdr_sqlite3_custom menuselect.makeopts - menuselect --enable cel_sqlite3_custom menuselect.makeopts - - # The others are based on USE-flag settings - use_select() { - local state=$(use "$1" && echo enable || echo disable) - shift # remove use from parameters - - while [[ -n $1 ]]; do - menuselect --${state} "$1" menuselect.makeopts - shift - done - } - - use_select alsa chan_alsa - use_select bluetooth chan_mobile - use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} - use_select cluster res_corosync - use_select curl func_curl res_config_curl res_curl - use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi - use_select freetds {cdr,cel}_tds - use_select gtalk chan_motif - use_select http res_http_post - use_select iconv func_iconv - use_select ilbc codec_ilbc format_ilbc - use_select ldap res_config_ldap - use_select lua pbx_lua - use_select mysql app_mysql cdr_mysql res_config_mysql - use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - use_select oss chan_oss - use_select postgres {cdr,cel}_pgsql res_config_pgsql - use_select radius {cdr,cel}_radius - use_select snmp res_snmp - use_select span res_fax_spandsp - use_select speex {codec,func}_speex - use_select srtp res_srtp - use_select statsd res_statsd res_{endpoint,chan}_stats - use_select syslog cdr_syslog - use_select vorbis format_ogg_vorbis - use_select xmpp res_xmpp - - # Voicemail storage ... - for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do - if use ${vmst}; then - menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts - fi - done - - if use debug; then - for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do - menuselect --enable "${o}" menuselect.makeopts - done - fi -} - -src_compile() { - emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes -} - -src_install() { - local d - - mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die - emake DESTDIR="${ED}" NOISY_BUILD=yes install - - if use radius; then - insinto /etc/radiusclient/ - doins contrib/dictionary.digium - fi - diropts -m 0750 -o root -g asterisk - keepdir /etc/asterisk - emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs - for conffile in "${ED}/etc/asterisk/"* - do - fowners root:root "${conffile#${ED}}" - fperms 0644 "${conffile#${ED}}" - done - - # keep directories - diropts -m 0750 -o asterisk -g root - keepdir /var/lib/asterisk - keepdir /var/spool/asterisk - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk - newconfd "${FILESDIR}"/confd-13.32.0 asterisk - - systemd_dounit "${FILESDIR}"/asterisk.service - systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf - systemd_install_serviced "${FILESDIR}"/asterisk.service.conf - - # Reset diropts else dodoc uses it for doc installations. - diropts -m0755 - - # install the upgrade documentation - dodoc UPGRADE* BUGS CREDITS - - # install extra documentation - if use doc; then - dodoc doc/*.txt - dodoc doc/*.pdf - fi - - # install logrotate snippet; bug #329281 - # - insinto /etc/logrotate.d - newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk - - # Asterisk installs a few folders that's empty by design, - # but still required. This finds them, and marks them for - # portage. - for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do - keepdir "${d#${ED}}" - done -} - -pkg_postinst() { - if [ -z "${REPLACING_VERSIONS}" ]; then - elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then - elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" - elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - fi -} diff --git a/net-misc/asterisk/asterisk-16.12.0-r1.ebuild b/net-misc/asterisk/asterisk-16.12.0-r1.ebuild new file mode 100644 index 000000000000..44f1f489f95c --- /dev/null +++ b/net-misc/asterisk/asterisk-16.12.0-r1.ebuild @@ -0,0 +1,304 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info systemd + +DESCRIPTION="Asterisk: A Modular Open Source PBX System" +HOMEPAGE="https://www.asterisk.org/" +SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz + https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/${PN}-historic-no-var-run-install.patch" +) + +DEPEND="acct-user/asterisk + acct-group/asterisk + dev-db/sqlite:3 + dev-libs/popt + >=dev-libs/jansson-2.11 + dev-libs/libedit + dev-libs/libxml2:2 + dev-libs/libxslt + sys-apps/util-linux + sys-libs/ncurses:0= + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + cluster? ( sys-cluster/corosync ) + curl? ( net-misc/curl ) + dahdi? ( + net-libs/libpri + net-misc/dahdi-tools + ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( media-libs/libilbc ) + ldap? ( net-nds/openldap ) + lua? ( dev-lang/lua:* ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( >=net-libs/pjproject-2.9 ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql:* ) + radius? ( net-dialup/freeradius-client ) + snmp? ( net-analyzer/net-snmp:= ) + span? ( media-libs/spandsp ) + speex? ( + media-libs/libogg + media-libs/speex + media-libs/speexdsp + ) + srtp? ( net-libs/libsrtp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + unbound? ( net-dns/unbound ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( virtual/imap-c-client ) + xmpp? ( dev-libs/iksemel ) +" + +RDEPEND="${DEPEND} + net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +BDEPEND="virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-z \ + --with-libedit \ + --without-jansson-bundled \ + --without-pjproject-bundled \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with pjproject) \ + $(use_with portaudio) \ + $(use_with ssl) \ + $(use_with unbound) + + _menuselect() { + menuselect/menuselect "$@" || die "menuselect $* failed." + } + + _use_select() { + local state=$(use "$1" && echo enable || echo disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + _menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake NOISY_BUILD=yes menuselect.makeopts + + # Disable BUILD_NATIVE (bug #667498) + _menuselect --disable build_native menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + _menuselect --disable chan_misdn menuselect.makeopts + _menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + _menuselect --enable smsq menuselect.makeopts + _menuselect --enable streamplayer menuselect.makeopts + _menuselect --enable aelparse menuselect.makeopts + _menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + _menuselect --enable chan_mgcp menuselect.makeopts + _menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + _menuselect --enable pbx_dundi menuselect.makeopts + _menuselect --enable func_aes menuselect.makeopts + _menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + _menuselect --enable cdr_sqlite3_custom menuselect.makeopts + _menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + _use_select alsa chan_alsa + _use_select bluetooth chan_mobile + _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} + _use_select cluster res_corosync + _use_select curl func_curl res_config_curl res_curl + _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi + _use_select freetds {cdr,cel}_tds + _use_select gtalk chan_motif + _use_select http res_http_post + _use_select iconv func_iconv + _use_select ilbc codec_ilbc format_ilbc + _use_select ldap res_config_ldap + _use_select lua pbx_lua + _use_select mysql app_mysql cdr_mysql res_config_mysql + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc + _use_select oss chan_oss + _use_select postgres {cdr,cel}_pgsql res_config_pgsql + _use_select radius {cdr,cel}_radius + _use_select snmp res_snmp + _use_select span res_fax_spandsp + _use_select speex {codec,func}_speex + _use_select speex format_ogg_speex + _use_select srtp res_srtp + _use_select statsd res_statsd res_{endpoint,chan}_stats + _use_select syslog cdr_syslog + _use_select vorbis format_ogg_vorbis + _use_select xmpp res_xmpp + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + _menuselect --enable "${o}" menuselect.makeopts + done + fi +} + +src_compile() { + emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes +} + +src_install() { + local d + + mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die + emake DESTDIR="${ED}" NOISY_BUILD=yes install + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs + for conffile in "${ED}/etc/asterisk/"* + do + fowners root:root "${conffile#${ED}}" + fperms 0644 "${conffile#${ED}}" + done + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk + newconfd "${FILESDIR}"/confd-13.32.0 asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + # install the upgrade documentation + dodoc UPGRADE* BUGS CREDITS + + # install extra documentation + if use doc; then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do + keepdir "${d#${ED}}" + done +} + +pkg_postinst() { + if [ -z "${REPLACING_VERSIONS}" ]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then + elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + fi +} diff --git a/net-misc/asterisk/asterisk-16.12.0.ebuild b/net-misc/asterisk/asterisk-16.12.0.ebuild deleted file mode 100644 index e7b031043036..000000000000 --- a/net-misc/asterisk/asterisk-16.12.0.ebuild +++ /dev/null @@ -1,299 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info systemd - -DESCRIPTION="Asterisk: A Modular Open Source PBX System" -HOMEPAGE="https://www.asterisk.org/" -SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz - https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" - -IUSE_VOICEMAIL_STORAGE=" - +voicemail_storage_file - voicemail_storage_odbc - voicemail_storage_imap -" -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" -IUSE_EXPAND="VOICEMAIL_STORAGE" -REQUIRED_USE="gtalk? ( xmpp ) - ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) - voicemail_storage_odbc? ( odbc ) -" - -PATCHES=( - "${FILESDIR}/${PN}-historic-no-var-run-install.patch" -) - -DEPEND="acct-user/asterisk - acct-group/asterisk - dev-db/sqlite:3 - dev-libs/popt - >=dev-libs/jansson-2.11 - dev-libs/libedit - dev-libs/libxml2:2 - dev-libs/libxslt - sys-apps/util-linux - sys-libs/ncurses:0= - sys-libs/zlib - alsa? ( media-libs/alsa-lib ) - bluetooth? ( net-wireless/bluez:= ) - calendar? ( - net-libs/neon:= - dev-libs/libical:= - dev-libs/iksemel - ) - caps? ( sys-libs/libcap ) - cluster? ( sys-cluster/corosync ) - curl? ( net-misc/curl ) - dahdi? ( - net-libs/libpri - net-misc/dahdi-tools - ) - freetds? ( dev-db/freetds ) - gtalk? ( dev-libs/iksemel ) - http? ( dev-libs/gmime:2.6 ) - iconv? ( virtual/libiconv ) - ilbc? ( media-libs/libilbc ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua:* ) - mysql? ( dev-db/mysql-connector-c:= ) - newt? ( dev-libs/newt ) - odbc? ( dev-db/unixODBC ) - pjproject? ( >=net-libs/pjproject-2.9 ) - portaudio? ( media-libs/portaudio ) - postgres? ( dev-db/postgresql:* ) - radius? ( net-dialup/freeradius-client ) - snmp? ( net-analyzer/net-snmp:= ) - span? ( media-libs/spandsp ) - speex? ( - media-libs/speex - media-libs/speexdsp - ) - srtp? ( net-libs/libsrtp:0 ) - ssl? ( - !libressl? ( dev-libs/openssl:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - unbound? ( net-dns/unbound ) - vorbis? ( media-libs/libvorbis ) - voicemail_storage_imap? ( virtual/imap-c-client ) - xmpp? ( dev-libs/iksemel ) -" - -RDEPEND="${DEPEND} - net-misc/asterisk-core-sounds - net-misc/asterisk-extra-sounds - net-misc/asterisk-moh-opsound - selinux? ( sec-policy/selinux-asterisk ) - syslog? ( virtual/logger )" - -BDEPEND="virtual/pkgconfig" - -QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" - -pkg_setup() { - CONFIG_CHECK="~!NF_CONNTRACK_SIP" - local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users - have reported that this module dropped critical SIP packets in their deployments. You - may want to disable it if you see such problems." - check_extra_config -} - -src_prepare() { - default - AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf -} - -src_configure() { - local vmst - - econf \ - --libdir="/usr/$(get_libdir)" \ - --localstatedir="/var" \ - --with-crypto \ - --with-gsm=internal \ - --with-popt \ - --with-z \ - --with-libedit \ - --without-jansson-bundled \ - --without-pjproject-bundled \ - $(use_with caps cap) \ - $(use_with http gmime) \ - $(use_with newt) \ - $(use_with pjproject) \ - $(use_with portaudio) \ - $(use_with ssl) \ - $(use_with unbound) - - _menuselect() { - menuselect/menuselect "$@" || die "menuselect $* failed." - } - - _use_select() { - local state=$(use "$1" && echo enable || echo disable) - shift # remove use from parameters - - while [[ -n $1 ]]; do - _menuselect --${state} "$1" menuselect.makeopts - shift - done - } - - # Blank out sounds/sounds.xml file to prevent - # asterisk from installing sounds files (we pull them in via - # asterisk-{core,extra}-sounds and asterisk-moh-opsound. - >"${S}"/sounds/sounds.xml - - # That NATIVE_ARCH chatter really is quite bothersome - sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" - - # Compile menuselect binary for optional components - emake NOISY_BUILD=yes menuselect.makeopts - - # Disable BUILD_NATIVE (bug #667498) - _menuselect --disable build_native menuselect.makeopts - - # Broken functionality is forcibly disabled (bug #360143) - _menuselect --disable chan_misdn menuselect.makeopts - _menuselect --disable chan_ooh323 menuselect.makeopts - - # Utility set is forcibly enabled (bug #358001) - _menuselect --enable smsq menuselect.makeopts - _menuselect --enable streamplayer menuselect.makeopts - _menuselect --enable aelparse menuselect.makeopts - _menuselect --enable astman menuselect.makeopts - - # this is connected, otherwise it would not find - # ast_pktccops_gate_alloc symbol - _menuselect --enable chan_mgcp menuselect.makeopts - _menuselect --enable res_pktccops menuselect.makeopts - - # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available - _menuselect --enable pbx_dundi menuselect.makeopts - _menuselect --enable func_aes menuselect.makeopts - _menuselect --enable chan_iax2 menuselect.makeopts - - # SQlite3 is now the main database backend, enable related features - _menuselect --enable cdr_sqlite3_custom menuselect.makeopts - _menuselect --enable cel_sqlite3_custom menuselect.makeopts - - # The others are based on USE-flag settings - _use_select alsa chan_alsa - _use_select bluetooth chan_mobile - _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} - _use_select cluster res_corosync - _use_select curl func_curl res_config_curl res_curl - _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi - _use_select freetds {cdr,cel}_tds - _use_select gtalk chan_motif - _use_select http res_http_post - _use_select iconv func_iconv - _use_select ilbc codec_ilbc format_ilbc - _use_select ldap res_config_ldap - _use_select lua pbx_lua - _use_select mysql app_mysql cdr_mysql res_config_mysql - _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - _use_select oss chan_oss - _use_select postgres {cdr,cel}_pgsql res_config_pgsql - _use_select radius {cdr,cel}_radius - _use_select snmp res_snmp - _use_select span res_fax_spandsp - _use_select speex {codec,func}_speex - _use_select srtp res_srtp - _use_select statsd res_statsd res_{endpoint,chan}_stats - _use_select syslog cdr_syslog - _use_select vorbis format_ogg_vorbis - _use_select xmpp res_xmpp - - # Voicemail storage ... - for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do - if use ${vmst}; then - _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts - fi - done - - if use debug; then - for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do - _menuselect --enable "${o}" menuselect.makeopts - done - fi -} - -src_compile() { - emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes -} - -src_install() { - local d - - mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die - emake DESTDIR="${ED}" NOISY_BUILD=yes install - - if use radius; then - insinto /etc/radiusclient/ - doins contrib/dictionary.digium - fi - diropts -m 0750 -o root -g asterisk - keepdir /etc/asterisk - emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs - for conffile in "${ED}/etc/asterisk/"* - do - fowners root:root "${conffile#${ED}}" - fperms 0644 "${conffile#${ED}}" - done - - # keep directories - diropts -m 0750 -o asterisk -g root - keepdir /var/lib/asterisk - keepdir /var/spool/asterisk - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk - newconfd "${FILESDIR}"/confd-13.32.0 asterisk - - systemd_dounit "${FILESDIR}"/asterisk.service - systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf - systemd_install_serviced "${FILESDIR}"/asterisk.service.conf - - # Reset diropts else dodoc uses it for doc installations. - diropts -m0755 - - # install the upgrade documentation - dodoc UPGRADE* BUGS CREDITS - - # install extra documentation - if use doc; then - dodoc doc/*.txt - dodoc doc/*.pdf - fi - - # install logrotate snippet; bug #329281 - # - insinto /etc/logrotate.d - newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk - - # Asterisk installs a few folders that's empty by design, - # but still required. This finds them, and marks them for - # portage. - for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do - keepdir "${d#${ED}}" - done -} - -pkg_postinst() { - if [ -z "${REPLACING_VERSIONS}" ]; then - elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then - elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" - elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" - fi -} diff --git a/net-misc/asterisk/asterisk-16.13.0.ebuild b/net-misc/asterisk/asterisk-16.13.0.ebuild new file mode 100644 index 000000000000..44f1f489f95c --- /dev/null +++ b/net-misc/asterisk/asterisk-16.13.0.ebuild @@ -0,0 +1,304 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info systemd + +DESCRIPTION="Asterisk: A Modular Open Source PBX System" +HOMEPAGE="https://www.asterisk.org/" +SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz + https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +IUSE_VOICEMAIL_STORAGE=" + +voicemail_storage_file + voicemail_storage_odbc + voicemail_storage_imap +" +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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/${PN}-historic-no-var-run-install.patch" +) + +DEPEND="acct-user/asterisk + acct-group/asterisk + dev-db/sqlite:3 + dev-libs/popt + >=dev-libs/jansson-2.11 + dev-libs/libedit + dev-libs/libxml2:2 + dev-libs/libxslt + sys-apps/util-linux + sys-libs/ncurses:0= + sys-libs/zlib + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + cluster? ( sys-cluster/corosync ) + curl? ( net-misc/curl ) + dahdi? ( + net-libs/libpri + net-misc/dahdi-tools + ) + freetds? ( dev-db/freetds ) + gtalk? ( dev-libs/iksemel ) + http? ( dev-libs/gmime:2.6 ) + iconv? ( virtual/libiconv ) + ilbc? ( media-libs/libilbc ) + ldap? ( net-nds/openldap ) + lua? ( dev-lang/lua:* ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( >=net-libs/pjproject-2.9 ) + portaudio? ( media-libs/portaudio ) + postgres? ( dev-db/postgresql:* ) + radius? ( net-dialup/freeradius-client ) + snmp? ( net-analyzer/net-snmp:= ) + span? ( media-libs/spandsp ) + speex? ( + media-libs/libogg + media-libs/speex + media-libs/speexdsp + ) + srtp? ( net-libs/libsrtp:0 ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + unbound? ( net-dns/unbound ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( virtual/imap-c-client ) + xmpp? ( dev-libs/iksemel ) +" + +RDEPEND="${DEPEND} + net-misc/asterisk-core-sounds + net-misc/asterisk-extra-sounds + net-misc/asterisk-moh-opsound + selinux? ( sec-policy/selinux-asterisk ) + syslog? ( virtual/logger )" + +BDEPEND="virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +pkg_setup() { + CONFIG_CHECK="~!NF_CONNTRACK_SIP" + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users + have reported that this module dropped critical SIP packets in their deployments. You + may want to disable it if you see such problems." + check_extra_config +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf +} + +src_configure() { + local vmst + + econf \ + --libdir="/usr/$(get_libdir)" \ + --localstatedir="/var" \ + --with-crypto \ + --with-gsm=internal \ + --with-popt \ + --with-z \ + --with-libedit \ + --without-jansson-bundled \ + --without-pjproject-bundled \ + $(use_with caps cap) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with pjproject) \ + $(use_with portaudio) \ + $(use_with ssl) \ + $(use_with unbound) + + _menuselect() { + menuselect/menuselect "$@" || die "menuselect $* failed." + } + + _use_select() { + local state=$(use "$1" && echo enable || echo disable) + shift # remove use from parameters + + while [[ -n $1 ]]; do + _menuselect --${state} "$1" menuselect.makeopts + shift + done + } + + # Blank out sounds/sounds.xml file to prevent + # asterisk from installing sounds files (we pull them in via + # asterisk-{core,extra}-sounds and asterisk-moh-opsound. + >"${S}"/sounds/sounds.xml + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake NOISY_BUILD=yes menuselect.makeopts + + # Disable BUILD_NATIVE (bug #667498) + _menuselect --disable build_native menuselect.makeopts + + # Broken functionality is forcibly disabled (bug #360143) + _menuselect --disable chan_misdn menuselect.makeopts + _menuselect --disable chan_ooh323 menuselect.makeopts + + # Utility set is forcibly enabled (bug #358001) + _menuselect --enable smsq menuselect.makeopts + _menuselect --enable streamplayer menuselect.makeopts + _menuselect --enable aelparse menuselect.makeopts + _menuselect --enable astman menuselect.makeopts + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + _menuselect --enable chan_mgcp menuselect.makeopts + _menuselect --enable res_pktccops menuselect.makeopts + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + _menuselect --enable pbx_dundi menuselect.makeopts + _menuselect --enable func_aes menuselect.makeopts + _menuselect --enable chan_iax2 menuselect.makeopts + + # SQlite3 is now the main database backend, enable related features + _menuselect --enable cdr_sqlite3_custom menuselect.makeopts + _menuselect --enable cel_sqlite3_custom menuselect.makeopts + + # The others are based on USE-flag settings + _use_select alsa chan_alsa + _use_select bluetooth chan_mobile + _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} + _use_select cluster res_corosync + _use_select curl func_curl res_config_curl res_curl + _use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi + _use_select freetds {cdr,cel}_tds + _use_select gtalk chan_motif + _use_select http res_http_post + _use_select iconv func_iconv + _use_select ilbc codec_ilbc format_ilbc + _use_select ldap res_config_ldap + _use_select lua pbx_lua + _use_select mysql app_mysql cdr_mysql res_config_mysql + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc + _use_select oss chan_oss + _use_select postgres {cdr,cel}_pgsql res_config_pgsql + _use_select radius {cdr,cel}_radius + _use_select snmp res_snmp + _use_select span res_fax_spandsp + _use_select speex {codec,func}_speex + _use_select speex format_ogg_speex + _use_select srtp res_srtp + _use_select statsd res_statsd res_{endpoint,chan}_stats + _use_select syslog cdr_syslog + _use_select vorbis format_ogg_vorbis + _use_select xmpp res_xmpp + + # Voicemail storage ... + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do + if use ${vmst}; then + _menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do + _menuselect --enable "${o}" menuselect.makeopts + done + fi +} + +src_compile() { + emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes +} + +src_install() { + local d + + mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die + emake DESTDIR="${ED}" NOISY_BUILD=yes install + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + diropts -m 0750 -o root -g asterisk + keepdir /etc/asterisk + emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs + for conffile in "${ED}/etc/asterisk/"* + do + fowners root:root "${conffile#${ED}}" + fperms 0644 "${conffile#${ED}}" + done + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/lib/asterisk + keepdir /var/spool/asterisk + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk + newconfd "${FILESDIR}"/confd-13.32.0 asterisk + + systemd_dounit "${FILESDIR}"/asterisk.service + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + # install the upgrade documentation + dodoc UPGRADE* BUGS CREDITS + + # install extra documentation + if use doc; then + dodoc doc/*.txt + dodoc doc/*.pdf + fi + + # install logrotate snippet; bug #329281 + # + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do + keepdir "${d#${ED}}" + done +} + +pkg_postinst() { + if [ -z "${REPLACING_VERSIONS}" ]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then + elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net" + fi +} -- cgit v1.2.3