summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/anydesk/Manifest2
-rw-r--r--net-misc/anydesk/anydesk-6.4.0.ebuild (renamed from net-misc/anydesk/anydesk-6.3.2.ebuild)13
-rw-r--r--net-misc/curl/curl-8.12.0-r1.ebuild389
-rw-r--r--net-misc/curl/files/curl-8.12.0-multi.patch136
-rw-r--r--net-misc/dhcpcd/Manifest4
-rw-r--r--net-misc/dhcpcd/dhcpcd-10.0.6-r2.ebuild170
-rw-r--r--net-misc/dhcpcd/dhcpcd-10.0.6-r3.ebuild178
-rw-r--r--net-misc/dhcpcd/dhcpcd-10.1.0-r1.ebuild (renamed from net-misc/dhcpcd/dhcpcd-10.0.8.ebuild)13
-rw-r--r--net-misc/dhcpcd/dhcpcd-10.2.0.ebuild (renamed from net-misc/dhcpcd/dhcpcd-10.0.10.ebuild)4
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-10.0.6-crash.patch46
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch46
-rw-r--r--net-misc/dhcpcd/files/dhcpcd-10.1.0-seccomp-glibc-2.41.patch28
-rw-r--r--net-misc/ethflop/Manifest3
-rw-r--r--net-misc/ethflop/files/ethflop-20240916-makefile.patch11
-rw-r--r--net-misc/ethflop/files/ethflopd.confd8
-rw-r--r--net-misc/ethflop/files/ethflopd.initd11
-rw-r--r--net-misc/ethflop/files/ethflopd.service-r110
-rw-r--r--net-misc/ethflop/metadata.xml22
-rw-r--r--net-misc/fatrat/Manifest1
-rw-r--r--net-misc/fatrat/fatrat-1.2.0_beta2_p20161204.ebuild75
-rw-r--r--net-misc/fatrat/files/fatrat-1.2.0_beta2_p20150803-build.patch13
-rw-r--r--net-misc/fatrat/files/fatrat-1.2.0_beta2_p20161204-qt-5.15.patch12
-rw-r--r--net-misc/fatrat/metadata.xml11
-rw-r--r--net-misc/kio-zeroconf-common/Manifest1
-rw-r--r--net-misc/kio-zeroconf-common/kio-zeroconf-common-24.12.1.ebuild24
-rw-r--r--net-misc/kio-zeroconf/Manifest1
-rw-r--r--net-misc/kio-zeroconf/kio-zeroconf-24.12.1.ebuild39
-rw-r--r--net-misc/lyricwikia/Manifest1
-rw-r--r--net-misc/lyricwikia/files/lyricwikia-0.1.11-skip-online-test.patch14
-rw-r--r--net-misc/lyricwikia/lyricwikia-0.1.11-r1.ebuild48
-rw-r--r--net-misc/lyricwikia/lyricwikia-0.1.11-r2.ebuild48
-rw-r--r--net-misc/lyricwikia/metadata.xml13
-rw-r--r--net-misc/memcached/memcached-1.6.27.ebuild4
-rw-r--r--net-misc/memcached/memcached-1.6.31.ebuild6
-rw-r--r--net-misc/nx/files/nx-3.5.99.26-gcc14-access.patch28
-rw-r--r--net-misc/nx/nx-3.5.99.26.ebuild3
-rw-r--r--net-misc/nx/nx-3.5.99.27.ebuild1
-rw-r--r--net-misc/scponly/files/scponly-4.8-C23.patch26
-rw-r--r--net-misc/scponly/metadata.xml1
-rw-r--r--net-misc/scponly/scponly-4.8-r9.ebuild (renamed from net-misc/scponly/scponly-4.8-r8.ebuild)19
-rw-r--r--net-misc/smb4k/Manifest1
-rw-r--r--net-misc/smb4k/smb4k-4.0.0.ebuild77
-rw-r--r--net-misc/smbc/files/0001-Fix-signal-handlers.patch104
-rw-r--r--net-misc/smbc/files/0002-Fix-Wformat-security.patch150
-rw-r--r--net-misc/smbc/smbc-1.2.2-r4.ebuild (renamed from net-misc/smbc/smbc-1.2.2-r3.ebuild)15
-rw-r--r--net-misc/turbovnc/Manifest6
-rw-r--r--net-misc/turbovnc/metadata.xml1
-rw-r--r--net-misc/turbovnc/turbovnc-3.1.4.ebuild (renamed from net-misc/turbovnc/turbovnc-3.1.3.ebuild)2
-rw-r--r--net-misc/turbovnc/turbovnc-3.2_beta1.ebuild167
-rw-r--r--net-misc/zssh/files/zssh-1.5c-C23.patch178
-rw-r--r--net-misc/zssh/zssh-1.5c-r3.ebuild (renamed from net-misc/zssh/zssh-1.5c-r2.ebuild)37
51 files changed, 1361 insertions, 860 deletions
diff --git a/net-misc/anydesk/Manifest b/net-misc/anydesk/Manifest
index 34f8759cd4ba..6170429acef8 100644
--- a/net-misc/anydesk/Manifest
+++ b/net-misc/anydesk/Manifest
@@ -1,2 +1,2 @@
-DIST anydesk-6.3.2-amd64.tar.gz 7039607 BLAKE2B dfc628baef862bddb944b02d39c3e270a0ac4dbe88704099f8b9022e7e758a367093432b78e86bcc1d9432fabe1c2842c4e811e59541433cb75a9734e09cff08 SHA512 a0fac07d6beb085666f4414f592b5b26b0f699ebc0b1ad5a587317a0c46b0f92a8d3b3e2e0ab08ce9e6c4c1c15789f8396158cc87075e623e32ce714ad071612
DIST anydesk-6.3.3-amd64.tar.gz 7048124 BLAKE2B 6b97a60709337e01e70f11cfe4a82d71465961de99bc075c900d0f656427502fa6543c68b9dcd30cb4a3091ba0bd10b3b1bea0ea0e7792ef51a76b376d1ffe29 SHA512 4819ee1a7420fed503c743601a8e4e5000150e176b1d695e34c8ffb5da2475ca2ccd6f5024c9d011661e7e0f133a592bcfc19a2e32ba2ffd9a92f701b0eb929f
+DIST anydesk-6.4.0-amd64.tar.gz 8391102 BLAKE2B e0e18b0315d1472bd4479b48052f4617f29d4d8efb9bd61d8e6dac0368302369868703ffaad999c34b648157500e3ce441ea99d7bf54649b8c26d54cb193bbc2 SHA512 15daac65fd26af3abb8916cc545d9b58715cb807ad550908537af32cf152faa2d61d2005cf46de376b64117be93e3562a820eebb1d8f16f9a8f5dd0d21144b6b
diff --git a/net-misc/anydesk/anydesk-6.3.2.ebuild b/net-misc/anydesk/anydesk-6.4.0.ebuild
index 8da50cec7b3c..bff859751dd7 100644
--- a/net-misc/anydesk/anydesk-6.3.2.ebuild
+++ b/net-misc/anydesk/anydesk-6.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -7,27 +7,24 @@ inherit desktop optfeature systemd xdg-utils
DESCRIPTION="Feature rich multi-platform remote desktop application"
HOMEPAGE="https://anydesk.com"
-SRC_URI="https://download.anydesk.com/linux/${P}-amd64.tar.gz
- https://download.anydesk.com/linux/generic-linux/${P}-amd64.tar.gz"
+SRC_URI="https://download.anydesk.com/linux/${P}-amd64.tar.gz"
# OpeSSL/SSLeay, libvpx, zlib, Xiph, xxHash
LICENSE="AnyDesk-TOS BSD BSD-2 openssl ZLIB"
SLOT="0"
KEYWORDS="-* ~amd64"
-# x11-libs/gtkglext is required and cannot be mitigated: https://bugs.gentoo.org/868255
RDEPEND="
app-accessibility/at-spi2-core:2
dev-libs/glib:2
media-libs/fontconfig:1.0
media-libs/freetype:2
- media-libs/glu
- media-libs/libglvnd
+ media-libs/harfbuzz
+ sys-apps/dbus
sys-auth/polkit
x11-libs/cairo
x11-libs/gdk-pixbuf:2
- x11-libs/gtk+:2
- x11-libs/gtkglext
+ x11-libs/gtk+:3
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXdamage
diff --git a/net-misc/curl/curl-8.12.0-r1.ebuild b/net-misc/curl/curl-8.12.0-r1.ebuild
new file mode 100644
index 000000000000..7acb873fe0b5
--- /dev/null
+++ b/net-misc/curl/curl-8.12.0-r1.ebuild
@@ -0,0 +1,389 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Maintainers should subscribe to the 'curl-distros' ML for backports etc
+# https://daniel.haxx.se/blog/2024/03/25/curl-distro-report/
+# https://lists.haxx.se/listinfo/curl-distros
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
+inherit autotools multilib-minimal multiprocessing prefix toolchain-funcs verify-sig
+
+DESCRIPTION="A Client that groks URLs"
+HOMEPAGE="https://curl.se/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/curl/curl.git"
+else
+ SRC_URI="
+ https://curl.se/download/${P}.tar.xz
+ verify-sig? ( https://curl.se/download/${P}.tar.xz.asc )
+ "
+ 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"
+fi
+
+LICENSE="BSD curl ISC test? ( BSD-4 )"
+SLOT="0"
+IUSE="+adns +alt-svc brotli debug +ftp gnutls gopher +hsts +http2 +http3 idn +imap kerberos ldap mbedtls +openssl +pop3"
+IUSE+=" +psl +progress-meter +quic rtmp rustls samba +smtp ssh ssl sslv3 static-libs test telnet +tftp +websockets zstd"
+# These select the default tls implementation / which quic impl to use
+IUSE+=" +curl_quic_openssl curl_quic_ngtcp2 curl_ssl_gnutls curl_ssl_mbedtls +curl_ssl_openssl curl_ssl_rustls"
+RESTRICT="!test? ( test )"
+
+# Only one default ssl / quic provider can be enabled
+# The default provider needs its USE satisfied
+# HTTP/3 and MultiSSL are mutually exclusive; it's not clear if MultiSSL offers any benefit at all in the modern day.
+# https://github.com/curl/curl/commit/65ece771f4602107d9cdd339dff4b420280a2c2e
+REQUIRED_USE="
+ quic? (
+ ^^ (
+ curl_quic_openssl
+ curl_quic_ngtcp2
+ )
+ http3
+ ssl
+ )
+ ssl? (
+ ^^ (
+ curl_ssl_gnutls
+ curl_ssl_mbedtls
+ curl_ssl_openssl
+ curl_ssl_rustls
+ )
+ )
+ curl_quic_openssl? (
+ curl_ssl_openssl
+ quic
+ !gnutls
+ !mbedtls
+ !rustls
+ )
+ curl_quic_ngtcp2? (
+ curl_ssl_gnutls
+ quic
+ !mbedtls
+ !openssl
+ !rustls
+ )
+ curl_ssl_gnutls? ( gnutls )
+ curl_ssl_mbedtls? ( mbedtls )
+ curl_ssl_openssl? ( openssl )
+ curl_ssl_rustls? ( rustls )
+ http3? ( alt-svc quic )
+"
+
+# cURL's docs and CI/CD are great resources for confirming supported versions
+# particulary for fast-moving targets like HTTP/2 and TCP/2 e.g.:
+# - https://github.com/curl/curl/blob/master/docs/INTERNALS.md (core dependencies + minimum versions)
+# - https://github.com/curl/curl/blob/master/docs/HTTP3.md (example of a feature that moves quickly)
+# - https://github.com/curl/curl/blob/master/.github/workflows/http3-linux.yml (CI/CD for TCP/2)
+# However 'supported' vs 'works' are two entirely different things; be sane but
+# don't be afraid to require a later version.
+# ngtcp2 = https://bugs.gentoo.org/912029 - can only build with one tls backend at a time.
+RDEPEND="
+ >=sys-libs/zlib-1.1.4[${MULTILIB_USEDEP}]
+ adns? ( >=net-dns/c-ares-1.16.0:=[${MULTILIB_USEDEP}] )
+ brotli? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
+ http2? ( >=net-libs/nghttp2-1.15.0:=[${MULTILIB_USEDEP}] )
+ http3? ( >=net-libs/nghttp3-1.1.0[${MULTILIB_USEDEP}] )
+ idn? ( >=net-dns/libidn2-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] )
+ kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
+ ldap? ( >=net-nds/openldap-2.0.0:=[static-libs?,${MULTILIB_USEDEP}] )
+ psl? ( net-libs/libpsl[${MULTILIB_USEDEP}] )
+ quic? (
+ curl_quic_openssl? ( >=dev-libs/openssl-3.3.0:=[quic,${MULTILIB_USEDEP}] )
+ curl_quic_ngtcp2? ( >=net-libs/ngtcp2-1.2.0[gnutls,ssl,-openssl,${MULTILIB_USEDEP}] )
+ )
+ rtmp? ( media-video/rtmpdump[${MULTILIB_USEDEP}] )
+ ssh? ( >=net-libs/libssh2-1.0.0[${MULTILIB_USEDEP}] )
+ ssl? (
+ gnutls? (
+ app-misc/ca-certificates
+ >=net-libs/gnutls-3.1.10:=[static-libs?,${MULTILIB_USEDEP}]
+ dev-libs/nettle:=[${MULTILIB_USEDEP}]
+ )
+ mbedtls? (
+ app-misc/ca-certificates
+ net-libs/mbedtls:0=[${MULTILIB_USEDEP}]
+ )
+ openssl? (
+ >=dev-libs/openssl-0.9.7:=[sslv3(-)=,static-libs?,${MULTILIB_USEDEP}]
+ )
+ rustls? (
+ >=net-libs/rustls-ffi-0.14.0:=[${MULTILIB_USEDEP}]
+ )
+ )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND="
+ dev-lang/perl
+ virtual/pkgconfig
+ test? (
+ sys-apps/diffutils
+ http2? ( >=net-libs/nghttp2-1.15.0:=[utils,${MULTILIB_USEDEP}] )
+ http3? ( net-libs/nghttp2:=[utils,${MULTILIB_USEDEP}] )
+ )
+ verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
+"
+
+DOCS=( README docs/{FEATURES.md,INTERNALS.md,FAQ,BUGS.md,CONTRIBUTE.md} )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/curl/curlbuild.h
+)
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/curl-config
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ __builtin_available
+ closesocket
+ CloseSocket
+ getpass_r
+ ioctlsocket
+ IoctlSocket
+ mach_absolute_time
+ setmode
+ _fseeki64
+ # custom AC_LINK_IFELSE code fails to link even without -Werror
+ OSSL_QUIC_client_method
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-prefix-4.patch"
+ "${FILESDIR}/${PN}-respect-cflags-3.patch"
+ "${FILESDIR}/${P}-multi.patch"
+)
+
+src_prepare() {
+ default
+
+ eprefixify curl-config.in
+ eautoreconf
+}
+
+multilib_src_configure() {
+ # We make use of the fact that later flags override earlier ones
+ # So start with all ssl providers off until proven otherwise
+ # TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
+ local myconf=()
+
+ myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
+ if use ssl; then
+ myconf+=( --without-gnutls --without-mbedtls --without-rustls )
+
+ if use gnutls; then
+ multilib_is_native_abi && einfo "SSL provided by gnutls"
+ myconf+=( --with-gnutls )
+ fi
+ if use mbedtls; then
+ multilib_is_native_abi && einfo "SSL provided by mbedtls"
+ myconf+=( --with-mbedtls )
+ fi
+ if use openssl; then
+ multilib_is_native_abi && einfo "SSL provided by openssl"
+ myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
+ fi
+ if use rustls; then
+ multilib_is_native_abi && einfo "SSL provided by rustls"
+ myconf+=( --with-rustls )
+ fi
+ if use curl_ssl_gnutls; then
+ multilib_is_native_abi && einfo "Default SSL provided by gnutls"
+ myconf+=( --with-default-ssl-backend=gnutls )
+ elif use curl_ssl_mbedtls; then
+ multilib_is_native_abi && einfo "Default SSL provided by mbedtls"
+ myconf+=( --with-default-ssl-backend=mbedtls )
+ elif use curl_ssl_openssl; then
+ multilib_is_native_abi && einfo "Default SSL provided by openssl"
+ myconf+=( --with-default-ssl-backend=openssl )
+ elif use curl_ssl_rustls; then
+ multilib_is_native_abi && einfo "Default SSL provided by rustls"
+ myconf+=( --with-default-ssl-backend=rustls )
+ else
+ eerror "We can't be here because of REQUIRED_USE."
+ die "Please file a bug, hit impossible condition w/ USE=ssl handling."
+ fi
+
+ else
+ myconf+=( --without-ssl )
+ einfo "SSL disabled"
+ fi
+
+ # These configuration options are organized alphabetically
+ # within each category. This should make it easier if we
+ # ever decide to make any of them contingent on USE flags:
+ # 1) protocols first. To see them all do
+ # 'grep SUPPORT_PROTOCOLS configure.ac'
+ # 2) --enable/disable options second.
+ # 'grep -- --enable configure | grep Check | awk '{ print $4 }' | sort
+ # 3) --with/without options third.
+ # grep -- --with configure | grep Check | awk '{ print $4 }' | sort
+
+ myconf+=(
+ $(use_enable alt-svc)
+ --enable-basic-auth
+ --enable-bearer-auth
+ --enable-digest-auth
+ --enable-kerberos-auth
+ --enable-negotiate-auth
+ --enable-aws
+ --enable-dict
+ --disable-ech
+ --enable-file
+ $(use_enable ftp)
+ $(use_enable gopher)
+ $(use_enable hsts)
+ --enable-http
+ $(use_enable imap)
+ $(use_enable ldap)
+ $(use_enable ldap ldaps)
+ --enable-ntlm
+ $(use_enable pop3)
+ --enable-rt
+ --enable-rtsp
+ $(use_enable samba smb)
+ $(use_with ssh libssh2)
+ $(use_enable smtp)
+ $(use_enable telnet)
+ $(use_enable tftp)
+ --enable-tls-srp
+ $(use_enable adns ares)
+ --enable-cookies
+ --enable-dateparse
+ --enable-dnsshuffle
+ --enable-doh
+ --enable-symbol-hiding
+ --enable-http-auth
+ --enable-ipv6
+ --enable-largefile
+ --enable-manual
+ --enable-mime
+ --enable-netrc
+ $(use_enable progress-meter)
+ --enable-proxy
+ --enable-socketpair
+ --disable-sspi
+ $(use_enable static-libs static)
+ --disable-versioned-symbols
+ --without-amissl
+ --without-bearssl
+ $(use_with brotli)
+ --with-fish-functions-dir="${EPREFIX}"/usr/share/fish/vendor_completions.d
+ $(use_with http2 nghttp2)
+ $(use_with idn libidn2)
+ $(use_with kerberos gssapi "${EPREFIX}"/usr)
+ --without-libgsasl
+ $(use_with psl libpsl)
+ --without-msh3
+ $(use_with http3 nghttp3)
+ $(use_with curl_quic_ngtcp2 ngtcp2)
+ $(use_with curl_quic_openssl openssl-quic)
+ --without-quiche
+ $(use_with rtmp librtmp)
+ --without-schannel
+ --without-secure-transport
+ --without-test-caddy
+ --without-test-httpd
+ --without-test-nghttpx
+ $(use_enable websockets)
+ --without-winidn
+ --without-wolfssl
+ --with-zlib
+ $(use_with zstd)
+ --with-zsh-functions-dir="${EPREFIX}"/usr/share/zsh/site-functions
+ )
+
+ if use debug; then
+ myconf+=(
+ --enable-debug
+ )
+ fi
+
+ if use test && multilib_is_native_abi && ( use http2 || use http3 ); then
+ myconf+=(
+ --with-test-nghttpx="${BROOT}/usr/bin/nghttpx"
+ )
+ fi
+
+ # Since 8.12.0 adns/c-ares and the threaded resolver are mutually exclusive
+ # This is in support of some work to enable `httpsrr` to use adns and the rest
+ # of curl to use the threaded resolver; we'll just make `httpsrr` conditional on adns
+ # when the time comes.
+ if use adns; then
+ myconf+=(
+ --disable-threaded-resolver
+ )
+ else
+ myconf+=(
+ --enable-threaded-resolver
+ )
+ fi
+
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
+
+ if ! multilib_is_native_abi; then
+ # Avoid building the client (we just want libcurl for multilib)
+ sed -i -e '/SUBDIRS/s:src::' Makefile || die
+ sed -i -e '/SUBDIRS/s:scripts::' Makefile || die
+ fi
+
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi; then
+ # Shell completions
+ ! tc-is-cross-compiler && emake -C scripts
+ fi
+}
+
+# There is also a pytest harness that tests for bugs in some very specific
+# situations; we can rely on upstream for this rather than adding additional test deps.
+multilib_src_test() {
+ # See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
+ # -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
+ # -v: verbose
+ # -a: keep going on failure (so we see everything that breaks, not just 1st test)
+ # -k: keep test files after completion
+ # -am: automake style TAP output
+ # -p: print logs if test fails
+ # Note: if needed, we can skip specific tests. See e.g. Fedora's packaging
+ # or just read https://github.com/curl/curl/tree/master/tests#run.
+ # Note: we don't run the testsuite for cross-compilation.
+ # Upstream recommend 7*nproc as a starting point for parallel tests, but
+ # this ends up breaking when nproc is huge (like -j80).
+ # The network sandbox causes tests 241 and 1083 to fail; these are typically skipped
+ # as most gentoo users don't have an 'ip6-localhost'
+ multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p -j$((2*$(makeopts_jobs))) !241 !1083"
+}
+
+multilib_src_install() {
+ emake DESTDIR="${D}" install
+
+ if multilib_is_native_abi; then
+ # Shell completions
+ ! tc-is-cross-compiler && emake -C scripts DESTDIR="${D}" install
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ find "${ED}" -type f -name '*.la' -delete || die
+ rm -rf "${ED}"/etc/ || die
+}
+
+pkg_postinst() {
+ if use debug; then
+ ewarn "USE=debug has been selected, enabling debug codepaths and making cURL extra verbose."
+ ewarn "Use this _only_ for testing. Debug builds should _not_ be used in anger."
+ ewarn "hic sunt dracones; you have been warned."
+ fi
+}
diff --git a/net-misc/curl/files/curl-8.12.0-multi.patch b/net-misc/curl/files/curl-8.12.0-multi.patch
new file mode 100644
index 000000000000..b9405af8da5b
--- /dev/null
+++ b/net-misc/curl/files/curl-8.12.0-multi.patch
@@ -0,0 +1,136 @@
+https://github.com/curl/curl/issues/16236#issuecomment-2645385845
+https://github.com/curl/curl/commit/242a1439e7d8cdb72ae6a2fa2e705e2d9a2b7501
+
+
+--- a/lib/setopt.c
++++ b/lib/setopt.c
+@@ -1584,10 +1584,6 @@ static CURLcode setopt_pointers(struct Curl_easy *data, CURLoption option,
+ if(data->share->hsts == data->hsts)
+ data->hsts = NULL;
+ #endif
+-#ifdef USE_SSL
+- if(data->share->ssl_scache == data->state.ssl_scache)
+- data->state.ssl_scache = data->multi ? data->multi->ssl_scache : NULL;
+-#endif
+ #ifdef USE_LIBPSL
+ if(data->psl == &data->share->psl)
+ data->psl = data->multi ? &data->multi->psl : NULL;
+@@ -1628,10 +1624,6 @@ static CURLcode setopt_pointers(struct Curl_easy *data, CURLoption option,
+ data->hsts = data->share->hsts;
+ }
+ #endif
+-#ifdef USE_SSL
+- if(data->share->ssl_scache)
+- data->state.ssl_scache = data->share->ssl_scache;
+-#endif
+ #ifdef USE_LIBPSL
+ if(data->share->specifier & (1 << CURL_LOCK_DATA_PSL))
+ data->psl = &data->share->psl;
+--- a/lib/transfer.c
++++ b/lib/transfer.c
+@@ -567,12 +567,6 @@ CURLcode Curl_pretransfer(struct Curl_easy *data)
+ #endif
+ data->state.httpreq = data->set.method;
+
+-#ifdef USE_SSL
+- if(!data->state.ssl_scache)
+- /* There was no ssl session cache set via a share, use the multi one */
+- data->state.ssl_scache = data->multi->ssl_scache;
+-#endif
+-
+ data->state.requests = 0;
+ data->state.followlocation = 0; /* reset the location-follow counter */
+ data->state.this_is_a_follow = FALSE; /* reset this */
+--- a/lib/urldata.h
++++ b/lib/urldata.h
+@@ -1199,7 +1199,6 @@ struct UrlState {
+ curl_prot_t first_remote_protocol;
+
+ int retrycount; /* number of retries on a new connection */
+- struct Curl_ssl_scache *ssl_scache; /* TLS session pool */
+ int os_errno; /* filled in with errno whenever an error occurs */
+ long followlocation; /* redirect counter */
+ int requests; /* request counter: redirects + authentication retakes */
+--- a/lib/vtls/vtls_scache.c
++++ b/lib/vtls/vtls_scache.c
+@@ -82,6 +82,17 @@ struct Curl_ssl_scache {
+ long age;
+ };
+
++static struct Curl_ssl_scache *cf_ssl_scache_get(struct Curl_easy *data)
++{
++ struct Curl_ssl_scache *scache = NULL;
++ /* If a share is present, its ssl_scache has preference over the multi */
++ if(data->share && data->share->ssl_scache)
++ scache = data->share->ssl_scache;
++ else if(data->multi && data->multi->ssl_scache)
++ scache = data->multi->ssl_scache;
++ return scache;
++}
++
+ static void cf_ssl_scache_clear_session(struct Curl_ssl_session *s)
+ {
+ if(s->sdata) {
+@@ -792,7 +803,7 @@ CURLcode Curl_ssl_scache_put(struct Curl_cfilter *cf,
+ const char *ssl_peer_key,
+ struct Curl_ssl_session *s)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct ssl_config_data *ssl_config = Curl_ssl_cf_get_config(cf, data);
+ CURLcode result;
+ DEBUGASSERT(ssl_config);
+@@ -826,7 +837,7 @@ CURLcode Curl_ssl_scache_take(struct Curl_cfilter *cf,
+ const char *ssl_peer_key,
+ struct Curl_ssl_session **ps)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct ssl_primary_config *conn_config = Curl_ssl_cf_get_primary_config(cf);
+ struct Curl_ssl_scache_peer *peer = NULL;
+ struct Curl_llist_node *n;
+@@ -870,7 +881,7 @@ CURLcode Curl_ssl_scache_add_obj(struct Curl_cfilter *cf,
+ void *sobj,
+ Curl_ssl_scache_obj_dtor *sobj_free)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct ssl_primary_config *conn_config = Curl_ssl_cf_get_primary_config(cf);
+ struct Curl_ssl_scache_peer *peer = NULL;
+ CURLcode result;
+@@ -898,7 +909,7 @@ bool Curl_ssl_scache_get_obj(struct Curl_cfilter *cf,
+ const char *ssl_peer_key,
+ void **sobj)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct ssl_primary_config *conn_config = Curl_ssl_cf_get_primary_config(cf);
+ struct Curl_ssl_scache_peer *peer = NULL;
+ CURLcode result;
+@@ -924,7 +935,7 @@ void Curl_ssl_scache_remove_all(struct Curl_cfilter *cf,
+ struct Curl_easy *data,
+ const char *ssl_peer_key)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct ssl_primary_config *conn_config = Curl_ssl_cf_get_primary_config(cf);
+ struct Curl_ssl_scache_peer *peer = NULL;
+ CURLcode result;
+@@ -1021,7 +1032,7 @@ CURLcode Curl_ssl_session_import(struct Curl_easy *data,
+ const unsigned char *shmac, size_t shmac_len,
+ const unsigned char *sdata, size_t sdata_len)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct Curl_ssl_scache_peer *peer = NULL;
+ struct Curl_ssl_session *s = NULL;
+ bool locked = FALSE;
+@@ -1092,7 +1103,7 @@ CURLcode Curl_ssl_session_export(struct Curl_easy *data,
+ curl_ssls_export_cb *export_fn,
+ void *userptr)
+ {
+- struct Curl_ssl_scache *scache = data->state.ssl_scache;
++ struct Curl_ssl_scache *scache = cf_ssl_scache_get(data);
+ struct Curl_ssl_scache_peer *peer;
+ struct dynbuf sbuf, hbuf;
+ struct Curl_llist_node *n;
diff --git a/net-misc/dhcpcd/Manifest b/net-misc/dhcpcd/Manifest
index 6e03948d6ca6..e52a026af897 100644
--- a/net-misc/dhcpcd/Manifest
+++ b/net-misc/dhcpcd/Manifest
@@ -1,4 +1,2 @@
-DIST dhcpcd-10.0.10.tar.xz 272732 BLAKE2B 2ecf52009f3fd4442863e1927a8d9e777ee6f34ff4d50a6f1e67821fb23fd12221df1e3a0a04ea0874df8feac15785772b4aa75af407f74448e442db36410e30 SHA512 87c836731637c134a95ea91d9a3d5c682e6e7f3340961f2995fc84931ff9b2a4c0073aca872a98738dc76005eb1159c42f1044fb0998891386784df299786349
-DIST dhcpcd-10.0.6.tar.xz 269392 BLAKE2B 4afd08cf7377b2262d33bf3f7ac503e081572a7c1ffd53b285842a92d99d88fae44e7e6384134bbe1eb839001f822fa7fb43718c42f9e8e6d11a05ec66fa2fc6 SHA512 403d612080c6f1397003dc6a16f59bb5d1d3d3479e3656c598acde4c4aafe1cfa374725c5ae3dddb4972c0f23ffd55d04c3703b97bed5b7060855b61b7738004
-DIST dhcpcd-10.0.8.tar.xz 272116 BLAKE2B 1bf27387c13f192c6216e2f1ecad06bfa82267d5d6e08ddaa123789699fe9154222c33b1aa1f603e65ae8dce510cb24d48e72701494e0793c766e81f024f8bc5 SHA512 8c9bcd49a828dbc1089f49b73decefb6d1c3ef47fecaae242b08e3bdc8c3c49540d1d3551ab879d58df0dca64dcc64d7a29c665d1b1ebbd72d6a52662529eea4
DIST dhcpcd-10.1.0.tar.xz 271660 BLAKE2B 9d47ae8b97ba082f980966a2c3f688c6a8addb10989c166dafebdb6491793815c4caddc3016334f6549923632fd01fc8ce0987eca31af01948b0f4a643f88b38 SHA512 25b3304471c85975e004f101fdd8dc6155065009e9d94719aadc6181717839c501d66740f002aa00acda73cce3c0d924f4241eed177688c4e794be301b059e04
+DIST dhcpcd-10.2.0.tar.xz 274896 BLAKE2B 0b209f253e6462cc176ffef749228fc3b82474ee4baa2c468277b58abea9541282a2a96633e88641c46e3e9a612049f574009dd42f00f86334e655b10c234e81 SHA512 d2414ae8ff292e04a9d7060d523b5975e996fb921c481d198c5b6804fd73c6fc6edd806faf24788eacd8a2125e80528db8844865178b65a3acf29d3d264a3bff
diff --git a/net-misc/dhcpcd/dhcpcd-10.0.6-r2.ebuild b/net-misc/dhcpcd/dhcpcd-10.0.6-r2.ebuild
deleted file mode 100644
index da71fc81b647..000000000000
--- a/net-misc/dhcpcd/dhcpcd-10.0.6-r2.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit systemd toolchain-funcs
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/NetworkConfiguration/dhcpcd.git"
-else
- MY_P="${P/_alpha/-alpha}"
- MY_P="${MY_P/_beta/-beta}"
- MY_P="${MY_P/_rc/-rc}"
- SRC_URI="https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${PV}/${MY_P}.tar.xz"
- S="${WORKDIR}/${MY_P}"
-
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
-HOMEPAGE="https://github.com/NetworkConfiguration/dhcpcd/ https://roy.marples.name/projects/dhcpcd/"
-
-LICENSE="BSD-2 BSD ISC MIT"
-SLOT="0"
-IUSE="debug +embedded ipv6 privsep +udev"
-
-DEPEND="udev? ( virtual/udev )"
-RDEPEND="
- ${DEPEND}
- privsep? (
- acct-group/dhcpcd
- acct-user/dhcpcd
- )
-"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- # These don't exist on Linux/glibc (bug #900264)
- memset_explicit
- memset_s
- setproctitle
- strtoi
- consttime_memequal
- SHA256_Init
- hmac
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-10.0.6-rebinding.patch
- "${FILESDIR}"/${PN}-10.0.6-crash.patch
-)
-
-src_configure() {
- local myeconfargs=(
- --dbdir="${EPREFIX}/var/lib/dhcpcd"
- --libexecdir="${EPREFIX}/lib/dhcpcd"
- --localstatedir="${EPREFIX}/var"
- --prefix="${EPREFIX}"
- --with-hook=ntp.conf
- $(use_enable debug)
- $(use_enable embedded)
- $(use_enable ipv6)
- $(use_enable privsep)
- $(usex elibc_glibc '--with-hook=yp.conf' '')
- --rundir=$(usex kernel_linux "${EPREFIX}/run/dhcpcd" "${EPREFIX}/var/run/dhcpcd")
- $(usex privsep '--privsepuser=dhcpcd' '')
- $(usex udev '' '--without-dev --without-udev')
- CC="$(tc-getCC)"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- keepdir /var/lib/dhcpcd
- newinitd "${FILESDIR}"/dhcpcd.initd-r1 dhcpcd
- systemd_newunit "${FILESDIR}"/dhcpcd.service-r1 dhcpcd.service
-}
-
-pkg_postinst() {
- local dbdir="${EROOT}"/var/lib/dhcpcd old_files=()
-
- local old_old_duid="${EROOT}"/var/lib/dhcpcd/dhcpcd.duid
- local old_duid="${EROOT}"/etc/dhcpcd.duid
- local new_duid="${dbdir}"/duid
- if [[ -e "${old_old_duid}" ]] ; then
- # Upgrade the duid file to the new format if needed
- if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then
- sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}"
- fi
-
- # Move the duid to /etc, a more sensible location
- if [[ ! -e "${old_duid}" ]] ; then
- cp -p "${old_old_duid}" "${new_duid}"
- fi
- old_files+=( "${old_old_duid}" )
- fi
-
- # dhcpcd-7 moves the files out of /etc
- if [[ -e "${old_duid}" ]] ; then
- if [[ ! -e "${new_duid}" ]] ; then
- cp -p "${old_duid}" "${new_duid}"
- fi
- old_files+=( "${old_duid}" )
- fi
- local old_secret="${EROOT}"/etc/dhcpcd.secret
- local new_secret="${dbdir}"/secret
- if [[ -e "${old_secret}" ]] ; then
- if [[ ! -e "${new_secret}" ]] ; then
- cp -p "${old_secret}" "${new_secret}"
- fi
- old_files+=( "${old_secret}" )
- fi
-
- # dhcpcd-7 renames some files in /var/lib/dhcpcd
- local old_rdm="${dbdir}"/dhcpcd-rdm.monotonic
- local new_rdm="${dbdir}"/rdm_monotonic
- if [[ -e "${old_rdm}" ]] ; then
- if [[ ! -e "${new_rdm}" ]] ; then
- cp -p "${old_rdm}" "${new_rdm}"
- fi
- old_files+=( "${old_rdm}" )
- fi
- local lease=
- for lease in "${dbdir}"/dhcpcd-*.lease*; do
- [[ -f "${lease}" ]] || continue
- old_files+=( "${lease}" )
- local new_lease=$(basename "${lease}" | sed -e "s/dhcpcd-//")
- [[ -e "${dbdir}/${new_lease}" ]] && continue
- cp "${lease}" "${dbdir}/${new_lease}"
- done
-
- # Warn about removing stale files
- if [[ -n "${old_files[@]}" ]] ; then
- elog
- elog "dhcpcd-7 has copied dhcpcd.duid and dhcpcd.secret from"
- elog "${EROOT}/etc to ${dbdir}"
- elog "and copied leases in ${dbdir} to new files with the dhcpcd-"
- elog "prefix dropped."
- elog
- elog "You should remove these files if you don't plan on reverting"
- elog "to an older version:"
- local old_file=
- for old_file in ${old_files[@]}; do
- elog " ${old_file}"
- done
- fi
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog
- elog "dhcpcd has zeroconf support active by default."
- elog "This means it will always obtain an IP address even if no"
- elog "DHCP server can be contacted, which will break any existing"
- elog "failover support you may have configured in your net configuration."
- elog "This behaviour can be controlled with the noipv4ll configuration"
- elog "file option or the -L command line switch."
- elog "See the dhcpcd and dhcpcd.conf man pages for more details."
-
- elog
- elog "Dhcpcd has duid enabled by default, and this may cause issues"
- elog "with some dhcp servers. For more information, see"
- elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
- fi
-
- if ! has_version net-dns/bind-tools; then
- elog
- elog "If you activate the lookup-hostname hook to look up your hostname"
- elog "using the dns, you need to install net-dns/bind-tools."
- fi
-}
diff --git a/net-misc/dhcpcd/dhcpcd-10.0.6-r3.ebuild b/net-misc/dhcpcd/dhcpcd-10.0.6-r3.ebuild
deleted file mode 100644
index 06b17e02b53a..000000000000
--- a/net-misc/dhcpcd/dhcpcd-10.0.6-r3.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit systemd toolchain-funcs
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/NetworkConfiguration/dhcpcd.git"
-else
- MY_P="${P/_alpha/-alpha}"
- MY_P="${MY_P/_beta/-beta}"
- MY_P="${MY_P/_rc/-rc}"
- SRC_URI="https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${PV}/${MY_P}.tar.xz"
- S="${WORKDIR}/${MY_P}"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
-HOMEPAGE="https://github.com/NetworkConfiguration/dhcpcd/ https://roy.marples.name/projects/dhcpcd/"
-
-LICENSE="BSD-2 BSD ISC MIT"
-SLOT="0"
-IUSE="debug +embedded ipv6 privsep +udev"
-
-DEPEND="
- app-crypt/libmd
- udev? ( virtual/udev )
-"
-RDEPEND="
- ${DEPEND}
- privsep? (
- acct-group/dhcpcd
- acct-user/dhcpcd
- )
-"
-
-QA_CONFIG_IMPL_DECL_SKIP=(
- # These don't exist on Linux/glibc (bug #900264)
- memset_explicit
- memset_s
- setproctitle
- strtoi
- consttime_memequal
- SHA256_Init
- hmac
- # These may exist on some glibc versions, but the checks fail due to
- # -Werror / undefined reference no matter what. bug #924825
- arc4random
- arc4random_uniform
-)
-
-PATCHES=(
- "${FILESDIR}"/${PN}-10.0.6-rebinding.patch
- "${FILESDIR}"/${PN}-10.0.6-crash.patch
- "${FILESDIR}"/${PN}-10.0.6-fix-lib-check.patch
-)
-
-src_configure() {
- local myeconfargs=(
- --dbdir="${EPREFIX}/var/lib/dhcpcd"
- --libexecdir="${EPREFIX}/lib/dhcpcd"
- --localstatedir="${EPREFIX}/var"
- --prefix="${EPREFIX}"
- --with-hook=ntp.conf
- $(use_enable debug)
- $(use_enable embedded)
- $(use_enable ipv6)
- $(use_enable privsep)
- $(usex elibc_glibc '--with-hook=yp.conf' '')
- --rundir=$(usex kernel_linux "${EPREFIX}/run/dhcpcd" "${EPREFIX}/var/run/dhcpcd")
- $(usex privsep '--privsepuser=dhcpcd' '')
- $(usex udev '' '--without-dev --without-udev')
- CC="$(tc-getCC)"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- keepdir /var/lib/dhcpcd
- newinitd "${FILESDIR}"/dhcpcd.initd-r1 dhcpcd
- systemd_newunit "${FILESDIR}"/dhcpcd.service-r1 dhcpcd.service
-}
-
-pkg_postinst() {
- local dbdir="${EROOT}"/var/lib/dhcpcd old_files=()
-
- local old_old_duid="${EROOT}"/var/lib/dhcpcd/dhcpcd.duid
- local old_duid="${EROOT}"/etc/dhcpcd.duid
- local new_duid="${dbdir}"/duid
- if [[ -e "${old_old_duid}" ]] ; then
- # Upgrade the duid file to the new format if needed
- if ! grep -q '..:..:..:..:..:..' "${old_old_duid}"; then
- sed -i -e 's/\(..\)/\1:/g; s/:$//g' "${old_old_duid}"
- fi
-
- # Move the duid to /etc, a more sensible location
- if [[ ! -e "${old_duid}" ]] ; then
- cp -p "${old_old_duid}" "${new_duid}"
- fi
- old_files+=( "${old_old_duid}" )
- fi
-
- # dhcpcd-7 moves the files out of /etc
- if [[ -e "${old_duid}" ]] ; then
- if [[ ! -e "${new_duid}" ]] ; then
- cp -p "${old_duid}" "${new_duid}"
- fi
- old_files+=( "${old_duid}" )
- fi
- local old_secret="${EROOT}"/etc/dhcpcd.secret
- local new_secret="${dbdir}"/secret
- if [[ -e "${old_secret}" ]] ; then
- if [[ ! -e "${new_secret}" ]] ; then
- cp -p "${old_secret}" "${new_secret}"
- fi
- old_files+=( "${old_secret}" )
- fi
-
- # dhcpcd-7 renames some files in /var/lib/dhcpcd
- local old_rdm="${dbdir}"/dhcpcd-rdm.monotonic
- local new_rdm="${dbdir}"/rdm_monotonic
- if [[ -e "${old_rdm}" ]] ; then
- if [[ ! -e "${new_rdm}" ]] ; then
- cp -p "${old_rdm}" "${new_rdm}"
- fi
- old_files+=( "${old_rdm}" )
- fi
- local lease=
- for lease in "${dbdir}"/dhcpcd-*.lease*; do
- [[ -f "${lease}" ]] || continue
- old_files+=( "${lease}" )
- local new_lease=$(basename "${lease}" | sed -e "s/dhcpcd-//")
- [[ -e "${dbdir}/${new_lease}" ]] && continue
- cp "${lease}" "${dbdir}/${new_lease}"
- done
-
- # Warn about removing stale files
- if [[ -n "${old_files[@]}" ]] ; then
- elog
- elog "dhcpcd-7 has copied dhcpcd.duid and dhcpcd.secret from"
- elog "${EROOT}/etc to ${dbdir}"
- elog "and copied leases in ${dbdir} to new files with the dhcpcd-"
- elog "prefix dropped."
- elog
- elog "You should remove these files if you don't plan on reverting"
- elog "to an older version:"
- local old_file=
- for old_file in ${old_files[@]}; do
- elog " ${old_file}"
- done
- fi
-
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog
- elog "dhcpcd has zeroconf support active by default."
- elog "This means it will always obtain an IP address even if no"
- elog "DHCP server can be contacted, which will break any existing"
- elog "failover support you may have configured in your net configuration."
- elog "This behaviour can be controlled with the noipv4ll configuration"
- elog "file option or the -L command line switch."
- elog "See the dhcpcd and dhcpcd.conf man pages for more details."
-
- elog
- elog "Dhcpcd has duid enabled by default, and this may cause issues"
- elog "with some dhcp servers. For more information, see"
- elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
- fi
-
- if ! has_version net-dns/bind-tools; then
- elog
- elog "If you activate the lookup-hostname hook to look up your hostname"
- elog "using the dns, you need to install net-dns/bind-tools."
- fi
-}
diff --git a/net-misc/dhcpcd/dhcpcd-10.0.8.ebuild b/net-misc/dhcpcd/dhcpcd-10.1.0-r1.ebuild
index ba52c3873ac8..008dcac7a8fa 100644
--- a/net-misc/dhcpcd/dhcpcd-10.0.8.ebuild
+++ b/net-misc/dhcpcd/dhcpcd-10.1.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit systemd toolchain-funcs
+inherit systemd optfeature toolchain-funcs
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -15,7 +15,7 @@ else
SRC_URI="https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${PV}/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
@@ -54,6 +54,7 @@ QA_CONFIG_IMPL_DECL_SKIP=(
PATCHES=(
"${FILESDIR}"/${PN}-10.0.6-fix-lib-check.patch
+ "${FILESDIR}"/${P}-seccomp-glibc-2.41.patch
)
src_configure() {
@@ -168,9 +169,5 @@ pkg_postinst() {
elog "https://bugs.gentoo.org/show_bug.cgi?id=477356"
fi
- if ! has_version net-dns/bind-tools; then
- elog
- elog "If you activate the lookup-hostname hook to look up your hostname"
- elog "using the dns, you need to install net-dns/bind-tools."
- fi
+ optfeature "lookup-hostname hook" net-dns/bind-tools
}
diff --git a/net-misc/dhcpcd/dhcpcd-10.0.10.ebuild b/net-misc/dhcpcd/dhcpcd-10.2.0.ebuild
index 4a63060cb6be..fcfca62700dc 100644
--- a/net-misc/dhcpcd/dhcpcd-10.0.10.ebuild
+++ b/net-misc/dhcpcd/dhcpcd-10.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ else
SRC_URI="https://github.com/NetworkConfiguration/dhcpcd/releases/download/v${PV}/${MY_P}.tar.xz"
S="${WORKDIR}/${MY_P}"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="A fully featured, yet light weight RFC2131 compliant DHCP client"
diff --git a/net-misc/dhcpcd/files/dhcpcd-10.0.6-crash.patch b/net-misc/dhcpcd/files/dhcpcd-10.0.6-crash.patch
deleted file mode 100644
index 5b61e3ca37ef..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-10.0.6-crash.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://github.com/NetworkConfiguration/dhcpcd/issues/179
-https://github.com/NetworkConfiguration/dhcpcd/issues/283
-https://bugzilla.redhat.com/2262996
-https://github.com/NetworkConfiguration/dhcpcd/commit/727c78f503d456875e2a3cee7609288b537d9d25
-
-From 727c78f503d456875e2a3cee7609288b537d9d25 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
-Date: Fri, 16 Feb 2024 17:15:35 +0100
-Subject: [PATCH] Move dhcp(v4) packet size check earlier (#295)
-
-dhcp_handlebootp handled zero sized packets correctly, but
-dhcp_redirect_dhcp did not have such protection. Move size check before
-both of them. Size when called from dhcp_packet is checked by
-is_packet_udp_bootp call. Only dhcp_recvmsg needs earlier checking to be
-added.
-
-Fixes #283
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -3532,12 +3532,6 @@ dhcp_handlebootp(struct interface *ifp, struct bootp *bootp, size_t len,
- {
- size_t v;
-
-- if (len < offsetof(struct bootp, vend)) {
-- logerrx("%s: truncated packet (%zu) from %s",
-- ifp->name, len, inet_ntoa(*from));
-- return;
-- }
--
- /* Unlikely, but appeases sanitizers. */
- if (len > FRAMELEN_MAX) {
- logerrx("%s: packet exceeded frame length (%zu) from %s",
-@@ -3670,6 +3664,13 @@ dhcp_recvmsg(struct dhcpcd_ctx *ctx, struct msghdr *msg)
- logerr(__func__);
- return;
- }
-+
-+ if (iov->iov_len < offsetof(struct bootp, vend)) {
-+ logerrx("%s: truncated packet (%zu) from %s",
-+ ifp->name, iov->iov_len, inet_ntoa(from->sin_addr));
-+ return;
-+ }
-+
- state = D_CSTATE(ifp);
- if (state == NULL) {
- /* Try re-directing it to another interface. */
diff --git a/net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch b/net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch
deleted file mode 100644
index 6457368f1150..000000000000
--- a/net-misc/dhcpcd/files/dhcpcd-10.0.6-rebinding.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/920652#c2
-https://github.com/NetworkConfiguration/dhcpcd/commit/8ab7ca1eb4e9bb797d6e6d955c83d8a82f69a663
-
-From 8ab7ca1eb4e9bb797d6e6d955c83d8a82f69a663 Mon Sep 17 00:00:00 2001
-From: Roy Marples <roy@marples.name>
-Date: Sun, 24 Dec 2023 12:07:25 +0000
-Subject: [PATCH] DHCP: DECLINE address on ARP defend failure
-
-Also, drop the lease.
-This should get us a new address from the DHCP server when we
-re-enter DISCOVER to avoid looping on the same address and fail
-again.
----
- src/dhcp.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/src/dhcp.c b/src/dhcp.c
-index 014ce6cf..a58e1db2 100644
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -1944,7 +1944,11 @@ dhcp_expire(void *arg)
- static void
- dhcp_decline(struct interface *ifp)
- {
-+ struct dhcp_state *state = D_STATE(ifp);
-
-+ // Set the expired state so we send over BPF as this could be
-+ // an address defence failure.
-+ state->added |= STATE_EXPIRED;
- send_message(ifp, DHCP_DECLINE, NULL);
- }
- #endif
-@@ -2098,8 +2102,12 @@ static void
- dhcp_arp_defend_failed(struct arp_state *astate)
- {
- struct interface *ifp = astate->iface;
-+ struct dhcp_state *state = D_STATE(ifp);
-
-+ if (!(ifp->options->options & (DHCPCD_INFORM | DHCPCD_STATIC)))
-+ dhcp_decline(ifp);
- dhcp_drop(ifp, "EXPIRED");
-+ dhcp_unlink(ifp->ctx, state->leasefile);
- dhcp_start1(ifp);
- }
- #endif
-
diff --git a/net-misc/dhcpcd/files/dhcpcd-10.1.0-seccomp-glibc-2.41.patch b/net-misc/dhcpcd/files/dhcpcd-10.1.0-seccomp-glibc-2.41.patch
new file mode 100644
index 000000000000..6b69b47176d2
--- /dev/null
+++ b/net-misc/dhcpcd/files/dhcpcd-10.1.0-seccomp-glibc-2.41.patch
@@ -0,0 +1,28 @@
+https://github.com/NetworkConfiguration/dhcpcd/commit/e9e40400003db2e4f12dba85acabbaf2212a520f
+
+From e9e40400003db2e4f12dba85acabbaf2212a520f Mon Sep 17 00:00:00 2001
+From: Scott Shambarger <devel@shambarger.net>
+Date: Sat, 7 Dec 2024 16:37:28 +0000
+Subject: [PATCH] linux: Allow the __NR_rt_sigprocmask syscall
+
+Fixes recent glibc changes to getrandom() used by arc4random().
+Fixes #421.
+---
+ src/privsep-linux.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/privsep-linux.c b/src/privsep-linux.c
+index 8357904c..e3485a2e 100644
+--- a/src/privsep-linux.c
++++ b/src/privsep-linux.c
+@@ -409,6 +409,9 @@ static struct sock_filter ps_seccomp_filter[] = {
+ #ifdef __NR_recvmsg
+ SECCOMP_ALLOW(__NR_recvmsg),
+ #endif
++#ifdef __NR_rt_sigprocmask
++ SECCOMP_ALLOW(__NR_rt_sigprocmask),
++#endif
+ #ifdef __NR_rt_sigreturn
+ SECCOMP_ALLOW(__NR_rt_sigreturn),
+ #endif
+
diff --git a/net-misc/ethflop/Manifest b/net-misc/ethflop/Manifest
deleted file mode 100644
index bcca07b75bf9..000000000000
--- a/net-misc/ethflop/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST ethflop-20191003.zip 29858 BLAKE2B e5a4068d45c398d6c7bfd08299b57566c3d30bea4ef79692cae065adb61f3c41fd3ed568260e82e19d90e17c7b6d92c0698bb7f7c40edea9d44804a7a61e18ae SHA512 808e65d45e2ff74380bc2f1a31b7bb59fdca4acdf44eb7f60deef9aa0976462ddc64982e8a7b7c225d7f88e11a33dfcdf73fd7169f942018976d4d086e7ec477
-DIST ethflop-20240920-src.zip 22250 BLAKE2B d644c2e2cec9a6d0d303c38412833ff46c26a572138e7bbfbac55437895deb36e843685ee25e5797b7dacb2842b6c7896e6f9e4d819154f1cd2f1a95ca10b721 SHA512 6dc84b1db4fd6a83037c1f1395da5cc4bf5f43b9650f64d20c05fef4ceccdca1661e890a96f85e7a96ee94ee89b1d96994bfbe8d048a8f7d690e53f21ebde518
-DIST ethflopd-20240916-src.tar.gz 55737 BLAKE2B 8b6a886829f1f7c19c95965b48182c66da04d6f5364ff0cc1b820db62794f33e64900c9df6e7584a0ee3190d70121c7d52853f1d54bf9977e9f0fa7af6e2dfbd SHA512 b442dc4f0be8357cc406c0f67aa4234bebfb648c42342b0858ee06d162386323e2fa89d1d7d54d327b07c10f50bc5452958fdd8b41066a8bece08e4a65aa59c3
diff --git a/net-misc/ethflop/files/ethflop-20240916-makefile.patch b/net-misc/ethflop/files/ethflop-20240916-makefile.patch
deleted file mode 100644
index ffa255868da7..000000000000
--- a/net-misc/ethflop/files/ethflop-20240916-makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.linux
-+++ b/Makefile.linux
-@@ -16,7 +16,7 @@
- all: ethflopd
-
- ethflopd: ui_posix.c core.c
-- $(CC) $(CFLAGS) -o ethflopd ui_posix.c core.c
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o ethflopd ui_posix.c core.c
-
- clean:
- rm -f ethflopd *.o
diff --git a/net-misc/ethflop/files/ethflopd.confd b/net-misc/ethflop/files/ethflopd.confd
deleted file mode 100644
index a727dae4c726..000000000000
--- a/net-misc/ethflop/files/ethflopd.confd
+++ /dev/null
@@ -1,8 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# Network interface, which should be used for serving floppy images
-INTERFACE="lo"
-
-# Storage directory, from where floppy images are being served
-STORAGEDIR="/tmp"
diff --git a/net-misc/ethflop/files/ethflopd.initd b/net-misc/ethflop/files/ethflopd.initd
deleted file mode 100644
index d00c63f980ae..000000000000
--- a/net-misc/ethflop/files/ethflopd.initd
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-name="ethflopd daemon"
-command="/usr/bin/ethflopd"
-command_args="${INTERFACE} ${STORAGEDIR}"
-
-depend() {
- need net
-}
diff --git a/net-misc/ethflop/files/ethflopd.service-r1 b/net-misc/ethflop/files/ethflopd.service-r1
deleted file mode 100644
index 39fa29a52171..000000000000
--- a/net-misc/ethflop/files/ethflopd.service-r1
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=ethflopd daemon
-After=network-online.target
-
-[Service]
-EnvironmentFile=/etc/conf.d/ethflopd
-ExecStart=/usr/bin/ethflopd lo /tmp
-
-[Install]
-WantedBy=multi-user.target
diff --git a/net-misc/ethflop/metadata.xml b/net-misc/ethflop/metadata.xml
deleted file mode 100644
index e4b008939e75..000000000000
--- a/net-misc/ethflop/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>conikost@gentoo.org</email>
- <name>Conrad Kostecki</name>
- </maintainer>
- <longdescription>
- ethflop is a DOS TSR that emulates a floppy disk drive.
- The emulated (virtual) floppy disk is, in fact, stored on a Linux server as a floppy image.
- All the communication between ethflop (the TSR) and ethflopd (the Linux daemon) is exchanged over raw Ethernet.
- No need for any network configuration - the DOS PC only needs to have some kind of Ethernet adapter
- (physical or emulated, for example through PLIP) and a suitable packet driver.
- The Linux server and the DOS PC must be connected to a common Ethernet segment (same LAN).
- </longdescription>
- <use>
- <flag name="tsr">Build the TSR program for DOS, which acts as a client.</flag>
- </use>
- <upstream>
- <remote-id type="sourceforge">ethflop</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-misc/fatrat/Manifest b/net-misc/fatrat/Manifest
deleted file mode 100644
index c3370706abde..000000000000
--- a/net-misc/fatrat/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST fatrat-1.2.0_beta2_p20161204.tar.gz 4988560 BLAKE2B e55b841bd5741fe81eab79847dddf084a0b193215b791c341d705d840d1658bb7978e53c3de65c23c7c1ac839b29abfceb3b71bcbb124746e841c5fb31ecba14 SHA512 d3a9816cc53fd93ef2ccd3fb5896dde5846382d40e30dc687a14379e6048f8ffc27b40c2b5c3977c6bccc912dcb054426c84c016c319174e2c2a440f9a588063
diff --git a/net-misc/fatrat/fatrat-1.2.0_beta2_p20161204.ebuild b/net-misc/fatrat/fatrat-1.2.0_beta2_p20161204.ebuild
deleted file mode 100644
index c82928e3267c..000000000000
--- a/net-misc/fatrat/fatrat-1.2.0_beta2_p20161204.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-SNAPSHOT="14a1a146df76d70c44dcc38363848a5b41a364d5"
-inherit cmake xdg-utils
-
-DESCRIPTION="Qt5-based download/upload manager"
-HOMEPAGE="http://fatrat.dolezel.info/"
-SRC_URI="https://github.com/LubosD/fatrat/tarball/${SNAPSHOT} -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="bittorrent +curl doc nls xmpp"
-
-BDEPEND="
- dev-qt/linguist-tools:5
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- bittorrent? (
- dev-qt/qtwebengine:5[widgets]
- >=net-libs/libtorrent-rasterbar-1.1.1
- )
- curl? ( >=net-misc/curl-7.18.2 )
- doc? ( dev-qt/qthelp:5 )
- xmpp? ( net-libs/gloox )
-"
-DEPEND="${RDEPEND}
- dev-libs/boost
-"
-
-S="${WORKDIR}/LubosD-${PN}-14a1a14"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.2.0_beta2_p20150803-build.patch"
- "${FILESDIR}/${P}-qt-5.15.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DWITH_BITTORRENT="$(usex bittorrent ON OFF)"
- -DWITH_CURL="$(usex curl ON OFF)"
- -DWITH_DOCUMENTATION="$(usex doc ON OFF)"
- -DWITH_NLS="$(usex nls ON OFF)"
- -DWITH_JABBER="$(usex xmpp ON OFF)"
- -DWITH_WEBINTERFACE=OFF
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- # optional runtime dep
- if ! has_version dev-libs/geoip; then
- elog "If you want GeoIP support, emerge dev-libs/geoip."
- fi
-
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/net-misc/fatrat/files/fatrat-1.2.0_beta2_p20150803-build.patch b/net-misc/fatrat/files/fatrat-1.2.0_beta2_p20150803-build.patch
deleted file mode 100644
index f38604e8588d..000000000000
--- a/net-misc/fatrat/files/fatrat-1.2.0_beta2_p20150803-build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -127,10 +127,6 @@
- ADD_DEFINITIONS(-DDEBUG_BUILD)
- ADD_DEFINITIONS(-DNDEBUG)
- ADD_DEFINITIONS(-Wall)
--else(CMAKE_BUILD_TYPE MATCHES Debug)
-- ADD_DEFINITIONS(-ggdb)
-- ADD_DEFINITIONS(-DNDEBUG)
-- ADD_DEFINITIONS(-Wall)
- endif(CMAKE_BUILD_TYPE MATCHES Debug)
-
- CHECK_INCLUDE_FILES(sys/epoll.h HAVE_SYS_EPOLL_H)
diff --git a/net-misc/fatrat/files/fatrat-1.2.0_beta2_p20161204-qt-5.15.patch b/net-misc/fatrat/files/fatrat-1.2.0_beta2_p20161204-qt-5.15.patch
deleted file mode 100644
index def09bbd7673..000000000000
--- a/net-misc/fatrat/files/fatrat-1.2.0_beta2_p20161204-qt-5.15.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/util/BalloonTip.cpp b/src/util/BalloonTip.cpp
-index c20c0ee..67b5284 100644
---- a/src/util/BalloonTip.cpp
-+++ b/src/util/BalloonTip.cpp
-@@ -2,6 +2,7 @@
- * Based on Qt source code
- */
-
-+#include <QPainterPath>
- #include "BalloonTip.h"
- #include <QLabel>
- #include <QPushButton>
diff --git a/net-misc/fatrat/metadata.xml b/net-misc/fatrat/metadata.xml
deleted file mode 100644
index 30e017e14716..000000000000
--- a/net-misc/fatrat/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <use>
- <flag name="bittorrent">Use the bittorrent protocol via <pkg>net-libs/libtorrent-rasterbar</pkg>.</flag>
- </use>
- <upstream>
- <remote-id type="github">LubosD/fatrat</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-misc/kio-zeroconf-common/Manifest b/net-misc/kio-zeroconf-common/Manifest
index a20663f7a7e6..7159fe6477b0 100644
--- a/net-misc/kio-zeroconf-common/Manifest
+++ b/net-misc/kio-zeroconf-common/Manifest
@@ -1,2 +1 @@
DIST kio-zeroconf-24.08.3.tar.xz 44896 BLAKE2B 28e0acfbc943c4942e65e87a6d5f10dccbd17d61372b592d7167a1de0103fa54007b399036531897a942ced0e6dcd9cd26a757dda9244d6dc643cf9c57d1d2e8 SHA512 5b88d06d998702556bb0f2c533b12c289f039ed7803e9785f224b21509bf5dd4de2e17c3c6cddfa70bd374aab6b9c63a8d2b24e8019e2a4d33b8a8b0412007c5
-DIST kio-zeroconf-24.12.1.tar.xz 44872 BLAKE2B 930e5af21fa4afe9a7b965e5b2f7dd90a3eb88767534e3098d88715c5d51a5339673ef057f40f1f40bd1235b1843b67571bc10a2e2431895b2368273006c35ce SHA512 51bae186c3720a69850890774f87c787368c9dcc7325e2edbc37ccc8606acd0ef5f9d6d686d4740091e72d05b7fafe54243e93e763b59d6902f836a55bb7e091
diff --git a/net-misc/kio-zeroconf-common/kio-zeroconf-common-24.12.1.ebuild b/net-misc/kio-zeroconf-common/kio-zeroconf-common-24.12.1.ebuild
deleted file mode 100644
index 92a86b37d0f6..000000000000
--- a/net-misc/kio-zeroconf-common/kio-zeroconf-common-24.12.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="false"
-KDE_ORG_NAME="${PN/-common/}"
-KFMIN=5.115.0
-inherit ecm-common gear.kde.org
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- !<net-misc/kio-zeroconf-23.08.5-r2:5
- !<net-misc/kio-zeroconf-24.08.0-r1:6
-"
-
-ECM_INSTALL_FILES=(
- kdedmodule/org.kde.kdnssd.xml:\${KDE_INSTALL_DBUSINTERFACEDIR}
- kioworker/zeroconf.desktop:\${KDE_INSTALL_DATADIR}/remoteview
- org.kde.kio_zeroconf.metainfo.xml:\${KDE_INSTALL_METAINFODIR}
-)
diff --git a/net-misc/kio-zeroconf/Manifest b/net-misc/kio-zeroconf/Manifest
index 0e1203f44f2a..5348a918a026 100644
--- a/net-misc/kio-zeroconf/Manifest
+++ b/net-misc/kio-zeroconf/Manifest
@@ -1,3 +1,2 @@
DIST kio-zeroconf-24.08.3.tar.xz 44896 BLAKE2B 28e0acfbc943c4942e65e87a6d5f10dccbd17d61372b592d7167a1de0103fa54007b399036531897a942ced0e6dcd9cd26a757dda9244d6dc643cf9c57d1d2e8 SHA512 5b88d06d998702556bb0f2c533b12c289f039ed7803e9785f224b21509bf5dd4de2e17c3c6cddfa70bd374aab6b9c63a8d2b24e8019e2a4d33b8a8b0412007c5
-DIST kio-zeroconf-24.12.1.tar.xz 44872 BLAKE2B 930e5af21fa4afe9a7b965e5b2f7dd90a3eb88767534e3098d88715c5d51a5339673ef057f40f1f40bd1235b1843b67571bc10a2e2431895b2368273006c35ce SHA512 51bae186c3720a69850890774f87c787368c9dcc7325e2edbc37ccc8606acd0ef5f9d6d686d4740091e72d05b7fafe54243e93e763b59d6902f836a55bb7e091
DIST kio-zeroconf-24.12.2.tar.xz 44892 BLAKE2B 6d5ef0c4fa562f6b8b3369559e82c39586b994c10ea789fb08e3a279799a27a3439967c1a00e364f93a8ad1650b237905eea1a2edfcf2a2f548fa4a8e90e5737 SHA512 2ef720546ede42281b02451d3e3215b097a99dc9f7eead612fa2dcb1bc5678d7d5da393e398be8d667aabd7f71b2adccdc0288479fccf719d432034945453953
diff --git a/net-misc/kio-zeroconf/kio-zeroconf-24.12.1.ebuild b/net-misc/kio-zeroconf/kio-zeroconf-24.12.1.ebuild
deleted file mode 100644
index 0513a063cc46..000000000000
--- a/net-misc/kio-zeroconf/kio-zeroconf-24.12.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=6.7.0
-QTMIN=6.7.2
-inherit ecm gear.kde.org
-
-DESCRIPTION="KIO worker to discover file systems by DNS-SD (DNS Service Discovery)"
-
-LICENSE="GPL-2+"
-SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-IUSE=""
-
-DEPEND="
- >=dev-qt/qtbase-${QTMIN}:6[dbus]
- >=kde-frameworks/kcoreaddons-${KFMIN}:6
- >=kde-frameworks/kdbusaddons-${KFMIN}:6
- >=kde-frameworks/kdnssd-${KFMIN}:6
- >=kde-frameworks/ki18n-${KFMIN}:6
- >=kde-frameworks/kio-${KFMIN}:6
-"
-RDEPEND="${DEPEND}
- >=net-misc/${PN}-common-${PV}
-"
-
-# Shipped by net-misc/kio-zeroconf-common package for shared use w/ SLOT 5
-ECM_REMOVE_FROM_INSTALL=(
- /usr/share/dbus-1/interfaces/org.kde.kdnssd.xml
- /usr/share/remoteview/zeroconf.desktop
- /usr/share/metainfo/org.kde.kio_zeroconf.metainfo.xml
-)
-
-src_prepare() {
- ecm_src_prepare
- ecm_punt_po_install
-}
diff --git a/net-misc/lyricwikia/Manifest b/net-misc/lyricwikia/Manifest
deleted file mode 100644
index b152649fc851..000000000000
--- a/net-misc/lyricwikia/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST lyricwikia-0.1.11.tar.gz 5571 BLAKE2B 1e2fb5400b4c0ed07d419e577e3c12c6b8eca749ce1a5b7dea51d6d055979722b82d003eac20402da873d3011d1b444c0783935adbc01ec99dd6079b234e6bc7 SHA512 53ff9a2837ccc10be62c2a92240e9849a9c88b7979f8058deff87ce6eda6e98e39fb86c78052de9a885db679cd87a6c5749af2f9502d3316fbbf2c0796718805
diff --git a/net-misc/lyricwikia/files/lyricwikia-0.1.11-skip-online-test.patch b/net-misc/lyricwikia/files/lyricwikia-0.1.11-skip-online-test.patch
deleted file mode 100644
index 5ca24dd4d4bc..000000000000
--- a/net-misc/lyricwikia/files/lyricwikia-0.1.11-skip-online-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/tests/test_get_lyrics.py b/tests/test_get_lyrics.py
-index 5b1bb74..634ca55 100644
---- a/tests/test_get_lyrics.py
-+++ b/tests/test_get_lyrics.py
-@@ -26,6 +26,6 @@ def test_returnLyricsNotFound():
- assert len(responses.calls) == 1
-
-
--def test_integration():
-- lyrics = get_lyrics('Led Zeppelin', 'Stairway to Heaven')
-- assert 'lady' in lyrics.lower()
-+# def test_integration():
-+# lyrics = get_lyrics('Led Zeppelin', 'Stairway to Heaven')
-+# assert 'lady' in lyrics.lower()
diff --git a/net-misc/lyricwikia/lyricwikia-0.1.11-r1.ebuild b/net-misc/lyricwikia/lyricwikia-0.1.11-r1.ebuild
deleted file mode 100644
index e75202fdafa6..000000000000
--- a/net-misc/lyricwikia/lyricwikia-0.1.11-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python API to get song lyrics from LyricWikia"
-HOMEPAGE="https://github.com/enricobacis/lyricwikia"
-SRC_URI="https://github.com/enricobacis/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="test? ( dev-python/responses[${PYTHON_USEDEP}] )"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-PATCHES="${FILESDIR}/${P}-skip-online-test.patch"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # do not depend on deprecated dep
- sed -i -e '/pytest-runner/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- # rename the executable to avoid file conflict with net-im/lyrics-in-terminal
- find "${D}" -name 'lyrics' -execdir mv {} lyricwikia \; || die
-}
-
-pkg_postinst() {
- elog "Note that access to LyricWikia through this API (and products that use this API) should comply to the LyricWikia terms of use"
- elog ""
- elog "LyricWikia is now offline, this package is provided solely for the purpose of satisfying media-video/vidify's dependencies"
-}
diff --git a/net-misc/lyricwikia/lyricwikia-0.1.11-r2.ebuild b/net-misc/lyricwikia/lyricwikia-0.1.11-r2.ebuild
deleted file mode 100644
index e5c93282a1f9..000000000000
--- a/net-misc/lyricwikia/lyricwikia-0.1.11-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Python API to get song lyrics from LyricWikia"
-HOMEPAGE="https://github.com/enricobacis/lyricwikia"
-SRC_URI="https://github.com/enricobacis/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="test? ( dev-python/responses[${PYTHON_USEDEP}] )"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-PATCHES="${FILESDIR}/${P}-skip-online-test.patch"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # do not depend on deprecated dep
- sed -i -e '/pytest-runner/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- # rename the executable to avoid file conflict with net-im/lyrics-in-terminal
- find "${D}" -name 'lyrics' -execdir mv {} lyricwikia \; || die
-}
-
-pkg_postinst() {
- elog "Note that access to LyricWikia through this API (and products that use this API) should comply to the LyricWikia terms of use"
- elog ""
- elog "LyricWikia is now offline, this package is provided solely for the purpose of satisfying media-video/vidify's dependencies"
-}
diff --git a/net-misc/lyricwikia/metadata.xml b/net-misc/lyricwikia/metadata.xml
deleted file mode 100644
index 4c3bd46031cc..000000000000
--- a/net-misc/lyricwikia/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-
-<pkgmetadata>
- <maintainer type="person">
- <email>nowa@gentoo.org</email>
- <name>Nowa Ammerlaan</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">enricobacis/lyricwikia</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/net-misc/memcached/memcached-1.6.27.ebuild b/net-misc/memcached/memcached-1.6.27.ebuild
index f9c94759a23f..6dd8292b6ec1 100644
--- a/net-misc/memcached/memcached-1.6.27.ebuild
+++ b/net-misc/memcached/memcached-1.6.27.ebuild
@@ -37,6 +37,10 @@ PATCHES=(
"${FILESDIR}/${PN}-1.4.17-EWOULDBLOCK.patch"
)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ htonll
+)
+
src_prepare() {
default
diff --git a/net-misc/memcached/memcached-1.6.31.ebuild b/net-misc/memcached/memcached-1.6.31.ebuild
index 79b68d40687f..967fec8252b5 100644
--- a/net-misc/memcached/memcached-1.6.31.ebuild
+++ b/net-misc/memcached/memcached-1.6.31.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -44,6 +44,10 @@ PATCHES=(
"${FILESDIR}/${PN}-1.4.0-fix-as-needed-linking.patch"
)
+QA_CONFIG_IMPL_DECL_SKIP=(
+ htonll
+)
+
src_prepare() {
default
diff --git a/net-misc/nx/files/nx-3.5.99.26-gcc14-access.patch b/net-misc/nx/files/nx-3.5.99.26-gcc14-access.patch
new file mode 100644
index 000000000000..44afd9232434
--- /dev/null
+++ b/net-misc/nx/files/nx-3.5.99.26-gcc14-access.patch
@@ -0,0 +1,28 @@
+Bugs: https://bugs.gentoo.org/934131
+https://gitlab.freedesktop.org/xorg/xserver/-/commit/0ddcd8785199c08d9bded3c767a3b1227c670999
+
+Backport from XOrg server:
+
+ commit 0ddcd8785199c08d9bded3c767a3b1227c670999
+ Author: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
+ Date: Sun, 23 Jun 2024 21:17:25 +0100
+
+ [PATCH 1/2] os: Fix assignment with incompatible pointer type
+
+ struct hostent->h_addr_list is of type char**, not const char**.
+ GCC considers this an error when in C99 mode or later.
+
+ Signed-off-by: Joaquim Monteiro <joaquim.monteiro@protonmail.com>
+ Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1572>
+
+--- a/nx-X11/programs/Xserver/os/access.c
++++ b/nx-X11/programs/Xserver/os/access.c
+@@ -1941,7 +1941,7 @@
+ char hostname[SI_HOSTNAME_MAXLEN];
+ int f, hostaddrlen;
+ void * hostaddr;
+- const char **addrlist;
++ char **addrlist;
+
+ if (siAddrLen >= sizeof(hostname))
+ return FALSE;
diff --git a/net-misc/nx/nx-3.5.99.26.ebuild b/net-misc/nx/nx-3.5.99.26.ebuild
index c08c5941821d..437f6f51c202 100644
--- a/net-misc/nx/nx-3.5.99.26.ebuild
+++ b/net-misc/nx/nx-3.5.99.26.ebuild
@@ -50,8 +50,9 @@ PATCHES=(
"${FILESDIR}/${PN}-3.5.99.26-riscv64-support.patch"
"${FILESDIR}/${PN}-3.5.99.26-musl.patch"
"${FILESDIR}/${PN}-3.5.99.26-which.patch"
- # https://github.com/ArticaProject/nx-libs/pull/1087
+ # https://github.com/ArcticaProject/nx-libs/pull/1087
"${FILESDIR}/${PN}-3.5.99.26-gcc14-32bit.patch"
+ "${FILESDIR}/${PN}-3.5.99.26-gcc14-access.patch"
)
src_prepare() {
diff --git a/net-misc/nx/nx-3.5.99.27.ebuild b/net-misc/nx/nx-3.5.99.27.ebuild
index 095b3d048849..9df06029d9a7 100644
--- a/net-misc/nx/nx-3.5.99.27.ebuild
+++ b/net-misc/nx/nx-3.5.99.27.ebuild
@@ -46,6 +46,7 @@ PATCHES=(
"${FILESDIR}/${PN}-3.5.99.27-which.patch"
# https://github.com/ArcticaProject/nx-libs/pull/1087
"${FILESDIR}/${PN}-3.5.99.26-gcc14-32bit.patch"
+ "${FILESDIR}/${PN}-3.5.99.26-gcc14-access.patch"
)
src_prepare() {
diff --git a/net-misc/scponly/files/scponly-4.8-C23.patch b/net-misc/scponly/files/scponly-4.8-C23.patch
new file mode 100644
index 000000000000..113451e75aab
--- /dev/null
+++ b/net-misc/scponly/files/scponly-4.8-C23.patch
@@ -0,0 +1,26 @@
+diff -ru a/helper.c b/helper.c
+--- a/helper.c 2025-01-10 17:16:03.332900358 +0400
++++ b/helper.c 2025-01-10 17:17:24.801652374 +0400
+@@ -1,7 +1,9 @@
+ /*
+ * helper functions for scponly
+ */
++#define _DEFAULT_SOURCE /* for strsep */
+ #include <stdio.h> /* io */
++#include <strings.h> /* for bzero */
+ #include <string.h> /* for str* */
+ #include <sys/types.h> /* for stat, getpwuid */
+ #include <sys/stat.h> /* for stat */
+diff -ru a/scponly.c b/scponly.c
+--- a/scponly.c 2025-01-10 17:16:03.332900358 +0400
++++ b/scponly.c 2025-01-10 17:18:13.274524840 +0400
+@@ -6,7 +6,8 @@
+ *
+ * see CONTRIB for additional credits
+ */
+-
++
++#define _DEFAULT_SOURCE /* for seteuid */
+ #include <stdio.h> /* io */
+ #include <string.h> /* for str* */
+ #include <sys/types.h> /* for fork, wait, stat */
diff --git a/net-misc/scponly/metadata.xml b/net-misc/scponly/metadata.xml
index 3beb7f62de5b..995af96bb41e 100644
--- a/net-misc/scponly/metadata.xml
+++ b/net-misc/scponly/metadata.xml
@@ -32,5 +32,6 @@
</use>
<upstream>
<remote-id type="sourceforge">scponly</remote-id>
+ <remote-id type="github">scponly/scponly</remote-id>
</upstream>
</pkgmetadata>
diff --git a/net-misc/scponly/scponly-4.8-r8.ebuild b/net-misc/scponly/scponly-4.8-r9.ebuild
index 93ddd8138d29..2d6d02714439 100644
--- a/net-misc/scponly/scponly-4.8-r8.ebuild
+++ b/net-misc/scponly/scponly-4.8-r9.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit readme.gentoo-r1 toolchain-funcs
+inherit readme.gentoo-r1 toolchain-funcs autotools
DESCRIPTION="A tiny pseudoshell which only permits scp and sftp"
HOMEPAGE="https://github.com/scponly/scponly"
@@ -32,18 +32,25 @@ PATCHES=(
"${FILESDIR}/${P}-rsync.patch"
"${FILESDIR}/${P}-gcc4.4.0.patch"
"${FILESDIR}/${P}-sftp-server-path.patch"
+ "${FILESDIR}/${P}-C23.patch"
)
+src_prepare() {
+ default
+
+ # bug #900316
+ eautoreconf
+}
+
src_configure() {
CFLAGS="${CFLAGS} ${LDFLAGS}" econf \
- --with-sftp-server="/usr/$(get_libdir)/misc/sftp-server" \
--disable-restrictive-names \
$(use_enable chroot chrooted-binary) \
- $(use_enable chroot chrooted-checkdir) \
+ $(use_enable chroot chroot-checkdir) \
$(use_enable winscp winscp-compat) \
$(use_enable gftp gftp-compat) \
$(use_enable scp scp-compat) \
- $(use_enable sftp sftp) \
+ $(use_with sftp sftp-server "/usr/$(get_libdir)/misc/sftp-server") \
$(use_enable quota quota-compat) \
$(use_enable passwd passwd-compat) \
$(use_enable rsync rsync-compat) \
diff --git a/net-misc/smb4k/Manifest b/net-misc/smb4k/Manifest
index ae73797d935f..c1195639cdce 100644
--- a/net-misc/smb4k/Manifest
+++ b/net-misc/smb4k/Manifest
@@ -1 +1,2 @@
DIST smb4k-3.2.92.tar.xz 4638924 BLAKE2B 9271d1be02136d51c28a24c2ac2a76de5708baffe76cd97e48867bce35f8f3988f63965d4bcff0f7a03b9f8e7a05af63578dd24b094e10553317a220fda3524e SHA512 a2010667454c5c0d24757c96fadb8a7d672eef201bc399dc99d9031c9b847a878545834422b7de2f5627eabaa8e5d0235da2f41da68e9178f7ee4eb431c878e8
+DIST smb4k-4.0.0.tar.xz 4852924 BLAKE2B 9539c2f02941d038a7bfb5fbc57162dedc3205f4a3249dce74eb9035133b4bc4efbd93a3eed4f1b8af862e6f4e1507630f366127110bd063e7b9016ff642ff5b SHA512 c856d3532f6c604caf1d58741928172d6ee23c725b9bc7c1e2c2071b61e478b47ff567f36b12ae970636e4ffb55915b5a6572c8e0402fd71d40415204c475d85
diff --git a/net-misc/smb4k/smb4k-4.0.0.ebuild b/net-misc/smb4k/smb4k-4.0.0.ebuild
new file mode 100644
index 000000000000..beda7bf1a865
--- /dev/null
+++ b/net-misc/smb4k/smb4k-4.0.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.3.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Advanced network neighborhood browser"
+HOMEPAGE="https://apps.kde.org/smb4k/
+https://sourceforge.net/p/smb4k/home/Home/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="https://downloads.sourceforge.net/${PN}/Development/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+discovery plasma"
+
+DEPEND="
+ >=dev-libs/qtkeychain-0.14.2:=[qt6(+)]
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=kde-frameworks/kauth-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/kdbusaddons-${KFMIN}:6
+ >=kde-frameworks/kdnssd-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/knotifications-${KFMIN}:6
+ >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6
+ >=kde-frameworks/kwallet-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kwindowsystem-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/solid-${KFMIN}:6
+ net-fs/samba[cups]
+ discovery? (
+ >=net-libs/kdsoap-2.2.0:=[qt6(+)]
+ >=net-libs/kdsoap-ws-discovery-client-0.4.0
+ )
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+ plasma? (
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ kde-plasma/libplasma:6
+ )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DSMB4K_WITH_WS_DISCOVERY=$(usex discovery)
+ -DSMB4K_INSTALL_PLASMOID=$(usex plasma)
+ )
+ ecm_src_configure
+}
+
+pkg_postinst() {
+ ecm_pkg_postinst
+ elog "Users of Samba 4.7 and above please note that for the time being,"
+ elog "the following setting has to be added to or changed in the [global]"
+ elog "section of the smb.conf file:"
+ elog
+ elog "[global]"
+ elog "client max protocol = NT1"
+}
diff --git a/net-misc/smbc/files/0001-Fix-signal-handlers.patch b/net-misc/smbc/files/0001-Fix-signal-handlers.patch
new file mode 100644
index 000000000000..3e4ece3bef0c
--- /dev/null
+++ b/net-misc/smbc/files/0001-Fix-signal-handlers.patch
@@ -0,0 +1,104 @@
+From 1d9dc54aea5a36aa43ce3bb5d5a013121fbd25ab Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 12 Feb 2025 16:04:02 +0000
+Subject: [PATCH 1/2] Fix signal handlers
+
+They need to take an argument but we don't use it.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ src/smbc.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/src/smbc.c b/src/smbc.c
+index 41a3d28..86349d0 100644
+--- a/src/smbc.c
++++ b/src/smbc.c
+@@ -251,9 +251,9 @@ void RwinRedrawWithData();
+ void RcompareTwoIndexFile(int RfdNew, int RfdOld, int RfdMessage);
+ int RtryDownloadUpload();
+ void RtryLockFileAndCreateIndexFile();
+-void RsigAlarm();
+-void RsigTerm();
+-void RsigSEGV();
++void RsigAlarm(int unused);
++void RsigTerm(int unused);
++void RsigSEGV(int unused);
+ char *RgetSmallPath(char *Rhost);
+
+ //-------------------------------------------------------------
+@@ -1196,7 +1196,7 @@ RmanageList()
+ {
+ if (!RdownloadListTmp) {
+ RDBG("smbc: RmanageList RpaintList - error expected next record\n");
+- RsigTerm();
++ RsigTerm(0);
+ }
+ mvwhline(RwinCol1, ++Rk, 0, 32, 1);
+ mvwhline(RwinCol2, Rk, 0, 32, 1);
+@@ -1354,7 +1354,7 @@ RmanageList()
+ }
+
+ void
+- RsigAlarmManageWindow()
++ RsigAlarmManageWindow(int unused)
+ {
+ RDBG("RmanageList : RsigAlarmManageWindow alarm\n");
+ RdoWindowResizeDownloadList();
+@@ -5543,7 +5543,7 @@ RcreateFindListIndex(int Isave, char *Igroup, char *Ihost, char *Ipath, char *Id
+ }
+
+ void
+-RsigTerm()
++RsigTerm(int unused)
+ {
+ int Ri;
+
+@@ -5602,7 +5602,7 @@ RsigTerm()
+ }
+
+ void
+-RsigCHLD()
++RsigCHLD(int unused)
+ {
+ waitpid(RchildId, NULL, WNOHANG);
+ }
+@@ -6393,7 +6393,7 @@ RsendWinpopupInput(char *RgroupInput)
+ }
+
+ void
+-RsigSEGV()
++RsigSEGV(int unused)
+ {
+ int Rres = errno;
+
+@@ -6404,7 +6404,7 @@ RsigSEGV()
+ RDBG("\n");
+ RDBG("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
+ Rerror = 1;
+- RsigTerm();
++ RsigTerm(0);
+ exit(Rres);
+ }
+
+@@ -6819,7 +6819,7 @@ RtryDownloadUpload()
+ }
+
+ void
+-RsigAlarm()
++RsigAlarm(int unused)
+ {
+ char RinsertChar = 1;
+
+@@ -8220,7 +8220,7 @@ RDBG("smbc: main 100\n");
+ Rfree(RfileNameMessagePrim);
+ Rfree(RsmbcLockFile);
+ RDBG("----stop 2----\n");
+- RsigTerm();
++ RsigTerm(0);
+ RfreeDebug();
+ return(0);
+ }
+--
+2.48.1
+
diff --git a/net-misc/smbc/files/0002-Fix-Wformat-security.patch b/net-misc/smbc/files/0002-Fix-Wformat-security.patch
new file mode 100644
index 000000000000..357856b0516d
--- /dev/null
+++ b/net-misc/smbc/files/0002-Fix-Wformat-security.patch
@@ -0,0 +1,150 @@
+From 0f514db1868a34839a673257543a00383a5183df Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 12 Feb 2025 16:07:23 +0000
+Subject: [PATCH 2/2] Fix -Wformat-security
+
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ src/dulist.c | 2 +-
+ src/fnet.c | 14 +++++++-------
+ src/smbc.c | 16 ++++++++--------
+ 3 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/src/dulist.c b/src/dulist.c
+index 23c0024..c353acc 100644
+--- a/src/dulist.c
++++ b/src/dulist.c
+@@ -200,7 +200,7 @@ RShowAllItemsFromDUlist(int RnrDulist)
+ Rstraddtoend(&RstrT, "/");
+ Rstraddtoend(&RstrT, Rdls->filename);
+ Rstraddtoend(&RstrT, "\n");
+- printf(to_scr(RstrT));
++ printf("%s", to_scr(RstrT));
+ Rfree(RstrT);
+ RfreeOneTTdownloadAndGoToFirst(&Rdls);
+ }
+diff --git a/src/fnet.c b/src/fnet.c
+index cc401af..7c35d2e 100644
+--- a/src/fnet.c
++++ b/src/fnet.c
+@@ -184,7 +184,7 @@ void
+ refreshw(WINDOW *win, char *buf)
+ {
+ werase(win);
+- mvwprintw(win, 1, 1, buf);
++ mvwprintw(win, 1, 1, "%s", buf);
+ }
+
+ int
+@@ -407,7 +407,7 @@ RmvwprintwCenter(WINDOW *win, int i, char *str)
+ int y, x;
+
+ getmaxyx(win, y, x);
+- mvwprintw(win, i, x/2-strlen(str)/2, str);
++ mvwprintw(win, i, x/2-strlen(str)/2, "%s", str);
+ wrefresh(win);
+ }
+
+@@ -427,7 +427,7 @@ refreshTxtInWin(WINDOW *win, int y, int x, char *buf, int winSize, int startidx,
+ wattron(win, COLOR_PAIR(colorPair));
+ mvwhline(win, y, x+xDelta, ' ', winSize-xDelta);
+ wattron(win, attr);
+- mvwprintw(win, y, x+xDelta, str+startidx);
++ mvwprintw(win, y, x+xDelta, "%s", str+startidx);
+ wattroff(win, attr);
+ if (colorPair != -1)
+ wattroff(win, COLOR_PAIR(colorPair));
+@@ -474,7 +474,7 @@ refreshTxtInWinCursor(WINDOW *win, int y, int x, char *buf, int winSize, int sta
+ Rstr = strdup(Rbuf+startidx);
+ Rstr[xCursor-startidx] = 0;
+ RDBG("fnet refreshTxtInWinCursor 1: Rstr = \""); RDBG(Rstr); RDBG("\"\n");
+- mvwprintw(win, y, x, Rstr);
++ mvwprintw(win, y, x, "%s", Rstr);
+ Rprinted = strlen(Rstr);
+ Rfree(Rstr);
+
+@@ -500,7 +500,7 @@ refreshTxtInWinCursor(WINDOW *win, int y, int x, char *buf, int winSize, int sta
+ RDBG("fnet refreshTxtInWinCursor 23\n");
+ }
+ RDBG("fnet refreshTxtInWinCursor 29: Rstr = \""); RDBG(Rstr); RDBG("\"\n");
+- mvwprintw(win, y, x+Rprinted, Rstr);
++ mvwprintw(win, y, x+Rprinted, "%s", Rstr);
+ Rfree(Rstr);
+ wattroff(win, A_REVERSE);
+ Rprinted++;
+@@ -514,7 +514,7 @@ refreshTxtInWinCursor(WINDOW *win, int y, int x, char *buf, int winSize, int sta
+ if (winSize-Rprinted < strlen(Rstr))
+ Rstr[winSize-Rprinted] = 0;
+ RDBG("fnet refreshTxtInWinCursor 3: Rstr = \""); RDBG(Rstr); RDBG("\"\n");
+- mvwprintw(win, y, x+Rprinted, Rstr);
++ mvwprintw(win, y, x+Rprinted, "%s", Rstr);
+ Rfree(Rstr);
+ }
+
+@@ -929,7 +929,7 @@ Rmvwprintw(WINDOW *win, int y, int x, const char *fmt)
+ }
+ RDBG("fnet: RmvwprintwAddPercent fmt = |"); RDBG((char *)fmt); RDBG("|\n");
+ RDBG("fnet: RmvwprintwAddPercent Rc1 = |"); RDBG(Rc1); RDBG("|\n");
+- mvwprintw(win, y, x, Rc1);
++ mvwprintw(win, y, x, "%s", Rc1);
+ Ri = strlen(Rc1);
+ Rfree(Rc1);
+ RDBG("fnet: RmvwprintwAddPercent end\n");
+diff --git a/src/smbc.c b/src/smbc.c
+index 86349d0..d2fbb07 100644
+--- a/src/smbc.c
++++ b/src/smbc.c
+@@ -2174,7 +2174,7 @@ RwinRedraw()
+ mvwhline(RwinLeftTop, 0, 0, 0, RxHalf-2);
+ mvwhline(RwinRightTop, 0, 0, 0, RxHalf-2);
+ mvwprintw(RwinHead, 0, 0,"Samba Commander %s", VERSION);
+- mvwprintw(RwinHead, 0, RmainWinX-Rstrlen(Rm108), Rm108);
++ mvwprintw(RwinHead, 0, RmainWinX-Rstrlen(Rm108), "%s", Rm108);
+ mvwhline(RwinLeft, 2, 1, 0, RxHalf-2);
+ mvwhline(RwinLeft, 2, 1, 0, RxHalf-2);
+ mvwvline(RwinLeftList, 0, 1, 0, RmainWinY-6);
+@@ -3615,9 +3615,9 @@ RreadRcfile()
+ Rstraddtoend(&Rfile, "/.smbc/smbcrc");
+ if (access(Rfile, F_OK) != 0)
+ {
+- printf(Rm242, Rfile);
+- printf(Rm243);
+- printf(Rm244);
++ printf("%s", Rm242, Rfile);
++ printf("%s", Rm243);
++ printf("%s", Rm244);
+ return;
+ }
+ Rfd = open(Rfile, O_RDONLY);
+@@ -5575,8 +5575,8 @@ RsigTerm(int unused)
+ endwin();
+ if (!Ri)
+ {
+- printf(Rm156);
+- printf(Rm157);
++ printf("%s", Rm156);
++ printf("%s", Rm157);
+ }
+ if ((RmainWinX < 80) || (RmainWinY < 25))
+ printf(Rm158, RmainWinX, RmainWinY);
+@@ -5589,7 +5589,7 @@ RsigTerm(int unused)
+ if (Rerror)
+ {
+ printf("**********************************************************\n");
+- printf(Rm159);
++ printf("%s", Rm159);
+ printf("**********************************************************\n");
+ }
+
+@@ -6990,7 +6990,7 @@ main(int argc,char *argv[])
+ {
+ fprintf(stderr, Rm175, errno);
+ if (errno == 2)
+- fprintf(stderr, Rm176);
++ fprintf(stderr, "%s", Rm176);
+ exit(0);
+ }
+
+--
+2.48.1
+
diff --git a/net-misc/smbc/smbc-1.2.2-r3.ebuild b/net-misc/smbc/smbc-1.2.2-r4.ebuild
index 67bb75f96311..6799dc8a4a58 100644
--- a/net-misc/smbc/smbc-1.2.2-r3.ebuild
+++ b/net-misc/smbc/smbc-1.2.2-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,17 +15,22 @@ KEYWORDS="~amd64 ~ppc ~x86"
IUSE="nls debug"
BDEPEND="virtual/pkgconfig"
-DEPEND="dev-libs/popt
+DEPEND="
+ dev-libs/popt
net-fs/samba
- sys-libs/ncurses
- nls? ( sys-devel/gettext )"
+ sys-libs/ncurses:=
+ nls? ( sys-devel/gettext )
+"
RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}"/${P}-cflags.patch
+PATCHES=(
+ "${FILESDIR}"/${P}-cflags.patch
"${FILESDIR}"/${P}-size_t.patch
"${FILESDIR}"/${P}-samba4-includes.patch
"${FILESDIR}"/${P}-multiple-definitions-gcc10.patch
"${FILESDIR}"/${P}-tinfo.patch
+ "${FILESDIR}"/0001-Fix-signal-handlers.patch
+ "${FILESDIR}"/0002-Fix-Wformat-security.patch
)
src_prepare() {
diff --git a/net-misc/turbovnc/Manifest b/net-misc/turbovnc/Manifest
index 27b3c0d34028..222845e7f31e 100644
--- a/net-misc/turbovnc/Manifest
+++ b/net-misc/turbovnc/Manifest
@@ -1,2 +1,4 @@
-DIST turbovnc-3.1.3.tar.gz 9041525 BLAKE2B c1ce3685caf457aeab76a9ae3bf02aa03f8e0bf48af7eb99ccfdfffc3fb9ae4f0a2b2c082103fc721c5e1674dfbdd0b2df072c08696b927be4487a06d1dd6c2a SHA512 34929fbb02c047796f278ebd55cfb4a4361ae9b260e224990e493a2af69403ea1a4563459464b4df771a3bafb601ac6569f58e3fc04c45366b3dc61af7db38eb
-DIST turbovnc-3.1.3.tar.gz.sig 543 BLAKE2B f9a7361238338830e914824b221648628b8d716a5427fb95b0b2027ab9d0edd9454394759fbea74d6ba8ba74e314d325564fd879b561aa6568be2776f4e15a70 SHA512 357c08ada0ac295488a54c0c1b3f81645b492e2a849e88be491a4a2373aae7925a236e2fbc38fe3361361f52540550516fd0671cc8d02b9cb3b8c3b6c66a2379
+DIST turbovnc-3.1.4.tar.gz 9047653 BLAKE2B 70023b5e036913e9828e07d2f1f56a73649c79eabfa4fe11c8fa5b826be057b3b1486b6d7d5f3a44b8c69f3478562ceffebe7be303830d5b7636dabef6b19b0b SHA512 b9d2f2b7f2e0c2d9485b85f55a762bd6e36f72db64d6bcace48100502624e2b805baee373fa1f7d0aa7b82623cc8d73b350adfbe87ce20357217722831d0d109
+DIST turbovnc-3.1.4.tar.gz.sig 543 BLAKE2B 8e76eacf7564671c179a6769859ec19c63d4839a7529bdc49e7a66cd4b45d452e61f45df78670ce3e314e44d3cb1fce234bda53b5ff1120931b8e2f9d892b610 SHA512 e63fc61caea3a385d51b9c0ddba47091c7a463ec684cd62433c3d47cb6cbcef72c84d92d0498f747b192bd962e5701a805d1277588b030a4743772ac90c32d5d
+DIST turbovnc-3.1.90.tar.gz 5487295 BLAKE2B a3e8867d0fa2bfbd3b4013142d502fd9cb48d14262beb252ab82f04128ce55b0936d4f72cb75cc6a5906bcf73ec26fff690921f137c0eae71c97cbab034b3f9e SHA512 141fc55d89271e12b979a2b78b3560124e9bf9007bdfb1c5d6e551312fff34b3207e2b08965cf2ab4dd18cab644b4ec26a43939dc61de666f7ba87f1aa98e685
+DIST turbovnc-3.1.90.tar.gz.sig 543 BLAKE2B 24b6df39866baa9eb5d30fc6dec58edb532bca2fb048416ab1af349542c13b150774d705d6239226bf8bde3e7cbc66700508496d9b531b00b39d2c61d23721d5 SHA512 38075dbd73572849671a7a4087e5ddeac5a0b231fa658b6e6965faf1b17de6b94e3579c5ae66bd74b044909b3ade8bf45d395318d777e10437ccf6160a6fe918
diff --git a/net-misc/turbovnc/metadata.xml b/net-misc/turbovnc/metadata.xml
index 5c1cfb86ec9a..e7e552c66855 100644
--- a/net-misc/turbovnc/metadata.xml
+++ b/net-misc/turbovnc/metadata.xml
@@ -14,6 +14,7 @@
By The VirtualGL Project.
</longdescription>
<use>
+ <flag name="dri3">Build with DRI3 support</flag>
<flag name="server">Build the server (vncserver, Xvnc)</flag>
<flag name="viewer">Build the viewer (vncviewer)</flag>
</use>
diff --git a/net-misc/turbovnc/turbovnc-3.1.3.ebuild b/net-misc/turbovnc/turbovnc-3.1.4.ebuild
index 48280a488651..c44ffe0fd5ca 100644
--- a/net-misc/turbovnc/turbovnc-3.1.3.ebuild
+++ b/net-misc/turbovnc/turbovnc-3.1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/net-misc/turbovnc/turbovnc-3.2_beta1.ebuild b/net-misc/turbovnc/turbovnc-3.2_beta1.ebuild
new file mode 100644
index 000000000000..e0bf420e377d
--- /dev/null
+++ b/net-misc/turbovnc/turbovnc-3.2_beta1.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_OPT_USE=viewer
+inherit cmake desktop java-pkg-opt-2 optfeature verify-sig
+
+MY_PV=${PV/_/}
+# Upstream's version 3.2beta1 is 3.1.90
+INTERNAL_PV=3.1.90
+
+DESCRIPTION="A fast replacement for TigerVNC"
+HOMEPAGE="https://www.turbovnc.org/"
+SRC_URI="
+ https://github.com/TurboVNC/turbovnc/releases/download/${MY_PV}/turbovnc-${INTERNAL_PV}.tar.gz
+ verify-sig? ( https://github.com/TurboVNC/turbovnc/releases/download/${MY_PV}/turbovnc-${INTERNAL_PV}.tar.gz.sig )
+"
+S="${WORKDIR}"/${PN}-${INTERNAL_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="dri3 +server +ssl +viewer"
+REQUIRED_USE="|| ( server viewer )"
+
+COMMON_DEPEND="
+ x11-apps/xauth
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-misc/xkeyboard-config
+ server? (
+ media-libs/libjpeg-turbo:=
+ sys-libs/pam
+ virtual/opengl
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXfont2
+ x11-libs/pixman
+ dri3? (
+ media-libs/mesa[opengl]
+ x11-libs/libxshmfence
+ )
+ ssl? ( dev-libs/openssl:= )
+ !net-misc/tigervnc[server]
+ )
+ viewer? (
+ media-libs/libjpeg-turbo:=[java]
+ x11-libs/libXi
+ !net-misc/tigervnc[viewer(+)]
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ x11-apps/xkbcomp
+ viewer? ( >=virtual/jre-17:* )
+"
+
+# libbz2.so.1, libfontenc.so.1 and libfreetype.so.6 are used by libXfont2.so.2
+# but cmake will look for them, so add them here
+DEPEND="
+ ${COMMON_DEPEND}
+ media-libs/mesa
+ x11-libs/xtrans
+ viewer? ( >=virtual/jdk-17:* )
+ server? (
+ app-arch/bzip2
+ media-libs/freetype
+ x11-libs/libfontenc
+ )
+"
+
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-vgl-turbovnc )
+"
+
+PATCHES=(
+ "${FILESDIR}"/"${PN}"-3.0.90-fix-musl-compilation.patch
+)
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vgl-turbovnc.asc
+
+#879797 - BSD functions
+QA_CONFIG_IMPL_DECL_SKIP=( strlcat strlcpy )
+
+pkg_pretend() {
+ if use ssl && ! use server; then
+ einfo "USE=\"ssl\" selected but USE=\"server\" is not. The SSL support is unused"
+ fi
+}
+
+src_prepare() {
+ use viewer && java-pkg-opt-2_src_prepare
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DTVNC_BUILDVIEWER=$(usex viewer)
+ -DTVNC_BUILDSERVER=$(usex server)
+ -DTVNC_BUILDWEBSERVER=$(usex server)
+ )
+
+ if use server ; then
+ mycmakeargs+=(
+ -DTVNC_ZLIBNG=ON
+ -DTVNC_DRI3=$(usex dri3)
+ -DXKB_BIN_DIRECTORY=/usr/bin
+ -DXKB_DFLT_RULES=base
+ )
+ if use ssl ; then
+ # Link properly against OpenSSL to ensure
+ # we catch e.g. ABI change
+ # (i.e. don't dlopen it)
+ mycmakeargs+=(
+ -DTVNC_USETLS=OpenSSL
+ -DTVNC_DLOPENSSL=OFF
+ )
+ else
+ mycmakeargs+=( -DTVNC_USETLS=OFF )
+ fi
+ fi
+
+ if use viewer ; then
+ export JAVACFLAGS="$(java-pkg_javac-args)"
+ export JNI_CFLAGS="$(java-pkg_get-jni-cflags)"
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ # would need sys-libs/zlib-ng[compat] to unbundle this
+ use server && cmake_build unix/Xvnc/lib/zlib-ng
+
+ cmake_src_compile
+}
+
+src_install() {
+ cmake_src_install
+
+ if use viewer; then
+ java-pkg_dojar "${BUILD_DIR}"/java/VncViewer.jar
+
+ # replace upstream bash wrapper with the Gentoo one to choose the right javavm
+ rm "${ED}"/usr/bin/vncviewer
+ java-pkg_dolauncher vncviewer --jar VncViewer.jar \
+ --java_args "-server -Djava.library.path=\"${EPREFIX}\"/usr/share/turbovnc/classes"
+
+ make_desktop_entry vncviewer "TurboVNC Viewer" /usr/share/icons/hicolor/48x48/apps/${PN}.png
+ fi
+
+ # Don't install incompatible init script
+ if use server; then
+ rm -r "${ED}"/etc/init.d/ || die
+ rm -r "${ED}"/etc/sysconfig/ || die
+ fi
+
+ # Conflicts with x11-base/xorg-server
+ find "${ED}"/usr/share/man/man1/ -name Xserver.1\* -delete || die
+
+ einstalldocs
+}
+
+pkg_postinst() {
+ use server && optfeature "dbus support" sys-apps/dbus
+}
diff --git a/net-misc/zssh/files/zssh-1.5c-C23.patch b/net-misc/zssh/files/zssh-1.5c-C23.patch
new file mode 100644
index 000000000000..50fa9ec176d0
--- /dev/null
+++ b/net-misc/zssh/files/zssh-1.5c-C23.patch
@@ -0,0 +1,178 @@
+Fix compilation errors with GCC-14 and C23
+https://bugs.gentoo.org/875242
+https://bugs.gentoo.org/898974
+and also fold linking with ncurces[tinfo] from sed to configure.ac
+https://bugs.gentoo.org/527036
+diff -ru a/configure.in b/configure.in
+--- a/configure.in 2025-01-08 21:48:25.202798412 +0400
++++ b/configure.in 2025-01-08 21:50:36.184060767 +0400
+@@ -5,7 +5,7 @@
+ EXTRA_DEPS=""
+ EXTRA_LIBS=""
+ EXTRA_CFLAGS=""
+-TERMCAP_LIB=""
++TINFO_LIB=""
+
+ dnl Check configure arguments
+ AC_MSG_CHECKING(whether to use libreadline for cmd-line editing)
+@@ -65,8 +65,8 @@
+ if test -z "$fakereadline"; then
+
+ dnl libtermcap (or (n)curses) is only needed by libreadline
+- BASH_CHECK_LIB_TERMCAP
+- LIBS="$LIBS $TERMCAP_LIB"
++ BASH_CHECK_LIB_TINFO
++ LIBS="$LIBS $TINFO_LIB"
+
+ dnl check for readline headers
+ AC_CHECK_HEADERS(readline/readline.h readline/history.h, ,
+@@ -127,7 +127,7 @@
+ AC_SUBST(EXTRA_DEPS)
+ AC_SUBST(EXTRA_CFLAGS)
+ AC_SUBST(EXTRA_LIBS)
+-AC_SUBST(TERMCAP_LIB)
++AC_SUBST(TINFO_LIB)
+
+ AC_OUTPUT(Makefile fake_readline/Makefile test/Makefile)
+
+diff -ru a/completion.c b/completion.c
+--- a/completion.c 2025-01-08 21:55:33.535386179 +0400
++++ b/completion.c 2025-01-08 21:59:46.899959311 +0400
+@@ -41,7 +41,8 @@
+ /* Tell the GNU Readline library how to complete. We want to try to complete
+ on command names if this is the first word in the line, or on filenames
+ if not. */
+-void initialize_readline()
++void
++initialize_readline (void)
+ {
+ #ifdef DEBUG
+ printf("Using readline library version: %s\n", rl_library_version);
+@@ -53,7 +54,7 @@
+ so that if zssh_completion() fails nothing is completed */
+ rl_completion_entry_function = fake_generator;
+ /* Tell the completer that we want a crack first. */
+- rl_attempted_completion_function = (CPPFunction *) zssh_completion;
++ rl_attempted_completion_function = zssh_completion;
+
+ }
+
+@@ -62,10 +63,8 @@
+ the word to complete. We can use the entire contents of rl_line_buffer
+ in case we want to do some simple parsing. Return the array of matches,
+ or NULL if there aren't any. */
+-char **zssh_completion(text, start, end)
+-char *text;
+-int start;
+-int end;
++char **
++zssh_completion (const char *text, int start, int end)
+ {
+ char **matches;
+
+@@ -89,9 +88,8 @@
+ /* Generator function for command completion. STATE lets us know whether
+ to start from scratch; without any state (i.e. STATE == 0), then we
+ start at the top of the list. */
+-char *command_generator(text, state)
+-const char *text;
+-int state;
++char *
++command_generator (const char *text, int state)
+ {
+ static int list_index, len;
+ char *name;
+@@ -123,9 +121,8 @@
+ to start from scratch; without any state (i.e. STATE == 0), then we
+ start at the top of the list. */
+ #if 0
+-char *tilde_generator(text, state)
+-char *text;
+-int state;
++char *
++tilde_generator (char *text, int state)
+ {
+ struct passwd *pwd;
+ static int len;
+@@ -154,9 +151,8 @@
+ }
+ #endif /* 0 */
+
+-char *fake_generator(text, state)
+-const char *text;
+-int state;
++char *
++fake_generator (const char *text, int state)
+ {
+ return (0);
+ }
+diff -ru a/fun.h b/fun.h
+--- a/fun.h 2025-01-08 21:55:33.531386202 +0400
++++ b/fun.h 2025-01-08 22:00:12.795813473 +0400
+@@ -1,7 +1,7 @@
+
+ /* completion.c */
+ void initialize_readline(void);
+-char **zssh_completion(char *text, int start, int end);
++char **zssh_completion(const char *text, int start, int end);
+ char *command_generator(const char *text, int state);
+ char *tilde_generator(char *text, int state);
+ char *fake_generator(const char *text, int state);
+diff -ru a/init.c b/init.c
+--- a/init.c 2025-01-08 21:55:33.535386179 +0400
++++ b/init.c 2025-01-08 21:58:35.526361264 +0400
+@@ -90,7 +90,8 @@
+ exit (0);
+ }
+
+-void usage()
++void
++usage (void)
+ {
+ printf("\
+ Usage: zssh [zssh options] [--] [ssh options]\n\
+@@ -143,7 +144,8 @@
+ * ^@ -> C-Space
+ * ^X -> C-x
+ */
+-char *escape_help()
++char *
++escape_help (void)
+ {
+ static char str[40];
+
+@@ -154,9 +156,8 @@
+ return (str);
+ }
+
+-void command_line_options(argc,argv)
+-int *argc;
+-char ***argv;
++void
++command_line_options (int *argc, char ***argv)
+ {
+ int ac = *argc;
+ char **av = *argv;
+@@ -213,9 +214,8 @@
+ }
+
+
+-void init(argc,argv)
+-int *argc;
+-char ***argv;
++void
++init (int *argc, char ***argv)
+ {
+ char *str;
+
+diff -ru a/zssh.h b/zssh.h
+--- a/zssh.h 2025-01-08 21:55:33.535386179 +0400
++++ b/zssh.h 2025-01-08 21:57:02.938882687 +0400
+@@ -45,6 +45,7 @@
+ #include <utmp.h>
+ #include <signal.h>
+ #include <ctype.h>
++#include <pty.h>
+
+ /*#include <term.h> alpha */
+
diff --git a/net-misc/zssh/zssh-1.5c-r2.ebuild b/net-misc/zssh/zssh-1.5c-r3.ebuild
index 3d3cfc636134..ac5836450a27 100644
--- a/net-misc/zssh/zssh-1.5c-r2.ebuild
+++ b/net-misc/zssh/zssh-1.5c-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit toolchain-funcs
+inherit toolchain-funcs autotools
DESCRIPTION="SSH wrapper enabling zmodem up/download in ssh"
HOMEPAGE="https://zssh.sourceforge.net/"
@@ -11,30 +11,35 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~ppc sparc x86"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="nls readline"
-DEPEND="readline? (
- sys-libs/ncurses:0
- sys-libs/readline:0
- )"
-RDEPEND="${DEPEND}
- net-dialup/lrzsz
- virtual/openssh"
+DEPEND="
+ readline? (
+ sys-libs/ncurses:=
+ sys-libs/readline:=
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ net-dialup/lrzsz[nls?]
+ virtual/openssh
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.5a-gentoo-include.diff"
+ "${FILESDIR}/${P}-C23.patch"
+)
src_prepare() {
- eapply "${FILESDIR}/${PN}-1.5a-gentoo-include.diff"
+ default
- # Fix linking with sys-libs/ncurses[tinfo], bug #527036
- sed -i -e 's/-ltermcap/-ltinfo/g' configure || die
-
- eapply_user
+ eautoreconf
}
src_configure() {
tc-export AR CC RANLIB
econf \
- $(use_enable nls) \
$(use_enable readline)
}