summaryrefslogtreecommitdiff
path: root/net-misc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-02-19 00:15:15 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-02-19 00:15:15 +0000
commit2e512e4e32285f8c4eb19586d014cb9d31454ec9 (patch)
treee5884cadbd260c6936495a63b92f4503d54e5428 /net-misc
parent5264c18a325553759d67fb4e059db03cf3fc5c81 (diff)
gentoo auto-resync : 19:02:2025 - 00:15:15
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/Manifest.gzbin53635 -> 53645 bytes
-rw-r--r--net-misc/asterisk/Manifest6
-rw-r--r--net-misc/asterisk/asterisk-20.12.0.ebuild371
-rw-r--r--net-misc/asterisk/asterisk-21.7.0.ebuild358
-rw-r--r--net-misc/asterisk/asterisk-22.2.0.ebuild358
-rw-r--r--net-misc/freerdp/Manifest8
-rw-r--r--net-misc/freerdp/files/freerdp-3.12.0-cmake.patch22
-rw-r--r--net-misc/freerdp/freerdp-3.11.1-r1.ebuild (renamed from net-misc/freerdp/freerdp-3.11.1.ebuild)2
-rw-r--r--net-misc/freerdp/freerdp-3.12.0.ebuild205
-rw-r--r--net-misc/freerdp/freerdp-9999.ebuild4
-rw-r--r--net-misc/openssh/Manifest3
-rw-r--r--net-misc/openssh/openssh-9.9_p2.ebuild442
-rw-r--r--net-misc/rclone/Manifest5
-rw-r--r--net-misc/rclone/metadata.xml1
-rw-r--r--net-misc/rclone/rclone-1.69.1.ebuild75
15 files changed, 1856 insertions, 4 deletions
diff --git a/net-misc/Manifest.gz b/net-misc/Manifest.gz
index c8a5df0f95dd..30544b92aed9 100644
--- a/net-misc/Manifest.gz
+++ b/net-misc/Manifest.gz
Binary files differ
diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
index d3a8e4b967fe..7a5a931c5135 100644
--- a/net-misc/asterisk/Manifest
+++ b/net-misc/asterisk/Manifest
@@ -2,11 +2,17 @@ AUX asterisk-16.16.2-no-var-run-install.patch 728 BLAKE2B 25fc61c4aa68d9e3243d11
DIST asterisk-18.25.0.tar.gz 28546882 BLAKE2B 5cef5db83063387f4786d94be442164a8fb2b9ec3292af453dadd8ed094622142762bfdfadd8d0ba14fe8734a7f822c559ed47ea4e017c2cba4e970dc4a80528 SHA512 8646f65cac366a674674558d4ca59166956bdc5258c16454aaeff28e445b256fe16c144d6e1dedcd401c7577bff1aac69aae735557ea0082c93ff5322f978f56
DIST asterisk-18.26.1.tar.gz 28565082 BLAKE2B 6136b24494b24930e3d10dc49b689533eca330b906e59be02a31202ae4e3534e75d0e29ed29016330c68802fcea0ff0487c874ac4e5553073bdc091557393e17 SHA512 798d849d2518094ec9d11f351baba045c5a9ed39267dd3c62010103a8907a2fa0c35ab1edd234a12df575f716c1fdf5d23ee2ee86028863283160ff608f5db66
DIST asterisk-20.11.1.tar.gz 28332999 BLAKE2B 9f12f915cfdb7ef763301bf9b1e521ec976ec92afd7b9ccc34516062ea7a3b1b1350d610e83d16dbb248beb3273919d08738308ba284f947df127baa182b4680 SHA512 55d5074ef687b236ef05a50e9b8364b638c566c648b95cc57268f1c8b82bfa674ee0258fed13b9339303201f73c08145624dd2f5d77e65927b05d1e271d75f4f
+DIST asterisk-20.12.0.tar.gz 28395184 BLAKE2B 689d69c877cefce6d12f036e67c32b8c4a0740c8bc14f33c4b4f64bdd5b1d8ac2545d3c63e9251a56d0ccc4f991bdb352d7171812ce33673e493080aeeb58b2e SHA512 8dcda2980e0bef7fdde4b18d5f805bf5a2871687c790b4e2bca120b432dfbf43ccbfe61949c6042417e1895fed5a40f0db9c5de0f871a2c3be35882f8009f98c
DIST asterisk-21.6.1.tar.gz 26386191 BLAKE2B 49c920570504db0334b5a6645d1799a70f9a18d38a60d5ad6088605d5be2f66df35eff4980ca2261a53af761a0ae235e39c910b5d8a2d43aaf881ae7d6778f26 SHA512 ff548f7f5d1732e15c8af335aeb84e1dd18da8d47cf88df2a9e5873de7c0e4e8085e5db2f7224fa0d03ce1e1cb6bb2e6753194ce060dbc475682e4f86d4b95c2
+DIST asterisk-21.7.0.tar.gz 26447766 BLAKE2B a56577d1538f746f4e6ff9eb08cc55a4451bc4a49b8c56fc6495e47b4f059b9cac672d7847381f07ff6d14f3e6ebd81bcc1e3221aeb8a173f065edf6a5ddbac3 SHA512 2f9d52daeff51a309995379f3c89473e8318980ddecacc5c0dbb90be7219727fabe46ba1fdcea245b101f8ee8c6115e9f49b8de83921e589eb6d620168868001
DIST asterisk-22.1.1.tar.gz 26220027 BLAKE2B 1c28266295de0f8846c57f3a4e3b27dbc9070cf3a28e4990d427e5c9696772032e0bedc7d93bc5283aa4a7cbba158e290b582e0b82eb0585f6ca874c27af4bc4 SHA512 3cc2ed6061d781f21bfc9b5ba203de809069b99023c963be43c55260241dc59ae1478732fea4f09fc74539b4473a579327518565c277b35da4b89cebaa3633b7
+DIST asterisk-22.2.0.tar.gz 26281301 BLAKE2B f19ad6edf2af7d7deb7fffa7f1cc43169885aa16579dece035a1ada9cd81c93caab8623ea5d9fde3e2def3e6a1a5711251b8200ae4eae6fe6c42dba5da2af765 SHA512 01d3f144a0f2ed1415bd081aba97ab9bd7800ee635232cb6064d6a0db18c9055487272e28f3d54dd5b66b3b12a5de62ebb604e74e44e9f94be2d2f0c93628dd0
EBUILD asterisk-18.25.0-r1.ebuild 11206 BLAKE2B c1e4199ce4644b981c98ae2ea18a05eb577f018f1e6ec86ccd7de18c77d790e01dc6893531b108fd6a6870a4c85168d9af77b99f8a6b22643711165cde90d438 SHA512 d554f33c5abc24e5bd97ccbbabde3a3f3b0c82abc05d1ac9b3a7d4b13f10cb772fc86b42720b52671c15fb268e57c34c50bb405c96a11b86caa4ccbc23fa2b39
EBUILD asterisk-18.26.1.ebuild 11208 BLAKE2B 86f70fd1413060fb898ee73171df5a92a51488d95497bc64ae2c10fbdc3f6d1831b23140c94535bae35ef1afeb42da56eac40cb0eb8409743ddccb1490d61e32 SHA512 4da6ea4b63a0f40984da9805efbc048db8e794dcc5727933e2a8b8b052373024ffec50601174765597e84801e61fe709476a9007e0430fab37272cce19ff4bef
EBUILD asterisk-20.11.1.ebuild 11057 BLAKE2B 8443b5c53e1fd164a74199d621201f3ae75e95926c813d78dcce62b606bcef732606a84e4e37d0e7aba3d27bebb180102166e852b94cc7e9a1531e3786665f7d SHA512 52e07291c2da44ae8141a5ed19f49f049fedd048e0ea437537f76349f098699cedd6531c57cdb06bac1b856a67687373cbed085063700d09c52a9ae0f42abcdf
+EBUILD asterisk-20.12.0.ebuild 11057 BLAKE2B 8443b5c53e1fd164a74199d621201f3ae75e95926c813d78dcce62b606bcef732606a84e4e37d0e7aba3d27bebb180102166e852b94cc7e9a1531e3786665f7d SHA512 52e07291c2da44ae8141a5ed19f49f049fedd048e0ea437537f76349f098699cedd6531c57cdb06bac1b856a67687373cbed085063700d09c52a9ae0f42abcdf
EBUILD asterisk-21.6.1.ebuild 10546 BLAKE2B dfe6e5467c0e6bc208d2a248b1ff7975149945fdb1c309c050329cc125f0ab3ef6685b66c35a91e2e93b6ef644301c3e61be0a8fee9aad7c5e321bdca91b9e68 SHA512 a13af48e6f187d7b05f14e0a3273b1cc02b99df5984bfe0c7ebe6a2830bc22b917d9317090bbabe738046da87f2df33dd620c3c4afcf4347f15d913db85384c5
+EBUILD asterisk-21.7.0.ebuild 10546 BLAKE2B dfe6e5467c0e6bc208d2a248b1ff7975149945fdb1c309c050329cc125f0ab3ef6685b66c35a91e2e93b6ef644301c3e61be0a8fee9aad7c5e321bdca91b9e68 SHA512 a13af48e6f187d7b05f14e0a3273b1cc02b99df5984bfe0c7ebe6a2830bc22b917d9317090bbabe738046da87f2df33dd620c3c4afcf4347f15d913db85384c5
EBUILD asterisk-22.1.1.ebuild 10546 BLAKE2B dfe6e5467c0e6bc208d2a248b1ff7975149945fdb1c309c050329cc125f0ab3ef6685b66c35a91e2e93b6ef644301c3e61be0a8fee9aad7c5e321bdca91b9e68 SHA512 a13af48e6f187d7b05f14e0a3273b1cc02b99df5984bfe0c7ebe6a2830bc22b917d9317090bbabe738046da87f2df33dd620c3c4afcf4347f15d913db85384c5
+EBUILD asterisk-22.2.0.ebuild 10546 BLAKE2B dfe6e5467c0e6bc208d2a248b1ff7975149945fdb1c309c050329cc125f0ab3ef6685b66c35a91e2e93b6ef644301c3e61be0a8fee9aad7c5e321bdca91b9e68 SHA512 a13af48e6f187d7b05f14e0a3273b1cc02b99df5984bfe0c7ebe6a2830bc22b917d9317090bbabe738046da87f2df33dd620c3c4afcf4347f15d913db85384c5
MISC metadata.xml 1475 BLAKE2B 53409fa635e1cd45fcb1cc12d035db1206ddc1f882c5d46cc75ddcd69a20718aa135518ce75e98b87c44b66db41a4ec95c75fd926a927b762f2c5e464e176431 SHA512 9b6a91aeb23a5593dfa3aa3b4ad491234fb5fdcb0796c89a1c889297e52c544e4afd290b7ee6f2adaa39e0cba7dcb03a84bea06553340aa3c3f67be59d643f00
diff --git a/net-misc/asterisk/asterisk-20.12.0.ebuild b/net-misc/asterisk/asterisk-20.12.0.ebuild
new file mode 100644
index 000000000000..c31c1a288417
--- /dev/null
+++ b/net-misc/asterisk/asterisk-20.12.0.ebuild
@@ -0,0 +1,371 @@
+# Copyright 1999-2025 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:= )
+ 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_CONFIG_IMPL_DECL_SKIP=(
+ htonll
+ ntohll
+)
+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.7.0.ebuild b/net-misc/asterisk/asterisk-21.7.0.ebuild
new file mode 100644
index 000000000000..03bea0177c90
--- /dev/null
+++ b/net-misc/asterisk/asterisk-21.7.0.ebuild
@@ -0,0 +1,358 @@
+# Copyright 1999-2025 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:= )
+ 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_CONFIG_IMPL_DECL_SKIP=(
+ htonll
+ ntohll
+)
+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-22.2.0.ebuild b/net-misc/asterisk/asterisk-22.2.0.ebuild
new file mode 100644
index 000000000000..03bea0177c90
--- /dev/null
+++ b/net-misc/asterisk/asterisk-22.2.0.ebuild
@@ -0,0 +1,358 @@
+# Copyright 1999-2025 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:= )
+ 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_CONFIG_IMPL_DECL_SKIP=(
+ htonll
+ ntohll
+)
+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/freerdp/Manifest b/net-misc/freerdp/Manifest
index b23c126243b2..7f790a6e76f5 100644
--- a/net-misc/freerdp/Manifest
+++ b/net-misc/freerdp/Manifest
@@ -1,12 +1,15 @@
AUX freerdp-2.11-Revert-codec-encode-messages-considering-endianness.patch 10363 BLAKE2B 03dd4e9795feaf6d4ac8a9f0412b5e9baf3b33e732ff13964c7acdb1bfeb884b524f4483e99de808d4130e70f3310366427f3f1b011735ff22442afd92c6888e SHA512 c66b4d2d18d2189f8df9d68ad556ecae2c5fde8d632c5207960bd1adc33d23c3a4a0ac055657388861b96ce8e391d414b4b98c160f89dad890e911535bdde3d6
AUX freerdp-2.11.2-clang.patch 1132 BLAKE2B ba35de705f66e571e177f1291ccaf3c72f23f4dafe90c6b145b2bfe13d1cc6ec3c0729b6b6d3394da3a090fb73903b775b9d51711416ba0a56786e141d7a2bad SHA512 f45a38b36b5caee74be8b590b80e56adb91b42f41ad8149a97ef2ed0f5c10a32e4024149d75e4eb0b0242f086e71d9367ffd4c9dd307f113f1d25f1cc2c0793e
AUX freerdp-2.11.7-type-mismatch.patch 758 BLAKE2B 3841272554c8b5e3bbd6a94fe00c8a9d429a3ef82f1723ff27a15c23d1be91bc3ec5bc1a9cc7a87911e3d690f2e53a6b46f65a77a5c3f738a585544b512e5743 SHA512 49e5b67904cb84b658c28cf98845b152c4421d506440e8efe04a388aa72d22dee5e41350f2acfeebd0bfc859ff8bc6a2aa654fabecadede3d8fc9166420de2e7
+AUX freerdp-3.12.0-cmake.patch 737 BLAKE2B fdac0608eccae0f0343b99a4d3705554cbab435ef476c3aab558d16068e94e5b1a8b9fe2b2d14275d5a6e257c1d652b520a5d4d694bf47128df42b492539fbe7 SHA512 88619301116c08830b093280703964628fd43f14ce55a387ab2f346071e87cc288b03f68faea2b9b32a15599a8b7bb67b345c4dd1698c85245582bb2e57cc655
AUX freerdp-3.4.0-incompatible-pointer.patch 10251 BLAKE2B 70a23022ff8db7dcf0ada3bf2165d6b271f259f4a49b40d4ca2c2de75e5321156cbedcca77240663e143986073d5a49e74b2b6caf456a6136d83673becf6c35e SHA512 c44165fc843742d1cb5859f24c6eaa78cda13837315ca3fde48092835992998701a670a66cf351c406153a65166050b5523e432789b5b6e2151227ea43ef034d
AUX freerdp-3.6.3-backports.patch 9269 BLAKE2B 24f9c976c5406b967a207179a2fb86f1f1ffec73ff46d7f049f628817aac7ccf1a71e6f76c5fbd5e569a599e01880ee5d27ad3f328a27c836972984ce6d53e4a SHA512 febce83fe7006b4e3112dcd385d3c2911290f7aa9cdc702bbd2d2163ef153a86dd2ba57afac75c491505bbc947e02db74c185d86abad832a38c6f091c2602c80
DIST freerdp-2.11.7.tar.gz 7337520 BLAKE2B ad579b4c36d96a17ccceb26c4c34124a050c05c49c05e2d8b4fd46789929dd4581d26aad88de7a3b3e6ecdd330b9b2ac2d45616537c1c635d10706f14a36f5ca SHA512 e1b4ac112090f2364ef2c360453f91b4643680cad75785cb214b48ebbc78c5eeca9fa8fe9f84f241a70825eefb5273e4e380483a5cdc86c92aa6ac1eb22c188e
DIST freerdp-2.11.7.tar.gz.asc 228 BLAKE2B a374c22ada6da59fb66fcb8021d5bb27545df0c0875b929766dc9b468e9fbfb4a79b1c38b2dbf5c44f925fd44305b1798e5ede0e6726a85c98cac96ceb8020f2 SHA512 18a1b8f18bba14e0156e5eca8fad28efdadd2f87fa29221629ffd9cf53f74606392de0df0e11ae41809fad0509c87462ee29d1e01e9df0dfe08b29832378be76
DIST freerdp-3.11.1.tar.gz 10371756 BLAKE2B 7617527de506b05b1f7020835daa400a169fb41ba1a81acf792aef384ef60d4248500c13d9c8bd421e32fc60c56c3243f56916a71ef310992555ffb2babe0a77 SHA512 e0c04a5667218b8598c19debe4c3cb7e4bf4a736b0bd2f798dbc656e5434f54eea2b52734629865b9bbe4c2b7ad5c70ec9c913680d9b31924bfff8fd59c84b7f
DIST freerdp-3.11.1.tar.gz.asc 228 BLAKE2B 08d3226e2a6599e818fed9054c1a1330a8694e44250561009c2df73a7df16e1768b1dd1c0ceb7461d722351db5cb28b6b9f93db43cf0c6cc1d0cefc4a898be19 SHA512 307983fc2e7759a8fa763b1f99aa6b9d09a51e0537fa89c70faaa4868ed8a4a7d72b8f273e55ef7dfb8a6fe3435307e9ff5af60cd1638d583b76a7e6480f310a
+DIST freerdp-3.12.0.tar.gz 10385447 BLAKE2B c3b3681f6f246e98a8bd1957897580ae009be463bdf48babb56477da1e05989223d7879bb09751f3ae55f81c3f464312b2ced9848a2f08a46d59c10bd75082c6 SHA512 010310a498c739b8e4fd205903451d6317421efead5ff6a3bda5cd8aa6f16d5f5510253379b562b53e3460595c1027783aa2ce562703e83c1b0ccca5543e20f1
+DIST freerdp-3.12.0.tar.gz.asc 228 BLAKE2B eb2983f23ebd1d7765d32270bd2172d17935e442e0acea8d80b6d5cd05bc5c900c7de75efccf7404779508db67c4da95e8263613c3d3f54c09bbbb361a51060f SHA512 7a264b76018dcfb6736d7fcdeb5c07a967a417014ee7ce896b8a7acd356455ce5e9a860906c76ff22babb98f3b8f4ebfd2c518f5d7eb73daa1b670a3a0641b11
DIST freerdp-3.4.0.tar.gz 9331562 BLAKE2B 888d6c5786c7b3c5eea89e41bca23ef2b323377b8115c5f5bfd0dd38e5ed2d3701ffc7603e4aa4253e9116804a12268f4b59dadeb2f60f5c39e8170e78ba6bd1 SHA512 b69f2a2a5f6c70b4a21f0768ce2050020af47b83a3cf06d3b3b46a0e6aa7c062ed2b9de04782a8d6651002ded4c267f8653dfdc2517323926aaab3675924b6c5
DIST freerdp-3.6.3.tar.gz 10199503 BLAKE2B ff4c76a7f2d808db09d22b6cf79caaa1f1aff58c25d37d853d4244cf4b8d0f522cb3ad384c6284544a08e2092277e7b4ee8a6f9fa61bb24319d7c5d08aebfdc7 SHA512 e92b839bdaaed99f05c3ab883a864fb3a18a01b5e173317b1cf8210ad16cbf25f2133b8893dec9f9d3a92b0a2fbcb0230f549e1632ade0394b5c8ea0f7331e1e
DIST freerdp-3.6.3.tar.gz.asc 228 BLAKE2B 4ea04f0d662afef34d61f06d36f3bd6f872f2a7cd8095df581f489306d88a761921a0a93325bdd4c5a627a1c47c612652697b9dc3338ebe0ea952a65b0783cc7 SHA512 6568362c2ad1032925e7dfcd04977c56a58e661b8eacc79d6d2ad77bb9e56d3dff3f13d004d50a88827aa9ccbd2f56c1019a53e18bf35856dbec81acba1dc142
@@ -18,11 +21,12 @@ DIST freerdp-3.9.0.tar.gz 10308500 BLAKE2B f86ffd6e77cc19985b30b93d76cbb02a0884c
DIST freerdp-3.9.0.tar.gz.asc 228 BLAKE2B 6749a3c9cd7fff6b46ebe36d253f64be8abcd46ba153d73fb64fb0128fee4be3beca4b61983e29ac842ee04c262d3c353ed890e279c07609439d3fcd740b9b29 SHA512 ef3eda5d31db6622d2fc12b3c1b242059d9570a10135113eba908584495b64ead33d6406c69f85c3e2c7583134a2cdf409abf93c6c502e454056c17729cc9d05
EBUILD freerdp-2.11.7.ebuild 4059 BLAKE2B f104ca6d06a417cc3e5930fe85eadbf9fa10c61bb52e544daeaaf3316c216ba6363b0b1d3d1a0b79455fe9613831748901f0edce28f5d2df9cca8abffdd349a3 SHA512 fe9ebbcacf18cb59d16458c5cfe47cf15fe89150ebfeca176b6d288b96112ef0965e517171f87c16e62590eee8b3a6a106fe2ba87062061e98dd36f33671b18a
EBUILD freerdp-2.9999.ebuild 4014 BLAKE2B 8e16a4c7dc35301402fbae5da1ba9da5673f0b5c4d8da811e5671f91816265a7dad92b5ae69533f44c084cec371962eac4499a0bb7ce98665336abf3ddaa730e SHA512 7ca53326d24353a2e1bc2d5c006c6a0866c98363d11ab231ff1c086119545979019ad9e13d9e40d4903bb020f4b891a041c0c93edfd566def19296b870e968fc
-EBUILD freerdp-3.11.1.ebuild 4566 BLAKE2B 7274c0b136a85a3c1976fa99cc7906414f1e32d3b6feaa2cd1b03c3661f3f78ba173c9ed5025d3d69d04e7d0ffaf63de020256cf5345dca08b1c39e11ebb7d4b SHA512 01e762af7698c5d458c19355ebe971b690273b9623ed7f27829a6f540b8f06e2cb2b3b2b5f6945f318aa2bfe7079d296557f6dd3c401f21a7fef296afd1db841
+EBUILD freerdp-3.11.1-r1.ebuild 4651 BLAKE2B 7ec1be1e68c5b1f49b6344c52718665276b797d000fd21122022a133106db06d378b868d05c7e455e6bace08061d9666f153e63676153b4522f40e9472a8c04a SHA512 1791e5989d6eec03d5568e01b3de55f46a3ab7174b68d775705d0eabeafde95e9d47103fb6861ce9c695c0b3b025eac358a649c2ec997feec3ad2b46f7348f87
+EBUILD freerdp-3.12.0.ebuild 4706 BLAKE2B 13acdc50887c4f4988e73ab60220cfa788e74a2fc19ecf87c136b4289e3719bd51711f2c2bcd75239f50643721e9fa7d3950f1ee7453103601920ce01b5aafa8 SHA512 55586bc1c8c77da1932f3a30ea6a6d4b4b485ea2b2f552ff491d7e45dafaaf9bb4679ea811f492f3005cb4b2a82480566d231d08e985322a2f9ad38ffc6f93f6
EBUILD freerdp-3.4.0-r12.ebuild 4202 BLAKE2B 5f55807ba41422d61497b7ee08a0b150ad41a92ea50a83c9d1aaac06700b1b7b99927c651a9e861860935bb0643174be983e09e2b9f07e5cf99bb3c75016d2b1 SHA512 6a3029a833773ae2e30da1510d4a7d0b185cc300d1c53c164ae8da5f63b3fd63d2a0bc90616546b0ce45f162eda34b907230392267facb948123ea3ef60d21a2
EBUILD freerdp-3.6.3.ebuild 4340 BLAKE2B 8472e441c21a0a9495242e314e52be5013b17b54a8694d6fe8560cb8e31fbbd23996fdabb98de6d87c0f4c1b5eb4596d416d41d3039904d747fa3ff12f7ca425 SHA512 4bf09d96f4931f12d1511a75599bdcb8cb28b80b4d43ebd8d16e33e8210ffbdf1690fac6d66c06657d165d22db1ac5db1eff4cae0eacc466ffb4f8d7ba764d23
EBUILD freerdp-3.7.0.ebuild 4288 BLAKE2B 46b1483dc049b9a791bc35d29a8c411a5d9a3c9efb0768ccfa51b9f95fb050815611fc25339f55797ca605a0bf0f9cdea27bac61ee532c6e88932068b8a8c237 SHA512 284f977053213df5d2ca5f7e1e778a513a38e0c37e853133ec3f7a1520940f742ab9112d8383190cb2fd17d5f3cc7a08b88cd9efb199746db069a8a54c7eb517
EBUILD freerdp-3.8.0.ebuild 4562 BLAKE2B 2ac61c7816eee4e6937c968316baeece1a483453c2c61c74055f79f2767121f7cf4d45f560ce7f178812d64f5f5a26924c47467b38f98f337f990c61e00de881 SHA512 047e5d06388077a76590e8ea1a575e04a4b61772dc2969fb41c22b7b0e16aa67ad207f79f420617d431735151c4de7f0c387ed3c830c4981f53698205fb59d86
EBUILD freerdp-3.9.0.ebuild 4566 BLAKE2B 361aa3061b8f579ded57069aa9589f01645a3a2f288e24f605abb594d5026608ab55c132cd2b1a55fc4b619e3810cc2f6f6ff5cc4cf4258faca716195d559448 SHA512 80b846fb437a526adb5fe15e24296585ff1bf8c6efb659b7ea580a1ba38ff829d6f3c221171fd1f482a3a8a5726b3c85be679bec17a92c9daf613df285dedd3c
-EBUILD freerdp-9999.ebuild 4566 BLAKE2B 361aa3061b8f579ded57069aa9589f01645a3a2f288e24f605abb594d5026608ab55c132cd2b1a55fc4b619e3810cc2f6f6ff5cc4cf4258faca716195d559448 SHA512 80b846fb437a526adb5fe15e24296585ff1bf8c6efb659b7ea580a1ba38ff829d6f3c221171fd1f482a3a8a5726b3c85be679bec17a92c9daf613df285dedd3c
+EBUILD freerdp-9999.ebuild 4651 BLAKE2B 7ec1be1e68c5b1f49b6344c52718665276b797d000fd21122022a133106db06d378b868d05c7e455e6bace08061d9666f153e63676153b4522f40e9472a8c04a SHA512 1791e5989d6eec03d5568e01b3de55f46a3ab7174b68d775705d0eabeafde95e9d47103fb6861ce9c695c0b3b025eac358a649c2ec997feec3ad2b46f7348f87
MISC metadata.xml 650 BLAKE2B 619e236cb4c4b249beafc2e4772c5321e5c912242a0e69d7e181867a83078ebfadd639aa5b7cf2a0da58572ade2ae374bfd61f41d83e333065bbfde2c06533ed SHA512 f9ec3e33c342c2a364be4d780c0fc69800617896bda40e473175f0b98f39925ea7bcc1896993782470fd9aad1b04edc2848baf5db2a8dd4e2c4099c062e657ae
diff --git a/net-misc/freerdp/files/freerdp-3.12.0-cmake.patch b/net-misc/freerdp/files/freerdp-3.12.0-cmake.patch
new file mode 100644
index 000000000000..e28d2762c6f4
--- /dev/null
+++ b/net-misc/freerdp/files/freerdp-3.12.0-cmake.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/949919
+https://github.com/FreeRDP/FreeRDP/issues/11212
+
+From 358c36486f419ee09441cf7d53409c31debb54c9 Mon Sep 17 00:00:00 2001
+From: akallabeth <akallabeth@posteo.net>
+Date: Tue, 18 Feb 2025 20:00:11 +0100
+Subject: [PATCH] [cmake] fix missing include
+
+---
+ cmake/CompilerSanitizerOptions.cmake | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmake/CompilerSanitizerOptions.cmake b/cmake/CompilerSanitizerOptions.cmake
+index b128cd8b7ff6..7c3da6cc2153 100644
+--- a/cmake/CompilerSanitizerOptions.cmake
++++ b/cmake/CompilerSanitizerOptions.cmake
+@@ -1,4 +1,5 @@
+ include(CMakeDependentOption)
++include(CheckIncludeFiles)
+
+ cmake_dependent_option(
+ WITH_VALGRIND_MEMCHECK "Compile with valgrind helpers." OFF
diff --git a/net-misc/freerdp/freerdp-3.11.1.ebuild b/net-misc/freerdp/freerdp-3.11.1-r1.ebuild
index 98ac9fc8efaf..7604fb6710cd 100644
--- a/net-misc/freerdp/freerdp-3.11.1.ebuild
+++ b/net-misc/freerdp/freerdp-3.11.1-r1.ebuild
@@ -130,6 +130,7 @@ run_for_testing() {
src_configure() {
# bug #881695
filter-lto
+ use debug || append-cppflags -DNDEBUG
freerdp_configure -DBUILD_TESTING=OFF
run_for_testing freerdp_configure -DBUILD_TESTING=ON
}
@@ -150,6 +151,7 @@ freerdp_configure() {
-DWITH_SAMPLE=OFF
-DWITH_CUPS=$(option cups)
-DWITH_DEBUG_ALL=$(option debug)
+ -DWITH_VERBOSE_WINPR_ASSERT=$(option debug)
-DWITH_MANPAGES=ON
-DWITH_FFMPEG=$(option ffmpeg)
-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON
diff --git a/net-misc/freerdp/freerdp-3.12.0.ebuild b/net-misc/freerdp/freerdp-3.12.0.ebuild
new file mode 100644
index 000000000000..3908b6b5e4c7
--- /dev/null
+++ b/net-misc/freerdp/freerdp-3.12.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 2011-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/FreeRDP/FreeRDP.git"
+ case ${PV} in
+ 2.*) EGIT_BRANCH="stable-2.0";;
+ esac
+else
+ inherit verify-sig
+ MY_P=${P/_/-}
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://pub.freerdp.com/releases/${MY_P}.tar.gz
+ verify-sig? ( https://pub.freerdp.com/releases/${MY_P}.tar.gz.asc )"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-akallabeth )"
+ VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/akallabeth.asc"
+fi
+
+DESCRIPTION="Free implementation of the Remote Desktop Protocol"
+HOMEPAGE="https://www.freerdp.com/"
+
+LICENSE="Apache-2.0"
+SLOT="3"
+IUSE="aad alsa cpu_flags_arm_neon +client cups debug +ffmpeg +fuse gstreamer +icu jpeg kerberos openh264 pulseaudio sdl server smartcard systemd test usb valgrind wayland X xinerama xv"
+RESTRICT="!test? ( test )"
+
+BDEPEND+="
+ virtual/pkgconfig
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+"
+COMMON_DEPEND="
+ dev-libs/openssl:0=
+ sys-libs/zlib:0
+ aad? ( dev-libs/cJSON )
+ alsa? ( media-libs/alsa-lib )
+ cups? ( net-print/cups )
+ usb? (
+ virtual/libudev:0=
+ sys-apps/util-linux:0=
+ dev-libs/dbus-glib:0=
+ virtual/libusb:1=
+ )
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrender
+ xinerama? ( x11-libs/libXinerama )
+ xv? ( x11-libs/libXv )
+ )
+ ffmpeg? ( media-video/ffmpeg:0= )
+ !ffmpeg? (
+ x11-libs/cairo:0=
+ )
+ fuse? ( sys-fs/fuse:3 )
+ gstreamer? (
+ media-libs/gstreamer:1.0
+ media-libs/gst-plugins-base:1.0
+ X? ( x11-libs/libXrandr )
+ )
+ icu? ( dev-libs/icu:0= )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ kerberos? ( virtual/krb5 )
+ openh264? ( media-libs/openh264:0= )
+ pulseaudio? ( media-libs/libpulse )
+ sdl? (
+ media-libs/libsdl2[haptic(+),joystick(+),sound(+),video(+)]
+ media-libs/sdl2-ttf
+ )
+ server? (
+ X? (
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrandr
+ x11-libs/libXtst
+ xinerama? ( x11-libs/libXinerama )
+ )
+ )
+ smartcard? ( sys-apps/pcsc-lite )
+ systemd? ( sys-apps/systemd:0= )
+ client? (
+ wayland? (
+ dev-libs/wayland
+ x11-libs/libxkbcommon
+ )
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ valgrind? ( dev-debug/valgrind )
+"
+RDEPEND="${COMMON_DEPEND}
+ !net-misc/freerdp:0
+ client? ( !net-misc/freerdp:2[client] )
+ server? ( !net-misc/freerdp:2[server] )
+ smartcard? ( app-crypt/p11-kit )
+"
+
+PATCHES=(
+ "${FILESDIR}"/freerdp-3.12.0-cmake.patch
+)
+
+option() {
+ usex "$1" ON OFF
+}
+
+option_client() {
+ if use client; then
+ option "$1"
+ else
+ echo OFF
+ fi
+}
+
+run_for_testing() {
+ if use test; then
+ local BUILD_DIR="${WORKDIR}/${P}_testing"
+ "$@"
+ fi
+}
+
+src_configure() {
+ # bug #881695
+ filter-lto
+ use debug || append-cppflags -DNDEBUG
+ freerdp_configure -DBUILD_TESTING=OFF
+ run_for_testing freerdp_configure -DBUILD_TESTING=ON
+}
+
+freerdp_configure() {
+ local mycmakeargs=(
+ -Wno-dev
+
+ # https://bugs.gentoo.org/927037
+ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF
+
+ -DCHANNEL_URBDRC=$(option usb)
+ -DWITH_AAD=$(option aad)
+ -DWITH_ALSA=$(option alsa)
+ -DWITH_CCACHE=OFF
+ -DWITH_CLIENT=$(option client)
+ -DWITH_CLIENT_SDL=$(option sdl)
+ -DWITH_SAMPLE=OFF
+ -DWITH_CUPS=$(option cups)
+ -DWITH_DEBUG_ALL=$(option debug)
+ -DWITH_VERBOSE_WINPR_ASSERT=$(option debug)
+ -DWITH_MANPAGES=ON
+ -DWITH_FFMPEG=$(option ffmpeg)
+ -DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON
+ -DWITH_SWSCALE=$(option ffmpeg)
+ -DWITH_CAIRO=$(option !ffmpeg)
+ -DWITH_DSP_FFMPEG=$(option ffmpeg)
+ -DWITH_FUSE=$(option fuse)
+ -DWITH_GSTREAMER_1_0=$(option gstreamer)
+ -DWITH_JPEG=$(option jpeg)
+ -DWITH_KRB5=$(option kerberos)
+ -DWITH_NEON=$(option cpu_flags_arm_neon)
+ -DWITH_OPENH264=$(option openh264)
+ -DWITH_OSS=OFF
+ -DWITH_PCSC=$(option smartcard)
+ -DWITH_PKCS11=$(option smartcard)
+ -DWITH_PULSE=$(option pulseaudio)
+ -DWITH_SERVER=$(option server)
+ -DWITH_LIBSYSTEMD=$(option systemd)
+ -DWITH_UNICODE_BUILTIN=$(option !icu)
+ -DWITH_VALGRIND_MEMCHECK=$(option valgrind)
+ -DWITH_X11=$(option X)
+ -DWITH_XINERAMA=$(option xinerama)
+ -DWITH_XV=$(option xv)
+ -DWITH_WAYLAND=$(option_client wayland)
+ -DWITH_WEBVIEW=OFF
+ -DWITH_WINPR_TOOLS=$(option server)
+
+ "$@"
+ )
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ run_for_testing cmake_src_compile
+}
+
+src_test() {
+ local myctestargs=( -E TestBacktrace )
+ has network-sandbox ${FEATURES} && myctestargs+=( -E TestConnect )
+ run_for_testing cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ mv "${ED}"/usr/share/man/man7/wlog{,3}.7 || die
+}
diff --git a/net-misc/freerdp/freerdp-9999.ebuild b/net-misc/freerdp/freerdp-9999.ebuild
index 5907f28cdfca..7604fb6710cd 100644
--- a/net-misc/freerdp/freerdp-9999.ebuild
+++ b/net-misc/freerdp/freerdp-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2011-2024 Gentoo Authors
+# Copyright 2011-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -130,6 +130,7 @@ run_for_testing() {
src_configure() {
# bug #881695
filter-lto
+ use debug || append-cppflags -DNDEBUG
freerdp_configure -DBUILD_TESTING=OFF
run_for_testing freerdp_configure -DBUILD_TESTING=ON
}
@@ -150,6 +151,7 @@ freerdp_configure() {
-DWITH_SAMPLE=OFF
-DWITH_CUPS=$(option cups)
-DWITH_DEBUG_ALL=$(option debug)
+ -DWITH_VERBOSE_WINPR_ASSERT=$(option debug)
-DWITH_MANPAGES=ON
-DWITH_FFMPEG=$(option ffmpeg)
-DWITH_FREERDP_DEPRECATED_COMMANDLINE=ON
diff --git a/net-misc/openssh/Manifest b/net-misc/openssh/Manifest
index 121350866b95..412338c3e53d 100644
--- a/net-misc/openssh/Manifest
+++ b/net-misc/openssh/Manifest
@@ -27,8 +27,11 @@ DIST openssh-9.8p1.tar.gz 1910393 BLAKE2B 3bf983c4ef5358054ed0104cd51d3e0069fbc2
DIST openssh-9.8p1.tar.gz.asc 833 BLAKE2B 5291e8c03ab9a75acb44285cd7fc010f4a33551f142499624165dac708fc05a6d077df81555aa41037b45f6301e4e5db3161a7a23404473f8a233a877fc55cc3 SHA512 4df1f1be2c6ab7f3aebaedd0a773b0e8c8929abb30cd3415873ad55d012cfa113f792e888e5e772dd468c394aeb7e35d62893a514dbc0ab1a03acd79918657f7
DIST openssh-9.9p1.tar.gz 1964864 BLAKE2B 817d267e42b8be74a13e0cfd7999bdb4dab6355c7f62c1a4dd89adad310c5fb7fe3f17109ce1a36cd269a3639c1b8f1d18330c615ab3b419253ec027cfa20997 SHA512 3cc0ed97f3e29ecbd882eca79239f02eb5a1606fce4f3119ddc3c5e86128aa3ff12dc85000879fccc87b60e7d651cfe37376607ac66075fede2118deaa685d6d
DIST openssh-9.9p1.tar.gz.asc 833 BLAKE2B 0e19668eb5cadea0e7b06caf2bc2f4cee7e7656a780a128090dcdf2acc25c6e0e0fc7c4c83c95ffcd567cd03941ec772b0f5b273e6f79ff4e440e1d9f22bcdb7 SHA512 916e975c54eb68c0b2f0b0006522b241cbe54c4caa88d31537a6278490c93d9d732c2ab3a080ac084bf75cbdd5402901ec68583cbe7c7cde4a8e40e7a8b78c28
+DIST openssh-9.9p2.tar.gz 1944499 BLAKE2B 1b5bc09482b3a807ccfee52c86c6be3c363acf0c8e774862e0ae64f76bfeb4ce7cf29b3ed2f99c04c89bb4977da0cf50a7a175b15bf1d9925de1e03c66f8306d SHA512 4c6d839aa3189cd5254c745f2bd51cd3f468b02f8e427b8d7a16b9ad017888a41178d2746dc51fb2d3fec5be00e54b9ab7c32c472ca7dec57a1dea4fc9840278
+DIST openssh-9.9p2.tar.gz.asc 833 BLAKE2B 21d9ef3da2b54be47420327f1c724e38eef951ea11d646de81ac3ee2abf3d81f218424432cf5ac7d60cdae72e2190001f923dbdf5bed57f4a105ee1895261c9d SHA512 e7f9bc74d27e5cf8cbf4f5831fddd1d8ad00b03e51e7deb7f95ef17c5017ab7ce0116f4770374aaf6bd3a5f6013dab651a7651b21fa303d05ad6d14b537ab955
EBUILD openssh-9.7_p1-r6.ebuild 14116 BLAKE2B 423d6ab5e9af91f0996bb74e70984fbdc41f276e3364f35d9e1db39d2cd72582b8ca5192c67d07e57a6322289061e9e1ddcfc2cddcee9137cd7e79486157178a SHA512 fe3ceb2912f342fbd0ac9bd6229ddb4c00c0d7c0c0225763d68dfcd2dc69c128ae2cd5101bdac91a4baa179544b273708770dc63c686b2b9751d3391b2799239
EBUILD openssh-9.8_p1-r2.ebuild 15271 BLAKE2B d8d4f794f7e9b7f9e9d74acc813bb4860ccdf660c38a629cd4c3553e0ddcc2eabbd1dab7603ae06e4bbe031421083e0a4813c25ca38625989f0a74fb06620e24 SHA512 3b36919fce944984eeb9c21d6df80e3dd9a7c34846165a31e8c48652fb0c3428599b505147092e14aee3e6f5ac6b4ef37aabcb3a7300d3b04da6f32eb47e18a6
EBUILD openssh-9.8_p1-r3.ebuild 15365 BLAKE2B 51da05b6b53b1326871328aa14387f10794de1e643f18a14b9ecc51830d3ebbfa772d1402bd86d3a118d5be1fb0760e7f608ddd7cd93b960617ad86f5a66beb7 SHA512 f3e294a30591621c96acf1ab054b2f84801b8ad9eb0932597a6eeda7b3b0cc01560c21944954dc6d9da6f4eaafa34592def5a2a80c27c113e48fe194a986f83d
EBUILD openssh-9.9_p1.ebuild 15558 BLAKE2B bbaa08a96610c07d3b2997207ef3a2798eb506e28817033ac1cbe737b9ef3c714fd3c715e59e6f53f2a1b3d7603d41f494affcfb6a6984ede7b0ca1acd5ff8bf SHA512 7616ecaba31634b42b4db0c1596d50035ca5b01839dd5fcda624390e34d53f01792fadae04cbd2112e69cbdecde5e99425b4110783b9187a0a4c3e32d049d2f8
+EBUILD openssh-9.9_p2.ebuild 15569 BLAKE2B 0406bd7e78d46c8c5dbcee2032ba30cc49aeee0c969b454ab45e2f015774424baf0314d663c574f7ff7d45fae71057f5e58745c6975a3661a966f77d67050595 SHA512 b83d2b6bc19a43debcd7271a5f4b41819871dd5d1047f037ff7029a409c248491fe767085bb57a21189a4e8dd39185d167c7b80dd24e2fcf53a7e998d4c81322
MISC metadata.xml 1967 BLAKE2B 9e586a4c515035bc31be950c3872c379e01dae2cc460239cde37b83d6ca8494d36d1e1f858195b34af76074a966278c323ab24ba5e78adfa70be297c1f21336f SHA512 83563c27789a4c12149f037d9318b66d6caf383a82f0f6f7025378bd2a3017d41ff96b5aea3d08e4407d85f3d1a089a51ae6c7fa3970c20b2d8d721962ddbf69
diff --git a/net-misc/openssh/openssh-9.9_p2.ebuild b/net-misc/openssh/openssh-9.9_p2.ebuild
new file mode 100644
index 000000000000..811d22c7ae92
--- /dev/null
+++ b/net-misc/openssh/openssh-9.9_p2.ebuild
@@ -0,0 +1,442 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Remember to check the upstream release/stable branches for patches
+# to backport! See https://marc.info/?l=openssh-unix-dev&m=172723798122122&w=2.
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openssh.org.asc
+inherit user-info flag-o-matic autotools optfeature pam systemd toolchain-funcs verify-sig
+
+# Make it more portable between straight releases
+# and _p? releases.
+PARCH=${P/_}
+
+DESCRIPTION="Port of OpenBSD's free SSH release"
+HOMEPAGE="https://www.openssh.com/"
+SRC_URI="
+ mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz
+ verify-sig? ( mirror://openbsd/OpenSSH/portable/${PARCH}.tar.gz.asc )
+"
+S="${WORKDIR}/${PARCH}"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+# Probably want to drop ssl defaulting to on in a future version.
+IUSE="abi_mips_n32 audit debug kerberos ldns legacy-ciphers libedit livecd pam +pie security-key selinux +ssl static test xmss"
+
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ldns? ( ssl )
+ pie? ( !static )
+ static? ( !kerberos !pam )
+ xmss? ( ssl )
+ test? ( ssl )
+"
+
+# tests currently fail with XMSS
+REQUIRED_USE+="test? ( !xmss )"
+
+LIB_DEPEND="
+ audit? ( sys-process/audit[static-libs(+)] )
+ ldns? (
+ net-libs/ldns[static-libs(+)]
+ net-libs/ldns[ecdsa(+),ssl(+)]
+ )
+ libedit? ( dev-libs/libedit:=[static-libs(+)] )
+ security-key? ( >=dev-libs/libfido2-1.5.0:=[static-libs(+)] )
+ selinux? ( >=sys-libs/libselinux-1.28[static-libs(+)] )
+ ssl? ( >=dev-libs/openssl-1.1.1l-r1:0=[static-libs(+)] )
+ virtual/libcrypt:=[static-libs(+)]
+ >=sys-libs/zlib-1.2.3:=[static-libs(+)]
+"
+RDEPEND="
+ acct-group/sshd
+ acct-user/sshd
+ !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
+ pam? ( sys-libs/pam )
+ kerberos? ( virtual/krb5 )
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/os-headers
+ kernel_linux? ( !prefix-guest? ( >=sys-kernel/linux-headers-5.1 ) )
+ static? ( ${LIB_DEPEND} )
+"
+RDEPEND="
+ ${RDEPEND}
+ !net-misc/openssh-contrib
+ pam? ( >=sys-auth/pambase-20081028 )
+ !prefix? ( sys-apps/shadow )
+"
+BDEPEND="
+ dev-build/autoconf
+ virtual/pkgconfig
+ verify-sig? ( sec-keys/openpgp-keys-openssh )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-9.4_p1-Allow-MAP_NORESERVE-in-sandbox-seccomp-filter-maps.patch"
+ "${FILESDIR}/${PN}-9.6_p1-fix-xmss-c99.patch"
+ "${FILESDIR}/${PN}-9.7_p1-config-tweaks.patch"
+ # Backports from upstream release branch
+ #"${FILESDIR}/${PV}"
+ # Our own backports
+ "${FILESDIR}/${PN}-9.9_p1-x-forwarding-slow.patch"
+)
+
+pkg_pretend() {
+ local i enabled_eol_flags disabled_eol_flags
+ for i in hpn sctp X509; do
+ if has_version "net-misc/openssh[${i}]"; then
+ enabled_eol_flags+="${i},"
+ disabled_eol_flags+="-${i},"
+ fi
+ done
+
+ if [[ -n ${enabled_eol_flags} && ${OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING} != yes ]]; then
+ # Skip for binary packages entirely because of environment saving, bug #907892
+ [[ ${MERGE_TYPE} == binary ]] && return
+
+ ewarn "net-misc/openssh does not support USE='${enabled_eol_flags%,}' anymore."
+ ewarn "The Base system team *STRONGLY* recommends you not rely on this functionality,"
+ ewarn "since these USE flags required third-party patches that often trigger bugs"
+ ewarn "and are of questionable provenance."
+ ewarn
+ ewarn "If you must continue relying on this functionality, switch to"
+ ewarn "net-misc/openssh-contrib. You will have to remove net-misc/openssh from your"
+ ewarn "world file first: 'emerge --deselect net-misc/openssh'"
+ ewarn
+ ewarn "In order to prevent loss of SSH remote login access, we will abort the build."
+ ewarn "Whether you proceed with disabling the USE flags or switch to the -contrib"
+ ewarn "variant, when re-emerging you will have to set"
+ ewarn
+ ewarn " OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes"
+
+ die "Building net-misc/openssh[${disabled_eol_flags%,}] without OPENSSH_EOL_USE_FLAGS_I_KNOW_WHAT_I_AM_DOING=yes"
+ fi
+
+ # Make sure people who are using tcp wrappers are notified of its removal. #531156
+ if grep -qs '^ *sshd *:' "${EROOT}"/etc/hosts.{allow,deny} ; then
+ ewarn "Sorry, but openssh no longer supports tcp-wrappers, and it seems like"
+ ewarn "you're trying to use it. Update your ${EROOT}/etc/hosts.{allow,deny} please."
+ fi
+}
+
+src_prepare() {
+ # don't break .ssh/authorized_keys2 for fun
+ sed -i '/^AuthorizedKeysFile/s:^:#:' sshd_config || die
+
+ [[ -d ${WORKDIR}/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
+
+ default
+
+ # These tests are currently incompatible with PORTAGE_TMPDIR/sandbox
+ sed -e '/\t\tpercent \\/ d' \
+ -i regress/Makefile || die
+
+ tc-export PKG_CONFIG
+ local sed_args=(
+ -e "s:-lcrypto:$(${PKG_CONFIG} --libs openssl):"
+ # Disable fortify flags ... our gcc does this for us
+ -e 's:-D_FORTIFY_SOURCE=2::'
+ )
+
+ # _XOPEN_SOURCE causes header conflicts on Solaris
+ [[ ${CHOST} == *-solaris* ]] && sed_args+=(
+ -e 's/-D_XOPEN_SOURCE//'
+ )
+ sed -i "${sed_args[@]}" configure{.ac,} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ addwrite /dev/ptmx
+
+ use debug && append-cppflags -DSANDBOX_SECCOMP_FILTER_DEBUG
+ use static && append-ldflags -static
+ use xmss && append-cflags -DWITH_XMSS
+
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # Solaris' glob.h doesn't have things like GLOB_TILDE, configure
+ # doesn't check for this, so force the replacement to be put in
+ # place
+ append-cppflags -DBROKEN_GLOB
+ fi
+
+ # use replacement, RPF_ECHO_ON doesn't exist here
+ [[ ${CHOST} == *-darwin* ]] && export ac_cv_func_readpassphrase=no
+
+ local myconf=(
+ --with-ldflags="${LDFLAGS}"
+ --disable-strip
+ --with-pid-dir="${EPREFIX}"$(usex kernel_linux '' '/var')/run
+ --sysconfdir="${EPREFIX}"/etc/ssh
+ --libexecdir="${EPREFIX}"/usr/$(get_libdir)/misc
+ --datadir="${EPREFIX}"/usr/share/openssh
+ --with-privsep-path="${EPREFIX}"/var/empty
+ --with-privsep-user=sshd
+ # optional at runtime; guarantee a known path
+ --with-xauth="${EPREFIX}"/usr/bin/xauth
+
+ # --with-hardening adds the following in addition to flags we
+ # already set in our toolchain:
+ # * -ftrapv (which is broken with GCC anyway),
+ # * -ftrivial-auto-var-init=zero (which is nice, but not the end of
+ # the world to not have)
+ # * -fzero-call-used-regs=used (history of miscompilations with
+ # Clang (bug #872548), ICEs on m68k (bug #920350, gcc PR113086,
+ # gcc PR104820, gcc PR104817, gcc PR110934)).
+ #
+ # Furthermore, OSSH_CHECK_CFLAG_COMPILE does not use AC_CACHE_CHECK,
+ # so we cannot just disable -fzero-call-used-regs=used.
+ #
+ # Therefore, just pass --without-hardening, given it doesn't negate
+ # our already hardened toolchain defaults, and avoids adding flags
+ # which are known-broken in both Clang and GCC and haven't been
+ # proven reliable.
+ --without-hardening
+
+ $(use_with audit audit linux)
+ $(use_with kerberos kerberos5 "${EPREFIX}"/usr)
+ $(use_with ldns)
+ $(use_enable legacy-ciphers dsa-keys)
+ $(use_with libedit)
+ $(use_with pam)
+ $(use_with pie)
+ $(use_with selinux)
+ $(use_with security-key security-key-builtin)
+ $(use_with ssl openssl)
+ $(use_with ssl ssl-engine)
+ )
+
+ if use elibc_musl; then
+ # musl defines bogus values for UTMP_FILE and WTMP_FILE (bug #753230)
+ myconf+=( --disable-utmp --disable-wtmp )
+ fi
+
+ # Workaround for Clang 15 miscompilation with -fzero-call-used-regs=all
+ # bug #869839 (https://github.com/llvm/llvm-project/issues/57692)
+ tc-is-clang && myconf+=( --without-hardening )
+
+ econf "${myconf[@]}"
+}
+
+create_config_dropins() {
+ local locale_vars=(
+ # These are language variables that POSIX defines.
+ # http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_02
+ LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
+
+ # These are the GNU extensions.
+ # https://www.gnu.org/software/autoconf/manual/html_node/Special-Shell-Variables.html
+ LANGUAGE LC_ADDRESS LC_IDENTIFICATION LC_MEASUREMENT LC_NAME LC_PAPER LC_TELEPHONE
+ )
+
+ mkdir -p "${WORKDIR}"/etc/ssh/ssh{,d}_config.d || die
+
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo.conf || die
+ # Send locale environment variables (bug #367017)
+ SendEnv ${locale_vars[*]}
+
+ # Send COLORTERM to match TERM (bug #658540)
+ SendEnv COLORTERM
+ EOF
+
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_config.d/9999999gentoo-security.conf || die
+ RevokedHostKeys "${EPREFIX}/etc/ssh/ssh_revoked_hosts"
+ EOF
+
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/ssh_revoked_hosts || die
+ # https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/
+ ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
+ EOF
+
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo.conf || die
+ # Allow client to pass locale environment variables (bug #367017)
+ AcceptEnv ${locale_vars[*]}
+
+ # Allow client to pass COLORTERM to match TERM (bug #658540)
+ AcceptEnv COLORTERM
+ EOF
+
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-subsystem.conf || die
+ # override default of no subsystems
+ Subsystem sftp ${EPREFIX}/usr/$(get_libdir)/misc/sftp-server
+ EOF
+
+ if use pam ; then
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-pam.conf || die
+ UsePAM yes
+ # This interferes with PAM.
+ PasswordAuthentication no
+ # PAM can do its own handling of MOTD.
+ PrintMotd no
+ PrintLastLog no
+ EOF
+ fi
+
+ if use livecd ; then
+ cat <<-EOF > "${WORKDIR}"/etc/ssh/sshd_config.d/9999999gentoo-livecd.conf || die
+ # Allow root login with password on livecds.
+ PermitRootLogin Yes
+ EOF
+ fi
+}
+
+src_compile() {
+ default
+ create_config_dropins
+}
+
+src_test() {
+ local tests=( compat-tests )
+ local shell=$(egetshell "${UID}")
+ if [[ ${shell} == */nologin ]] || [[ ${shell} == */false ]] ; then
+ ewarn "Running the full OpenSSH testsuite requires a usable shell for the 'portage'"
+ ewarn "user, so we will run a subset only."
+ tests+=( interop-tests )
+ else
+ tests+=( tests )
+ fi
+
+ local -x SUDO= SSH_SK_PROVIDER= TEST_SSH_UNSAFE_PERMISSIONS=1
+ mkdir -p "${HOME}"/.ssh || die
+ emake -j1 "${tests[@]}" </dev/null
+}
+
+src_install() {
+ emake install-nokeys DESTDIR="${D}"
+ fperms 600 /etc/ssh/sshd_config
+ dobin contrib/ssh-copy-id
+ newinitd "${FILESDIR}"/sshd-r1.initd sshd
+ newconfd "${FILESDIR}"/sshd-r1.confd sshd
+
+ if use pam; then
+ newpamd "${FILESDIR}"/sshd.pam_include.2 sshd
+ fi
+
+ doman contrib/ssh-copy-id.1
+ dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config
+
+ rmdir "${ED}"/var/empty || die
+
+ systemd_dounit "${FILESDIR}"/sshd.socket
+ systemd_newunit "${FILESDIR}"/sshd.service.2 sshd.service
+ systemd_newunit "${FILESDIR}"/sshd_at.service.1 'sshd@.service'
+
+ # Install dropins with explicit mode, bug 906638, 915840
+ diropts -m0755
+ insopts -m0644
+ insinto /etc/ssh
+ doins -r "${WORKDIR}"/etc/ssh/ssh_config.d
+ doins "${WORKDIR}"/etc/ssh/ssh_revoked_hosts
+ diropts -m0700
+ insopts -m0600
+ doins -r "${WORKDIR}"/etc/ssh/sshd_config.d
+}
+
+pkg_preinst() {
+ if ! use ssl && has_version "${CATEGORY}/${PN}[ssl]"; then
+ show_ssl_warning=1
+ fi
+}
+
+pkg_postinst() {
+ # bug #139235
+ optfeature "x11 forwarding" x11-apps/xauth
+
+ local old_ver
+ for old_ver in ${REPLACING_VERSIONS}; do
+ if ver_test "${old_ver}" -lt "5.8_p1"; then
+ elog "Starting with openssh-5.8p1, the server will default to a newer key"
+ elog "algorithm (ECDSA). You are encouraged to manually update your stored"
+ elog "keys list as servers update theirs. See ssh-keyscan(1) for more info."
+ fi
+ if ver_test "${old_ver}" -lt "7.0_p1"; then
+ elog "Starting with openssh-6.7, support for USE=tcpd has been dropped by upstream."
+ elog "Make sure to update any configs that you might have. Note that xinetd might"
+ elog "be an alternative for you as it supports USE=tcpd."
+ fi
+ if ver_test "${old_ver}" -lt "7.1_p1"; then #557388 #555518
+ elog "Starting with openssh-7.0, support for ssh-dss keys were disabled due to their"
+ elog "weak sizes. If you rely on these key types, you can re-enable the key types by"
+ elog "adding to your sshd_config or ~/.ssh/config files:"
+ elog " PubkeyAcceptedKeyTypes=+ssh-dss"
+ elog "You should however generate new keys using rsa or ed25519."
+
+ elog "Starting with openssh-7.0, the default for PermitRootLogin changed from 'yes'"
+ elog "to 'prohibit-password'. That means password auth for root users no longer works"
+ elog "out of the box. If you need this, please update your sshd_config explicitly."
+ fi
+ if ver_test "${old_ver}" -lt "7.6_p1"; then
+ elog "Starting with openssh-7.6p1, openssh upstream has removed ssh1 support entirely."
+ elog "Furthermore, rsa keys with less than 1024 bits will be refused."
+ fi
+ if ver_test "${old_ver}" -lt "7.7_p1"; then
+ elog "Starting with openssh-7.7p1, we no longer patch openssh to provide LDAP functionality."
+ elog "Install sys-auth/ssh-ldap-pubkey and use OpenSSH's \"AuthorizedKeysCommand\" option"
+ elog "if you need to authenticate against LDAP."
+ elog "See https://wiki.gentoo.org/wiki/SSH/LDAP_migration for more details."
+ fi
+ if ver_test "${old_ver}" -lt "8.2_p1"; then
+ ewarn "After upgrading to openssh-8.2p1 please restart sshd, otherwise you"
+ ewarn "will not be able to establish new sessions. Restarting sshd over a ssh"
+ ewarn "connection is generally safe."
+ fi
+ if ver_test "${old_ver}" -lt "9.2_p1-r1" && systemd_is_booted; then
+ ewarn "From openssh-9.2_p1-r1 the supplied systemd unit file defaults to"
+ ewarn "'Restart=on-failure', which causes the service to automatically restart if it"
+ ewarn "terminates with an unclean exit code or signal. This feature is useful for most users,"
+ ewarn "but it can increase the vulnerability of the system in the event of a future exploit."
+ ewarn "If you have a web-facing setup or are concerned about security, it is recommended to"
+ ewarn "set 'Restart=no' in your sshd unit file."
+ fi
+ done
+
+ if [[ -n ${show_ssl_warning} ]]; then
+ elog "Be aware that by disabling openssl support in openssh, the server and clients"
+ elog "no longer support dss/rsa/ecdsa keys. You will need to generate ed25519 keys"
+ elog "and update all clients/servers that utilize them."
+ fi
+
+ openssh_maybe_restart
+}
+
+openssh_maybe_restart() {
+ local ver
+ declare -a versions
+ read -ra versions <<<"${REPLACING_VERSIONS}"
+ for ver in "${versions[@]}"; do
+ # Exclude 9.8_p1 because it didn't have the safety check
+ [[ ${ver} == 9.8_p1 ]] && break
+
+ if [[ ${ver%_*} == "${PV%_*}" ]]; then
+ # No major version change has occurred
+ return
+ fi
+ done
+
+ if [[ ${ROOT} ]]; then
+ return
+ elif [[ -d /run/systemd/system ]] && sshd -t >/dev/null 2>&1; then
+ ewarn "The ebuild will now attempt to restart OpenSSH to avoid"
+ ewarn "bricking the running instance. See bug #709748."
+ ebegin "Attempting to restart openssh via 'systemctl try-restart sshd'"
+ systemctl try-restart sshd
+ eend $?
+ elif [[ -d /run/openrc ]]; then
+ # We don't check for sshd -t here because the OpenRC init script
+ # has a stop_pre() which does checkconfig, i.e. we defer to it
+ # to give nicer output for a failed sanity check.
+ ewarn "The ebuild will now attempt to restart OpenSSH to avoid"
+ ewarn "bricking the running instance. See bug #709748."
+ ebegin "Attempting to restart openssh via 'rc-service -q --ifstarted --nodeps sshd restart'"
+ rc-service -q --ifstarted --nodeps sshd restart
+ eend $?
+ fi
+}
diff --git a/net-misc/rclone/Manifest b/net-misc/rclone/Manifest
index 35c9e9e38c7b..76e3fd19f9c1 100644
--- a/net-misc/rclone/Manifest
+++ b/net-misc/rclone/Manifest
@@ -2,6 +2,9 @@ DIST rclone-1.68.2-deps.tar.xz 313358984 BLAKE2B e57d4036e37b041b1c1c34b377683f3
DIST rclone-1.68.2.tar.gz 17456579 BLAKE2B 9b8a3cd10690104ef262bac99d676997be1e5aad19172b6536b74a73c5d15bf6d67b0550ed6dcc8c4406d4082de11b5f8e6bcf92c9fdde61b140c0edbe095c23 SHA512 02baef752b8537ef5de05c51ce556ee76aee62c6835dc2f0cb6a8ebf0837d524dee1ed69136fb8319511a248d6776e36e53038138bf245f19aa66ea2aac6815c
DIST rclone-1.69.0-deps.tar.xz 273636708 BLAKE2B c78c7e411f0b73fe7679d87c5ef5222e161d5b0fd01dc70f56480d59072d4247eabaaed229be326a130195e3cb3bf5efa8133a374cd7c0ef78ee6e9827aa69c9 SHA512 d02143d9b99096579262065f785afbf0cca123356a44123e9cdb724eef741cfa72691979e5735389dcd073e7a680814814ba1eaf6a94b10d14eda762d1571c3e
DIST rclone-1.69.0.gh.tar.gz 16939883 BLAKE2B ec65092e661297397419443ee678c7bb7c6c1ee19ff12cfd8c50f071df8542592f04c7fa56e83a34a9c2a3e52a2f87d1ef58d577fee35f8cfa7491cad5d67fd7 SHA512 0a1d544fc12d020cf71ed788481185c178e6d79919f2e7e73014704714e70e4efec84fc126f19b1be284cc7f1f381fbb5ee9f78c472ba993529a8db2d19898b4
+DIST rclone-v1.69.1-vendor.tar.gz 13831747 BLAKE2B 327c38cf386232b40963c89158c289705906760d97440e79e943a8c33d84366806e83604de0c69855c14b4ef2144f1a812ac3906e8dda896fd191dde36faa9ee SHA512 bd7c9b634bd8d165339ded0c38c5dea995f8eb13a9d9a6315ce375b8a5c09d2024bd504f6a8721294922c241db73c5159fb7c4f84de69f2a67b57fb43b9cf84a
+DIST rclone-v1.69.1.tar.gz 16906745 BLAKE2B 2b701cacd169c1519a5e67199fa7c7b5938137b7baab1db276b70e4ac7c0e303e8ef1870a691a0534b399b89eff3a6f4d8d7930f1a3bebd175be1e47e4e9a8b8 SHA512 355a2295b0478de84475889663d7e7fb818f840c983e812e67de205eed725f1b2f00d667e66c0cec82a18af363dd7986a0f2cdd0ace4a2c81ffe167457238d3a
EBUILD rclone-1.68.2.ebuild 1487 BLAKE2B 21104447d8e177eb4726b1c24fcae4ab0c02df4a3d58eb056a78974af2d6f52e61026b9c17a53e69e54d24139499e49da193ff8c1697cc8d583235342d497bd9 SHA512 7b59212116381fbdc61cc9afac06df05d90249875a44a2983c2e0f409f7b7e9eea5b0d3f6e0b54b5142bb5d6735f0139589a71b7c8f62b8403af7d8904718c27
EBUILD rclone-1.69.0.ebuild 1492 BLAKE2B 22bfaecbbe951988024e500461e050303613f2bfc2e703cfe5533deca0d9d9b6c7ca00062434a8b820c991b57749db148bfb6e38584a363feae1257ec4ec970d SHA512 bf0c8b0ea62b01b88faef0effb7aade5ef7eaa1591c8fafe4290a680b9c8e70b629124111d76c790c3dfb1ede11dba480f02e2fab8817b71d3582d01ee3b7a79
-MISC metadata.xml 492 BLAKE2B cec7693bf30b3780ce77094c6ac87d0874a92220d2179f41aedfe65557a3238c65bac28fd467fadc537cb1c814500b1855545d3e31aa9ccbda7838be373b561f SHA512 5312b6a481ee70027653ee271d9e08576c09b4e48a0d0848479cc8a2a8d22a47fc2c14b446fb4fe2f26e4636b4eec20b0f5cba6ed4fa89712a95fd0d235671e8
+EBUILD rclone-1.69.1.ebuild 1683 BLAKE2B 2d7dd63c31d3ab358fdca560949936bd8a49bbec9d234aa0ee6c6997618fad933dd7d45c56386b0945952aa998a0d304013f7bd5690b9709ccfaf36fd0933298 SHA512 7efa0bc0ab7136384953aff2cdcbb9fa784613037b62f8bb287cd9379b2a8ede3e8dd590934292891995c929c267ca2a52ebc1b341aabbcc75ca6691013c30a5
+MISC metadata.xml 546 BLAKE2B 810399fdf5969d7862199e98fe8382c65e87b1d7a7af5e0aa7f1c8c1351d4794781c8076879983c429f62ff74c870943583d00878596683349e01fbea8285b26 SHA512 9f8c26b6fc993c91c0f3033d1e33ccedd2a173697e6660fa6d27955b522b7764ff2d2bfa0706d4222001606b60e432486e1e11e72534f5d5d60f01be0dc4309f
diff --git a/net-misc/rclone/metadata.xml b/net-misc/rclone/metadata.xml
index 08aec66404f8..62bbd6e959ea 100644
--- a/net-misc/rclone/metadata.xml
+++ b/net-misc/rclone/metadata.xml
@@ -12,5 +12,6 @@
<upstream>
<bugs-to>https://github.com/rclone/rclone/issues/</bugs-to>
<remote-id type="github">rclone/rclone</remote-id>
+ <changelog>https://rclone.org/changelog</changelog>
</upstream>
</pkgmetadata>
diff --git a/net-misc/rclone/rclone-1.69.1.ebuild b/net-misc/rclone/rclone-1.69.1.ebuild
new file mode 100644
index 000000000000..bbc13c2acf76
--- /dev/null
+++ b/net-misc/rclone/rclone-1.69.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit shell-completion check-reqs edo go-module
+
+DESCRIPTION="A program to sync files to and from various cloud storage providers"
+HOMEPAGE="https://rclone.org/
+ https://github.com/rclone/rclone/"
+SRC_URI="
+ https://github.com/rclone/rclone/releases/download/v${PV}/rclone-v${PV}.tar.gz
+ https://github.com/rclone/rclone/releases/download/v${PV}/rclone-v${PV}-vendor.tar.gz
+"
+S=${WORKDIR}/rclone-v${PV}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC MIT MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ sys-fs/fuse:3
+"
+
+CHECKREQS_DISK_BUILD="2500M"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ mkdir -p "${S}" || die
+ ln -s "../vendor" "${S}/vendor" || die
+
+ go-module_src_unpack
+}
+
+src_compile() {
+ local go_ldflags="
+ -X github.com/rclone/rclone/fs.Version=${PV}
+ "
+ local -a go_buildargs=(
+ -ldflags "${go_ldflags}"
+ -mod=vendor
+ -o ./
+ )
+ ego build "${go_buildargs[@]}"
+
+ edob ./rclone genautocomplete bash "${PN}.bash"
+ edob ./rclone genautocomplete zsh "${PN}.zsh"
+ edob ./rclone genautocomplete fish "${PN}.fish"
+}
+
+src_test() {
+ # Setting CI skips unreliable tests, see "fstest/testy/testy.go"
+ # "TestAddPlugin" and "TestRemovePlugin" fail.
+ local -x CI="true"
+ local -x RCLONE_CONFIG="/not_found"
+
+ ego test -mod=vendor -v -run "!Test.*Plugin" ./...
+}
+
+src_install() {
+ exeinto /usr/bin
+ doexe "${PN}"
+ dosym -r "/usr/bin/${PN}" /usr/bin/mount.rclone
+ dosym -r "/usr/bin/${PN}" /usr/bin/rclonefs
+
+ newbashcomp "${PN}.bash" "${PN}"
+ newzshcomp "${PN}.zsh" "_${PN}"
+ newfishcomp "${PN}.fish" "${PN}"
+
+ doman "${PN}.1"
+ einstalldocs
+}