Here is an update to FreeRDP 3.31.0.
https://github.com/FreeRDP/FreeRDP/releases/tag/3.31.0 A whole bunch of CVE. All of the packages depending on FreeRDP build Ok. Index: Makefile =================================================================== RCS file: /cvs/ports/x11/freerdp/Makefile,v retrieving revision 1.81 diff -u -p -u -p -r1.81 Makefile --- Makefile 12 Aug 2026 16:04:45 -0000 1.81 +++ Makefile 27 Aug 2026 01:07:19 -0000 @@ -1,15 +1,15 @@ COMMENT = client for Microsoft RDP (remote desktop protocol) -DISTNAME = freerdp-3.30.0 +DISTNAME = freerdp-3.31.0 CATEGORIES = x11 net DPB_PROPERTIES = parallel -SHARED_LIBS += freerdp-client3 0.0 # 0.0 -SHARED_LIBS += freerdp3 0.0 # 0.0 +SHARED_LIBS += freerdp-client3 0.1 # 0.0 +SHARED_LIBS += freerdp3 0.1 # 0.0 SHARED_LIBS += winpr-tools3 0.0 # 0.0 -SHARED_LIBS += winpr3 0.0 # 0.0 +SHARED_LIBS += winpr3 0.1 # 0.0 HOMEPAGE = https://www.freerdp.com/ SITES = https://pub.freerdp.com/releases/ @@ -31,17 +31,14 @@ COMPILER_LANGS = c MODULES = devel/cmake -CFLAGS += -I${X11BASE}/include \ - -I${LOCALBASE}/include - BUILD_DEPENDS = security/pcsc-lite \ textproc/xmlto -LIB_DEPENDS = devel/libusb1 \ - print/cups,-libs \ +LIB_DEPENDS = devel/jansson \ + devel/libusb1 \ graphics/ffmpeg \ + print/cups,-libs \ textproc/icu4c \ - devel/jansson \ www/uriparser # used to work-around lack of posix timers. Index: distinfo =================================================================== RCS file: /cvs/ports/x11/freerdp/distinfo,v retrieving revision 1.32 diff -u -p -u -p -r1.32 distinfo --- distinfo 12 Aug 2026 16:04:45 -0000 1.32 +++ distinfo 27 Aug 2026 01:07:19 -0000 @@ -1,2 +1,2 @@ -SHA256 (freerdp-3.30.0.tar.gz) = 4mh9At6m/t4ATTY5HawadM5XohD4hn/ZUDMXHUkJWQw= -SIZE (freerdp-3.30.0.tar.gz) = 11070523 +SHA256 (freerdp-3.31.0.tar.gz) = Vt+pg1Nt5/o3klfDYGFme89cwVcmA20hjrXv924f/lo= +SIZE (freerdp-3.31.0.tar.gz) = 11106371 Index: patches/patch-channels_rdpdr_client_rdpdr_main_c =================================================================== RCS file: patches/patch-channels_rdpdr_client_rdpdr_main_c diff -N patches/patch-channels_rdpdr_client_rdpdr_main_c --- patches/patch-channels_rdpdr_client_rdpdr_main_c 12 Aug 2026 16:04:45 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,33 +0,0 @@ -#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 -@@ -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__) - - 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 - --#if !defined(_WIN32) && !defined(__IOS__) -+#if !defined(_WIN32) && !defined(__IOS__) && !defined(__OpenBSD__) - /** - * Function description - * Index: patches/patch-client_X11_CMakeLists_txt =================================================================== RCS file: patches/patch-client_X11_CMakeLists_txt diff -N patches/patch-client_X11_CMakeLists_txt --- patches/patch-client_X11_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: client/X11/CMakeLists.txt ---- client/X11/CMakeLists.txt.orig -+++ client/X11/CMakeLists.txt -@@ -183,7 +183,7 @@ endif() - list(APPEND PUB_LIBS freerdp-client) - - list(APPEND PRIV_LIBS m) --if(NOT APPLE) -+if(NOT APPLE AND NOT OPENBSD) - list(APPEND PRIV_LIBS rt) - endif() - target_link_libraries(${PROJECT_NAME} PUBLIC ${PUB_LIBS}) Index: patches/patch-cmake_ConfigOptions_cmake =================================================================== RCS file: patches/patch-cmake_ConfigOptions_cmake diff -N patches/patch-cmake_ConfigOptions_cmake --- patches/patch-cmake_ConfigOptions_cmake 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -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: patches/patch-cmake_FindSNDIO_cmake =================================================================== RCS file: patches/patch-cmake_FindSNDIO_cmake diff -N patches/patch-cmake_FindSNDIO_cmake --- patches/patch-cmake_FindSNDIO_cmake 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,29 +0,0 @@ -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: patches/patch-cmake_PlatformDefaults_cmake =================================================================== RCS file: patches/patch-cmake_PlatformDefaults_cmake diff -N patches/patch-cmake_PlatformDefaults_cmake --- patches/patch-cmake_PlatformDefaults_cmake 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,31 +0,0 @@ -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: patches/patch-libfreerdp_CMakeLists_txt =================================================================== RCS file: patches/patch-libfreerdp_CMakeLists_txt diff -N patches/patch-libfreerdp_CMakeLists_txt --- patches/patch-libfreerdp_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,41 +0,0 @@ -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: patches/patch-libfreerdp_crypto_tls_c =================================================================== RCS file: /cvs/ports/x11/freerdp/patches/patch-libfreerdp_crypto_tls_c,v retrieving revision 1.11 diff -u -p -u -p -r1.11 patch-libfreerdp_crypto_tls_c --- patches/patch-libfreerdp_crypto_tls_c 12 Aug 2026 16:04:45 -0000 1.11 +++ patches/patch-libfreerdp_crypto_tls_c 27 Aug 2026 01:07:19 -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 -@@ -536,7 +536,7 @@ static int bio_rdp_tls_free(BIO* bio) +@@ -629,7 +629,7 @@ static int bio_rdp_tls_free(BIO* bio) return 1; } @@ -12,7 +12,7 @@ Index: libfreerdp/crypto/tls.c { long status = 0; -@@ -555,7 +555,7 @@ static long bio_rdp_tls_callback_ctrl(BIO* bio, int cm +@@ -648,7 +648,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 Index: patches/patch-uwac_libuwac_CMakeLists_txt =================================================================== RCS file: patches/patch-uwac_libuwac_CMakeLists_txt diff -N patches/patch-uwac_libuwac_CMakeLists_txt --- patches/patch-uwac_libuwac_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -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: patches/patch-uwac_libuwac_uwac-os_c =================================================================== RCS file: patches/patch-uwac_libuwac_uwac-os_c diff -N patches/patch-uwac_libuwac_uwac-os_c --- patches/patch-uwac_libuwac_uwac-os_c 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -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: patches/patch-winpr_CMakeLists_txt =================================================================== RCS file: /cvs/ports/x11/freerdp/patches/patch-winpr_CMakeLists_txt,v retrieving revision 1.3 diff -u -p -u -p -r1.3 patch-winpr_CMakeLists_txt --- patches/patch-winpr_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.3 +++ patches/patch-winpr_CMakeLists_txt 27 Aug 2026 01:07:19 -0000 @@ -1,38 +1,32 @@ +Fixes for pkg-config file + 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() +@@ -379,12 +379,24 @@ add_subdirectory(libwinpr) + list(REMOVE_DUPLICATES WINPR_PC_REQUIRES_PRIVATE) + list(JOIN WINPR_PC_REQUIRES_PRIVATE " " WINPR_PC_REQUIRES_PRIVATE) - include(CheckFunctionExists) - check_function_exists(strerror_r WINPR_HAVE_STRERROR_R) -@@ -272,12 +280,6 @@ else() +-set(WINPR_PC_LIBRARY_PRIVATE "-ldl -lrt -lm -lpthread") ++set(WINPR_PC_LIBRARY_PRIVATE "") + ++if(CMAKE_DL_LIBS) ++ string(APPEND WINPR_PC_LIBRARY_PRIVATE "-ldl ") ++endif() ++ ++if(NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") ++ string(APPEND WINPR_PC_LIBRARY_PRIVATE "-lrt ") ++endif() ++ ++string(APPEND WINPR_PC_LIBRARY_PRIVATE "-lm -lpthread") ++ + # Do not set Requires.Private if not a static build + if(BUILD_SHARED_LIBS) + set(WINPR_PC_REQUIRES_PRIVATE "") +- set(WINPR_PC_LIBRARY_PRIVATE "") ++ if(NOT OPENBSD) ++ set(WINPR_PC_LIBRARY_PRIVATE "") ++ endif() 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) + if(WITH_WINPR_TOOLS) Index: patches/patch-winpr_include_winpr_string_h =================================================================== RCS file: patches/patch-winpr_include_winpr_string_h diff -N patches/patch-winpr_include_winpr_string_h --- patches/patch-winpr_include_winpr_string_h 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,13 +0,0 @@ -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: patches/patch-winpr_libwinpr_library_CMakeLists_txt =================================================================== RCS file: patches/patch-winpr_libwinpr_library_CMakeLists_txt diff -N patches/patch-winpr_libwinpr_library_CMakeLists_txt --- patches/patch-winpr_libwinpr_library_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ -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: patches/patch-winpr_libwinpr_synch_CMakeLists_txt =================================================================== RCS file: patches/patch-winpr_libwinpr_synch_CMakeLists_txt diff -N patches/patch-winpr_libwinpr_synch_CMakeLists_txt --- patches/patch-winpr_libwinpr_synch_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.7 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: winpr/libwinpr/synch/CMakeLists.txt ---- winpr/libwinpr/synch/CMakeLists.txt.orig -+++ winpr/libwinpr/synch/CMakeLists.txt -@@ -31,7 +31,7 @@ winpr_module_add( - wait.c - ) - --if(FREEBSD) -+if(EPOLLSHIM) - winpr_system_include_directory_add(${EPOLLSHIM_INCLUDE_DIR}) - winpr_library_add_private(${EPOLLSHIM_LIBS}) - endif() Index: patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt =================================================================== RCS file: /cvs/ports/x11/freerdp/patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt,v retrieving revision 1.5 diff -u -p -u -p -r1.5 patch-winpr_libwinpr_synch_test_CMakeLists_txt --- patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt 12 Aug 2026 16:04:45 -0000 1.5 +++ patches/patch-winpr_libwinpr_synch_test_CMakeLists_txt 27 Aug 2026 01:07:19 -0000 @@ -1,19 +1,17 @@ +OpenBSD does not have POSIX timers. The test just +keeps going. + Index: winpr/libwinpr/synch/test/CMakeLists.txt --- winpr/libwinpr/synch/test/CMakeLists.txt.orig +++ winpr/libwinpr/synch/test/CMakeLists.txt -@@ -20,9 +20,14 @@ set(${MODULE_PREFIX}_TESTS +@@ -20,6 +20,10 @@ 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(SYSTEM ${EPOLLSHIM_INCLUDE_DIR}) - endif() - + add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) Index: patches/patch-winpr_libwinpr_sysinfo_sysinfo_c =================================================================== RCS file: patches/patch-winpr_libwinpr_sysinfo_sysinfo_c diff -N patches/patch-winpr_libwinpr_sysinfo_sysinfo_c --- patches/patch-winpr_libwinpr_sysinfo_sysinfo_c 12 Aug 2026 16:04:45 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -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: patches/patch-winpr_libwinpr_thread_thread_c =================================================================== RCS file: patches/patch-winpr_libwinpr_thread_thread_c diff -N patches/patch-winpr_libwinpr_thread_thread_c --- patches/patch-winpr_libwinpr_thread_thread_c 12 Aug 2026 16:04:45 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -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: patches/patch-winpr_winpr_pc_in =================================================================== RCS file: patches/patch-winpr_winpr_pc_in diff -N patches/patch-winpr_winpr_pc_in --- patches/patch-winpr_winpr_pc_in 12 Aug 2026 16:04:45 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,10 +0,0 @@ -Index: winpr/winpr.pc.in ---- winpr/winpr.pc.in.orig -+++ winpr/winpr.pc.in -@@ -11,5 +11,5 @@ Version: @WINPR_VERSION@ - Requires: - Requires.private: @WINPR_PC_REQUIRES_PRIVATE@ - Libs: -L${libdir} ${libs} --Libs.private: @WINPR_PC_LIBRARY_PRIVATE@ -+Libs.private: -lm -lpthread - Cflags: -I${includedir} Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/x11/freerdp/pkg/PLIST,v retrieving revision 1.15 diff -u -p -u -p -r1.15 PLIST --- pkg/PLIST 12 Aug 2026 16:04:45 -0000 1.15 +++ pkg/PLIST 27 Aug 2026 01:07:19 -0000 @@ -208,6 +208,7 @@ include/freerdp3/freerdp/version.h include/freerdp3/freerdp/window.h include/winpr3/ include/winpr3/winpr/ +include/winpr3/winpr/Pathcch.h include/winpr3/winpr/asn1.h include/winpr3/winpr/assert-api.h include/winpr3/winpr/assert.h @@ -282,7 +283,6 @@ 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
