diff --git a/net-misc/freerdp/Manifest b/net-misc/freerdp/Manifest index 3631477968184..a0d35e40ab296 100644 --- a/net-misc/freerdp/Manifest +++ b/net-misc/freerdp/Manifest @@ -2,3 +2,5 @@ DIST freerdp-3.24.2.tar.gz 11449958 BLAKE2B 8ef343cc751fe7061066ede51967e7cfe620 DIST freerdp-3.24.2.tar.gz.asc 228 BLAKE2B b5465c02b3e2e4a14ce0ee10302733779a0dc57a37d6ccff176d433cffb2cd4e8243077102d08c12bd872781fe3566fb4ad1ce59fd904f5b5865c0252b043078 SHA512 d223933c3116f10e21b357cd2bd19e8a4b48c373e2b66397409913c53108a97d34694feb800083c2372f440f336645edaab7509abf0367501705db8fe5e3b1bd DIST freerdp-3.25.0.tar.gz 11489543 BLAKE2B 0e1ab445b85d682283d1752c887dfc7d3e5a61ea53cd7a692a275acea1438df67dbaeec8ee12593079cbe25a043fede3039a01e1f79360696067a298c95b3d35 SHA512 c9e1d2a5b45666f5da24761f2656061c754886105c64ae184ad9b1ae5a2c38220466907d2ddfc7d5046fea2269b62235b62f03bc28ad564f1cd53b9466127cba DIST freerdp-3.25.0.tar.gz.asc 228 BLAKE2B e1b31ec30b51f785cede641789f472b2516aa70bf35093a7f3f80877f41415f1b943f2765b577b83197bc9d8892de191f0fcd74027a41a1969d146b5622010eb SHA512 ff65df451243397b7c690efc4d289bf4009f6d64cdd7812367c00d11c5e8ffb866ba608c2d35eee14ff7e92d50b078e2322b78b27c66faf5b7280c663e674996 +DIST freerdp-3.26.0.tar.gz 11500641 BLAKE2B 5ea781f1a00b2adb56022953415340cc6a3008cea39080359b1b8ff2e33d6434d09cb6f03ee1569de4e072f70b868970aec8551f83c87ce3c0bfa992875e4b17 SHA512 c17bcb1711abec42abf8dac6f497d95b77478e38b3e7a33d0903542cf80d6b4d584e2d76e43df652b67cd27629e2fb7be1be7f52c67e0e43c269fc8db4ee0e17 +DIST freerdp-3.26.0.tar.gz.asc 228 BLAKE2B 384800120a7959f93665235e0c4c08a7eb235c73975a104d4fc67556340ae237c3564bf2941c1e633e47db687cb0c91f62ceaa29778f20ef038bf392f8862008 SHA512 81a9135d6224d0da789f440a0bf54287401bfe1de0098bf9c536abb42e95601fceb4cda3689d641f3347bcc57cc56c8be99740b22a7f945bbbd8d04dd8592ad6 diff --git a/net-misc/freerdp/files/freerdp-3.26.0-TestNTLM.patch b/net-misc/freerdp/files/freerdp-3.26.0-TestNTLM.patch new file mode 100644 index 0000000000000..a787c799ae0bf --- /dev/null +++ b/net-misc/freerdp/files/freerdp-3.26.0-TestNTLM.patch @@ -0,0 +1,37 @@ +https://github.com/FreeRDP/FreeRDP/pull/12746 + +From e9b95a5a3cf6a182837773b92c825f48df953821 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Wed, 6 May 2026 12:17:23 -0400 +Subject: [PATCH] Call winpr_InitializeSSL in TestWinPRUtils/TestNTLM + +This is needed to load the OpenSSL legacy provider when that library is +in use. + +Closes: https://github.com/FreeRDP/FreeRDP/issues/12744 +--- + winpr/libwinpr/utils/test/TestNTLM.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/winpr/libwinpr/utils/test/TestNTLM.c b/winpr/libwinpr/utils/test/TestNTLM.c +index 4421270ef9de..b8838aaee2f8 100644 +--- a/winpr/libwinpr/utils/test/TestNTLM.c ++++ b/winpr/libwinpr/utils/test/TestNTLM.c +@@ -2,6 +2,7 @@ + #include + #include + #include ++#include + + typedef struct + { +@@ -311,6 +312,9 @@ static BOOL testNTOWFv2FromHash(size_t x, const test_case_from_hash_t* test) + + int TestNTLM(WINPR_ATTR_UNUSED int argc, WINPR_ATTR_UNUSED char* argv[]) + { ++ /* Make sure we load the OpenSSL legacy provider if needed */ ++ winpr_InitializeSSL(WINPR_SSL_INIT_DEFAULT); ++ + for (size_t x = 0; x < ARRAYSIZE(ntofw1tests); x++) + { + const test_case_ntowf1_t* cur = &ntofw1tests[x]; diff --git a/net-misc/freerdp/freerdp-3.26.0.ebuild b/net-misc/freerdp/freerdp-3.26.0.ebuild new file mode 100644 index 0000000000000..c65d97bb1e41c --- /dev/null +++ b/net-misc/freerdp/freerdp-3.26.0.ebuild @@ -0,0 +1,196 @@ +# Copyright 2011-2026 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 camera 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= + virtual/zlib:= + 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 ) + 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? ( + camera? ( media-libs/libv4l ) + sdl? ( + media-libs/libsdl3 + media-libs/sdl3-ttf + ) + wayland? ( + dev-libs/wayland + x11-libs/libxkbcommon + ) + ) + X? ( + x11-libs/libX11 + x11-libs/libxkbfile + ) +" +DEPEND="${COMMON_DEPEND} + test? ( + ffmpeg? ( media-video/ffmpeg:0[x264(-)] ) + ) + 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.26.0-TestNTLM.patch" +) + +option() { + usex "$1" ON OFF +} + +option_client() { + if use client; then + option "$1" + else + echo OFF + fi +} + +src_configure() { + use debug || append-cppflags -DNDEBUG + local mycmakeargs=( + -Wno-dev + + -DBUILD_TESTING=$(option test) + + # https://bugs.gentoo.org/927037 + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF + + -DCHANNEL_URBDRC=$(option usb) + -DCHANNEL_RDPECAM_CLIENT=$(option_client camera) + -DWITH_AAD=$(option aad) + -DWITH_ALSA=$(option alsa) + -DWITH_CCACHE=OFF + -DWITH_CLIENT=$(option client) + -DWITH_CLIENT_SDL2=OFF + -DWITH_CLIENT_SDL3=$(option_client 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_test() { + # TestBacktrace: bug 930636 + # TestSynchCritical, TestSynchMultipleThreads: bug 951301 + local CMAKE_SKIP_TESTS=( TestBacktrace TestSynchCritical TestSynchMultipleThreads ) + if has network-sandbox ${FEATURES}; then + CMAKE_SKIP_TESTS+=( TestConnect ) + fi + cmake_src_test +} + +src_install() { + cmake_src_install + mv "${ED}"/usr/share/man/man7/wlog{,3}.7 || die +}