From 6405cba4bf18141460bc9fcb8f5580532d4b46f8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 28 Sep 2024 01:25:58 +0100 Subject: gentoo auto-resync : 28:09:2024 - 01:25:57 --- net-misc/Manifest.gz | Bin 54327 -> 54319 bytes net-misc/asterisk/Manifest | 10 +- net-misc/asterisk/asterisk-18.24.3.ebuild | 371 ++++++++++++++++++++++++++ net-misc/asterisk/asterisk-20.9.2.ebuild | 367 ------------------------- net-misc/asterisk/asterisk-20.9.3.ebuild | 367 +++++++++++++++++++++++++ net-misc/asterisk/asterisk-21.4.2.ebuild | 354 ------------------------ net-misc/asterisk/asterisk-21.4.3.ebuild | 354 ++++++++++++++++++++++++ net-misc/icaclient/Manifest | 2 + net-misc/icaclient/icaclient-24.2.0.65.ebuild | 309 +++++++++++++++++++++ net-misc/ytmdl/Manifest | 2 +- net-misc/ytmdl/ytmdl-2024.08.15.1.ebuild | 2 +- 11 files changed, 1411 insertions(+), 727 deletions(-) create mode 100644 net-misc/asterisk/asterisk-18.24.3.ebuild delete mode 100644 net-misc/asterisk/asterisk-20.9.2.ebuild create mode 100644 net-misc/asterisk/asterisk-20.9.3.ebuild delete mode 100644 net-misc/asterisk/asterisk-21.4.2.ebuild create mode 100644 net-misc/asterisk/asterisk-21.4.3.ebuild create mode 100644 net-misc/icaclient/icaclient-24.2.0.65.ebuild (limited to 'net-misc') diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz index 9d1b15683d9a..6667665b004b 100644 Binary files a/net-misc/Manifest.gz and b/net-misc/Manifest.gz differ diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest index 84eedd4fb868..9bff94e00966 100644 --- a/net-misc/asterisk/Manifest +++ b/net-misc/asterisk/Manifest @@ -4,10 +4,12 @@ AUX asterisk-16.30.1-r1-iax2_jitterbuffer.patch 2464 BLAKE2B f2f7d109e4876a1ec58 AUX asterisk-16.30.1-r3-manager.c-Add-entries-to-Originate-blacklist.patch 6965 BLAKE2B d834fd3831c7871906ba6f6486bdad86e9d3b07d5f0409a1bfd159564a4ca6f7002f38ae2f096fb4083419b90a9c617172cddba466c4c64d7fa0a6b7663ebca1 SHA512 5dbf962b31aa32c99b36264d1d3a600444c4d6e59126e9b86a1f7b029d30d5239145031a1de58cac2cb952653bcf2122a78ae9030074f00bea599f45db7e4aac DIST asterisk-16.30.1.tar.gz 28234979 BLAKE2B a9cd732feb00408876f90328d7f14dbfe426829e607f9b8e812ff25823c8dc1facab1ecd423e1d4f33c1623f3769197fa3b1fe3181efad0b231c96c0afb1dd16 SHA512 1624d207e80351f976c084344d09d67fe37b526a42970da007f5407be006d107e951093209415a68c891e2bd9cb142421e7acd1ac9fba2c1b1c064aee2224cb6 DIST asterisk-18.24.2.tar.gz 28530320 BLAKE2B a2597effb6e5b10588fe34ebd9b91cedb80605d9ccabd2a8bfe3f2d1e66cd1599be87d4124cc34a7492fc39fd5345b3080e3669b0aa810a9220395d0aba845f2 SHA512 e81dd3819daae82b217164d9026f6f626400b6623092169b2300248f6c2be9cb80bb74157cc4eff38eb6da645f491da2e47712f8b9f4d7a12af5c6703eafcd85 -DIST asterisk-20.9.2.tar.gz 28293235 BLAKE2B f5d165b53e019435d760a49eeb2a31dc4550625ec13eca04251edeb3ffc7ce0b61adbf7580356340a949e49096bfe369da59e8a0aea8a5527c1398aab7f2c801 SHA512 0061e19140ff6737d89a64078c2fa50d6de554777324128dcc50494bffdd21e676af3a1b6fc9d3eee4a02e3d2fb9e24c3460e3062db9df9fdad480244bc2c829 -DIST asterisk-21.4.2.tar.gz 26346837 BLAKE2B d90654671751438598a8d15df8caee092ff6be173b24eec22be49962f867eb3264aae1e1f747b4c08aa51d50a8d7a70cb5b91b89edd944efb46c2807c582d935 SHA512 01dc6452b4cea64fa3bd7d0aa38dd07ad2008b491ec7f2d64ee2eb47583731066bac1fa86d3b3e781b6ee7454a69bb585f77b3fd51a75a1dfd9b0541c31b12b4 +DIST asterisk-18.24.3.tar.gz 28531091 BLAKE2B 002210daa4091bed3ebc0ccd14eb3cd2f2648ef7440276ef0d7b74d493a41034358a034ddda8faad4ca0df4a944ef32efd6c820c161b619b3a6a7a5936e72524 SHA512 a1223965b2375c25e736b84d99ac5ce96d27c5bfc9c14e936429643f595e04caff4e159e091b26ff2452249875cd3a37a760e6a23c74269e401805e406492742 +DIST asterisk-20.9.3.tar.gz 28294773 BLAKE2B 1bc452126d1f56d3e6833d988bf2df095b0c28eea4a1922a80461beb5c8a2e54f24ae82dcc18c55a5e5c22b539a0d7652e99fbc759561e03000bfa6e2b6790b7 SHA512 e4b0ff569034a6635f695909b334b7c07da2ced99c47895977e5a25e17dbd43bc83e32b33ad21059d44325010894a154787f26dbe19482a12ce0ed4e6f77a35d +DIST asterisk-21.4.3.tar.gz 26347018 BLAKE2B 0e7a4c524a0771b159e18361472ffe4f4a8dc455e95e6bd735d50cbd4b574de9e75829b1e713dc255fd049e63d96dd53c12378f66e94ef1d470483588eb5646c SHA512 c037958c80510e4dbfca8a8f181be9485b3361bc34f12d7f0cf377c999fef763a336929f934fddaee356c85db6c1e006638112d22123a6dab4620b86f3d7c58a EBUILD asterisk-16.30.1-r3.ebuild 11352 BLAKE2B 469e126b1c9abc7b072040c500a101eed2fce1146e96beeb81283d7840c893d965ced519bd53cae71b44f7fc2289310ddb5fd979d81d514a706bc56b9c4bed3e SHA512 9d4ca44dc15be8eb36a24a4d373b8385dcbff41ee7b778a4aaee72413dd96f043262109d370139a0f33e88231ef38d17c14cc12041abf6d9a73fd742abb10bed EBUILD asterisk-18.24.2.ebuild 11161 BLAKE2B 5725111feb3f137fd64111e6530a4a582901e7800c6a96df0f17e6e664a282bde0477858916eee4247e9c23b4a5f5245e9bd14e79344e552ea132425f53fe460 SHA512 8af5e9192602887252c6c8c4106cfc325c759b46334d15a9ccc11b3ed0a25484f70c19b0b0fd0ce25e801d7ebcd76ea15a7a5bc03b1c38c747390a87cde1667f -EBUILD asterisk-20.9.2.ebuild 11012 BLAKE2B 35ee0e408bbd1cac76d105cd2101ccb5644b9e6e7fc77a8b51f56c8780c81b45343646aea1844b07bd6047f047dc21bb0ac3968da81358ede02e2573031f86dc SHA512 7e66a49985edc5ae120f2e39e36890e0f875ca23c3d3fb2d9b71127852f9fd8485229222f5b5bcf5083e3ff1787d2172edf6739f342c9e1ce985a84b168ac7c6 -EBUILD asterisk-21.4.2.ebuild 10501 BLAKE2B a36865f478fecb1f5a0a0e6207023705b62e5dcdd18cc8b2b56d6e6fda35a4488759664607574402452a40299fbcde0b36100cf7db06fe5ad0205d9ccd12dbc5 SHA512 af0d41bfab3c3cd14521da9d2d3bea63cb2e59fde7c6a28214456fcaca2e3b058f04477fccaaf5bb689529b2dfcfe10c964ae31752b2ef5721801d4808752794 +EBUILD asterisk-18.24.3.ebuild 11161 BLAKE2B 5725111feb3f137fd64111e6530a4a582901e7800c6a96df0f17e6e664a282bde0477858916eee4247e9c23b4a5f5245e9bd14e79344e552ea132425f53fe460 SHA512 8af5e9192602887252c6c8c4106cfc325c759b46334d15a9ccc11b3ed0a25484f70c19b0b0fd0ce25e801d7ebcd76ea15a7a5bc03b1c38c747390a87cde1667f +EBUILD asterisk-20.9.3.ebuild 11012 BLAKE2B 35ee0e408bbd1cac76d105cd2101ccb5644b9e6e7fc77a8b51f56c8780c81b45343646aea1844b07bd6047f047dc21bb0ac3968da81358ede02e2573031f86dc SHA512 7e66a49985edc5ae120f2e39e36890e0f875ca23c3d3fb2d9b71127852f9fd8485229222f5b5bcf5083e3ff1787d2172edf6739f342c9e1ce985a84b168ac7c6 +EBUILD asterisk-21.4.3.ebuild 10501 BLAKE2B a36865f478fecb1f5a0a0e6207023705b62e5dcdd18cc8b2b56d6e6fda35a4488759664607574402452a40299fbcde0b36100cf7db06fe5ad0205d9ccd12dbc5 SHA512 af0d41bfab3c3cd14521da9d2d3bea63cb2e59fde7c6a28214456fcaca2e3b058f04477fccaaf5bb689529b2dfcfe10c964ae31752b2ef5721801d4808752794 MISC metadata.xml 1475 BLAKE2B 53409fa635e1cd45fcb1cc12d035db1206ddc1f882c5d46cc75ddcd69a20718aa135518ce75e98b87c44b66db41a4ec95c75fd926a927b762f2c5e464e176431 SHA512 9b6a91aeb23a5593dfa3aa3b4ad491234fb5fdcb0796c89a1c889297e52c544e4afd290b7ee6f2adaa39e0cba7dcb03a84bea06553340aa3c3f67be59d643f00 diff --git a/net-misc/asterisk/asterisk-18.24.3.ebuild b/net-misc/asterisk/asterisk-18.24.3.ebuild new file mode 100644 index 000000000000..f68bc6f85b5e --- /dev/null +++ b/net-misc/asterisk/asterisk-18.24.3.ebuild @@ -0,0 +1,371 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} ) + +inherit autotools linux-info lua-single toolchain-funcs + +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" +LICENSE="GPL-2" +SLOT="0/${PV%%.*}" +KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86" + +IUSE_VOICEMAIL_STORAGE=( + voicemail_storage_odbc + voicemail_storage_imap +) +IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl 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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + lua? ( ${LUA_REQUIRED_USE} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/asterisk-16.16.2-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/zlib + virtual/libcrypt:= + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + blocks? ( sys-libs/blocksruntime ) + cluster? ( sys-cluster/corosync ) + codec2? ( media-libs/codec2:= ) + curl? ( net-misc/curl ) + 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? ( ${LUA_DEPS} ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( >=net-libs/pjproject-2.12:= ) + 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? ( + dev-libs/openssl:0= + ) + systemd? ( sys-apps/systemd ) + !systemd? ( !sys-apps/systemd ) + unbound? ( net-dns/unbound ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( net-libs/c-client[ssl=] ) + 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 )" +PDEPEND="net-misc/asterisk-base" + +BDEPEND="dev-libs/libxml2:2 + virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +ast_make() { + local make_args=( + "NOISY_BUILD=yes" + "ASTDBDIR=\$(ASTDATADIR)/astdb" + "ASTVARRUNDIR=/run/asterisk" + "ASTCACHEDIR=/var/cache/asterisk" + "OPTIMIZE=" + "DEBUG=" + "CONFIG_SRC=configs/samples" + "CONFIG_EXTEN=.sample" + "AST_FORTIFY_SOURCE=" + ) + + emake "${make_args[@]}" "$@" +} + +pkg_pretend() { + 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 + + [[ "${MERGE_TYPE}" == binary ]] && return + + if tc-is-clang; then + use blocks || die "CC=clang requires USE=blocks" + else + use blocks && die "USE=blocks can only be used with CC=clang" + fi +} + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson third-party/libjwt" \ + AC_CONFIG_SUBDIRS=menuselect eautoreconf +} + +src_configure() { + local vmst + local copt cstate + local myconf=( + LUA_VERSION="${ELUA#lua}" + --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 codec2) + $(use_with lua lua) + $(use_with http gmime) + $(use_with newt) + $(use_with pjproject) + $(use_with portaudio) + $(use_with ssl) + $(use_with unbound) + ) + econf "${myconf[@]}" + + ast_menuselect() { + menuselect/menuselect "$@" menuselect.makeopts || die "menuselect $* failed." + } + + _use_select() { + local state=$(use "$1" && echo enable || echo disable) + local x + shift # remove use from parameters + + for x; do + ast_menuselect --${state} "$x" + 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. + >sounds/sounds.xml || die "Unable to blank out sounds/sounds.xml" + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/&0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + ast_make menuselect.makeopts + + # Disable astdb2* tools. We've been on sqlite long enough + # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194) + ast_menuselect --disable astdb2sqlite3 + ast_menuselect --disable astdb2bdb + + # Disable BUILD_NATIVE (bug #667498) + ast_menuselect --disable build_native + + # Broken functionality is forcibly disabled (bug #360143) + ast_menuselect --disable chan_misdn + ast_menuselect --disable chan_ooh323 + + # Utility set is forcibly enabled (bug #358001) + ast_menuselect --enable smsq + ast_menuselect --enable streamplayer + ast_menuselect --enable aelparse + ast_menuselect --enable astman + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + ast_menuselect --enable chan_mgcp + ast_menuselect --enable res_pktccops + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + ast_menuselect --enable pbx_dundi + ast_menuselect --enable func_aes + ast_menuselect --enable chan_iax2 + + # SQlite3 is now the main database backend, enable related features + ast_menuselect --enable cdr_sqlite3_custom + ast_menuselect --enable cel_sqlite3_custom + + # Disable conversion tools (which fails to compile in some cases). + ast_menuselect --disable astdb2bdb + + # 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 codec2 codec_codec2 + _use_select curl func_curl res_config_curl res_curl + _use_select deprecated app_macro + _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 ... + ast_menuselect --enable app_voicemail + for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do + if use "${vmst#+}"; then + ast_menuselect --enable "app_voicemail_${vmst##*_}" + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do + ast_menuselect --enable "${o}" + done + fi + + if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then + for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do + cstate=--enable + [[ "${copt}" == -* ]] && cstate=--disable + ebegin "Custom option ${copt#[-+]} ${cstate:2}d" + ast_menuselect ${cstate} "${copt#[-+]}" + eend $? + done + fi +} + +src_compile() { + ast_make +} + +src_install() { + local d + + dodir "/usr/$(get_libdir)/pkgconfig" + + diropts -m 0750 -o root -g asterisk + dodir /etc/asterisk + + ast_make install install-headers install-configs "DESTDIR=${D}" + + fowners asterisk: /var/lib/asterisk/astdb + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + # install the upgrade documentation + dodoc README* BUGS CREDITS + + # install extra documentation + use doc && dodoc doc/*.{txt,pdf} + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + while read d <&3; do + keepdir "${d#${ED}}" + done 3< <(find "${ED}"/var -type d -empty || die "Find failed.") +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" + else + local my_replacing=() x + for x in ${REPLACING_VERSIONS}; do + [[ $(ver_cut 1 ${x}) != $(ver_cut 1) ]] && + my_replacing+=( $(ver_cut 1 ${x}) ) + done + if [[ "${#my_replacing}" -gt 0 ]]; then + my_replacing="${my_replacing[*]}" + my_replacing="${my_replacing// /, }" + [[ "${my_replacing}" = *", "* ]] && + my_replacing="${my_replacing%, *} or ${my_replacing##*, }" + elog "You are updating from Asterisk ${my_replacing}, you should reference the upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Assistance also available on Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" + fi + fi + + if use deprecated; then + ewarn "You really aught to port whatever code you have that depends on this since these are going to go away." + ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation" + fi + + if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then + ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used" + ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org" + fi + + if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then + ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb" + ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set" + ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these" + ewarn "steps to migrate:" + ewarn "1. /etc/init.d/asterisk stop" + ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/" + ewarn "3. /etc/init.d/asterisk start" + ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned." + fi +} diff --git a/net-misc/asterisk/asterisk-20.9.2.ebuild b/net-misc/asterisk/asterisk-20.9.2.ebuild deleted file mode 100644 index 531c805dedc2..000000000000 --- a/net-misc/asterisk/asterisk-20.9.2.ebuild +++ /dev/null @@ -1,367 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{1..4} ) - -inherit autotools linux-info lua-single toolchain-funcs - -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" -LICENSE="GPL-2" -SLOT="0/${PV%%.*}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" - -IUSE_VOICEMAIL_STORAGE=( - voicemail_storage_odbc - voicemail_storage_imap -) -IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl 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" -IUSE_EXPAND="VOICEMAIL_STORAGE" -REQUIRED_USE="gtalk? ( xmpp ) - lua? ( ${LUA_REQUIRED_USE} ) - voicemail_storage_odbc? ( odbc ) -" - -PATCHES=( - "${FILESDIR}/asterisk-16.16.2-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/zlib - virtual/libcrypt:= - alsa? ( media-libs/alsa-lib ) - bluetooth? ( net-wireless/bluez:= ) - calendar? ( - net-libs/neon:= - dev-libs/libical:= - dev-libs/iksemel - ) - caps? ( sys-libs/libcap ) - blocks? ( sys-libs/blocksruntime ) - cluster? ( sys-cluster/corosync ) - codec2? ( media-libs/codec2:= ) - curl? ( net-misc/curl ) - 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? ( ${LUA_DEPS} ) - mysql? ( dev-db/mysql-connector-c:= ) - newt? ( dev-libs/newt ) - odbc? ( dev-db/unixODBC ) - pjproject? ( >=net-libs/pjproject-2.12:= ) - 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? ( - dev-libs/openssl:0= - ) - systemd? ( sys-apps/systemd ) - !systemd? ( !sys-apps/systemd ) - unbound? ( net-dns/unbound ) - vorbis? ( - media-libs/libogg - media-libs/libvorbis - ) - voicemail_storage_imap? ( net-libs/c-client[ssl=] ) - 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 )" -PDEPEND="net-misc/asterisk-base" - -BDEPEND="dev-libs/libxml2:2 - virtual/pkgconfig" - -QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" - -ast_make() { - local make_args=( - "NOISY_BUILD=yes" - "ASTDBDIR=\$(ASTDATADIR)/astdb" - "ASTVARRUNDIR=/run/asterisk" - "ASTCACHEDIR=/var/cache/asterisk" - "OPTIMIZE=" - "DEBUG=" - "DESTDIR=${D}" - "CONFIG_SRC=configs/samples" - "CONFIG_EXTEN=.sample" - "AST_FORTIFY_SOURCE=" - ) - - emake "${make_args[@]}" "$@" -} - -pkg_pretend() { - 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 - - [[ "${MERGE_TYPE}" == binary ]] && return - - if tc-is-clang; then - use blocks || die "CC=clang requires USE=blocks" - else - use blocks && die "USE=blocks can only be used with CC=clang" - fi -} - -pkg_setup() { - use lua && lua-single_pkg_setup -} - -src_prepare() { - default - AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson third-party/libjwt" \ - AC_CONFIG_SUBDIRS=menuselect eautoreconf -} - -src_configure() { - local vmst - local copt cstate - local myconf=( - LUA_VERSION="${ELUA#lua}" - --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 codec2) - $(use_with lua lua) - $(use_with http gmime) - $(use_with newt) - $(use_with pjproject) - $(use_with portaudio) - $(use_with ssl) - $(use_with unbound) - ) - econf "${myconf[@]}" - - ast_menuselect() { - menuselect/menuselect "$@" menuselect.makeopts || die "menuselect $* failed." - } - - _use_select() { - local state=$(use "$1" && echo enable || echo disable) - local x - shift # remove use from parameters - - for x; do - ast_menuselect --${state} "$x" - 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. - >sounds/sounds.xml || die "Unable to blank out sounds/sounds.xml" - - # That NATIVE_ARCH chatter really is quite bothersome - sed -i 's/NATIVE_ARCH=/&0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" - - # Compile menuselect binary for optional components - emake "${_make_args[@]}" menuselect.makeopts - - # Disable astdb2* tools. We've been on sqlite long enough - # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194) - ast_menuselect --disable astdb2sqlite3 - ast_menuselect --disable astdb2bdb - - # Disable BUILD_NATIVE (bug #667498) - ast_menuselect --disable build_native - - # Broken functionality is forcibly disabled (bug #360143) - ast_menuselect --disable chan_ooh323 - - # Utility set is forcibly enabled (bug #358001) - ast_menuselect --enable smsq - ast_menuselect --enable streamplayer - ast_menuselect --enable aelparse - ast_menuselect --enable astman - - # this is connected, otherwise it would not find - # ast_pktccops_gate_alloc symbol - ast_menuselect --enable chan_mgcp - ast_menuselect --enable res_pktccops - - # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available - ast_menuselect --enable pbx_dundi - ast_menuselect --enable func_aes - ast_menuselect --enable chan_iax2 - - # SQlite3 is now the main database backend, enable related features - ast_menuselect --enable cdr_sqlite3_custom - ast_menuselect --enable cel_sqlite3_custom - - # Disable conversion tools (which fails to compile in some cases). - ast_menuselect --disable astdb2bdb - - # 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 codec2 codec_codec2 - _use_select curl func_curl res_config_curl res_curl - _use_select deprecated app_macro chan_sip res_monitor - _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 res_config_mysql - _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - _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 vorbis format_ogg_vorbis - _use_select xmpp res_xmpp - - # Voicemail storage ... - ast_menuselect --enable app_voicemail - for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do - if use "${vmst#+}"; then - ast_menuselect --enable "app_voicemail_${vmst##*_}" - fi - done - - if use debug; then - for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do - ast_menuselect --enable "${o}" - done - fi - - if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then - for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do - cstate=--enable - [[ "${copt}" == -* ]] && cstate=--disable - ebegin "Custom option ${copt#[-+]} ${cstate:2}d" - ast_menuselect ${cstate} "${copt#[-+]}" - eend $? - done - fi -} - -src_compile() { - ast_make -} - -src_install() { - local d - - dodir "/usr/$(get_libdir)/pkgconfig" - - diropts -m 0750 -o root -g asterisk - dodir /etc/asterisk - - ast_make install install-headers install-configs "DESTDIR=${D}" - - fowners asterisk: /var/lib/asterisk/astdb - - if use radius; then - insinto /etc/radiusclient/ - doins contrib/dictionary.digium - fi - - # keep directories - diropts -m 0750 -o asterisk -g root - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - # Reset diropts else dodoc uses it for doc installations. - diropts -m0755 - - dodoc README* BUGS CREDITS - - # install extra documentation - use doc && dodoc doc/*.{txt,pdf} - - # Asterisk installs a few folders that's empty by design, - # but still required. This finds them, and marks them for - # portage. - while read d <&3; do - keepdir "${d#${ED}}" - done 3< <(find "${ED}"/var -type d -empty || die "Find failed.") -} - -pkg_postinst() { - if [[ -z "${REPLACING_VERSIONS}" ]]; then - elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" - else - local my_replacing=() x - for x in ${REPLACING_VERSIONS}; do - [[ $(ver_cut 1 ${x}) != $(ver_cut 1) ]] && - my_replacing+=( $(ver_cut 1 ${x}) ) - done - if [[ "${#my_replacing}" -gt 0 ]]; then - my_replacing="${my_replacing[*]}" - my_replacing="${my_replacing// /, }" - [[ "${my_replacing}" = *", "* ]] && - my_replacing="${my_replacing%, *} or ${my_replacing##*, }" - elog "You are updating from Asterisk ${my_replacing}, you should reference the upgrade document:" - elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" - elog "Assistance also available on Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" - fi - fi - - if use deprecated; then - ewarn "You really aught to port whatever code you have that depends on this since these are going to go away." - ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation" - fi - - if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then - ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used" - ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org" - fi - - if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then - ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb" - ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set" - ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these" - ewarn "steps to migrate:" - ewarn "1. /etc/init.d/asterisk stop" - ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/" - ewarn "3. /etc/init.d/asterisk start" - ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned." - fi -} diff --git a/net-misc/asterisk/asterisk-20.9.3.ebuild b/net-misc/asterisk/asterisk-20.9.3.ebuild new file mode 100644 index 000000000000..531c805dedc2 --- /dev/null +++ b/net-misc/asterisk/asterisk-20.9.3.ebuild @@ -0,0 +1,367 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} ) + +inherit autotools linux-info lua-single toolchain-funcs + +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" +LICENSE="GPL-2" +SLOT="0/${PV%%.*}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" + +IUSE_VOICEMAIL_STORAGE=( + voicemail_storage_odbc + voicemail_storage_imap +) +IUSE="${IUSE_VOICEMAIL_STORAGE[*]} alsa blocks bluetooth calendar +caps cluster codec2 curl 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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + lua? ( ${LUA_REQUIRED_USE} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/asterisk-16.16.2-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/zlib + virtual/libcrypt:= + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + blocks? ( sys-libs/blocksruntime ) + cluster? ( sys-cluster/corosync ) + codec2? ( media-libs/codec2:= ) + curl? ( net-misc/curl ) + 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? ( ${LUA_DEPS} ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( >=net-libs/pjproject-2.12:= ) + 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? ( + dev-libs/openssl:0= + ) + systemd? ( sys-apps/systemd ) + !systemd? ( !sys-apps/systemd ) + unbound? ( net-dns/unbound ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( net-libs/c-client[ssl=] ) + 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 )" +PDEPEND="net-misc/asterisk-base" + +BDEPEND="dev-libs/libxml2:2 + virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +ast_make() { + local make_args=( + "NOISY_BUILD=yes" + "ASTDBDIR=\$(ASTDATADIR)/astdb" + "ASTVARRUNDIR=/run/asterisk" + "ASTCACHEDIR=/var/cache/asterisk" + "OPTIMIZE=" + "DEBUG=" + "DESTDIR=${D}" + "CONFIG_SRC=configs/samples" + "CONFIG_EXTEN=.sample" + "AST_FORTIFY_SOURCE=" + ) + + emake "${make_args[@]}" "$@" +} + +pkg_pretend() { + 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 + + [[ "${MERGE_TYPE}" == binary ]] && return + + if tc-is-clang; then + use blocks || die "CC=clang requires USE=blocks" + else + use blocks && die "USE=blocks can only be used with CC=clang" + fi +} + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson third-party/libjwt" \ + AC_CONFIG_SUBDIRS=menuselect eautoreconf +} + +src_configure() { + local vmst + local copt cstate + local myconf=( + LUA_VERSION="${ELUA#lua}" + --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 codec2) + $(use_with lua lua) + $(use_with http gmime) + $(use_with newt) + $(use_with pjproject) + $(use_with portaudio) + $(use_with ssl) + $(use_with unbound) + ) + econf "${myconf[@]}" + + ast_menuselect() { + menuselect/menuselect "$@" menuselect.makeopts || die "menuselect $* failed." + } + + _use_select() { + local state=$(use "$1" && echo enable || echo disable) + local x + shift # remove use from parameters + + for x; do + ast_menuselect --${state} "$x" + 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. + >sounds/sounds.xml || die "Unable to blank out sounds/sounds.xml" + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/&0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + emake "${_make_args[@]}" menuselect.makeopts + + # Disable astdb2* tools. We've been on sqlite long enough + # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194) + ast_menuselect --disable astdb2sqlite3 + ast_menuselect --disable astdb2bdb + + # Disable BUILD_NATIVE (bug #667498) + ast_menuselect --disable build_native + + # Broken functionality is forcibly disabled (bug #360143) + ast_menuselect --disable chan_ooh323 + + # Utility set is forcibly enabled (bug #358001) + ast_menuselect --enable smsq + ast_menuselect --enable streamplayer + ast_menuselect --enable aelparse + ast_menuselect --enable astman + + # this is connected, otherwise it would not find + # ast_pktccops_gate_alloc symbol + ast_menuselect --enable chan_mgcp + ast_menuselect --enable res_pktccops + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + ast_menuselect --enable pbx_dundi + ast_menuselect --enable func_aes + ast_menuselect --enable chan_iax2 + + # SQlite3 is now the main database backend, enable related features + ast_menuselect --enable cdr_sqlite3_custom + ast_menuselect --enable cel_sqlite3_custom + + # Disable conversion tools (which fails to compile in some cases). + ast_menuselect --disable astdb2bdb + + # 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 codec2 codec_codec2 + _use_select curl func_curl res_config_curl res_curl + _use_select deprecated app_macro chan_sip res_monitor + _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 res_config_mysql + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc + _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 vorbis format_ogg_vorbis + _use_select xmpp res_xmpp + + # Voicemail storage ... + ast_menuselect --enable app_voicemail + for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do + if use "${vmst#+}"; then + ast_menuselect --enable "app_voicemail_${vmst##*_}" + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do + ast_menuselect --enable "${o}" + done + fi + + if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then + for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do + cstate=--enable + [[ "${copt}" == -* ]] && cstate=--disable + ebegin "Custom option ${copt#[-+]} ${cstate:2}d" + ast_menuselect ${cstate} "${copt#[-+]}" + eend $? + done + fi +} + +src_compile() { + ast_make +} + +src_install() { + local d + + dodir "/usr/$(get_libdir)/pkgconfig" + + diropts -m 0750 -o root -g asterisk + dodir /etc/asterisk + + ast_make install install-headers install-configs "DESTDIR=${D}" + + fowners asterisk: /var/lib/asterisk/astdb + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + dodoc README* BUGS CREDITS + + # install extra documentation + use doc && dodoc doc/*.{txt,pdf} + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + while read d <&3; do + keepdir "${d#${ED}}" + done 3< <(find "${ED}"/var -type d -empty || die "Find failed.") +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" + else + local my_replacing=() x + for x in ${REPLACING_VERSIONS}; do + [[ $(ver_cut 1 ${x}) != $(ver_cut 1) ]] && + my_replacing+=( $(ver_cut 1 ${x}) ) + done + if [[ "${#my_replacing}" -gt 0 ]]; then + my_replacing="${my_replacing[*]}" + my_replacing="${my_replacing// /, }" + [[ "${my_replacing}" = *", "* ]] && + my_replacing="${my_replacing%, *} or ${my_replacing##*, }" + elog "You are updating from Asterisk ${my_replacing}, you should reference the upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Assistance also available on Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" + fi + fi + + if use deprecated; then + ewarn "You really aught to port whatever code you have that depends on this since these are going to go away." + ewarn "Refer: https://wiki.asterisk.org/wiki/display/AST/Module+Deprecation" + fi + + if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then + ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used" + ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org" + fi + + if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then + ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb" + ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set" + ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these" + ewarn "steps to migrate:" + ewarn "1. /etc/init.d/asterisk stop" + ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/" + ewarn "3. /etc/init.d/asterisk start" + ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned." + fi +} diff --git a/net-misc/asterisk/asterisk-21.4.2.ebuild b/net-misc/asterisk/asterisk-21.4.2.ebuild deleted file mode 100644 index 923c0b29641a..000000000000 --- a/net-misc/asterisk/asterisk-21.4.2.ebuild +++ /dev/null @@ -1,354 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-{1..4} ) - -inherit autotools linux-info lua-single toolchain-funcs - -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" -LICENSE="GPL-2" -SLOT="0/${PV%%.*}" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" - -IUSE_VOICEMAIL_STORAGE=( - voicemail_storage_odbc - voicemail_storage_imap -) -IUSE="${IUSE_VOICEMAIL_STORAGE[*]} blocks bluetooth calendar +caps cluster codec2 curl debug 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" -IUSE_EXPAND="VOICEMAIL_STORAGE" -REQUIRED_USE="gtalk? ( xmpp ) - lua? ( ${LUA_REQUIRED_USE} ) - voicemail_storage_odbc? ( odbc ) -" - -PATCHES=( - "${FILESDIR}/asterisk-16.16.2-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/zlib - virtual/libcrypt:= - bluetooth? ( net-wireless/bluez:= ) - calendar? ( - net-libs/neon:= - dev-libs/libical:= - dev-libs/iksemel - ) - caps? ( sys-libs/libcap ) - blocks? ( sys-libs/blocksruntime ) - cluster? ( sys-cluster/corosync ) - codec2? ( media-libs/codec2:= ) - curl? ( net-misc/curl ) - 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? ( ${LUA_DEPS} ) - mysql? ( dev-db/mysql-connector-c:= ) - newt? ( dev-libs/newt ) - odbc? ( dev-db/unixODBC ) - pjproject? ( >=net-libs/pjproject-2.12:= ) - 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? ( - dev-libs/openssl:0= - ) - systemd? ( sys-apps/systemd ) - !systemd? ( !sys-apps/systemd ) - unbound? ( net-dns/unbound ) - vorbis? ( - media-libs/libogg - media-libs/libvorbis - ) - voicemail_storage_imap? ( net-libs/c-client[ssl=] ) - 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 )" -PDEPEND="net-misc/asterisk-base" - -BDEPEND="dev-libs/libxml2:2 - virtual/pkgconfig" - -QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" - -ast_make() { - local make_args=( - "NOISY_BUILD=yes" - "ASTDBDIR=\$(ASTDATADIR)/astdb" - "ASTVARRUNDIR=/run/asterisk" - "ASTCACHEDIR=/var/cache/asterisk" - "OPTIMIZE=" - "DEBUG=" - "CONFIG_SRC=configs/samples" - "CONFIG_EXTEN=.sample" - "AST_FORTIFY_SOURCE=" - ) - - emake "${make_args[@]}" "$@" -} - -pkg_pretend() { - 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 - - [[ "${MERGE_TYPE}" == binary ]] && return - - if tc-is-clang; then - use blocks || die "CC=clang requires USE=blocks" - else - use blocks && die "USE=blocks can only be used with CC=clang" - fi -} - -pkg_setup() { - use lua && lua-single_pkg_setup -} - -src_prepare() { - default - AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson third-party/libjwt" \ - AC_CONFIG_SUBDIRS=menuselect eautoreconf -} - -src_configure() { - local vmst - local copt cstate - local myconf=( - LUA_VERSION="${ELUA#lua}" \ - --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 codec2) \ - $(use_with lua lua) \ - $(use_with http gmime) \ - $(use_with newt) \ - $(use_with pjproject) \ - $(use_with portaudio) \ - $(use_with ssl) \ - $(use_with unbound) - ) - - econf "${myconf[@]}" - - ast_menuselect() { - menuselect/menuselect "$@" menuselect.makeopts || die "menuselect $* failed." - } - - _use_select() { - local state=$(use "$1" && echo enable || echo disable) - local x - shift # remove use from parameters - - for x; do - ast_menuselect --${state} "$x" - 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. - >sounds/sounds.xml || die "Unable to blank out sounds/sounds.xml" - - # That NATIVE_ARCH chatter really is quite bothersome - sed -i 's/NATIVE_ARCH=/&0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" - - # Compile menuselect binary for optional components - ast_make menuselect.makeopts - - # Disable astdb2* tools. We've been on sqlite long enough - # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194) - ast_menuselect --disable astdb2sqlite3 - ast_menuselect --disable astdb2bdb - - # Disable BUILD_NATIVE (bug #667498) - ast_menuselect --disable build_native - - # Broken functionality is forcibly disabled (bug #360143) - ast_menuselect --disable chan_ooh323 - - # Utility set is forcibly enabled (bug #358001) - ast_menuselect --enable smsq - ast_menuselect --enable streamplayer - ast_menuselect --enable aelparse - ast_menuselect --enable astman - - # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available - ast_menuselect --enable pbx_dundi - ast_menuselect --enable func_aes - ast_menuselect --enable chan_iax2 - - # SQlite3 is now the main database backend, enable related features - ast_menuselect --enable cdr_sqlite3_custom - ast_menuselect --enable cel_sqlite3_custom - - # Disable conversion tools (which fails to compile in some cases). - ast_menuselect --disable astdb2bdb - - # The others are based on USE-flag settings - _use_select bluetooth chan_mobile - _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} - _use_select cluster res_corosync - _use_select codec2 codec_codec2 - _use_select curl func_curl res_config_curl res_curl - _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 res_config_mysql - _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc - _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 vorbis format_ogg_vorbis - _use_select xmpp res_xmpp - - # Voicemail storage ... - ast_menuselect --enable app_voicemail - for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do - if use "${vmst#+}"; then - ast_menuselect --enable "app_voicemail_${vmst##*_}" - fi - done - - if use debug; then - for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do - ast_menuselect --enable "${o}" - done - fi - - if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then - for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do - cstate=--enable - [[ "${copt}" == -* ]] && cstate=--disable - ebegin "Custom option ${copt#[-+]} ${cstate:2}d" - ast_menuselect ${cstate} "${copt#[-+]}" - eend $? - done - fi -} - -src_compile() { - ast_make -} - -src_install() { - local d - - dodir "/usr/$(get_libdir)/pkgconfig" - - diropts -m 0750 -o root -g asterisk - dodir /etc/asterisk - - ast_make install install-headers install-configs "DESTDIR=${D}" - - fowners asterisk: /var/lib/asterisk/astdb - - if use radius; then - insinto /etc/radiusclient/ - doins contrib/dictionary.digium - fi - - # keep directories - diropts -m 0750 -o asterisk -g root - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - # Reset diropts else dodoc uses it for doc installations. - diropts -m0755 - - dodoc README* BUGS CREDITS - - # install extra documentation - use doc && dodoc doc/*.{txt,pdf} - - # Asterisk installs a few folders that's empty by design, - # but still required. This finds them, and marks them for - # portage. - while read d <&3; do - keepdir "${d#${ED}}" - done 3< <(find "${ED}"/var -type d -empty || die "Find failed.") -} - -pkg_postinst() { - if [[ -z "${REPLACING_VERSIONS}" ]]; then - elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" - elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" - else - local my_replacing=() x - for x in ${REPLACING_VERSIONS}; do - [[ $(ver_cut 1 ${x}) != $(ver_cut 1) ]] && - my_replacing+=( $(ver_cut 1 ${x}) ) - done - if [[ "${#my_replacing}" -gt 0 ]]; then - my_replacing="${my_replacing[*]}" - my_replacing="${my_replacing// /, }" - [[ "${my_replacing}" = *", "* ]] && - my_replacing="${my_replacing%, *} or ${my_replacing##*, }" - elog "You are updating from Asterisk ${my_replacing}, you should reference the upgrade document:" - elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" - elog "Assistance also available on Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" - fi - fi - - if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then - ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used" - ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org" - fi - - if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then - ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb" - ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set" - ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these" - ewarn "steps to migrate:" - ewarn "1. /etc/init.d/asterisk stop" - ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/" - ewarn "3. /etc/init.d/asterisk start" - ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned." - fi -} diff --git a/net-misc/asterisk/asterisk-21.4.3.ebuild b/net-misc/asterisk/asterisk-21.4.3.ebuild new file mode 100644 index 000000000000..923c0b29641a --- /dev/null +++ b/net-misc/asterisk/asterisk-21.4.3.ebuild @@ -0,0 +1,354 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} ) + +inherit autotools linux-info lua-single toolchain-funcs + +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" +LICENSE="GPL-2" +SLOT="0/${PV%%.*}" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86" + +IUSE_VOICEMAIL_STORAGE=( + voicemail_storage_odbc + voicemail_storage_imap +) +IUSE="${IUSE_VOICEMAIL_STORAGE[*]} blocks bluetooth calendar +caps cluster codec2 curl debug 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" +IUSE_EXPAND="VOICEMAIL_STORAGE" +REQUIRED_USE="gtalk? ( xmpp ) + lua? ( ${LUA_REQUIRED_USE} ) + voicemail_storage_odbc? ( odbc ) +" + +PATCHES=( + "${FILESDIR}/asterisk-16.16.2-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/zlib + virtual/libcrypt:= + bluetooth? ( net-wireless/bluez:= ) + calendar? ( + net-libs/neon:= + dev-libs/libical:= + dev-libs/iksemel + ) + caps? ( sys-libs/libcap ) + blocks? ( sys-libs/blocksruntime ) + cluster? ( sys-cluster/corosync ) + codec2? ( media-libs/codec2:= ) + curl? ( net-misc/curl ) + 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? ( ${LUA_DEPS} ) + mysql? ( dev-db/mysql-connector-c:= ) + newt? ( dev-libs/newt ) + odbc? ( dev-db/unixODBC ) + pjproject? ( >=net-libs/pjproject-2.12:= ) + 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? ( + dev-libs/openssl:0= + ) + systemd? ( sys-apps/systemd ) + !systemd? ( !sys-apps/systemd ) + unbound? ( net-dns/unbound ) + vorbis? ( + media-libs/libogg + media-libs/libvorbis + ) + voicemail_storage_imap? ( net-libs/c-client[ssl=] ) + 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 )" +PDEPEND="net-misc/asterisk-base" + +BDEPEND="dev-libs/libxml2:2 + virtual/pkgconfig" + +QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+" + +ast_make() { + local make_args=( + "NOISY_BUILD=yes" + "ASTDBDIR=\$(ASTDATADIR)/astdb" + "ASTVARRUNDIR=/run/asterisk" + "ASTCACHEDIR=/var/cache/asterisk" + "OPTIMIZE=" + "DEBUG=" + "CONFIG_SRC=configs/samples" + "CONFIG_EXTEN=.sample" + "AST_FORTIFY_SOURCE=" + ) + + emake "${make_args[@]}" "$@" +} + +pkg_pretend() { + 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 + + [[ "${MERGE_TYPE}" == binary ]] && return + + if tc-is-clang; then + use blocks || die "CC=clang requires USE=blocks" + else + use blocks && die "USE=blocks can only be used with CC=clang" + fi +} + +pkg_setup() { + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson third-party/libjwt" \ + AC_CONFIG_SUBDIRS=menuselect eautoreconf +} + +src_configure() { + local vmst + local copt cstate + local myconf=( + LUA_VERSION="${ELUA#lua}" \ + --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 codec2) \ + $(use_with lua lua) \ + $(use_with http gmime) \ + $(use_with newt) \ + $(use_with pjproject) \ + $(use_with portaudio) \ + $(use_with ssl) \ + $(use_with unbound) + ) + + econf "${myconf[@]}" + + ast_menuselect() { + menuselect/menuselect "$@" menuselect.makeopts || die "menuselect $* failed." + } + + _use_select() { + local state=$(use "$1" && echo enable || echo disable) + local x + shift # remove use from parameters + + for x; do + ast_menuselect --${state} "$x" + 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. + >sounds/sounds.xml || die "Unable to blank out sounds/sounds.xml" + + # That NATIVE_ARCH chatter really is quite bothersome + sed -i 's/NATIVE_ARCH=/&0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system" + + # Compile menuselect binary for optional components + ast_make menuselect.makeopts + + # Disable astdb2* tools. We've been on sqlite long enough + # that this should really no longer be a problem (bug #https://bugs.gentoo.org/872194) + ast_menuselect --disable astdb2sqlite3 + ast_menuselect --disable astdb2bdb + + # Disable BUILD_NATIVE (bug #667498) + ast_menuselect --disable build_native + + # Broken functionality is forcibly disabled (bug #360143) + ast_menuselect --disable chan_ooh323 + + # Utility set is forcibly enabled (bug #358001) + ast_menuselect --enable smsq + ast_menuselect --enable streamplayer + ast_menuselect --enable aelparse + ast_menuselect --enable astman + + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available + ast_menuselect --enable pbx_dundi + ast_menuselect --enable func_aes + ast_menuselect --enable chan_iax2 + + # SQlite3 is now the main database backend, enable related features + ast_menuselect --enable cdr_sqlite3_custom + ast_menuselect --enable cel_sqlite3_custom + + # Disable conversion tools (which fails to compile in some cases). + ast_menuselect --disable astdb2bdb + + # The others are based on USE-flag settings + _use_select bluetooth chan_mobile + _use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar} + _use_select cluster res_corosync + _use_select codec2 codec_codec2 + _use_select curl func_curl res_config_curl res_curl + _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 res_config_mysql + _use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc + _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 vorbis format_ogg_vorbis + _use_select xmpp res_xmpp + + # Voicemail storage ... + ast_menuselect --enable app_voicemail + for vmst in "${IUSE_VOICEMAIL_STORAGE[@]}"; do + if use "${vmst#+}"; then + ast_menuselect --enable "app_voicemail_${vmst##*_}" + fi + done + + if use debug; then + for o in DONT_OPTIMIZE DEBUG_FD_LEAKS MALLOC_DEBUG BETTER_BACKTRACES; do + ast_menuselect --enable "${o}" + done + fi + + if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then + for copt in ${GENTOO_ASTERISK_CUSTOM_MENUSELECT}; do + cstate=--enable + [[ "${copt}" == -* ]] && cstate=--disable + ebegin "Custom option ${copt#[-+]} ${cstate:2}d" + ast_menuselect ${cstate} "${copt#[-+]}" + eend $? + done + fi +} + +src_compile() { + ast_make +} + +src_install() { + local d + + dodir "/usr/$(get_libdir)/pkgconfig" + + diropts -m 0750 -o root -g asterisk + dodir /etc/asterisk + + ast_make install install-headers install-configs "DESTDIR=${D}" + + fowners asterisk: /var/lib/asterisk/astdb + + if use radius; then + insinto /etc/radiusclient/ + doins contrib/dictionary.digium + fi + + # keep directories + diropts -m 0750 -o asterisk -g root + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording,outgoing} + diropts -m 0750 -o asterisk -g asterisk + keepdir /var/log/asterisk/{cdr-csv,cdr-custom} + + # Reset diropts else dodoc uses it for doc installations. + diropts -m0755 + + dodoc README* BUGS CREDITS + + # install extra documentation + use doc && dodoc doc/*.{txt,pdf} + + # Asterisk installs a few folders that's empty by design, + # but still required. This finds them, and marks them for + # portage. + while read d <&3; do + keepdir "${d#${ED}}" + done 3< <(find "${ED}"/var -type d -empty || die "Find failed.") +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/" + elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" + else + local my_replacing=() x + for x in ${REPLACING_VERSIONS}; do + [[ $(ver_cut 1 ${x}) != $(ver_cut 1) ]] && + my_replacing+=( $(ver_cut 1 ${x}) ) + done + if [[ "${#my_replacing}" -gt 0 ]]; then + my_replacing="${my_replacing[*]}" + my_replacing="${my_replacing// /, }" + [[ "${my_replacing}" = *", "* ]] && + my_replacing="${my_replacing%, *} or ${my_replacing##*, }" + elog "You are updating from Asterisk ${my_replacing}, you should reference the upgrade document:" + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)" + elog "Assistance also available on Gentoo VoIP IRC Channel: #gentoo-voip @ irc.libera.chat" + fi + fi + + if [[ -n "${GENTOO_ASTERISK_CUSTOM_MENUSELECT:+yes}" ]]; then + ewarn "You are using GENTOO_ASTERISK_CUSTOM_MENUSELECT, this should only be used" + ewarn "for debugging, for anything else, please file a bug on https://bugs.gentoo.org" + fi + + if [[ -f /var/lib/asterisk/astdb.sqlite3 ]]; then + ewarn "Default astdb location has changed from /var/lib/asterisk to /var/lib/asterisk/astdb" + ewarn "You still have a /var/lib/asterisk/astdb.sqlite file. You need to either set" + ewarn "astdbdir in /etc/asterisk/asterisk.conf to /var/lib/asterisk or follow these" + ewarn "steps to migrate:" + ewarn "1. /etc/init.d/asterisk stop" + ewarn "2. mv /var/lib/asterisk/astdb.sqlite /var/lib/asterisk/astdb/" + ewarn "3. /etc/init.d/asterisk start" + ewarn "This update was done partly for security reasons so that /var/lib/asterisk can be root owned." + fi +} diff --git a/net-misc/icaclient/Manifest b/net-misc/icaclient/Manifest index e5a20fe96a71..61c684a8b0b3 100644 --- a/net-misc/icaclient/Manifest +++ b/net-misc/icaclient/Manifest @@ -7,8 +7,10 @@ AUX selfservice.desktop 183 BLAKE2B 45d0830601ceac5159e239ec149cf3cdeabd43beb2ad AUX wfica.desktop 242 BLAKE2B 6e90bb02824a6319035814050919c55907b2104c65e2abcc7379a4c694a585945c2e10ada114c4dfb906ee3b1fa90a0251dcb1ec3aac1fb6015a2d2ecbef4452 SHA512 a233bbdfadaee080d8dda67ed81a60ef74902c1f2100cb08bc402186be23f1bbb82f84abb93da88d610d187a267f7db28e6bfebe689839c921ae5a94a4bdf1d7 DIST linuxx64-23.5.0.58.tar.gz 449048746 BLAKE2B d0a70dbb29addc5da8f4ca32582eb210ef56cbbab21efa61ea19ae45ae12fcc59b080f0f30fdc5d1ed02169b5084a49ca265f7bfa9dde813809847f06b319046 SHA512 f695a4fed73b6bff30eb16f8c159799c7a7b4c17f088959f24c17fc4a51208c1354c19df1e22b9b975f8fcb13f6775ea1dca15dd149ea186d8aeee47f3830441 DIST linuxx64-23.7.0.17.tar.gz 363012535 BLAKE2B 77e1fa1fb71d98840ebeebb444e86797a5514597dd1059cf19ed0a6240c05a68c13019350e26e6b52f96802a3eba4cb1a42ba20e85756aebed80e7e235a76089 SHA512 e25665ae8937c4a03382473df8f92b0227d6f07cad663ce71d4a90430014cc6630fb5593d688e6b59b7c65eaafeb3e258fc2f04f0d80573938dcb9d173a4ccab +DIST linuxx64-24.2.0.65.tar.gz 398188196 BLAKE2B 6869cb6ab3b53d7ca1020c2a504bdf071c871daff1601e21b32f50b299b7b81c9159f248ee0be9370241b119dc49f1a01038f81f623c323a25ba6ce8ec9c975c SHA512 312a32fc6b5ba1c8af5449ca71b024d02966521915ab94ed7ee580c9bf4782afdb383dc855a14c83181311e0eb2329654a1493afdb55ca49640510e348666cd3 DIST linuxx86-23.5.0.58.tar.gz 152642143 BLAKE2B 8ea722aecfb7e6588701646ed5dec1d1591a8c36986fda25c85ece50313cd1eddefb22ae58be8f1ea2edbfdf9fa725e73182f0745b0494df890008d65065ed08 SHA512 8cad203451b26920d66fb3b1bb794d74f8ab76dd24d76408f51d60278786b59fe2d83f0e6c4a2eb6741a4e1d534b9739513224e0f27ba903a9266f81e439a51f DIST linuxx86-23.7.0.17.tar.gz 66184043 BLAKE2B 8e408ce26d75172cdd80d7bd9e1ef7aa8b855a7028673f00fd0aef6a42ca57ec8f11f894ecafb76a4e7b69c6cea922551ca9d4615aea436348ae2dbabc92e127 SHA512 e91a6205bb59e2d41075a5b5e0898cc0710a84ed7582ed2f053a3a83345daba1f437864c6e8111e80aabf19bc5b5d82b0fb6096948c166027a0f9fea183b883a EBUILD icaclient-23.5.0.58.ebuild 7255 BLAKE2B 707e70684394513eb2ad1864c4fb6937e3d313fb9fadeba9c54fce4985975aa471ea974397984ef2d4693f191a77a9140095ad79297553db6c4918cd193fa004 SHA512 48bcbcc07bf096f85c0b448df249cda6aee932f4a136b2a760190d8cd759182f58a5889a031ccef9611724c816a035f47216541f3a252e4f6d2a247c1aa8d02f EBUILD icaclient-23.7.0.17.ebuild 7255 BLAKE2B 707e70684394513eb2ad1864c4fb6937e3d313fb9fadeba9c54fce4985975aa471ea974397984ef2d4693f191a77a9140095ad79297553db6c4918cd193fa004 SHA512 48bcbcc07bf096f85c0b448df249cda6aee932f4a136b2a760190d8cd759182f58a5889a031ccef9611724c816a035f47216541f3a252e4f6d2a247c1aa8d02f +EBUILD icaclient-24.2.0.65.ebuild 7218 BLAKE2B 877b3308e6670d59221b738483dca04d976e51fda1401fcc32bc834cc52b047cc9f43517a6aebdee5026aca3b674c35df19adb9259b807f0cc5b67d3289761b8 SHA512 4fd5cb88f8e378cf83b9cf17f21ce3b4e0d4bb041c76c3c62cdb7d01ef28d8c3bd1de81a45c739e64b0287f039515277883ad91e25b2e09b0db93f6982f11bce MISC metadata.xml 386 BLAKE2B 6c92e9a9069277ec990f0213940ae53a7114f9b5a98a6f72ba251570a503bafdc99f57b1b3c82dbe5f09cb8c0fc8dda8b45dfa0cb3216454cea01f5373dadeb7 SHA512 706d35bb56213c214fc1617f159c64dbe4089b82055997f9686e52e44d51d83db13a52f6729c053ca0d15763a3b442b49944476487fb85272cb0807100839f97 diff --git a/net-misc/icaclient/icaclient-24.2.0.65.ebuild b/net-misc/icaclient/icaclient-24.2.0.65.ebuild new file mode 100644 index 000000000000..b670a9733253 --- /dev/null +++ b/net-misc/icaclient/icaclient-24.2.0.65.ebuild @@ -0,0 +1,309 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop wrapper xdg-utils + +DESCRIPTION="ICA Client for Citrix Presentation servers" +HOMEPAGE="https://www.citrix.com/" +SRC_URI="amd64? ( linuxx64-${PV}.tar.gz )" + +LICENSE="icaclient" +SLOT="0" +KEYWORDS="-* ~amd64" +IUSE="l10n_de l10n_es l10n_fr l10n_ja l10n_zh-CN hdx usb" +RESTRICT="mirror strip fetch" + +ICAROOT="/opt/Citrix/ICAClient" + +QA_PREBUILT="${ICAROOT#/}/*" + +# we have binaries for two conflicting kerberos implementations +# https://bugs.gentoo.org/792090 +# https://bugs.gentoo.org/775995 +REQUIRES_EXCLUDE=" + libgssapi.so.3 + libgssapi_krb5.so.2 libkrb5.so.3 +" +# when using media-plugins/hdx-realtime-media-engine we better not ignore that +REQUIRES_EXCLUDE="${REQUIRES_EXCLUDE} + !hdx? ( libunwind.so.1 ) +" +# we have binaries which wouls still support gstreamer:0.10 +REQUIRES_EXCLUDE="${REQUIRES_EXCLUDE} + libgstapp-0.10.so.0 + libgstbase-0.10.so.0 + libgstinterfaces-0.10.so.0 + libgstpbutils-0.10.so.0 + libgstreamer-0.10.so.0 +" + +# video background blurring, optional +REQUIRES_EXCLUDE="${REQUIRES_EXCLUDE} + libopencv_core.so.407 + libopencv_imgcodecs.so.407 + libopencv_imgproc.so.407 +" + +BDEPEND=" + hdx? ( media-plugins/hdx-realtime-media-engine ) +" + +RDEPEND=" + >=app-accessibility/at-spi2-core-2.46.0:2 + app-crypt/libsecret + dev-libs/glib:2 + dev-libs/libxml2 + media-fonts/font-adobe-100dpi + media-fonts/font-cursor-misc + media-fonts/font-misc-ethiopic + media-fonts/font-misc-misc + media-fonts/font-xfree86-type1 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + media-libs/gst-plugins-base:1.0 + media-libs/gstreamer:1.0 + media-libs/libogg + media-libs/libpng + media-libs/libpulse + media-libs/libvorbis + media-libs/mesa + media-libs/speex + media-libs/speexdsp + net-libs/libsoup:2.4 + net-libs/webkit-gtk:4.1 + sys-apps/util-linux + sys-libs/libcxx + sys-libs/libcxxabi + sys-libs/zlib + virtual/krb5 + virtual/libudev + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/gtk+:2 + x11-libs/gtk+:3 + x11-libs/libX11 + x11-libs/libXaw + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXinerama + x11-libs/libXmu + x11-libs/libXrender + x11-libs/libXt + x11-libs/pango + ${BDEPEND} + !hdx? ( !media-plugins/hdx-realtime-media-engine ) + usb? ( virtual/libudev ) +" + +pkg_nofetch() { + elog "Download the client file ${A} from + https://www.citrix.com/downloads/workspace-app/" + elog "and place it into your DISTDIR directory." +} + +pkg_setup() { + case ${ARCH} in + amd64) + ICAARCH=linuxx64 + ;; + x86) + ICAARCH=linuxx86 + ;; + *) + eerror "Given architecture is not supported by Citrix." + ;; + esac +} + +src_unpack() { + default + mv "${WORKDIR}/${ICAARCH}/${ICAARCH}.cor" "${S}" || die +} + +src_prepare() { + default + rm lib/UIDialogLibWebKit.so || die + + cp nls/en/module.ini . || die + if use usb; then + # inspired by debian usb support package postinst + sed -i -e 's/^[ \t]*VirtualDriver[ \t]*=.*$/&, GenericUSB/' module.ini || die + sed -i -e '/\[ICA 3.0\]/a\GenericUSB=on' module.ini || die + echo "[GenericUSB]" >> module.ini + echo "DriverName=VDGUSB.DLL" >> module.ini + fi + + if use hdx; then + "${BROOT}${ICAROOT}"/rtme/RTMEconfig -install -ignoremm || die + mv new_module.ini module.ini || die + fi + mv module.ini config/ || die +} + +src_install() { + local bin tmpl dest + + dodir "${ICAROOT}" + + keepdir /etc/icaclient + + insinto "${ICAROOT}" + exeinto "${ICAROOT}" + doexe *.DLL libproxy.so wfica AuthManagerDaemon PrimaryAuthManager selfservice ServiceRecord + if use usb; then + doexe usb/ctxusb usb/ctxusbd usb/ctx_usb_isactive + doins usb/*.DLL + insinto /etc/icaclient + doins usb/usb.conf + dosym ../../../etc/icaclient/usb.conf "${ICAROOT}"/usb.conf + insinto "${ICAROOT}" + fi + + exeinto "${ICAROOT}"/lib + doexe lib/*.so + + for dest in "${ICAROOT}"{,/nls/en{,.UTF-8}} ; do + insinto "${dest}" + doins nls/en.UTF-8/eula.txt + done + + insinto "${ICAROOT}"/config + doins config/* + mv "${ED}/${ICAROOT}"/config/module.ini "${ED}"/etc/icaclient/ || die + dosym ../../../../etc/icaclient/module.ini "${ICAROOT}"/config/module.ini + for tmpl in {appsrv,wfclient}.template ; do + newins nls/en/${tmpl} ${tmpl/template/ini} + done + touch "${ED}/${ICAROOT}"/config/.server || die + + insinto "${ICAROOT}"/gtk + doins gtk/* + + insinto "${ICAROOT}"/gtk/glade + doins gtk/glade/* + + insinto "${ICAROOT}"/site + doins -r site/* + + dodir "${ICAROOT}"/help + + insinto "${ICAROOT}"/config/usertemplate + doins config/usertemplate/* + + local lang LANGCODES=( en ) + use l10n_de && LANGCODES+=( de ) + use l10n_es && LANGCODES+=( es ) + use l10n_fr && LANGCODES+=( fr ) + use l10n_ja && LANGCODES+=( ja ) + use l10n_zh-CN && LANGCODES+=( zh_CN ) + + for lang in ${LANGCODES[@]} ; do + insinto "${ICAROOT}"/nls/${lang} + doins nls/${lang}/* + + insinto "${ICAROOT}"/nls/$lang/UTF-8 + doins nls/${lang}.UTF-8/* + + insinto "${ICAROOT}"/nls/${lang}/LC_MESSAGES + doins nls/${lang}/LC_MESSAGES/* + + insinto "${ICAROOT}"/nls/${lang} + dosym UTF-8 "${ICAROOT}"/nls/${lang}/utf8 + + for tmpl in {appsrv,wfclient}.template ; do + cp "${ED}/${ICAROOT}"/nls/${lang}/${tmpl} \ + "${ED}/${ICAROOT}"/nls/${lang}/${tmpl/template/ini} \ + || die + done + done + + insinto "${ICAROOT}"/nls + dosym en /opt/Citrix/ICAClient/nls/C + + insinto "${ICAROOT}"/icons + doins icons/* + + insinto "${ICAROOT}"/keyboard + doins keyboard/* + + cp -a util "${ED}/${ICAROOT}" || die + test -f util/HdxRtcEngine && fperms 0755 "${ICAROOT}"/util/HdxRtcEngine + + dosym ../../../../etc/ssl/certs "${ICAROOT}"/keystore/cacerts + insinto "${ICAROOT}"/keystore/intcerts + doins keystore/intcerts/* + + local other_files=( + icasessionmgr + NativeMessagingHost + UtilDaemon + ) + + exeinto "${ICAROOT}" + for bin in ${other_files[@]} ; do + doexe ${bin} + done + + # https://bugs.gentoo.org/655922 + dosym gst_play1.0 "${ICAROOT}"/util/gst_play + dosym gst_read1.0 "${ICAROOT}"/util/gst_read + dosym libgstflatstm1.0.so "${ICAROOT}"/util/libgstflatstm.so + + doenvd "${FILESDIR}"/10ICAClient + + for bin in configmgr conncenter new_store ; do + make_wrapper ${bin} "${ICAROOT}"/util/${bin} . "${ICAROOT}"/util + done + + for bin in selfservice wfica ; do + make_wrapper ${bin} "${ICAROOT}"/${bin} . "${ICAROOT}" + done + + dodir /etc/revdep-rebuild/ + echo "SEARCH_DIRS_MASK=\"${ICAROOT}\"" \ + > "${ED}"/etc/revdep-rebuild/70icaclient + + insinto "${ICAROOT}"/pkginf + newins "${WORKDIR}"/PkgId Ver.core."${ICAARCH}" + + # 651926 + domenu "${FILESDIR}"/*.desktop + + insinto /usr/share/mime/packages + doins desktop/Citrix-mime_types.xml +} + +pkg_preinst() { + # previous versions of the ebuild created that and left it around + # we own it now and avoid conflict warnings with this + rm -f "${ROOT}${ICAROOT}/config/module.ini" || die +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_mimeinfo_database_update + + if ! use hdx; then + if [ -x "${ROOT}${ICAROOT}"/rtme/RTMEconfig ]; then + ewarn "Starting from 22.12.0.12 you have to set USE=hdx if you want" + ewarn "to use media-plugins/hdx-realtime-media-engine. Which does" + ewarn "not need to be explicitly installed anymore." + fi + fi + + if use usb; then + einfo + einfo "Add users of ${CATEGORY}/${PN} to group 'usb' for redirect to work" + einfo + fi +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/net-misc/ytmdl/Manifest b/net-misc/ytmdl/Manifest index 09bcadfd6f95..b23c9ce78039 100644 --- a/net-misc/ytmdl/Manifest +++ b/net-misc/ytmdl/Manifest @@ -2,5 +2,5 @@ AUX ytmdl-2023.11.26-data_files.patch 208 BLAKE2B 51cb77162812f798ce73d3d71d7a1a DIST ytmdl-2024.04.14.gh.tar.gz 1120264 BLAKE2B 018942cb9fa2534d225ba66e73e6b117581ce86cdc13b9bd3a39475dcde76d57fa97731264e3bf54863e0ab613a93861d51d7f0c678d332f029446cfaaa75820 SHA512 2d8b2e2189c6f0483dd32466f98281d8f173ad5d8a717ff9d828a7b08fc7f6313f108fb11da4b18ae66336c754c1c00f14010fe823c0a182387578db01795760 DIST ytmdl-2024.08.15.1.gh.tar.gz 1120362 BLAKE2B ae6bdb8b610f585da7ed15cda298edbbed6a1274459ebb6f13e1afa3a7ed6666e49d7461cf197aa2ac46ca9f989d2d802dd89e83848204395e228d90cc6b9ed0 SHA512 431672b12f4366afd1b6a9dde9e52c14c51db53a7f41eb49a6680590bcf9ec0ca6736506c509262b99ffcf713f940bbb7c903937761ea16bc8dcdc6084201071 EBUILD ytmdl-2024.04.14.ebuild 1644 BLAKE2B 9215f8dad81938cbbbdd85e1c358f53fcf69fa5267211f78064a063c2c0eb77e2113db2f488e4a638e1de314244664637a411122c5871b8c7225fe6172073227 SHA512 324cb8deb393dac2e1142541b48a3ea59914f4bd6a9621074db01b9104b1c1044604f72fe3e1384115e7087765334912029c9421d1025dbea2ec6f3d560e6196 -EBUILD ytmdl-2024.08.15.1.ebuild 1645 BLAKE2B 01f9d49768a7fa88345fcce0489bbb39d4a07e1a9179ccd0a75d38130cc2404229427303d3f28b25a9d78a2ebfb73af616a636405ce341f71c5807f3f87da59e SHA512 8f0dfa70c131d3884d3fc1c53a18dc05832ea09c6aa471f76494d8aa1acaadf05abfe75500312e4d372cadcf2d59a1159d3939ea0c891779bc80018e70c6005b +EBUILD ytmdl-2024.08.15.1.ebuild 1644 BLAKE2B 9215f8dad81938cbbbdd85e1c358f53fcf69fa5267211f78064a063c2c0eb77e2113db2f488e4a638e1de314244664637a411122c5871b8c7225fe6172073227 SHA512 324cb8deb393dac2e1142541b48a3ea59914f4bd6a9621074db01b9104b1c1044604f72fe3e1384115e7087765334912029c9421d1025dbea2ec6f3d560e6196 MISC metadata.xml 450 BLAKE2B 9901cfebf346a8874315680cdef3ff19d49a84a812358aa122b99645ccde78f8c3b3ea42b1d16bdfcf9f670a694ebcbd9ce50cbcaefcef11c97eeee85264b442 SHA512 32a761ea39aaf5654523a09bfd5bfc6f4052cd35248439bb46175409085cb13b5fbb0097269785ae11df5701fa785ee564d756af5b00b4ab8112cdf3381f45e3 diff --git a/net-misc/ytmdl/ytmdl-2024.08.15.1.ebuild b/net-misc/ytmdl/ytmdl-2024.08.15.1.ebuild index b5a601e050f4..f73f070585ef 100644 --- a/net-misc/ytmdl/ytmdl-2024.08.15.1.ebuild +++ b/net-misc/ytmdl/ytmdl-2024.08.15.1.ebuild @@ -20,7 +20,7 @@ else SRC_URI="https://github.com/deepjyoti30/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi LICENSE="MIT" -- cgit v1.2.3