Download raw body.
freerdp 3.x
On 8/12/26 00:30, Stuart Henderson wrote:
> Fabien Romano found that freerdp 3.x is working again in current
> versions, it seems something has got fixed with the timer issues we
> were running into with my earlier updates.
>
> Here's an update diff, plus changes to dependent ports (I already
> knocked out the dep in guacamole, that's in the too-hard basket at
> the moment)
>
> security/hydra: I updated this to a version which handles freerdp3
> earlier, diff switches the libs over.
>
> x11/remmina: update to handle freerdp3. builds, runs, am able to
> connect via simple RDP.
>
> x11/gnome/connections: handles freerdp3 already, diff switches libs
> over. runs, am able to connect via simple RDP.
>
> x11/kde-applications/krdc: currently marked BROKEN because it needs
> freerdp3; diff takes things part of the way but build still fails
> at present.
>
> anyone want to test these (or freerdp itself) further before it goes in?
I didn't try connecting to more recent Windows.
I think more tests are needed to confirm the issue is solved.
There is one timer-related test that fails but is theoretical.
It fails because it schedules 5 timers every 100 ms, and each does a sleep 11.
On OpenBSD, sleep 11 ends up sleeping more; they run for more than 100 ms.
The TimerQueue isn't designed to handle such cases and miss completion events.
I doubt this happens in real use cases.
>
> (one diff for all the above; apply with patch -d /usr/ports -E -p0)
>
>
>
> Index: x11/freerdp/Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/Makefile,v
> diff -u -p -r1.80 Makefile
> --- x11/freerdp/Makefile 21 May 2026 17:02:48 -0000 1.80
> +++ x11/freerdp/Makefile 11 Aug 2026 23:18:17 -0000
> @@ -1,34 +1,27 @@
> COMMENT = client for Microsoft RDP (remote desktop protocol)
>
> -# 3.x needs posix timers, epoll-shim is no longer enough to workaround
> -DISTNAME = freerdp-2.11.8
> -REVISION = 1
> +DISTNAME = freerdp-3.30.0
>
> CATEGORIES = x11 net
>
> DPB_PROPERTIES = parallel
>
> -SHARED_LIBS += freerdp-client2 1.1
> -SHARED_LIBS += freerdp2 3.0
> -SHARED_LIBS += winpr-tools2 1.0
> -SHARED_LIBS += winpr2 2.1
> +SHARED_LIBS += freerdp-client3 0.0 # 0.0
> +SHARED_LIBS += freerdp3 0.0 # 0.0
> +SHARED_LIBS += winpr-tools3 0.0 # 0.0
> +SHARED_LIBS += winpr3 0.0 # 0.0
>
> HOMEPAGE = https://www.freerdp.com/
> SITES = https://pub.freerdp.com/releases/
>
> -# add sndio patchset, not yet in 2.x branch
> -# mirrored from https://github.com/FreeRDP/FreeRDP/commit/b3a2042103a192d9e4482691ce9e7d73f9475b09.patch
> -# (github patch files aren't stable)
> -SITES.sndio = https://spacehopper.org/mirrors/
> -PATCHFILES.sndio = freerdp-sndio-upd2.patch
> -PATCH_DIST_STRIP = -p1
> -
> # Apache 2.0
> PERMIT_PACKAGE = Yes
>
> -WANTLIB += X11 Xcursor Xext Xfixes Xi Xinerama Xrandr Xrender Xv
> -WANTLIB += avcodec avutil c crypto cups epoll-shim execinfo m pthread sndio
> -WANTLIB += ssl swresample usb-1.0 xkbfile
> +WANTLIB += ICE SM X11 Xcursor Xext Xfixes Xi Xinerama Xrandr Xrender
> +WANTLIB += Xv avcodec avdevice avfilter avformat avutil c crypto
> +WANTLIB += cups epoll-shim execinfo icudata icui18n icuio icuuc
> +WANTLIB += jansson m pthread sndio ssl swresample swscale uriparser
> +WANTLIB += usb-1.0 xkbfile z
>
> DEBUG_PACKAGES = ${BUILD_PACKAGES}
>
> @@ -37,7 +30,6 @@ COMPILER = base-clang ports-gcc
> COMPILER_LANGS = c
>
> MODULES = devel/cmake
> -MODCMAKE_POLICY_VERSION_OVERRIDE = Yes
>
> CFLAGS += -I${X11BASE}/include \
> -I${LOCALBASE}/include
> @@ -47,31 +39,47 @@ BUILD_DEPENDS = security/pcsc-lite \
>
> LIB_DEPENDS = devel/libusb1 \
> print/cups,-libs \
> - graphics/ffmpeg
> + graphics/ffmpeg \
> + textproc/icu4c \
> + devel/jansson \
> + www/uriparser
>
> # used to work-around lack of posix timers.
> # not quite everything is correct, but works well enough for most use.
> LIB_DEPENDS += devel/epoll-shim
>
> CONFIGURE_ARGS += \
> + -DUSE_VERSION_FROM_GIT_TAG=OFF \
> + -DUSE_GIT_FOR_REVISION=OFF \
> -DBUILD_TESTING=ON \
> -DWITH_CCACHE=OFF \
> -DWITH_CUPS=ON \
> -DWITH_DIRECTFB=OFF \
> + -DWITH_FUSE=OFF \
> -DWITH_GSTREAMER_0_10=OFF \
> -DWITH_GSTREAMER_1_0=OFF \
> + -DWITH_KRB5=OFF \
> -DWITH_OPENSLES=OFF \
> -DWITH_PCSC=ON \
> -DWITH_LIBSYSTEMD=OFF \
> -DWITH_OSS=OFF \
> -DWITH_SNDIO=ON
>
> -.if ${MACHINE_ARCH} == "sparc64"
> -CONFIGURE_ARGS += -DWITH_NEON=OFF
> -.endif
> +# experimental, pulls in libpam
> +CONFIGURE_ARGS += -DWITH_SERVER=OFF
>
> -pre-configure:
> - sed -i 's,/usr/local,${LOCALBASE},g' ${WRKSRC}/{,winpr/libwinpr/}CMakeLists.txt
> +# SDL 2.x experimental, disabled by default
> +# SDL 3.x on by default but needs devel/sdl3 devel/sdl3-ttf (the latter unported)
> +# is SDL support worth the extra deps?
> +# if so, maybe subpackage to reduce them for the common case?
> +CONFIGURE_ARGS += -DWITH_CLIENT_SDL=OFF
>
> +# wants at least LDEP on wayland/wayland x11/xkbcommon
> +CONFIGURE_ARGS += -DWITH_WAYLAND=OFF
> +
> +# might no longer be needed
> +.if ${MACHINE_ARCH} == "sparc64"
> +CONFIGURE_ARGS += -DWITH_SIMD=OFF
> +.endif
>
> .include <bsd.port.mk>
> Index: x11/freerdp/distinfo
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/distinfo,v
> diff -u -p -r1.31 distinfo
> --- x11/freerdp/distinfo 26 Feb 2026 09:23:13 -0000 1.31
> +++ x11/freerdp/distinfo 11 Aug 2026 23:18:17 -0000
> @@ -1,4 +1,2 @@
> -SHA256 (freerdp-2.11.8.tar.gz) = vhGaNLBtP2l7eO/+GrfIHe6As5rjM9haF1NeZHhqEts=
> -SHA256 (freerdp-sndio-upd2.patch) = aQEVS0+WMH4D0tPX56gdMHgpiEL1d0Pv3g8QgHno6jk=
> -SIZE (freerdp-2.11.8.tar.gz) = 7330711
> -SIZE (freerdp-sndio-upd2.patch) = 23241
> +SHA256 (freerdp-3.30.0.tar.gz) = 4mh9At6m/t4ATTY5HawadM5XohD4hn/ZUDMXHUkJWQw=
> +SIZE (freerdp-3.30.0.tar.gz) = 11070523
> Index: x11/freerdp/patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: x11/freerdp/patches/patch-CMakeLists_txt
> diff -N x11/freerdp/patches/patch-CMakeLists_txt
> --- x11/freerdp/patches/patch-CMakeLists_txt 28 Feb 2026 18:03:04 -0000 1.17
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,58 +0,0 @@
> -Index: CMakeLists.txt
> ---- CMakeLists.txt.orig
> -+++ CMakeLists.txt
> -@@ -85,7 +85,7 @@ if ($ENV{BUILD_NUMBER})
> - endif()
> - set(WITH_LIBRARY_VERSIONING "ON")
> -
> --set(RAW_VERSION_STRING "2.11.8-dev")
> -+set(RAW_VERSION_STRING "2.11.8")
> - if(EXISTS "${CMAKE_SOURCE_DIR}/.source_tag")
> - file(READ ${CMAKE_SOURCE_DIR}/.source_tag RAW_VERSION_STRING)
> - elseif(USE_VERSION_FROM_GIT_TAG)
> -@@ -202,12 +202,14 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "BSD")
> - set(BSD TRUE)
> - if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
> - set(FREEBSD TRUE)
> -+ set(EPOLLSHIM TRUE)
> - endif()
> - if(${CMAKE_SYSTEM_NAME} MATCHES "kFreeBSD")
> - set(KFREEBSD TRUE)
> - endif()
> - if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
> - set(OPENBSD TRUE)
> -+ set(EPOLLSHIM TRUE)
> - endif()
> - endif()
> -
> -@@ -216,11 +218,13 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "DragonFly")
> - set(FREEBSD TRUE)
> - endif()
> -
> --if(FREEBSD)
> -+if(EPOLLSHIM)
> - find_path(EPOLLSHIM_INCLUDE_DIR NAMES sys/epoll.h sys/timerfd.h HINTS /usr/local/include/libepoll-shim)
> - find_library(EPOLLSHIM_LIBS NAMES epoll-shim libepoll-shim HINTS /usr/local/lib)
> - endif()
> -
> -+find_library(EXECINFO_LIBS NAMES execinfo)
> -+
> - # Configure MSVC Runtime
> - if(MSVC)
> - include(MSVCRuntime)
> -@@ -656,12 +660,13 @@ if(UNIX OR CYGWIN)
> - if (HAVE_SYS_EVENTFD_H)
> - check_symbol_exists(eventfd_read sys/eventfd.h WITH_EVENTFD_READ_WRITE)
> - endif()
> -- if (FREEBSD)
> -+ if (EPOLLSHIM)
> - list(APPEND CMAKE_REQUIRED_INCLUDES ${EPOLLSHIM_INCLUDE_DIR})
> - endif()
> - check_include_files(sys/timerfd.h HAVE_SYS_TIMERFD_H)
> -- if (FREEBSD)
> -+ if (EPOLLSHIM)
> - list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${EPOLLSHIM_INCLUDE_DIR})
> -+ list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${EXECINFO_INCLUDE_DIR})
> - endif()
> - check_include_files(poll.h HAVE_POLL_H)
> - list(APPEND CMAKE_REQUIRED_LIBRARIES m)
> Index: x11/freerdp/patches/patch-channels_rdpdr_client_rdpdr_main_c
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-channels_rdpdr_client_rdpdr_main_c,v
> diff -u -p -r1.7 patch-channels_rdpdr_client_rdpdr_main_c
> --- x11/freerdp/patches/patch-channels_rdpdr_client_rdpdr_main_c 10 Feb 2024 17:52:47 -0000 1.7
> +++ x11/freerdp/patches/patch-channels_rdpdr_client_rdpdr_main_c 11 Aug 2026 23:18:17 -0000
> @@ -1,16 +1,28 @@
> +#1: no hotplug on openbsd
> +#2: static mount table returned by getmntinfo(3) on freebsd/openbsd cannot be freed
> +#3: no hotplug on openbsd
> +
> Index: channels/rdpdr/client/rdpdr_main.c
> --- channels/rdpdr/client/rdpdr_main.c.orig
> +++ channels/rdpdr/client/rdpdr_main.c
> -@@ -254,7 +254,7 @@ static UINT rdpdr_send_device_list_remove_request(rdpd
> +@@ -247,7 +247,7 @@ static UINT rdpdr_send_device_list_remove_request(rdpd
> return rdpdr_send(rdpdr, s);
> }
>
> -#if defined(_UWP) || defined(__IOS__)
> +#if defined(_UWP) || defined(__IOS__) || defined(__OpenBSD__)
>
> - void first_hotplug(rdpdrPlugin* rdpdr)
> - {
> -@@ -1101,7 +1101,7 @@ out:
> + static UINT handle_hotplug(WINPR_ATTR_UNUSED RdpdrClientContext* context,
> + WINPR_ATTR_UNUSED RdpdrHotplugEventType type)
> +@@ -842,7 +842,6 @@ static UINT handle_platform_mounts_bsd(wLog* log, hotp
> + {
> + handle_mountpoint(dev_array, size, mntbuf[idx].f_mntonname);
> + }
> +- free(mntbuf);
> + return ERROR_SUCCESS;
> + }
> + #endif
> +@@ -1099,7 +1098,7 @@ out:
>
> #endif
>
> Index: x11/freerdp/patches/patch-channels_rdpsnd_client_rdpsnd_main_c
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-channels_rdpsnd_client_rdpsnd_main_c,v
> diff -u -p -r1.2 patch-channels_rdpsnd_client_rdpsnd_main_c
> --- x11/freerdp/patches/patch-channels_rdpsnd_client_rdpsnd_main_c 10 Feb 2024 17:52:47 -0000 1.2
> +++ x11/freerdp/patches/patch-channels_rdpsnd_client_rdpsnd_main_c 11 Aug 2026 23:18:17 -0000
> @@ -3,13 +3,13 @@ Default /sound (without parameters) to :
> Index: channels/rdpsnd/client/rdpsnd_main.c
> --- channels/rdpsnd/client/rdpsnd_main.c.orig
> +++ channels/rdpsnd/client/rdpsnd_main.c
> -@@ -986,7 +986,8 @@ static UINT rdpsnd_process_addin_args(rdpsndPlugin* rd
> +@@ -1017,7 +1017,8 @@ static UINT rdpsnd_process_addin_args(rdpsndPlugin* rd
> }
> CommandLineSwitchEnd(arg)
> - } while ((arg = CommandLineFindNextArgumentA(arg)) != NULL);
> + } while ((arg = CommandLineFindNextArgumentA(arg)) != nullptr);
> - }
> + } else
> -+ rdpsnd_set_subsystem(rdpsnd, "sndio"); /* default to sndio(7) not fake backend */
> ++ rdpsnd_set_subsystem(rdpsnd, "sndio"); /* default to sndio(7) not fake backend */
>
> return CHANNEL_RC_OK;
> }
> Index: x11/freerdp/patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c
> diff -N x11/freerdp/patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c
> --- x11/freerdp/patches/patch-channels_tsmf_client_ffmpeg_tsmf_ffmpeg_c 7 Nov 2025 14:19:31 -0000 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,22 +0,0 @@
> -Index: channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
> ---- channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c.orig
> -+++ channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c
> -@@ -624,11 +624,18 @@ static void tsmf_ffmpeg_free(ITSMFDecoder* decoder)
> -
> - if (mdecoder->codec_context)
> - {
> -+
> -+#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 69, 100)
> - if (mdecoder->prepared)
> - avcodec_close(mdecoder->codec_context);
> -+#endif
> -
> - free(mdecoder->codec_context->extradata);
> -+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
> -+ avcodec_free_context(&mdecoder->codec_context);
> -+#else
> - av_free(mdecoder->codec_context);
> -+#endif
> - }
> -
> - free(decoder);
> Index: x11/freerdp/patches/patch-client_X11_CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-client_X11_CMakeLists_txt,v
> diff -u -p -r1.5 patch-client_X11_CMakeLists_txt
> --- x11/freerdp/patches/patch-client_X11_CMakeLists_txt 11 Mar 2022 20:15:31 -0000 1.5
> +++ x11/freerdp/patches/patch-client_X11_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -1,12 +1,12 @@
> Index: client/X11/CMakeLists.txt
> --- client/X11/CMakeLists.txt.orig
> +++ client/X11/CMakeLists.txt
> -@@ -229,7 +229,7 @@ endif()
> - include_directories(${CMAKE_SOURCE_DIR}/resources)
> +@@ -183,7 +183,7 @@ endif()
> + list(APPEND PUB_LIBS freerdp-client)
>
> - set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client freerdp m)
> --if (NOT APPLE)
> -+if ((NOT APPLE) AND (NOT OPENBSD))
> - list(APPEND ${MODULE_PREFIX}_LIBS rt)
> + list(APPEND PRIV_LIBS m)
> +-if(NOT APPLE)
> ++if(NOT APPLE AND NOT OPENBSD)
> + list(APPEND PRIV_LIBS rt)
> endif()
> - target_link_libraries(${MODULE_NAME} ${PRIVATE_KEYWORD} ${${MODULE_PREFIX}_LIBS})
> + target_link_libraries(${PROJECT_NAME} PUBLIC ${PUB_LIBS})
> Index: x11/freerdp/patches/patch-cmake_ConfigOptions_cmake
> ===================================================================
> RCS file: x11/freerdp/patches/patch-cmake_ConfigOptions_cmake
> diff -N x11/freerdp/patches/patch-cmake_ConfigOptions_cmake
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-cmake_ConfigOptions_cmake 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,16 @@
> +broken upstream
> +
> +Index: cmake/ConfigOptions.cmake
> +--- cmake/ConfigOptions.cmake.orig
> ++++ cmake/ConfigOptions.cmake
> +@@ -181,9 +181,7 @@ endif()
> +
> + if(OPENBSD)
> + find_package(SNDIO)
> +- option(WITH_SNDIO "use SNDIO for sound" ${SNDIO_FOUND # OpenBSD
> +- endif () }
> +- )
> ++ option(WITH_SNDIO "use SNDIO for sound" ${SNDIO_FOUND})
> + endif()
> +
> + option(BUILD_FUZZERS "Use BUILD_FUZZERS to build fuzzing tests" OFF)
> Index: x11/freerdp/patches/patch-cmake_FindSNDIO_cmake
> ===================================================================
> RCS file: x11/freerdp/patches/patch-cmake_FindSNDIO_cmake
> diff -N x11/freerdp/patches/patch-cmake_FindSNDIO_cmake
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-cmake_FindSNDIO_cmake 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,29 @@
> +not included when upstream merged the sndio diff
> +
> +Index: cmake/FindSNDIO.cmake
> +--- cmake/FindSNDIO.cmake.orig
> ++++ cmake/FindSNDIO.cmake
> +@@ -0,0 +1,23 @@
> ++# - Try to find sndio
> ++# Once done this will define
> ++# SNDIO_FOUND - sndio was found
> ++# SNDIO_INCLUDE_DIRS - sndio include directories
> ++# SNDIO_LIBRARIES - libraries needed for linking
> ++
> ++find_package(PkgConfig QUIET)
> ++
> ++if(PKG_CONFIG_FOUND)
> ++ pkg_check_modules(PC_SNDIO QUIET sndio)
> ++endif()
> ++
> ++find_path(SNDIO_INCLUDE_DIR sndio.h HINTS ${PC_SNDIO_INCLUDEDIR} ${PC_SNDIO_INCLUDE_DIRS})
> ++
> ++find_library(SNDIO_LIBRARY NAMES sndio HINTS ${PC_SNDIO_LIBDIR} ${PC_SNDIO_LIBRARY_DIRS})
> ++
> ++include(FindPackageHandleStandardArgs)
> ++find_package_handle_standard_args(SNDIO DEFAULT_MSG SNDIO_LIBRARY SNDIO_INCLUDE_DIR)
> ++
> ++set(SNDIO_LIBRARIES ${SNDIO_LIBRARY})
> ++set(SNDIO_INCLUDE_DIRS ${SNDIO_INCLUDE_DIR})
> ++
> ++mark_as_advanced(SNDIO_INCLUDE_DIR SNDIO_LIBRARY)
> Index: x11/freerdp/patches/patch-cmake_PlatformDefaults_cmake
> ===================================================================
> RCS file: x11/freerdp/patches/patch-cmake_PlatformDefaults_cmake
> diff -N x11/freerdp/patches/patch-cmake_PlatformDefaults_cmake
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-cmake_PlatformDefaults_cmake 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,31 @@
> +Index: cmake/PlatformDefaults.cmake
> +--- cmake/PlatformDefaults.cmake.orig
> ++++ cmake/PlatformDefaults.cmake
> +@@ -23,6 +23,7 @@ if(USE_PLATFORM_DEFAULT)
> + if("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
> + set(BSD TRUE CACHE INTERNAL "platform default")
> + set(FREEBSD TRUE CACHE INTERNAL "platform default")
> ++ set(EPOLLSHIM TRUE CACHE INTERNAL "platform default")
> + # we want POSIX 2008. FreeBSD 14 does only support 2001 fully, but the subset we require from 2008
> + # is implemented, so ignore _POSIX_VERSION from unistd.h
> + add_compile_definitions("_POSIX_C_SOURCE=200809L")
> +@@ -65,6 +66,10 @@ if(USE_PLATFORM_DEFAULT)
> + if(${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")
> + set(BSD TRUE CACHE INTERNAL "platform default")
> + set(OPENBSD TRUE CACHE INTERNAL "platform default")
> ++ set(EPOLLSHIM TRUE CACHE INTERNAL "platform default")
> ++ # set _POSIX_C_SOURCE, but also keep internal APIs like getthrid(2)
> ++ add_compile_definitions("_POSIX_C_SOURCE=200809L")
> ++ add_compile_definitions("_BSD_SOURCE")
> + endif()
> +
> + if(${CMAKE_SYSTEM_NAME} MATCHES "DragonFly")
> +@@ -103,7 +108,7 @@ if(USE_PLATFORM_DEFAULT)
> + endif()
> + add_compile_definitions("WINPR_TIMEZONE_FILE=\"${WINPR_TIMEZONE_FILE}\"")
> +
> +- if(FREEBSD)
> ++ if(EPOLLSHIM)
> + find_path(EPOLLSHIM_INCLUDE_DIR NAMES sys/epoll.h sys/timerfd.h HINTS /usr/local/include/libepoll-shim)
> + find_library(EPOLLSHIM_LIBS NAMES epoll-shim libepoll-shim HINTS /usr/local/lib)
> + endif()
> Index: x11/freerdp/patches/patch-libfreerdp_CMakeLists_txt
> ===================================================================
> RCS file: x11/freerdp/patches/patch-libfreerdp_CMakeLists_txt
> diff -N x11/freerdp/patches/patch-libfreerdp_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-libfreerdp_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,41 @@
> +Recognize the bundled FindFFmpeg's uppercase AVCODEC result for MJPEG.
> +
> +Drop useless confusing chunk. Upstream's merging process seems very
> +confusing and often results in commits that seem to be (and in some
> +cases definitely are) bad.
> +
> +Index: libfreerdp/CMakeLists.txt
> +--- libfreerdp/CMakeLists.txt.orig
> ++++ libfreerdp/CMakeLists.txt
> +@@ -176,7 +176,7 @@ if(WITH_SWSCALE)
> + # AVUTIL is needed for av_image_* functions, AVCODEC is optional (for MJPEG in video.c)
> + find_package(FFmpeg REQUIRED COMPONENTS SWSCALE AVUTIL)
> + find_package(FFmpeg COMPONENTS AVCODEC)
> +- if(FFmpeg_avcodec_FOUND)
> ++ if(FFmpeg_AVCODEC_FOUND OR FFmpeg_avcodec_FOUND)
> + message(STATUS "FFmpeg AVCODEC found - MJPEG support available in video codec wrappers")
> + set(WITH_FFMPEG ON)
> + else()
> +@@ -189,22 +189,6 @@ if(WITH_CAIRO)
> + find_package(Cairo REQUIRED)
> + freerdp_pc_add_requires_private("cairo")
> + endif(WITH_CAIRO)
> +-
> +-# Prefer SWScale over Cairo, both at the same time are not possible.
> +-if(WITH_SWSCALE)
> +- if(NOT WITH_SWSCALE_LOADING)
> +- include_directories(SYSTEM ${SWSCALE_INCLUDE_DIRS} ${AVUTIL_INCLUDE_DIRS})
> +- freerdp_library_add(${SWSCALE_LIBRARIES} ${AVUTIL_LIBRARIES})
> +- if(FFmpeg_avcodec_FOUND)
> +- include_directories(SYSTEM ${AVCODEC_INCLUDE_DIRS})
> +- freerdp_library_add(${AVCODEC_LIBRARIES})
> +- endif()
> +- endif(NOT WITH_SWSCALE_LOADING)
> +-endif()
> +-if(WITH_CAIRO)
> +- include_directories(SYSTEM ${CAIRO_INCLUDE_DIR})
> +- freerdp_library_add(${CAIRO_LIBRARY})
> +-endif()
> + if(NOT WITH_SWSCALE AND NOT WITH_CAIRO)
> + message(WARNING "-DWITH_SWSCALE=OFF and -DWITH_CAIRO=OFF, compiling without image scaling support!")
> + endif()
> Index: x11/freerdp/patches/patch-libfreerdp_codec_h264_ffmpeg_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-libfreerdp_codec_h264_ffmpeg_c
> diff -N x11/freerdp/patches/patch-libfreerdp_codec_h264_ffmpeg_c
> --- x11/freerdp/patches/patch-libfreerdp_codec_h264_ffmpeg_c 7 Nov 2025 14:19:31 -0000 1.5
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,27 +0,0 @@
> -Index: libfreerdp/codec/h264_ffmpeg.c
> ---- libfreerdp/codec/h264_ffmpeg.c.orig
> -+++ libfreerdp/codec/h264_ffmpeg.c
> -@@ -100,10 +100,10 @@ static void libavcodec_destroy_encoder(H264_CONTEXT* h
> -
> - if (sys->codecEncoderContext)
> - {
> -- avcodec_close(sys->codecEncoderContext);
> - #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
> - avcodec_free_context(&sys->codecEncoderContext);
> - #else
> -+ avcodec_close(sys->codecEncoderContext);
> - av_free(sys->codecEncoderContext);
> - #endif
> - }
> -@@ -430,10 +430,10 @@ static void libavcodec_uninit(H264_CONTEXT* h264)
> -
> - if (sys->codecDecoderContext)
> - {
> -- avcodec_close(sys->codecDecoderContext);
> - #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55, 69, 100)
> - avcodec_free_context(&sys->codecDecoderContext);
> - #else
> -+ avcodec_close(sys->codecDecoderContext);
> - av_free(sys->codecDecoderContext);
> - #endif
> - }
> Index: x11/freerdp/patches/patch-libfreerdp_core_transport_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-libfreerdp_core_transport_c
> diff -N x11/freerdp/patches/patch-libfreerdp_core_transport_c
> --- x11/freerdp/patches/patch-libfreerdp_core_transport_c 2 Aug 2022 13:02:43 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -Index: libfreerdp/core/transport.c
> ---- libfreerdp/core/transport.c.orig
> -+++ libfreerdp/core/transport.c
> -@@ -300,7 +300,7 @@ BOOL transport_connect_tls(rdpTransport* transport)
> - }
> -
> - transport->frontBio = tls->bio;
> -- BIO_callback_ctrl(tls->bio, BIO_CTRL_SET_CALLBACK, (bio_info_cb*)(void*)transport_ssl_cb);
> -+ BIO_callback_ctrl(tls->bio, BIO_CTRL_SET_CALLBACK, (BIO_info_cb*)(void*)transport_ssl_cb);
> - SSL_set_app_data(tls->ssl, transport);
> -
> - if (!transport->frontBio)
> Index: x11/freerdp/patches/patch-libfreerdp_crypto_crypto_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-libfreerdp_crypto_crypto_c
> diff -N x11/freerdp/patches/patch-libfreerdp_crypto_crypto_c
> --- x11/freerdp/patches/patch-libfreerdp_crypto_crypto_c 10 Feb 2024 17:52:47 -0000 1.4
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,21 +0,0 @@
> -Index: libfreerdp/crypto/crypto.c
> ---- libfreerdp/crypto/crypto.c.orig
> -+++ libfreerdp/crypto/crypto.c
> -@@ -979,7 +979,7 @@ WINPR_MD_TYPE crypto_cert_get_signature_alg(X509* xcer
> - return WINPR_MD_SHA512;
> - case NID_ripemd160:
> - return WINPR_MD_RIPEMD160;
> --#if (OPENSSL_VERSION_NUMBER >= 0x1010101fL) && !defined(LIBRESSL_VERSION_NUMBER)
> -+#if (OPENSSL_VERSION_NUMBER >= 0x1010101fL) && defined(NID_sha3_256)
> - case NID_sha3_224:
> - return WINPR_MD_SHA3_224;
> - case NID_sha3_256:
> -@@ -988,6 +988,8 @@ WINPR_MD_TYPE crypto_cert_get_signature_alg(X509* xcer
> - return WINPR_MD_SHA3_384;
> - case NID_sha3_512:
> - return WINPR_MD_SHA3_512;
> -+#endif
> -+#if defined(NID_shake256)
> - case NID_shake128:
> - return WINPR_MD_SHAKE128;
> - case NID_shake256:
> Index: x11/freerdp/patches/patch-libfreerdp_crypto_tls_c
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-libfreerdp_crypto_tls_c,v
> diff -u -p -r1.10 patch-libfreerdp_crypto_tls_c
> --- x11/freerdp/patches/patch-libfreerdp_crypto_tls_c 2 Aug 2022 13:02:43 -0000 1.10
> +++ x11/freerdp/patches/patch-libfreerdp_crypto_tls_c 11 Aug 2026 23:18:17 -0000
> @@ -3,7 +3,7 @@ Use correct version of BIO_info_cb (we m
> Index: libfreerdp/crypto/tls.c
> --- libfreerdp/crypto/tls.c.orig
> +++ libfreerdp/crypto/tls.c
> -@@ -484,7 +484,7 @@ static int bio_rdp_tls_free(BIO* bio)
> +@@ -536,7 +536,7 @@ static int bio_rdp_tls_free(BIO* bio)
> return 1;
> }
>
> @@ -11,13 +11,13 @@ Index: libfreerdp/crypto/tls.c
> +static long bio_rdp_tls_callback_ctrl(BIO* bio, int cmd, BIO_info_cb* fp)
> {
> long status = 0;
> - BIO_RDP_TLS* tls;
> -@@ -503,7 +503,7 @@ static long bio_rdp_tls_callback_ctrl(BIO* bio, int cm
> - {
> +
> +@@ -555,7 +555,7 @@ static long bio_rdp_tls_callback_ctrl(BIO* bio, int cm
> typedef void (*fkt_t)(const SSL*, int, int);
> +
> /* Documented since https://www.openssl.org/docs/man1.1.1/man3/BIO_set_callback.html
> - * the argument is not really of type bio_info_cb* and must be cast
> + * the argument is not really of type BIO_info_cb* and must be cast
> * to the required type */
> - fkt_t fkt = (fkt_t)(void*)fp;
> - SSL_set_info_callback(tls->ssl, fkt);
> +
> + fkt_t fkt = WINPR_FUNC_PTR_CAST(fp, fkt_t);
> Index: x11/freerdp/patches/patch-uwac_libuwac_CMakeLists_txt
> ===================================================================
> RCS file: x11/freerdp/patches/patch-uwac_libuwac_CMakeLists_txt
> diff -N x11/freerdp/patches/patch-uwac_libuwac_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-uwac_libuwac_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,12 @@
> +Index: uwac/libuwac/CMakeLists.txt
> +--- uwac/libuwac/CMakeLists.txt.orig
> ++++ uwac/libuwac/CMakeLists.txt
> +@@ -49,7 +49,7 @@ generate_protocol_file(ivi-application)
> + generate_protocol_file(fullscreen-shell-unstable-v1)
> + generate_protocol_file(keyboard-shortcuts-inhibit-unstable-v1)
> +
> +-if(FREEBSD)
> ++if(EPOLLSHIM)
> + include_directories(SYSTEM ${EPOLLSHIM_INCLUDE_DIR})
> + endif()
> + include_directories(SYSTEM ${WAYLAND_INCLUDE_DIR})
> Index: x11/freerdp/patches/patch-uwac_libuwac_uwac-os_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-uwac_libuwac_uwac-os_c
> diff -N x11/freerdp/patches/patch-uwac_libuwac_uwac-os_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-uwac_libuwac_uwac-os_c 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,15 @@
> +Don't define the macro if there's no backend support, it breaks the
> +proper fallback in uwac_create_anonymous_file().
> +
> +Index: uwac/libuwac/uwac-os.c
> +--- uwac/libuwac/uwac-os.c.orig
> ++++ uwac/libuwac/uwac-os.c
> +@@ -43,7 +43,7 @@
> + #endif
> +
> + /* uClibc and uClibc-ng don't provide O_TMPFILE */
> +-#if !defined(O_TMPFILE) && !defined(__FreeBSD__)
> ++#if !defined(O_TMPFILE) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
> + #define O_TMPFILE (020000000 | O_DIRECTORY)
> + #endif
> +
> Index: x11/freerdp/patches/patch-winpr_CMakeLists_txt
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_CMakeLists_txt
> diff -N x11/freerdp/patches/patch-winpr_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-winpr_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,38 @@
> +Index: winpr/CMakeLists.txt
> +--- winpr/CMakeLists.txt.orig
> ++++ winpr/CMakeLists.txt
> +@@ -245,6 +245,10 @@ endif()
> + if(NOT IOS)
> + check_include_files(fcntl.h WINPR_HAVE_FCNTL_H)
> + check_include_files(aio.h WINPR_HAVE_AIO_H)
> ++ if(EPOLLSHIM)
> ++ list(APPEND CMAKE_REQUIRED_INCLUDES ${EPOLLSHIM_INCLUDE_DIR})
> ++ list(APPEND CMAKE_REQUIRED_LIBRARIES ${EPOLLSHIM_LIBS})
> ++ endif()
> + check_include_files(sys/timerfd.h WINPR_HAVE_SYS_TIMERFD_H)
> + check_include_files(unistd.h WINPR_HAVE_UNISTD_H)
> + check_include_files(inttypes.h WINPR_HAVE_INTTYPES_H)
> +@@ -257,6 +261,10 @@ if(NOT IOS)
> + if(WINPR_HAVE_SYS_EVENTFD_H)
> + check_symbol_exists(eventfd_read sys/eventfd.h WITH_EVENTFD_READ_WRITE)
> + endif()
> ++ if(EPOLLSHIM)
> ++ list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${EPOLLSHIM_INCLUDE_DIR})
> ++ list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${EPOLLSHIM_LIBS})
> ++ endif()
> +
> + include(CheckFunctionExists)
> + check_function_exists(strerror_r WINPR_HAVE_STRERROR_R)
> +@@ -272,12 +280,6 @@ else()
> + endif()
> +
> + if(UNIX OR CYGWIN)
> +- if(FREEBSD)
> +- list(APPEND CMAKE_REQUIRED_INCLUDES ${EPOLLSHIM_INCLUDE_DIR})
> +- endif()
> +- if(FREEBSD)
> +- list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${EPOLLSHIM_INCLUDE_DIR})
> +- endif()
> + option(WITH_POLL "Check for and include poll.h" ON)
> + if(WITH_POLL)
> + check_include_files(poll.h WINPR_HAVE_POLL_H)
> Index: x11/freerdp/patches/patch-winpr_include_winpr_string_h
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_include_winpr_string_h
> diff -N x11/freerdp/patches/patch-winpr_include_winpr_string_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-winpr_include_winpr_string_h 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,13 @@
> +Include stdarg.h for the va_list type exposed by the winpr_vasprintf.
> +
> +Index: winpr/include/winpr/string.h
> +--- winpr/include/winpr/string.h.orig
> ++++ winpr/include/winpr/string.h
> +@@ -21,6 +21,7 @@
> + #ifndef WINPR_CRT_STRING_H
> + #define WINPR_CRT_STRING_H
> +
> ++#include <stdarg.h>
> + #include <wchar.h>
> + #include <stdio.h>
> + #include <string.h>
> Index: x11/freerdp/patches/patch-winpr_libwinpr_library_CMakeLists_txt
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_libwinpr_library_CMakeLists_txt
> diff -N x11/freerdp/patches/patch-winpr_libwinpr_library_CMakeLists_txt
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-winpr_libwinpr_library_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,11 @@
> +Index: winpr/libwinpr/library/CMakeLists.txt
> +--- winpr/libwinpr/library/CMakeLists.txt.orig
> ++++ winpr/libwinpr/library/CMakeLists.txt
> +@@ -17,6 +17,6 @@
> +
> + winpr_module_add(library.c)
> +
> +-if(BUILD_TESTING_INTERNAL OR BUILD_TESTING)
> ++if(BUILD_TESTING_INTERNAL OR BUILD_TESTING) # AND NOT OPENBSD -- no getexepath() yet
> + add_subdirectory(test)
> + endif()
> Index: x11/freerdp/patches/patch-winpr_libwinpr_synch_CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-winpr_libwinpr_synch_CMakeLists_txt,v
> diff -u -p -r1.6 patch-winpr_libwinpr_synch_CMakeLists_txt
> --- x11/freerdp/patches/patch-winpr_libwinpr_synch_CMakeLists_txt 11 Mar 2022 20:15:31 -0000 1.6
> +++ x11/freerdp/patches/patch-winpr_libwinpr_synch_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -1,18 +1,12 @@
> Index: winpr/libwinpr/synch/CMakeLists.txt
> --- winpr/libwinpr/synch/CMakeLists.txt.orig
> +++ winpr/libwinpr/synch/CMakeLists.txt
> -@@ -30,9 +30,13 @@ winpr_module_add(
> - timer.c
> - wait.c)
> +@@ -31,7 +31,7 @@ winpr_module_add(
> + wait.c
> + )
>
> -if(FREEBSD)
> +if(EPOLLSHIM)
> - winpr_include_directory_add(${EPOLLSHIM_INCLUDE_DIR})
> - winpr_library_add_private(${EPOLLSHIM_LIBS})
> -+endif()
> -+
> -+if(EXECINFO_LIBS)
> -+ winpr_library_add_private(${EXECINFO_LIBS})
> + winpr_system_include_directory_add(${EPOLLSHIM_INCLUDE_DIR})
> + winpr_library_add_private(${EPOLLSHIM_LIBS})
> endif()
> -
> - if(BUILD_TESTING)
> Index: x11/freerdp/patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt,v
> diff -u -p -r1.4 patch-winpr_libwinpr_synch_test_CMakeLists_txt
> --- x11/freerdp/patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt 11 Mar 2022 20:15:31 -0000 1.4
> +++ x11/freerdp/patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -1,12 +1,19 @@
> Index: winpr/libwinpr/synch/test/CMakeLists.txt
> --- winpr/libwinpr/synch/test/CMakeLists.txt.orig
> +++ winpr/libwinpr/synch/test/CMakeLists.txt
> -@@ -22,7 +22,7 @@ create_test_sourcelist(${MODULE_PREFIX}_SRCS
> - ${${MODULE_PREFIX}_DRIVER}
> - ${${MODULE_PREFIX}_TESTS})
> +@@ -20,9 +20,14 @@ set(${MODULE_PREFIX}_TESTS
> + TestSynchAPC.c
> + )
> +
> ++# openbsd doesn't have proper posix timers
> ++if(OPENBSD)
> ++ list(REMOVE_ITEM ${MODULE_PREFIX}_TESTS TestSynchTimerQueue.c)
> ++endif()
> ++
> + create_test_sourcelist(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_DRIVER} ${${MODULE_PREFIX}_TESTS})
>
> -if(FREEBSD)
> +if(EPOLLSHIM)
> - include_directories(${EPOLLSHIM_INCLUDE_DIR})
> + include_directories(SYSTEM ${EPOLLSHIM_INCLUDE_DIR})
> endif()
>
> Index: x11/freerdp/patches/patch-winpr_libwinpr_sysinfo_sysinfo_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_libwinpr_sysinfo_sysinfo_c
> diff -N x11/freerdp/patches/patch-winpr_libwinpr_sysinfo_sysinfo_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-winpr_libwinpr_sysinfo_sysinfo_c 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,21 @@
> +Linux CLOCK_MONOTONIC is unaffected by admin jumps in time but is
> +affected by NTP skewing etc so multiple calls may return the same value.
> +CLOCK_MONOTONIC_RAW is not affected by skewing. Depending on which
> +behaviour upstream wants, this change may or may not be correct.
> +
> +Index: winpr/libwinpr/sysinfo/sysinfo.c
> +--- winpr/libwinpr/sysinfo/sysinfo.c.orig
> ++++ winpr/libwinpr/sysinfo/sysinfo.c
> +@@ -328,7 +328,11 @@ BOOL GetSystemTimeAdjustment(WINPR_ATTR_UNUSED PDWORD
> + }
> +
> + #ifndef CLOCK_MONOTONIC_RAW
> +-#define CLOCK_MONOTONIC_RAW 4
> ++# if defined(__linux__)
> ++# define CLOCK_MONOTONIC_RAW 4
> ++# else
> ++# define CLOCK_MONOTONIC_RAW CLOCK_MONOTONIC
> ++# endif
> + #endif
> +
> + DWORD GetTickCount(void)
> Index: x11/freerdp/patches/patch-winpr_libwinpr_thread_thread_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_libwinpr_thread_thread_c
> diff -N x11/freerdp/patches/patch-winpr_libwinpr_thread_thread_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/freerdp/patches/patch-winpr_libwinpr_thread_thread_c 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,12 @@
> +Index: winpr/libwinpr/thread/thread.c
> +--- winpr/libwinpr/thread/thread.c.orig
> ++++ winpr/libwinpr/thread/thread.c
> +@@ -907,6 +907,8 @@ DWORD GetCurrentThreadId(VOID)
> + {
> + #if defined(__FreeBSD__)
> + return WINPR_CXX_COMPAT_CAST(DWORD, pthread_getthreadid_np());
> ++#elif defined(__OpenBSD__)
> ++ return WINPR_CXX_COMPAT_CAST(DWORD, getthrid());
> + #elif defined(__linux__)
> + return WINPR_CXX_COMPAT_CAST(DWORD, syscall(SYS_gettid));
> + #else
> Index: x11/freerdp/patches/patch-winpr_libwinpr_utils_collections_Queue_c
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_libwinpr_utils_collections_Queue_c
> diff -N x11/freerdp/patches/patch-winpr_libwinpr_utils_collections_Queue_c
> --- x11/freerdp/patches/patch-winpr_libwinpr_utils_collections_Queue_c 21 May 2026 17:02:48 -0000 1.1
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -Index: winpr/libwinpr/utils/collections/Queue.c
> ---- winpr/libwinpr/utils/collections/Queue.c.orig
> -+++ winpr/libwinpr/utils/collections/Queue.c
> -@@ -160,7 +160,7 @@ static BOOL Queue_EnsureCapacity(wQueue* queue, size_t
> - if (new_capacity > SIZE_MAX / sizeof(BYTE*))
> - return FALSE;
> -
> -- uintptr_t* newArray = (uintptr_t*)realloc(queue->array, sizeof(uintptr_t) * new_capacity);
> -+ void **newArray = (void**)realloc(queue->array, sizeof(uintptr_t) * new_capacity);
> -
> - if (!newArray)
> - return FALSE;
> Index: x11/freerdp/patches/patch-winpr_libwinpr_utils_trio_triodef_h
> ===================================================================
> RCS file: x11/freerdp/patches/patch-winpr_libwinpr_utils_trio_triodef_h
> diff -N x11/freerdp/patches/patch-winpr_libwinpr_utils_trio_triodef_h
> --- x11/freerdp/patches/patch-winpr_libwinpr_utils_trio_triodef_h 11 Mar 2022 20:15:31 -0000 1.3
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -Index: winpr/libwinpr/utils/trio/triodef.h
> ---- winpr/libwinpr/utils/trio/triodef.h.orig
> -+++ winpr/libwinpr/utils/trio/triodef.h
> -@@ -88,7 +88,7 @@
> - #endif
> - #endif
> -
> --#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
> -+#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__)
> - #define TRIO_PLATFORM_UNIX
> - #endif
> -
> Index: x11/freerdp/patches/patch-winpr_winpr_pc_in
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/patches/patch-winpr_winpr_pc_in,v
> diff -u -p -r1.2 patch-winpr_winpr_pc_in
> --- x11/freerdp/patches/patch-winpr_winpr_pc_in 11 Mar 2022 20:15:31 -0000 1.2
> +++ x11/freerdp/patches/patch-winpr_winpr_pc_in 11 Aug 2026 23:18:17 -0000
> @@ -3,8 +3,8 @@ Index: winpr/winpr.pc.in
> +++ winpr/winpr.pc.in
> @@ -11,5 +11,5 @@ Version: @WINPR_VERSION@
> Requires:
> - Requires.private: libssl
> + Requires.private: @WINPR_PC_REQUIRES_PRIVATE@
> Libs: -L${libdir} ${libs}
> --Libs.private: -ldl -lrt -lm -lpthread
> +-Libs.private: @WINPR_PC_LIBRARY_PRIVATE@
> +Libs.private: -lm -lpthread
> Cflags: -I${includedir}
> Index: x11/freerdp/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/x11/freerdp/pkg/PLIST,v
> diff -u -p -r1.14 PLIST
> --- x11/freerdp/pkg/PLIST 17 Feb 2023 10:05:05 -0000 1.14
> +++ x11/freerdp/pkg/PLIST 11 Aug 2026 23:18:17 -0000
> @@ -1,263 +1,316 @@
> @pkgpath x11/freerdp,no_cups
> +@bin bin/sfreerdp
> @bin bin/winpr-hash
> @bin bin/winpr-makecert
> @bin bin/xfreerdp
> -include/freerdp2/
> -include/freerdp2/freerdp/
> -include/freerdp2/freerdp/addin.h
> -include/freerdp2/freerdp/altsec.h
> -include/freerdp2/freerdp/api.h
> -include/freerdp2/freerdp/assistance.h
> -include/freerdp2/freerdp/autodetect.h
> -include/freerdp2/freerdp/build-config.h
> -include/freerdp2/freerdp/cache/
> -include/freerdp2/freerdp/cache/bitmap.h
> -include/freerdp2/freerdp/cache/brush.h
> -include/freerdp2/freerdp/cache/cache.h
> -include/freerdp2/freerdp/cache/glyph.h
> -include/freerdp2/freerdp/cache/nine_grid.h
> -include/freerdp2/freerdp/cache/offscreen.h
> -include/freerdp2/freerdp/cache/palette.h
> -include/freerdp2/freerdp/cache/pointer.h
> -include/freerdp2/freerdp/channels/
> -include/freerdp2/freerdp/channels/ainput.h
> -include/freerdp2/freerdp/channels/audin.h
> -include/freerdp2/freerdp/channels/channels.h
> -include/freerdp2/freerdp/channels/cliprdr.h
> -include/freerdp2/freerdp/channels/disp.h
> -include/freerdp2/freerdp/channels/echo.h
> -include/freerdp2/freerdp/channels/encomsp.h
> -include/freerdp2/freerdp/channels/geometry.h
> -include/freerdp2/freerdp/channels/log.h
> -include/freerdp2/freerdp/channels/rail.h
> -include/freerdp2/freerdp/channels/rdpdr.h
> -include/freerdp2/freerdp/channels/rdpecam.h
> -include/freerdp2/freerdp/channels/rdpei.h
> -include/freerdp2/freerdp/channels/rdpgfx.h
> -include/freerdp2/freerdp/channels/rdpsnd.h
> -include/freerdp2/freerdp/channels/remdesk.h
> -include/freerdp2/freerdp/channels/telemetry.h
> -include/freerdp2/freerdp/channels/tsmf.h
> -include/freerdp2/freerdp/channels/urbdrc.h
> -include/freerdp2/freerdp/channels/video.h
> -include/freerdp2/freerdp/channels/wtsvc.h
> -include/freerdp2/freerdp/client/
> -include/freerdp2/freerdp/client.h
> -include/freerdp2/freerdp/client/ainput.h
> -include/freerdp2/freerdp/client/audin.h
> -include/freerdp2/freerdp/client/channels.h
> -include/freerdp2/freerdp/client/cliprdr.h
> -include/freerdp2/freerdp/client/cmdline.h
> -include/freerdp2/freerdp/client/disp.h
> -include/freerdp2/freerdp/client/drdynvc.h
> -include/freerdp2/freerdp/client/encomsp.h
> -include/freerdp2/freerdp/client/file.h
> -include/freerdp2/freerdp/client/geometry.h
> -include/freerdp2/freerdp/client/printer.h
> -include/freerdp2/freerdp/client/rail.h
> -include/freerdp2/freerdp/client/rdpei.h
> -include/freerdp2/freerdp/client/rdpgfx.h
> -include/freerdp2/freerdp/client/rdpsnd.h
> -include/freerdp2/freerdp/client/remdesk.h
> -include/freerdp2/freerdp/client/sshagent.h
> -include/freerdp2/freerdp/client/tsmf.h
> -include/freerdp2/freerdp/client/video.h
> -include/freerdp2/freerdp/codec/
> -include/freerdp2/freerdp/codec/audio.h
> -include/freerdp2/freerdp/codec/bitmap.h
> -include/freerdp2/freerdp/codec/bulk.h
> -include/freerdp2/freerdp/codec/clear.h
> -include/freerdp2/freerdp/codec/color.h
> -include/freerdp2/freerdp/codec/dsp.h
> -include/freerdp2/freerdp/codec/h264.h
> -include/freerdp2/freerdp/codec/interleaved.h
> -include/freerdp2/freerdp/codec/jpeg.h
> -include/freerdp2/freerdp/codec/mppc.h
> -include/freerdp2/freerdp/codec/ncrush.h
> -include/freerdp2/freerdp/codec/nsc.h
> -include/freerdp2/freerdp/codec/planar.h
> -include/freerdp2/freerdp/codec/progressive.h
> -include/freerdp2/freerdp/codec/region.h
> -include/freerdp2/freerdp/codec/rfx.h
> -include/freerdp2/freerdp/codec/xcrush.h
> -include/freerdp2/freerdp/codec/yuv.h
> -include/freerdp2/freerdp/codec/zgfx.h
> -include/freerdp2/freerdp/codecs.h
> -include/freerdp2/freerdp/constants.h
> -include/freerdp2/freerdp/crypto/
> -include/freerdp2/freerdp/crypto/ber.h
> -include/freerdp2/freerdp/crypto/certificate.h
> -include/freerdp2/freerdp/crypto/crypto.h
> -include/freerdp2/freerdp/crypto/der.h
> -include/freerdp2/freerdp/crypto/er.h
> -include/freerdp2/freerdp/crypto/per.h
> -include/freerdp2/freerdp/crypto/tls.h
> -include/freerdp2/freerdp/display.h
> -include/freerdp2/freerdp/dvc.h
> -include/freerdp2/freerdp/error.h
> -include/freerdp2/freerdp/event.h
> -include/freerdp2/freerdp/extension.h
> -include/freerdp2/freerdp/freerdp.h
> -include/freerdp2/freerdp/gdi/
> -include/freerdp2/freerdp/gdi/bitmap.h
> -include/freerdp2/freerdp/gdi/dc.h
> -include/freerdp2/freerdp/gdi/gdi.h
> -include/freerdp2/freerdp/gdi/gfx.h
> -include/freerdp2/freerdp/gdi/pen.h
> -include/freerdp2/freerdp/gdi/region.h
> -include/freerdp2/freerdp/gdi/shape.h
> -include/freerdp2/freerdp/gdi/video.h
> -include/freerdp2/freerdp/graphics.h
> -include/freerdp2/freerdp/heartbeat.h
> -include/freerdp2/freerdp/input.h
> -include/freerdp2/freerdp/license.h
> -include/freerdp2/freerdp/listener.h
> -include/freerdp2/freerdp/locale/
> -include/freerdp2/freerdp/locale/keyboard.h
> -include/freerdp2/freerdp/locale/locale.h
> -include/freerdp2/freerdp/log.h
> -include/freerdp2/freerdp/message.h
> -include/freerdp2/freerdp/metrics.h
> -include/freerdp2/freerdp/peer.h
> -include/freerdp2/freerdp/pointer.h
> -include/freerdp2/freerdp/primary.h
> -include/freerdp2/freerdp/primitives.h
> -include/freerdp2/freerdp/rail.h
> -include/freerdp2/freerdp/scancode.h
> -include/freerdp2/freerdp/secondary.h
> -include/freerdp2/freerdp/server/
> -include/freerdp2/freerdp/server/ainput.h
> -include/freerdp2/freerdp/server/audin.h
> -include/freerdp2/freerdp/server/channels.h
> -include/freerdp2/freerdp/server/cliprdr.h
> -include/freerdp2/freerdp/server/disp.h
> -include/freerdp2/freerdp/server/drdynvc.h
> -include/freerdp2/freerdp/server/echo.h
> -include/freerdp2/freerdp/server/encomsp.h
> -include/freerdp2/freerdp/server/rail.h
> -include/freerdp2/freerdp/server/rdpdr.h
> -include/freerdp2/freerdp/server/rdpecam-enumerator.h
> -include/freerdp2/freerdp/server/rdpecam.h
> -include/freerdp2/freerdp/server/rdpei.h
> -include/freerdp2/freerdp/server/rdpgfx.h
> -include/freerdp2/freerdp/server/rdpsnd.h
> -include/freerdp2/freerdp/server/remdesk.h
> -include/freerdp2/freerdp/server/server-common.h
> -include/freerdp2/freerdp/server/shadow.h
> -include/freerdp2/freerdp/server/telemetry.h
> -include/freerdp2/freerdp/session.h
> -include/freerdp2/freerdp/settings.h
> -include/freerdp2/freerdp/svc.h
> -include/freerdp2/freerdp/types.h
> -include/freerdp2/freerdp/update.h
> -include/freerdp2/freerdp/utils/
> -include/freerdp2/freerdp/utils/cliprdr_utils.h
> -include/freerdp2/freerdp/utils/passphrase.h
> -include/freerdp2/freerdp/utils/pcap.h
> -include/freerdp2/freerdp/utils/profiler.h
> -include/freerdp2/freerdp/utils/ringbuffer.h
> -include/freerdp2/freerdp/utils/signal.h
> -include/freerdp2/freerdp/utils/stopwatch.h
> -include/freerdp2/freerdp/utils/string.h
> -include/freerdp2/freerdp/version.h
> -include/freerdp2/freerdp/window.h
> -include/winpr2/
> -include/winpr2/winpr/
> -include/winpr2/winpr/asn1.h
> -include/winpr2/winpr/assert.h
> -include/winpr2/winpr/bcrypt.h
> -include/winpr2/winpr/bitstream.h
> -include/winpr2/winpr/clipboard.h
> -include/winpr2/winpr/cmdline.h
> -include/winpr2/winpr/collections.h
> -include/winpr2/winpr/comm.h
> -include/winpr2/winpr/credentials.h
> -include/winpr2/winpr/credui.h
> -include/winpr2/winpr/crt.h
> -include/winpr2/winpr/crypto.h
> -include/winpr2/winpr/custom-crypto.h
> -include/winpr2/winpr/debug.h
> -include/winpr2/winpr/dsparse.h
> -include/winpr2/winpr/endian.h
> -include/winpr2/winpr/environment.h
> -include/winpr2/winpr/error.h
> -include/winpr2/winpr/file.h
> -include/winpr2/winpr/handle.h
> -include/winpr2/winpr/heap.h
> -include/winpr2/winpr/image.h
> -include/winpr2/winpr/ini.h
> -include/winpr2/winpr/input.h
> -include/winpr2/winpr/interlocked.h
> -include/winpr2/winpr/intrin.h
> -include/winpr2/winpr/io.h
> -include/winpr2/winpr/library.h
> -include/winpr2/winpr/locale.h
> -include/winpr2/winpr/memory.h
> -include/winpr2/winpr/midl.h
> -include/winpr2/winpr/ndr.h
> -include/winpr2/winpr/nt.h
> -include/winpr2/winpr/ntlm.h
> -include/winpr2/winpr/pack.h
> -include/winpr2/winpr/path.h
> -include/winpr2/winpr/pipe.h
> -include/winpr2/winpr/platform.h
> -include/winpr2/winpr/pool.h
> -include/winpr2/winpr/print.h
> -include/winpr2/winpr/registry.h
> -include/winpr2/winpr/rpc.h
> -include/winpr2/winpr/sam.h
> -include/winpr2/winpr/schannel.h
> -include/winpr2/winpr/security.h
> -include/winpr2/winpr/shell.h
> -include/winpr2/winpr/smartcard.h
> -include/winpr2/winpr/spec.h
> -include/winpr2/winpr/ssl.h
> -include/winpr2/winpr/sspi.h
> -include/winpr2/winpr/sspicli.h
> -include/winpr2/winpr/stream.h
> -include/winpr2/winpr/string.h
> -include/winpr2/winpr/strlst.h
> -include/winpr2/winpr/synch.h
> -include/winpr2/winpr/sysinfo.h
> -include/winpr2/winpr/tchar.h
> -include/winpr2/winpr/thread.h
> -include/winpr2/winpr/timezone.h
> -include/winpr2/winpr/tools/
> -include/winpr2/winpr/tools/makecert.h
> -include/winpr2/winpr/user.h
> -include/winpr2/winpr/version.h
> -include/winpr2/winpr/wincrypt.h
> -include/winpr2/winpr/windows.h
> -include/winpr2/winpr/winhttp.h
> -include/winpr2/winpr/winpr.h
> -include/winpr2/winpr/winsock.h
> -include/winpr2/winpr/wlog.h
> -include/winpr2/winpr/wnd.h
> -include/winpr2/winpr/wtsapi.h
> -include/winpr2/winpr/wtypes.h
> -lib/cmake/FreeRDP-Client2/
> -lib/cmake/FreeRDP-Client2/FreeRDP-ClientConfig.cmake
> -lib/cmake/FreeRDP-Client2/FreeRDP-ClientConfigVersion.cmake
> -lib/cmake/FreeRDP-Client2/FreeRDP-ClientTargets${MODCMAKE_BUILD_SUFFIX}
> -lib/cmake/FreeRDP-Client2/FreeRDP-ClientTargets.cmake
> -lib/cmake/FreeRDP2/
> -lib/cmake/FreeRDP2/FreeRDPConfig.cmake
> -lib/cmake/FreeRDP2/FreeRDPConfigVersion.cmake
> -lib/cmake/FreeRDP2/FreeRDPTargets${MODCMAKE_BUILD_SUFFIX}
> -lib/cmake/FreeRDP2/FreeRDPTargets.cmake
> -lib/cmake/WinPR2/
> -lib/cmake/WinPR2/WinPRConfig.cmake
> -lib/cmake/WinPR2/WinPRConfigVersion.cmake
> -lib/cmake/WinPR2/WinPRTargets${MODCMAKE_BUILD_SUFFIX}
> -lib/cmake/WinPR2/WinPRTargets.cmake
> -@lib lib/libfreerdp-client2.so.${LIBfreerdp-client2_VERSION}
> -@lib lib/libfreerdp2.so.${LIBfreerdp2_VERSION}
> -@lib lib/libwinpr-tools2.so.${LIBwinpr-tools2_VERSION}
> -@lib lib/libwinpr2.so.${LIBwinpr2_VERSION}
> -lib/pkgconfig/freerdp-client2.pc
> -lib/pkgconfig/freerdp2.pc
> -lib/pkgconfig/winpr-tools2.pc
> -lib/pkgconfig/winpr2.pc
> +include/freerdp3/
> +include/freerdp3/freerdp/
> +include/freerdp3/freerdp/addin.h
> +include/freerdp3/freerdp/altsec.h
> +include/freerdp3/freerdp/api.h
> +include/freerdp3/freerdp/assistance.h
> +include/freerdp3/freerdp/autodetect.h
> +include/freerdp3/freerdp/build-config.h
> +include/freerdp3/freerdp/buildflags.h
> +include/freerdp3/freerdp/cache/
> +include/freerdp3/freerdp/cache/persistent.h
> +include/freerdp3/freerdp/channels/
> +include/freerdp3/freerdp/channels/ainput.h
> +include/freerdp3/freerdp/channels/audin.h
> +include/freerdp3/freerdp/channels/channels.h
> +include/freerdp3/freerdp/channels/cliprdr.h
> +include/freerdp3/freerdp/channels/disp.h
> +include/freerdp3/freerdp/channels/drdynvc.h
> +include/freerdp3/freerdp/channels/echo.h
> +include/freerdp3/freerdp/channels/encomsp.h
> +include/freerdp3/freerdp/channels/geometry.h
> +include/freerdp3/freerdp/channels/gfxredir.h
> +include/freerdp3/freerdp/channels/location.h
> +include/freerdp3/freerdp/channels/log.h
> +include/freerdp3/freerdp/channels/rail.h
> +include/freerdp3/freerdp/channels/rdp2tcp.h
> +include/freerdp3/freerdp/channels/rdpdr.h
> +include/freerdp3/freerdp/channels/rdpear.h
> +include/freerdp3/freerdp/channels/rdpecam.h
> +include/freerdp3/freerdp/channels/rdpei.h
> +include/freerdp3/freerdp/channels/rdpemsc.h
> +include/freerdp3/freerdp/channels/rdpewa.h
> +include/freerdp3/freerdp/channels/rdpgfx.h
> +include/freerdp3/freerdp/channels/rdpsnd.h
> +include/freerdp3/freerdp/channels/remdesk.h
> +include/freerdp3/freerdp/channels/scard.h
> +include/freerdp3/freerdp/channels/telemetry.h
> +include/freerdp3/freerdp/channels/tsmf.h
> +include/freerdp3/freerdp/channels/urbdrc.h
> +include/freerdp3/freerdp/channels/video.h
> +include/freerdp3/freerdp/channels/wtsvc.h
> +include/freerdp3/freerdp/client/
> +include/freerdp3/freerdp/client.h
> +include/freerdp3/freerdp/client/ainput.h
> +include/freerdp3/freerdp/client/audin.h
> +include/freerdp3/freerdp/client/channels.h
> +include/freerdp3/freerdp/client/client_cliprdr_file.h
> +include/freerdp3/freerdp/client/cliprdr.h
> +include/freerdp3/freerdp/client/cmdline.h
> +include/freerdp3/freerdp/client/disp.h
> +include/freerdp3/freerdp/client/drdynvc.h
> +include/freerdp3/freerdp/client/encomsp.h
> +include/freerdp3/freerdp/client/file.h
> +include/freerdp3/freerdp/client/geometry.h
> +include/freerdp3/freerdp/client/location.h
> +include/freerdp3/freerdp/client/printer.h
> +include/freerdp3/freerdp/client/rail.h
> +include/freerdp3/freerdp/client/rdpdr.h
> +include/freerdp3/freerdp/client/rdpei.h
> +include/freerdp3/freerdp/client/rdpgfx.h
> +include/freerdp3/freerdp/client/rdpsnd.h
> +include/freerdp3/freerdp/client/remdesk.h
> +include/freerdp3/freerdp/client/sshagent.h
> +include/freerdp3/freerdp/client/tsmf.h
> +include/freerdp3/freerdp/client/utils/
> +include/freerdp3/freerdp/client/utils/smartcard_cli.h
> +include/freerdp3/freerdp/client/video.h
> +include/freerdp3/freerdp/codec/
> +include/freerdp3/freerdp/codec/audio.h
> +include/freerdp3/freerdp/codec/av1.h
> +include/freerdp3/freerdp/codec/bitmap.h
> +include/freerdp3/freerdp/codec/bulk.h
> +include/freerdp3/freerdp/codec/clear.h
> +include/freerdp3/freerdp/codec/color.h
> +include/freerdp3/freerdp/codec/dsp.h
> +include/freerdp3/freerdp/codec/h264.h
> +include/freerdp3/freerdp/codec/interleaved.h
> +include/freerdp3/freerdp/codec/jpeg.h
> +include/freerdp3/freerdp/codec/nsc.h
> +include/freerdp3/freerdp/codec/planar.h
> +include/freerdp3/freerdp/codec/progressive.h
> +include/freerdp3/freerdp/codec/region.h
> +include/freerdp3/freerdp/codec/rfx.h
> +include/freerdp3/freerdp/codec/video.h
> +include/freerdp3/freerdp/codec/yuv.h
> +include/freerdp3/freerdp/codec/zgfx.h
> +include/freerdp3/freerdp/codecs.h
> +include/freerdp3/freerdp/config.h
> +include/freerdp3/freerdp/constants.h
> +include/freerdp3/freerdp/crypto/
> +include/freerdp3/freerdp/crypto/ber.h
> +include/freerdp3/freerdp/crypto/certificate.h
> +include/freerdp3/freerdp/crypto/certificate_data.h
> +include/freerdp3/freerdp/crypto/certificate_store.h
> +include/freerdp3/freerdp/crypto/crypto.h
> +include/freerdp3/freerdp/crypto/der.h
> +include/freerdp3/freerdp/crypto/er.h
> +include/freerdp3/freerdp/crypto/per.h
> +include/freerdp3/freerdp/crypto/privatekey.h
> +include/freerdp3/freerdp/display.h
> +include/freerdp3/freerdp/dvc.h
> +include/freerdp3/freerdp/emulate/
> +include/freerdp3/freerdp/emulate/scard/
> +include/freerdp3/freerdp/emulate/scard/smartcard_emulate.h
> +include/freerdp3/freerdp/error.h
> +include/freerdp3/freerdp/event.h
> +include/freerdp3/freerdp/extension.h
> +include/freerdp3/freerdp/freerdp.h
> +include/freerdp3/freerdp/gdi/
> +include/freerdp3/freerdp/gdi/bitmap.h
> +include/freerdp3/freerdp/gdi/dc.h
> +include/freerdp3/freerdp/gdi/gdi.h
> +include/freerdp3/freerdp/gdi/gfx.h
> +include/freerdp3/freerdp/gdi/pen.h
> +include/freerdp3/freerdp/gdi/region.h
> +include/freerdp3/freerdp/gdi/shape.h
> +include/freerdp3/freerdp/gdi/video.h
> +include/freerdp3/freerdp/graphics.h
> +include/freerdp3/freerdp/heartbeat.h
> +include/freerdp3/freerdp/input.h
> +include/freerdp3/freerdp/license.h
> +include/freerdp3/freerdp/listener.h
> +include/freerdp3/freerdp/locale/
> +include/freerdp3/freerdp/locale/keyboard.h
> +include/freerdp3/freerdp/locale/locale.h
> +include/freerdp3/freerdp/log.h
> +include/freerdp3/freerdp/message.h
> +include/freerdp3/freerdp/metrics.h
> +include/freerdp3/freerdp/peer.h
> +include/freerdp3/freerdp/pointer.h
> +include/freerdp3/freerdp/primary.h
> +include/freerdp3/freerdp/primitives.h
> +include/freerdp3/freerdp/rail.h
> +include/freerdp3/freerdp/redirection.h
> +include/freerdp3/freerdp/scancode.h
> +include/freerdp3/freerdp/secondary.h
> +include/freerdp3/freerdp/server/
> +include/freerdp3/freerdp/server/ainput.h
> +include/freerdp3/freerdp/server/audin.h
> +include/freerdp3/freerdp/server/channels.h
> +include/freerdp3/freerdp/server/cliprdr.h
> +include/freerdp3/freerdp/server/disp.h
> +include/freerdp3/freerdp/server/drdynvc.h
> +include/freerdp3/freerdp/server/echo.h
> +include/freerdp3/freerdp/server/encomsp.h
> +include/freerdp3/freerdp/server/gfxredir.h
> +include/freerdp3/freerdp/server/location.h
> +include/freerdp3/freerdp/server/proxy/
> +include/freerdp3/freerdp/server/proxy/proxy_config.h
> +include/freerdp3/freerdp/server/proxy/proxy_context.h
> +include/freerdp3/freerdp/server/proxy/proxy_log.h
> +include/freerdp3/freerdp/server/proxy/proxy_modules_api.h
> +include/freerdp3/freerdp/server/proxy/proxy_server.h
> +include/freerdp3/freerdp/server/proxy/proxy_types.h
> +include/freerdp3/freerdp/server/rail.h
> +include/freerdp3/freerdp/server/rdpdr.h
> +include/freerdp3/freerdp/server/rdpecam-enumerator.h
> +include/freerdp3/freerdp/server/rdpecam.h
> +include/freerdp3/freerdp/server/rdpei.h
> +include/freerdp3/freerdp/server/rdpemsc.h
> +include/freerdp3/freerdp/server/rdpgfx.h
> +include/freerdp3/freerdp/server/rdpsnd.h
> +include/freerdp3/freerdp/server/remdesk.h
> +include/freerdp3/freerdp/server/server-common.h
> +include/freerdp3/freerdp/server/shadow.h
> +include/freerdp3/freerdp/server/telemetry.h
> +include/freerdp3/freerdp/session.h
> +include/freerdp3/freerdp/settings.h
> +include/freerdp3/freerdp/settings_keys.h
> +include/freerdp3/freerdp/settings_types.h
> +include/freerdp3/freerdp/settings_types_private.h
> +include/freerdp3/freerdp/streamdump.h
> +include/freerdp3/freerdp/svc.h
> +include/freerdp3/freerdp/timer.h
> +include/freerdp3/freerdp/transport_io.h
> +include/freerdp3/freerdp/types.h
> +include/freerdp3/freerdp/update.h
> +include/freerdp3/freerdp/utils/
> +include/freerdp3/freerdp/utils/aad.h
> +include/freerdp3/freerdp/utils/channel_pdu_tracker.h
> +include/freerdp3/freerdp/utils/cliprdr_utils.h
> +include/freerdp3/freerdp/utils/drdynvc.h
> +include/freerdp3/freerdp/utils/encoded_types.h
> +include/freerdp3/freerdp/utils/gfx.h
> +include/freerdp3/freerdp/utils/helpers.h
> +include/freerdp3/freerdp/utils/http.h
> +include/freerdp3/freerdp/utils/passphrase.h
> +include/freerdp3/freerdp/utils/pcap.h
> +include/freerdp3/freerdp/utils/pod_arrays.h
> +include/freerdp3/freerdp/utils/profiler.h
> +include/freerdp3/freerdp/utils/proxy_utils.h
> +include/freerdp3/freerdp/utils/rdpdr_utils.h
> +include/freerdp3/freerdp/utils/ringbuffer.h
> +include/freerdp3/freerdp/utils/signal.h
> +include/freerdp3/freerdp/utils/smartcard_call.h
> +include/freerdp3/freerdp/utils/smartcard_operations.h
> +include/freerdp3/freerdp/utils/smartcard_pack.h
> +include/freerdp3/freerdp/utils/smartcardlogon.h
> +include/freerdp3/freerdp/utils/stopwatch.h
> +include/freerdp3/freerdp/utils/string.h
> +include/freerdp3/freerdp/utils/warnings.h
> +include/freerdp3/freerdp/version.h
> +include/freerdp3/freerdp/window.h
> +include/winpr3/
> +include/winpr3/winpr/
> +include/winpr3/winpr/asn1.h
> +include/winpr3/winpr/assert-api.h
> +include/winpr3/winpr/assert.h
> +include/winpr3/winpr/atexit.h
> +include/winpr3/winpr/bcrypt.h
> +include/winpr3/winpr/bitstream.h
> +include/winpr3/winpr/build-config.h
> +include/winpr3/winpr/buildflags.h
> +include/winpr3/winpr/cast.h
> +include/winpr3/winpr/clipboard.h
> +include/winpr3/winpr/cmdline.h
> +include/winpr3/winpr/collections.h
> +include/winpr3/winpr/comm.h
> +include/winpr3/winpr/config.h
> +include/winpr3/winpr/cred.h
> +include/winpr3/winpr/crt.h
> +include/winpr3/winpr/crypto.h
> +include/winpr3/winpr/custom-crypto.h
> +include/winpr3/winpr/debug.h
> +include/winpr3/winpr/dsparse.h
> +include/winpr3/winpr/endian.h
> +include/winpr3/winpr/environment.h
> +include/winpr3/winpr/error.h
> +include/winpr3/winpr/file.h
> +include/winpr3/winpr/handle.h
> +include/winpr3/winpr/image.h
> +include/winpr3/winpr/ini.h
> +include/winpr3/winpr/input.h
> +include/winpr3/winpr/interlocked.h
> +include/winpr3/winpr/intrin.h
> +include/winpr3/winpr/io.h
> +include/winpr3/winpr/json.h
> +include/winpr3/winpr/library.h
> +include/winpr3/winpr/memory.h
> +include/winpr3/winpr/ncrypt.h
> +include/winpr3/winpr/nt.h
> +include/winpr3/winpr/ntlm.h
> +include/winpr3/winpr/pack.h
> +include/winpr3/winpr/path.h
> +include/winpr3/winpr/pipe.h
> +include/winpr3/winpr/platform.h
> +include/winpr3/winpr/pool.h
> +include/winpr3/winpr/print.h
> +include/winpr3/winpr/registry.h
> +include/winpr3/winpr/rpc.h
> +include/winpr3/winpr/sam.h
> +include/winpr3/winpr/schannel.h
> +include/winpr3/winpr/secapi.h
> +include/winpr3/winpr/security.h
> +include/winpr3/winpr/shell.h
> +include/winpr3/winpr/smartcard.h
> +include/winpr3/winpr/spec.h
> +include/winpr3/winpr/ssl.h
> +include/winpr3/winpr/sspi.h
> +include/winpr3/winpr/sspicli.h
> +include/winpr3/winpr/stream.h
> +include/winpr3/winpr/string.h
> +include/winpr3/winpr/strlst.h
> +include/winpr3/winpr/synch.h
> +include/winpr3/winpr/sysinfo.h
> +include/winpr3/winpr/tchar.h
> +include/winpr3/winpr/thread.h
> +include/winpr3/winpr/timezone.h
> +include/winpr3/winpr/tools/
> +include/winpr3/winpr/tools/makecert.h
> +include/winpr3/winpr/user.h
> +include/winpr3/winpr/version.h
> +include/winpr3/winpr/wincrypt.h
> +include/winpr3/winpr/windows.h
> +include/winpr3/winpr/winpr.h
> +include/winpr3/winpr/winsock.h
> +include/winpr3/winpr/wlog.h
> +include/winpr3/winpr/wtsapi.h
> +include/winpr3/winpr/wtypes.h
> +lib/cmake/
> +lib/cmake/FreeRDP-Client3/
> +lib/cmake/FreeRDP-Client3/FreeRDP-ClientConfig.cmake
> +lib/cmake/FreeRDP-Client3/FreeRDP-ClientConfigVersion.cmake
> +lib/cmake/FreeRDP-Client3/FreeRDP-ClientTargets${MODCMAKE_BUILD_SUFFIX}
> +lib/cmake/FreeRDP-Client3/FreeRDP-ClientTargets.cmake
> +lib/cmake/FreeRDP3/
> +lib/cmake/FreeRDP3/FreeRDPConfig.cmake
> +lib/cmake/FreeRDP3/FreeRDPConfigVersion.cmake
> +lib/cmake/FreeRDP3/FreeRDPTargets${MODCMAKE_BUILD_SUFFIX}
> +lib/cmake/FreeRDP3/FreeRDPTargets.cmake
> +lib/cmake/WinPR-tools3/
> +lib/cmake/WinPR-tools3/WinPR-toolsConfig.cmake
> +lib/cmake/WinPR-tools3/WinPR-toolsConfigVersion.cmake
> +lib/cmake/WinPR-tools3/WinPR-toolsTargets${MODCMAKE_BUILD_SUFFIX}
> +lib/cmake/WinPR-tools3/WinPR-toolsTargets.cmake
> +lib/cmake/WinPR3/
> +lib/cmake/WinPR3/WinPRConfig.cmake
> +lib/cmake/WinPR3/WinPRConfigVersion.cmake
> +lib/cmake/WinPR3/WinPRTargets${MODCMAKE_BUILD_SUFFIX}
> +lib/cmake/WinPR3/WinPRTargets.cmake
> +@lib lib/libfreerdp-client3.so.${LIBfreerdp-client3_VERSION}
> +@lib lib/libfreerdp3.so.${LIBfreerdp3_VERSION}
> +@lib lib/libwinpr-tools3.so.${LIBwinpr-tools3_VERSION}
> +@lib lib/libwinpr3.so.${LIBwinpr3_VERSION}
> +lib/pkgconfig/freerdp-client3.pc
> +lib/pkgconfig/freerdp3.pc
> +lib/pkgconfig/winpr-tools3.pc
> +lib/pkgconfig/winpr3.pc
> @man man/man1/winpr-hash.1
> @man man/man1/winpr-makecert.1
> @man man/man1/xfreerdp.1
> Index: security/hydra/Makefile
> ===================================================================
> RCS file: /cvs/ports/security/hydra/Makefile,v
> diff -u -p -r1.67 Makefile
> --- security/hydra/Makefile 11 Aug 2026 22:41:26 -0000 1.67
> +++ security/hydra/Makefile 11 Aug 2026 23:18:17 -0000
> @@ -2,6 +2,7 @@ COMMENT-main= parallelized network logon
> COMMENT-gui= GTK frontend for hydra
>
> VERSION= 9.7
> +REVISION-main= 0
> PKGNAME-main= hydra-${VERSION}
> PKGNAME-gui= hydra-gui-${VERSION}
>
> @@ -17,9 +18,9 @@ PERMIT_PACKAGE= Yes
> WANTLIB = c
>
> WANTLIB-main = ${WANTLIB}
> -WANTLIB-main += apr-1 aprutil-1 crypto curses freerdp2 gcrypt idn m
> +WANTLIB-main += apr-1 aprutil-1 crypto curses freerdp3 gcrypt idn m
> WANTLIB-main += mariadb memcached pcre2-8 pq ssh ssl svn_client-1 svn_subr-1
> -WANTLIB-main += sybdb winpr2 z
> +WANTLIB-main += sybdb winpr3 z
>
> WANTLIB-gui = ${WANTLIB}
> WANTLIB-gui += atk-1.0 cairo cairo-gobject gdk_pixbuf-2.0 gdk-3 gio-2.0
> Index: x11/gnome/connections/Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/gnome/connections/Makefile,v
> diff -u -p -r1.26 Makefile
> --- x11/gnome/connections/Makefile 15 May 2026 07:35:01 -0000 1.26
> +++ x11/gnome/connections/Makefile 11 Aug 2026 23:18:17 -0000
> @@ -1,6 +1,7 @@
> COMMENT= remote desktop client for GNOME
>
> GNOME_PROJECT= gnome-connections
> +REVISION= 0
> GNOME_VERSION= 50.0
>
> CATEGORIES= net
> @@ -10,10 +11,10 @@ HOMEPAGE= https://apps.gnome.org/Connec
> # GPLv3
> PERMIT_PACKAGE= Yes
>
> -WANTLIB += c cairo freerdp-client2 freerdp2 gdk-3 gdk_pixbuf-2.0
> +WANTLIB += c cairo freerdp-client3 freerdp3 gdk-3 gdk_pixbuf-2.0
> WANTLIB += gio-2.0 glib-2.0 gobject-2.0 gtk-3 gtk-vnc-2.0 gvnc-1.0
> WANTLIB += gvncpulse-1.0 handy-1 intl m secret-1 spice-client-glib-2.0
> -WANTLIB += spice-client-gtk-3.0 winpr2 xml2
> +WANTLIB += spice-client-gtk-3.0 winpr3 xml2
>
> MODULES= devel/dconf \
> devel/meson \
> Index: x11/remmina/Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/remmina/Makefile,v
> diff -u -p -r1.66 Makefile
> --- x11/remmina/Makefile 28 Jan 2025 09:27:40 -0000 1.66
> +++ x11/remmina/Makefile 11 Aug 2026 23:18:17 -0000
> @@ -1,25 +1,27 @@
> -COMMENT= GTK+ remote desktop client
> +COMMENT= GTK+ remote desktop client
>
> -# post-release "Fix build for openssl-1.1"
> -C= 93d703ec8524dec774f36d2285a6ec87c6fabb8d
> -DIST_TUPLE= gitlab Remmina Remmina ${C} .
> -DISTNAME= Remmina-${C}
> -PKGNAME= remmina-1.4.34
> -CATEGORIES= x11 net
> -REVISION= 1
> +V= 1.4.43
> +DISTNAME= Remmina-v$V
> +SITES= https://gitlab.com/Remmina/Remmina/-/archive/v$V/
> +# XXX using SITES because DIST_TUPLE uses wrong URLs for gitlab tags;
> +# https://gitlab.com/Remmina/Remmina/-/archive/v1.4.43/v1.4.43.tar.gz should be
> +# https://gitlab.com/Remmina/Remmina/-/archive/v1.4.43/Remmina-v1.4.43.tar.gz
>
> -HOMEPAGE= https://www.remmina.org/
> +PKGNAME= remmina-$V
> +CATEGORIES= x11 net
> +
> +HOMEPAGE= https://www.remmina.org/
>
> # GPLv2+
> -PERMIT_PACKAGE= Yes
> +PERMIT_PACKAGE= Yes
>
> WANTLIB += ${MODPY_WANTLIB}
> WANTLIB += avahi-client avahi-common avahi-ui-gtk3 c cairo crypto
> -WANTLIB += cups curl freerdp-client2 gcrypt gdk-3 gdk_pixbuf-2.0
> +WANTLIB += cups curl freerdp-client3 freerdp3 gcrypt gdk-3 gdk_pixbuf-2.0
> WANTLIB += gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gtk-3 intl
> -WANTLIB += json-glib-1.0 pango-1.0 pthread secret-1 sndio sodium
> -WANTLIB += spice-client-glib-2.0 spice-client-gtk-3.0 ssh ssl
> -WANTLIB += vncclient vncserver vte-2.91 winpr2
> +WANTLIB += json-glib-1.0 m pango-1.0 pthread secret-1 sodium spice-client-glib-2.0
> +WANTLIB += spice-client-gtk-3.0 ssh ssl vncclient vncserver vte-2.91
> +WANTLIB += wayland-client winpr3
>
> MODULES= devel/cmake \
> lang/python
> @@ -53,7 +55,8 @@ CONFIGURE_ARGS= -DCMAKE_DISABLE_FIND_PA
> # Appindicator is only used by Ubuntu's Unity.
> CONFIGURE_ARGS += -DHAVE_LIBAPPINDICATOR=OFF \
> -DWITH_ICON_CACHE=OFF \
> - -DWITH_UPDATE_DESKTOP_DB=OFF
> + -DWITH_UPDATE_DESKTOP_DB=OFF \
> + -DWITH_FREERDP3=ON
>
> CFLAGS += -I${X11BASE}/include -I${LOCALBASE}/include
>
> @@ -68,10 +71,5 @@ CONFIGURE_ARGS += -DWITH_KF5WALLET=OFF \
> -DWITH_WWW=OFF
>
> DEBUG_PACKAGES= ${BUILD_PACKAGES}
> -
> -post-install:
> - # pending "Use universal /bin/sh shebang in remmina-rile-wrapper(1)"
> - # https://gitlab.com/Remmina/Remmina/-/merge_requests/2572
> - sed -i '1s,/usr/bin/env bash,/bin/sh,' ${PREFIX}/bin/remmina-file-wrapper
>
> .include <bsd.port.mk>
> Index: x11/remmina/distinfo
> ===================================================================
> RCS file: /cvs/ports/x11/remmina/distinfo,v
> diff -u -p -r1.14 distinfo
> --- x11/remmina/distinfo 23 Feb 2024 18:14:33 -0000 1.14
> +++ x11/remmina/distinfo 11 Aug 2026 23:18:17 -0000
> @@ -1,2 +1,2 @@
> -SHA256 (Remmina-Remmina-93d703ec8524dec774f36d2285a6ec87c6fabb8d.tar.gz) = sQPaF6QTHIshMfabsWcfDerj1BT3N8qt6KV8ieZu/jw=
> -SIZE (Remmina-Remmina-93d703ec8524dec774f36d2285a6ec87c6fabb8d.tar.gz) = 3774333
> +SHA256 (Remmina-v1.4.43.tar.gz) = FlM/ioBtr/UkZJu0WuUeUfYWhdqUhGAGAYs8J56+cDU=
> +SIZE (Remmina-v1.4.43.tar.gz) = 3952178
> Index: x11/remmina/patches/patch-CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/x11/remmina/patches/patch-CMakeLists_txt,v
> diff -u -p -r1.13 patch-CMakeLists_txt
> --- x11/remmina/patches/patch-CMakeLists_txt 3 Feb 2024 12:39:41 -0000 1.13
> +++ x11/remmina/patches/patch-CMakeLists_txt 11 Aug 2026 23:18:17 -0000
> @@ -4,7 +4,7 @@
> Index: CMakeLists.txt
> --- CMakeLists.txt.orig
> +++ CMakeLists.txt
> -@@ -274,7 +274,7 @@ set(CMAKE_SHARED_LINKER_FLAGS
> +@@ -276,7 +276,7 @@ set(CMAKE_SHARED_LINKER_FLAGS
> check_include_files(sys/socket.h HAVE_SYS_SOCKET_H)
> check_include_files(arpa/inet.h HAVE_ARPA_INET_H)
> check_include_files(netinet/in.h HAVE_NETINET_IN_H)
> @@ -13,7 +13,7 @@ Index: CMakeLists.txt
> check_include_files(termios.h HAVE_TERMIOS_H)
> check_include_files(netdb.h HAVE_NETDB_H)
> check_include_files(fcntl.h HAVE_FCNTL_H)
> -@@ -285,9 +285,9 @@ check_include_files(errno.h HAVE_ERRNO_H)
> +@@ -287,9 +287,9 @@ check_include_files(errno.h HAVE_ERRNO_H)
> include_directories(.)
> include_directories(src/include)
>
> @@ -23,53 +23,14 @@ Index: CMakeLists.txt
> -if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
> +if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD|OpenBSD|NetBSD")
> set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-rdynamic")
> - include_directories(/usr/local/include /usr/include)
> + include_directories(SYSTEM /usr/local/include /usr/include)
> link_directories(/usr/local/lib /usr/lib)
> -@@ -414,36 +414,17 @@ if(NOT GTK3_FOUND)
> +@@ -416,7 +416,7 @@ if(NOT GTK3_FOUND)
> endif()
> - include_directories(${GTK3_INCLUDE_DIRS})
> + include_directories(SYSTEM ${GTK3_INCLUDE_DIRS})
>
> --pkg_check_modules(wayland-client wayland-client)
> --if(wayland-client_FOUND)
> -- set(GTK_LIBRARIES
> -- ${GTK3_LIBRARY}
> -- ${GDK3_LIBRARY}
> -- ${GDKPixbuf_LIBRARY}
> -- ${Pango_LIBRARY}
> -- ${Cairo_LIBRARY}
> -- ${GObject_LIBRARY}
> -- ${GLib_LIBRARY}
> -- ${GIO_LIBRARY}
> -- ${Gmodule_LIBRARIES}
> -- ${GMODULE_LIBRARY}
> -- ${wayland-client_LIBRARIES})
> -- include_directories(${wayland-client_INCLUDE_DIRS})
> -- message(STATUS "Wayland library found.")
> --else()
> -- set(GTK_LIBRARIES
> -- ${GTK3_LIBRARY}
> -- ${GDK3_LIBRARY}
> -- ${GDKPixbuf_LIBRARY}
> -- ${Pango_LIBRARY}
> -- ${Cairo_LIBRARY}
> -- ${GObject_LIBRARY}
> -- ${GLib_LIBRARY}
> -- ${GIO_LIBRARY}
> -- ${Gmodule_LIBRARIES}
> -- ${GMODULE_LIBRARY})
> -- message(STATUS "Wayland library not found.")
> --endif()
> -+set(GTK_LIBRARIES
> -+ ${GTK3_LIBRARY}
> -+ ${GDK3_LIBRARY}
> -+ ${GDKPixbuf_LIBRARY}
> -+ ${Pango_LIBRARY}
> -+ ${Cairo_LIBRARY}
> -+ ${GObject_LIBRARY}
> -+ ${GLib_LIBRARY}
> -+ ${GIO_LIBRARY}
> -+ ${Gmodule_LIBRARIES}
> -+ ${GMODULE_LIBRARY})
> -
> - set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
> - find_package(Threads REQUIRED)
> +-if(NOT APPLE)
> ++if(NOT APPLE AND NOT OPENBSD)
> + pkg_check_modules(wayland-client wayland-client)
> + endif()
> + if(wayland-client_FOUND)
> Index: x11/remmina/patches/patch-plugins_vnc_vnc_plugin_c
> ===================================================================
> RCS file: /cvs/ports/x11/remmina/patches/patch-plugins_vnc_vnc_plugin_c,v
> diff -u -p -r1.7 patch-plugins_vnc_vnc_plugin_c
> --- x11/remmina/patches/patch-plugins_vnc_vnc_plugin_c 11 Jun 2023 20:59:09 -0000 1.7
> +++ x11/remmina/patches/patch-plugins_vnc_vnc_plugin_c 11 Aug 2026 23:18:17 -0000
> @@ -3,7 +3,7 @@ Fix double mutex lock and double free
> Index: plugins/vnc/vnc_plugin.c
> --- plugins/vnc/vnc_plugin.c.orig
> +++ plugins/vnc/vnc_plugin.c
> -@@ -114,8 +114,6 @@ static void onMainThread_schedule_callback_and_wait(st
> +@@ -118,8 +118,6 @@ static void onMainThread_schedule_callback_and_wait(st
> pthread_mutex_lock(&d->mu);
> gdk_threads_add_idle((GSourceFunc)onMainThread_cb, (gpointer)d);
>
> @@ -12,7 +12,7 @@ Index: plugins/vnc/vnc_plugin.c
> pthread_cleanup_pop(0);
> pthread_mutex_unlock(&d->mu);
> pthread_mutex_destroy(&d->mu);
> -@@ -240,7 +238,6 @@ static void remmina_plugin_vnc_update_scale(RemminaPro
> +@@ -244,7 +242,6 @@ static void remmina_plugin_vnc_update_scale(RemminaPro
> d->gp = gp;
> d->scale = scale;
> onMainThread_schedule_callback_and_wait(d);
> Index: x11/remmina/pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/x11/remmina/pkg/PLIST,v
> diff -u -p -r1.19 PLIST
> --- x11/remmina/pkg/PLIST 23 Feb 2024 18:14:33 -0000 1.19
> +++ x11/remmina/pkg/PLIST 11 Aug 2026 23:18:17 -0000
> @@ -63,6 +63,7 @@ share/icons/hicolor/scalable/actions/org
> share/icons/hicolor/scalable/actions/org.remmina.Remmina-pin-down-symbolic.svg
> share/icons/hicolor/scalable/actions/org.remmina.Remmina-pin-up-symbolic.svg
> share/icons/hicolor/scalable/actions/org.remmina.Remmina-preferences-system-symbolic.svg
> +share/icons/hicolor/scalable/actions/org.remmina.Remmina-reconnect-symbolic.svg
> share/icons/hicolor/scalable/actions/org.remmina.Remmina-scale-symbolic.svg
> share/icons/hicolor/scalable/actions/org.remmina.Remmina-switch-page-symbolic.svg
> share/icons/hicolor/scalable/actions/org.remmina.Remmina-system-run-symbolic.svg
> @@ -74,6 +75,9 @@ share/icons/hicolor/scalable/emblems/org
> share/icons/hicolor/scalable/emblems/org.remmina.Remmina-spice-ssh-symbolic.svg
> share/icons/hicolor/scalable/emblems/org.remmina.Remmina-spice-symbolic.svg
> share/icons/hicolor/scalable/emblems/org.remmina.Remmina-ssh-symbolic.svg
> +share/icons/hicolor/scalable/emblems/org.remmina.Remmina-status-green.svg
> +share/icons/hicolor/scalable/emblems/org.remmina.Remmina-status-grey.svg
> +share/icons/hicolor/scalable/emblems/org.remmina.Remmina-status-red.svg
> share/icons/hicolor/scalable/emblems/org.remmina.Remmina-tool-symbolic.svg
> share/icons/hicolor/scalable/emblems/org.remmina.Remmina-vnc-ssh-symbolic.svg
> share/icons/hicolor/scalable/emblems/org.remmina.Remmina-vnc-symbolic.svg
> @@ -150,6 +154,7 @@ share/locale/sl/LC_MESSAGES/remmina.mo
> share/locale/sq/LC_MESSAGES/remmina.mo
> share/locale/sr/LC_MESSAGES/remmina.mo
> share/locale/sv/LC_MESSAGES/remmina.mo
> +share/locale/ta/LC_MESSAGES/remmina.mo
> share/locale/te/LC_MESSAGES/remmina.mo
> share/locale/th/LC_MESSAGES/remmina.mo
> share/locale/tr/LC_MESSAGES/remmina.mo
> Index: x11/kde-applications/krdc/Makefile
> ===================================================================
> RCS file: /cvs/ports/x11/kde-applications/krdc/Makefile,v
> diff -u -p -r1.19 Makefile
> --- x11/kde-applications/krdc/Makefile 2 May 2025 06:11:30 -0000 1.19
> +++ x11/kde-applications/krdc/Makefile 11 Aug 2026 23:18:17 -0000
> @@ -1,4 +1,4 @@
> -BROKEN = Depends on FreeRDP3
> +BROKEN = krdc-26.04.3/rdp/rdpsession.cpp:727:25: error: invalid use of member 'm_thread' in static member function
>
> COMMENT = VNC and RDP desktop client
> DISTNAME = krdc-${VERSION}
> @@ -16,9 +16,9 @@ WANTLIB += KF6KCMUtilsQuick KF6KIOCore K
> WANTLIB += KF6Notifications KF6NotifyConfig KF6Service KF6Solid
> WANTLIB += KF6StatusNotifierItem KF6Wallet KF6WidgetsAddons KF6WindowSystem
> WANTLIB += KF6XmlGui PlasmaActivities Qt6Core Qt6DBus Qt6Gui Qt6Network
> -WANTLIB += Qt6Qml Qt6WaylandClient Qt6Widgets Qt6Xml X11 c freerdp-client2
> -WANTLIB += freerdp2 m sndio ssh vncclient wayland-client wayland-cursor
> -WANTLIB += winpr2 xkbcommon
> +WANTLIB += Qt6Qml Qt6WaylandClient Qt6Widgets Qt6Xml X11 c freerdp-client3
> +WANTLIB += freerdp3 m sndio ssh vncclient wayland-client wayland-cursor
> +WANTLIB += winpr3 xkbcommon
>
> MODKDE_DESKTOP_FILE = yes
> MODKDE_TRANSLATIONS = yes
> @@ -53,6 +53,7 @@ LIB_DEPENDS = devel/kf6/kbookmarks \
> devel/kf6/kcrash \
> net/libvncserver \
> security/libssh \
> + security/qtkeychain,qt6 \
> wayland/wayland \
> x11/freerdp \
> x11/kde-plasma/plasma-activities \
> Index: x11/kde-applications/krdc/patches/patch-core_sshtunnelthread_cpp
> ===================================================================
> RCS file: x11/kde-applications/krdc/patches/patch-core_sshtunnelthread_cpp
> diff -N x11/kde-applications/krdc/patches/patch-core_sshtunnelthread_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ x11/kde-applications/krdc/patches/patch-core_sshtunnelthread_cpp 11 Aug 2026 23:18:17 -0000
> @@ -0,0 +1,11 @@
> +Index: core/sshtunnelthread.cpp
> +--- core/sshtunnelthread.cpp.orig
> ++++ core/sshtunnelthread.cpp
> +@@ -11,6 +11,7 @@
> + #include <KLocalizedString>
> +
> + #include <arpa/inet.h>
> ++#include <errno.h>
> + #include <fcntl.h>
> + #include <netinet/in.h>
> + #include <sys/socket.h>
> Index: x11/kde-applications/krdc/patches/patch-rdp_rdpsession_cpp
> ===================================================================
> RCS file: /cvs/ports/x11/kde-applications/krdc/patches/patch-rdp_rdpsession_cpp,v
> diff -u -p -r1.6 patch-rdp_rdpsession_cpp
> --- x11/kde-applications/krdc/patches/patch-rdp_rdpsession_cpp 2 May 2025 06:11:30 -0000 1.6
> +++ x11/kde-applications/krdc/patches/patch-rdp_rdpsession_cpp 11 Aug 2026 23:18:17 -0000
> @@ -1,9 +1,9 @@
> Index: rdp/rdpsession.cpp
> --- rdp/rdpsession.cpp.orig
> +++ rdp/rdpsession.cpp
> -@@ -12,6 +12,10 @@
> +@@ -11,6 +11,10 @@
> +
> #include <algorithm>
> - #include <memory>
>
> +#ifdef __OpenBSD__
> +#include <pthread_np.h> /* pthread_set_name_np */
> @@ -12,7 +12,7 @@ Index: rdp/rdpsession.cpp
> #include <QApplication>
> #include <QKeyEvent>
> #include <QMouseEvent>
> -@@ -715,7 +719,12 @@ int RdpSession::clientContextStart(rdpContext *context
> +@@ -718,7 +722,12 @@ int RdpSession::clientContextStart(rdpContext *context
> }
>
> session->m_thread = std::thread(std::bind(&RdpSession::run, session));
> @@ -25,10 +25,3 @@ Index: rdp/rdpsession.cpp
>
> return 0;
> }
> -@@ -1228,4 +1237,4 @@ bool RdpSession::sendResizeEvent(const QSize newSize)
> - void RdpSession::setRemoteCursor(const QCursor &cursor)
> - {
> - Q_EMIT cursorChanged(cursor);
> --}
> -\ No newline at end of file
> -+}
> Index: x11/kde-applications/krdc/patches/patch-vnc_vncclientthread_cpp
> ===================================================================
> RCS file: /cvs/ports/x11/kde-applications/krdc/patches/patch-vnc_vncclientthread_cpp,v
> diff -u -p -r1.11 patch-vnc_vncclientthread_cpp
> --- x11/kde-applications/krdc/patches/patch-vnc_vncclientthread_cpp 28 Jun 2024 19:04:00 -0000 1.11
> +++ x11/kde-applications/krdc/patches/patch-vnc_vncclientthread_cpp 11 Aug 2026 23:18:17 -0000
> @@ -3,7 +3,7 @@
> Index: vnc/vncclientthread.cpp
> --- vnc/vncclientthread.cpp.orig
> +++ vnc/vncclientthread.cpp
> -@@ -657,23 +657,6 @@ void VncClientThread::clientSetKeepalive()
> +@@ -677,23 +677,6 @@ void VncClientThread::clientSetKeepalive()
> return;
> }
>
> Index: x11/kde-applications/krdc/patches/patch-vnc_vncsshtunnelthread_cpp
> ===================================================================
> RCS file: x11/kde-applications/krdc/patches/patch-vnc_vncsshtunnelthread_cpp
> diff -N x11/kde-applications/krdc/patches/patch-vnc_vncsshtunnelthread_cpp
> --- x11/kde-applications/krdc/patches/patch-vnc_vncsshtunnelthread_cpp 28 Jun 2024 19:04:00 -0000 1.4
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,13 +0,0 @@
> -Missing include
> -
> -Index: vnc/vncsshtunnelthread.cpp
> ---- vnc/vncsshtunnelthread.cpp.orig
> -+++ vnc/vncsshtunnelthread.cpp
> -@@ -11,6 +11,7 @@
> - #include <KLocalizedString>
> -
> - #include <arpa/inet.h>
> -+#include <errno.h>
> - #include <fcntl.h>
> - #include <netinet/in.h>
> - #include <sys/socket.h>
--
Fabien Romano
freerdp 3.x