git: 9c47628e330a - main - net/freerdp3: update to 3.1.0

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Mon, 08 Jan 2024 10:48:18 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9c47628e330aee5a7d6d70d3abebca201b6d4012

commit 9c47628e330aee5a7d6d70d3abebca201b6d4012
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2024-01-08 10:37:35 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-01-08 10:47:40 +0000

    net/freerdp3: update to 3.1.0
    
    Changelogs:
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.1.0
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-rc0
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta4
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta3
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta2
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.0.0-beta1
    
    All FreeRDP consumers in ports doesn't support FreeRDP 3.x yet:
    multimedia/vlc, net/gnome-connections, net/guacamole-server, net/krdc,
    net/remmina, net/remotebox, net/vinagre.
    When support appears, then will rename this port.
    
    Approved by:            arrowd (mentor)
    Differential Revision:  https://reviews.freebsd.org/D43127
---
 net/Makefile                                       |   1 +
 net/freerdp3/Makefile                              |  82 ++++++++++++----
 net/freerdp3/distinfo                              |   8 +-
 net/freerdp3/files/mntent_compat.c                 |   1 -
 net/freerdp3/files/patch-CMakeLists.txt            |  11 +++
 .../patch-channels_rdpdr_client_CMakeLists.txt     |   2 +-
 .../files/patch-client_Wayland_wlfreerdp.c         |  11 ---
 .../files/patch-cmake_FindGStreamer__1__0.cmake    |  16 ----
 .../files/patch-cmake_InstallFreeRDPMan.cmake      |  10 --
 net/freerdp3/files/patch-libfreerdp_freerdp.pc.in  |  11 ---
 .../files/patch-winpr_libwinpr_sysinfo_sysinfo.c   |   4 +-
 net/freerdp3/files/patch-winpr_winpr.pc.in         |   4 +-
 net/freerdp3/pkg-plist                             | 106 +++++++++++++--------
 net/remmina/Makefile                               |   1 +
 14 files changed, 149 insertions(+), 119 deletions(-)

diff --git a/net/Makefile b/net/Makefile
index 640bc384479f..d78476f05ea3 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -166,6 +166,7 @@
     SUBDIR += freeradius-client
     SUBDIR += freeradius3
     SUBDIR += freerdp
+    SUBDIR += freerdp3
     SUBDIR += freeswitch
     SUBDIR += freevrrpd
     SUBDIR += frp
diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
index 3700f7448b58..245c0d9bec08 100644
--- a/net/freerdp3/Makefile
+++ b/net/freerdp3/Makefile
@@ -1,13 +1,9 @@
 PORTNAME=	freerdp
-DISTVERSION=	2.11.4
-PORTREVISION=	2
+DISTVERSION=	3.1.0
 CATEGORIES=	net comms
 MASTER_SITES=	https://pub.freerdp.com/releases/ \
 		https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/
-
-PATCH_SITES=	https://github.com/FreeRDP/FreeRDP/commit/
-PATCHFILES+=	61983cd6dcb86097d91b7ef405abc1266444a368.patch:-p1 # ffmpeg6 support: AVPicture
-								   # https://github.com/FreeRDP/FreeRDP/pull/8941
+PKGNAMESUFFIX=	3
 
 MAINTAINER=	vvd@FreeBSD.org
 COMMENT=	Free implementation of Remote Desktop Protocol
@@ -21,15 +17,18 @@ BROKEN_SSL_REASON_libressl-devel=	fails to compile: no member named 'alert_dispa
 
 LIB_DEPENDS=	libepoll-shim.so:devel/libepoll-shim
 
-USES=		alias cmake compiler:c++11-lib cpe localbase pathfix pkgconfig ssl
+USES=		alias cmake compiler:c++11-lib cpe localbase:ldflags pathfix pkgconfig ssl xorg
+USE_XORG=	ice sm x11 xext
 USE_LDCONFIG=	yes
 
-PATCHVERSION=	${PORTVERSION}
-MAJORVERSION=	${PORTVERSION:R:R}
+PATCHVERSION=	${DISTVERSION}
+MAJORVERSION=	${DISTVERSION:R:R}
 
 CMAKE_ARGS+=	${CMAKE_ARGS_${ARCH}}
-CMAKE_ON=	WITH_CHANNELS WITH_OPENSSL WITH_OSS WITH_ZLIB CHANNEL_URBDRC_CLIENT
-CMAKE_OFF=	WITH_DSP_EXPERIMENTAL WITH_GPROF WITH_GSSAPI WITH_GSTREAMER_0_10 WITH_IPP \
+CMAKE_ON=	CHANNEL_URBDRC_CLIENT RDTK_FORCE_STATIC_BUILD UWAC_FORCE_STATIC_BUILD \
+		WITH_BINARY_VERSIONING WITH_CHANNELS WITH_OPENSSL WITH_OSS WITH_ZLIB \
+		WITH_FREERDP_DEPRECATED WITH_FREERDP_DEPRECATED_COMMANDLINE WITH_WINPR_DEPRECATED
+CMAKE_OFF=	WITH_DSP_EXPERIMENTAL WITH_FUSE WITH_GPROF WITH_GSTREAMER_0_10 WITH_IPP \
 		WITH_LIBSYSTEMD WITH_MBEDTLS WITH_OPENCL WITH_OPENSLES WITH_PROFILER \
 		WITH_SAMPLE WITH_SANITIZE_ADDRESS WITH_SANITIZE_MEMORY \
 		WITH_SANITIZE_THREAD WITH_SERVER WITH_SERVER_INTERFACE \
@@ -38,11 +37,13 @@ CMAKE_OFF=	WITH_DSP_EXPERIMENTAL WITH_GPROF WITH_GSSAPI WITH_GSTREAMER_0_10 WITH
 PLIST_SUB+=	PATCHVERSION="${PATCHVERSION}"
 PLIST_SUB+=	MAJORVERSION="${MAJORVERSION}"
 
-OPTIONS_DEFINE=		ALSA BROKENFOCUS CUPS FAAC FAAD FFMPEG GSM GSTREAMER \
-			ICU JPEG LAME MANPAGES OPENH264 PCSC \
-			PULSEAUDIO SOXR WAYLAND X11
-OPTIONS_DEFAULT=	CUPS GSTREAMER ICU MANPAGES SWSCALE WAYLAND X11
-OPTIONS_RADIO=		SCALE
+OPTIONS_DEFINE=		AAD ALSA BROKENFOCUS CUPS FAAC FAAD FFMPEG \
+			GSM GSTREAMER ICU JPEG LAME MANPAGES OPENH264 OPUS PCSC \
+			PKCS11 PULSEAUDIO SDL SOXR URIPARSER WAYLAND X11
+OPTIONS_DEFAULT=	AAD CUPS GSSAPI_HEIMDAL GSTREAMER ICU MANPAGES \
+			SDL SWSCALE WAYLAND X11
+OPTIONS_RADIO=		GSSAPI SCALE
+OPTIONS_RADIO_GSSAPI=	GSSAPI_HEIMDAL GSSAPI_MIT
 OPTIONS_RADIO_SCALE=	CAIRO SWSCALE
 OPTIONS_SUB=		yes
 
@@ -55,6 +56,11 @@ OPTIONS_DEFAULT_aarch64=	NEON
 OPTIONS_DEFAULT_amd64=	SSE
 OPTIONS_DEFAULT_armv7=	NEON
 
+AAD_DESC=		Compile with support for Azure AD authentication
+AAD_LIB_DEPENDS=	libcjson.so:devel/libcjson \
+			libcjson_utils.so:devel/libcjson
+AAD_CMAKE_BOOL=		WITH_AAD
+
 ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
 ALSA_CMAKE_BOOL=	WITH_ALSA
 
@@ -66,6 +72,15 @@ CAIRO_CMAKE_BOOL=	WITH_CAIRO
 CAIRO_USES=		gnome
 CAIRO_USE=		gnome=cairo
 
+SDL_DESC=		Build FreeRDP SDL client
+SDL_LIB_DEPENDS=	libatk-1.0.so:accessibility/at-spi2-core \
+			libsoup-2.4.so:devel/libsoup \
+			libharfbuzz.so:print/harfbuzz \
+			libwebkit2gtk-4.0.so:www/webkit2-gtk3
+SDL_CMAKE_BOOL=		WITH_CLIENT_SDL WITH_SDL_IMAGE_DIALOGS
+SDL_USES=		gettext gnome sdl
+SDL_USE=		gnome=cairo,gdkpixbuf2,glib20,gtk30,pango sdl=sdl2,ttf2,image2
+
 CUPS_LIB_DEPENDS=	libcups.so:print/cups
 CUPS_CMAKE_BOOL=	WITH_CUPS
 
@@ -82,16 +97,20 @@ FFMPEG_CMAKE_BOOL=	WITH_FFMPEG WITH_DSP_FFMPEG
 GSM_LIB_DEPENDS=	libgsm.so:audio/gsm
 GSM_CMAKE_BOOL=		WITH_GSM
 
+GSTREAMER_LIB_DEPENDS=	libgstbase-1.0.so:multimedia/gstreamer1
 GSTREAMER_CMAKE_BOOL=	WITH_GSTREAMER_1_0 CHANNEL_TSMF
 GSTREAMER_USES=		gettext gnome gstreamer xorg
 GSTREAMER_USE=		gnome=glib20 xorg=x11,xext,xorgproto,xrandr
-GSTREAMER_LIB_DEPENDS=	libgstbase-1.0.so:multimedia/gstreamer1
+
+GSSAPI_HEIMDAL_USES=	gssapi:heimdal
+GSSAPI_MIT_USES=	gssapi:mit
 
 ICU_LIB_DEPENDS=	libicuuc.so:devel/icu
-ICU_CMAKE_BOOL=		WITH_ICU
+ICU_CMAKE_ON=		-DWITH_UNICODE_BUILTIN=OFF
+ICU_CMAKE_OFF=		-DWITH_UNICODE_BUILTIN=ON
 
-JPEG_USES=		jpeg
 JPEG_CMAKE_BOOL=	WITH_JPEG
+JPEG_USES=		jpeg
 
 LAME_LIB_DEPENDS=	libmp3lame.so:audio/lame
 LAME_CMAKE_BOOL=	WITH_LAME
@@ -106,11 +125,18 @@ OPENH264_DESC=		H.264 video codec support via OpenH264
 OPENH264_LIB_DEPENDS=	libopenh264.so:multimedia/openh264
 OPENH264_CMAKE_BOOL=	WITH_OPENH264
 
+OPUS_LIB_DEPENDS=	libopus.so:audio/opus
+OPUS_CMAKE_BOOL=	WITH_OPUS
+
 PCSC_DESC=		Smart card support (smart card device redirection)
 # LoadLibraryA("libpcsclite.so")
 PCSC_LIB_DEPENDS=	libpcsclite.so:devel/pcsc-lite
 PCSC_CMAKE_BOOL=	WITH_PCSC
 
+PKCS11_DESC=		Use security/pkcs11-helper
+PKCS11_BUILD_DEPENDS=	${LOCALBASE}/include/pkcs11-helper-1.0/pkcs11.h:security/pkcs11-helper
+PKCS11_CMAKE_BOOL=	WITH_PKCS11
+
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 PULSEAUDIO_CMAKE_BOOL=	WITH_PULSE
 
@@ -123,12 +149,18 @@ SWSCALE_DESC=		Use SWScale image library for screen resizing (recommended)
 SWSCALE_LIB_DEPENDS=	libswscale.so:multimedia/ffmpeg
 SWSCALE_CMAKE_BOOL=	WITH_SWSCALE
 
+URIPARSER_DESC=		Use uriparser RFC 3986 URI parsing library to handle URIs
+URIPARSER_LIB_DEPENDS=	liburiparser.so:net/uriparser
+URIPARSER_CMAKE_BOOL=	WITH_URIPARSER
+
 WAYLAND_DESC=		Build FreeRDP Wayland client
 WAYLAND_CATEGORIES=	wayland
-WAYLAND_BUILD_DEPENDS=	${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+WAYLAND_BUILD_DEPENDS=	${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
+			wayland-scanner:graphics/wayland
 WAYLAND_LIB_DEPENDS=	libwayland-client.so:graphics/wayland \
 			libwayland-cursor.so:graphics/wayland \
 			libxkbcommon.so:x11/libxkbcommon
+WAYLAND_RUN_DEPENDS=	wayland-scanner:graphics/wayland
 WAYLAND_CMAKE_BOOL=	WITH_WAYLAND
 
 X11_DESC=		Build FreeRDP X11 client
@@ -142,13 +174,21 @@ X11_CMAKE_OFF=		-DWITH_X11:BOOL=OFF -DWITH_XKBFILE:BOOL=OFF
 X11_USES=		xorg
 X11_USE=		xorg=x11,xcursor,xext,xorgproto,xfixes,xi,xinerama,xkbfile,xrandr,xrender,xv
 
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MGSSAPI_HEIMDAL} || ${PORT_OPTIONS:MGSSAPI_MIT}
+CMAKE_ON+=	WITH_KRB5
+.else
+CMAKE_OFF+=	WITH_KRB5
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|gsm/gsm.h|gsm.h|' \
 		${WRKSRC}/cmake/FindGSM.cmake \
 		${WRKSRC}/libfreerdp/codec/dsp.c
 
 pre-configure:
-	${CP} ${FILESDIR}/mntent.h ${WRKSRC}/rdtk/include
+	${CP} ${FILESDIR}/mntent.h ${WRKSRC}/winpr/include
 	${CP} ${FILESDIR}/mntent_compat.c ${WRKSRC}/channels/rdpdr/client
 
 .include <bsd.port.mk>
diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo
index cc51ec2cfa87..c76816174b9b 100644
--- a/net/freerdp3/distinfo
+++ b/net/freerdp3/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1702863387
-SHA256 (freerdp-2.11.4.tar.gz) = 2534e5bc53e3fd1b55611c0753a7c2b73242da33f058771cbf053e4f77483146
-SIZE (freerdp-2.11.4.tar.gz) = 7380487
-SHA256 (61983cd6dcb86097d91b7ef405abc1266444a368.patch) = be68ff4ab63c15592ff576af34d4592340b70e7b6d7b5ef3cfe5ba97b5fdccf2
-SIZE (61983cd6dcb86097d91b7ef405abc1266444a368.patch) = 2826
+TIMESTAMP = 1703304844
+SHA256 (freerdp-3.1.0.tar.gz) = ae8f499049d6e1735dc318c258887e383f613a2ffda1d70c38326df21d40affc
+SIZE (freerdp-3.1.0.tar.gz) = 8462182
diff --git a/net/freerdp3/files/mntent_compat.c b/net/freerdp3/files/mntent_compat.c
index 076f5c4cabeb..2c1eec3c3977 100644
--- a/net/freerdp3/files/mntent_compat.c
+++ b/net/freerdp3/files/mntent_compat.c
@@ -37,7 +37,6 @@
 
 /* most of this was ripped from the mount(3) source */
 
-#include "config.h"
 #include "mntent.h"
 #include <stdlib.h>
 #include <string.h>
diff --git a/net/freerdp3/files/patch-CMakeLists.txt b/net/freerdp3/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..32d51662b455
--- /dev/null
+++ b/net/freerdp3/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig	2024-01-05 17:52:01 UTC
++++ CMakeLists.txt
+@@ -494,7 +494,7 @@ else()
+ 	unset(FREERDP_HAVE_VALGRIND_MEMCHECK_H CACHE)
+ endif()
+ 
+-if((UNIX OR CYGWIN) AND NOT BSD)
++if(UNIX OR CYGWIN)
+ 	set(WAYLAND_FEATURE_TYPE "RECOMMENDED")
+ else()
+ 	set(WAYLAND_FEATURE_TYPE "DISABLED")
diff --git a/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt b/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
index 8b379eaff823..c7d80e030152 100644
--- a/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
+++ b/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
@@ -1,4 +1,4 @@
---- channels/rdpdr/client/CMakeLists.txt.orig	2020-06-09 02:02:41 UTC
+--- channels/rdpdr/client/CMakeLists.txt.orig	2024-01-05 17:52:01 UTC
 +++ channels/rdpdr/client/CMakeLists.txt
 @@ -24,6 +24,7 @@ set(${MODULE_PREFIX}_SRCS
  	irp.h
diff --git a/net/freerdp3/files/patch-client_Wayland_wlfreerdp.c b/net/freerdp3/files/patch-client_Wayland_wlfreerdp.c
deleted file mode 100644
index f718b79ccb76..000000000000
--- a/net/freerdp3/files/patch-client_Wayland_wlfreerdp.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/Wayland/wlfreerdp.c.orig	2023-12-14 18:03:49 UTC
-+++ client/Wayland/wlfreerdp.c
-@@ -587,7 +587,7 @@ static void wlf_client_free(freerdp* instance, rdpCont
- 	DeleteCriticalSection(&wlf->critical);
- }
- 
--static void* uwac_event_clone(const void* val)
-+static void* uwac_event_clone(void* val)
- {
- 	UwacEvent* copy;
- 	UwacEvent* ev = (UwacEvent*)val;
diff --git a/net/freerdp3/files/patch-cmake_FindGStreamer__1__0.cmake b/net/freerdp3/files/patch-cmake_FindGStreamer__1__0.cmake
deleted file mode 100644
index 4b2fa5aa808f..000000000000
--- a/net/freerdp3/files/patch-cmake_FindGStreamer__1__0.cmake
+++ /dev/null
@@ -1,16 +0,0 @@
-Don't use custom code to find the include dirs for gstreamer 1.0 (core).
-Since 1.6.0 there are multiple include paths. So use pkg-config to find
-which. IMO the rest of this file should use pkg-config....
-
---- cmake/FindGStreamer_1_0.cmake.orig	2016-10-21 07:29:51 UTC
-+++ cmake/FindGStreamer_1_0.cmake
-@@ -78,7 +78,8 @@ endmacro()
- # 1.1. Find headers and libraries
- set(GLIB_ROOT_DIR ${GSTREAMER_1_0_ROOT_DIR})
- find_package(Glib REQUIRED)
--FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0 gstreamer-1.0 gstreamer-1.0)
-+#FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0 gstreamer-1.0 gstreamer-1.0)
-+pkg_check_modules (GSTREAMER_1_0 gstreamer-1.0)
- FIND_GSTREAMER_COMPONENT(GSTREAMER_1_0_BASE gstreamer-base-1.0 gstbase-1.0)
- 
- # 1.2. Check Gstreamer version
diff --git a/net/freerdp3/files/patch-cmake_InstallFreeRDPMan.cmake b/net/freerdp3/files/patch-cmake_InstallFreeRDPMan.cmake
deleted file mode 100644
index b0a4793ebea7..000000000000
--- a/net/freerdp3/files/patch-cmake_InstallFreeRDPMan.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
---- cmake/InstallFreeRDPMan.cmake.orig	2023-12-14 18:03:49 UTC
-+++ cmake/InstallFreeRDPMan.cmake
-@@ -1,6 +1,6 @@
- function(install_freerdp_man manpage section)
-  if(WITH_MANPAGES)
--   if(OPENBSD OR FREEBSD)
-+   if(OPENBSD)
-        install(FILES ${manpage} DESTINATION man/man${section})
-     else()
-        install(FILES ${manpage} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man/man${section})
diff --git a/net/freerdp3/files/patch-libfreerdp_freerdp.pc.in b/net/freerdp3/files/patch-libfreerdp_freerdp.pc.in
deleted file mode 100644
index fa13e564fd8d..000000000000
--- a/net/freerdp3/files/patch-libfreerdp_freerdp.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- libfreerdp/freerdp.pc.in.orig	2016-10-21 07:29:51 UTC
-+++ libfreerdp/freerdp.pc.in
-@@ -9,7 +9,7 @@ Description: FreeRDP: A Remote Desktop P
- URL: http://www.freerdp.com/
- Version: @FREERDP_VERSION@
- Requires: 
--Requires.private: @WINPR_PKG_CONFIG_FILENAME@ libssl
-+Requires.private: @WINPR_PKG_CONFIG_FILENAME@
- Libs: -L${libdir} ${libs}
- Libs.private: -ldl -lpthread
- Cflags: -I${includedir}
diff --git a/net/freerdp3/files/patch-winpr_libwinpr_sysinfo_sysinfo.c b/net/freerdp3/files/patch-winpr_libwinpr_sysinfo_sysinfo.c
index 794253fa4267..99bd543a4f03 100644
--- a/net/freerdp3/files/patch-winpr_libwinpr_sysinfo_sysinfo.c
+++ b/net/freerdp3/files/patch-winpr_libwinpr_sysinfo_sysinfo.c
@@ -1,6 +1,6 @@
---- winpr/libwinpr/sysinfo/sysinfo.c.orig	2023-12-14 18:03:49 UTC
+--- winpr/libwinpr/sysinfo/sysinfo.c.orig	2023-12-22 16:29:20 UTC
 +++ winpr/libwinpr/sysinfo/sysinfo.c
-@@ -782,13 +782,15 @@ BOOL IsProcessorFeaturePresent(DWORD ProcessorFeature)
+@@ -800,13 +800,15 @@ BOOL IsProcessorFeaturePresent(DWORD ProcessorFeature)
  			break;
  	}
  
diff --git a/net/freerdp3/files/patch-winpr_winpr.pc.in b/net/freerdp3/files/patch-winpr_winpr.pc.in
index cd1b3e770fe3..6dae404bbf98 100644
--- a/net/freerdp3/files/patch-winpr_winpr.pc.in
+++ b/net/freerdp3/files/patch-winpr_winpr.pc.in
@@ -1,6 +1,6 @@
---- winpr/winpr.pc.in.orig	2016-10-21 07:29:51 UTC
+--- winpr/winpr.pc.in.orig	2023-12-22 16:29:20 UTC
 +++ winpr/winpr.pc.in
-@@ -9,7 +9,6 @@ Description: WinPR: Windows Portable Run
+@@ -9,7 +9,6 @@ Description: WinPR: Windows Portable Runtime
  URL: http://www.freerdp.com/
  Version: @WINPR_VERSION@
  Requires:
diff --git a/net/freerdp3/pkg-plist b/net/freerdp3/pkg-plist
index 4fc8b242b671..3c844baacd80 100644
--- a/net/freerdp3/pkg-plist
+++ b/net/freerdp3/pkg-plist
@@ -1,37 +1,39 @@
-bin/winpr-hash
-bin/winpr-makecert
-%%WAYLAND%%bin/wlfreerdp
-%%X11%%bin/xfreerdp
+bin/winpr-hash%%MAJORVERSION%%
+bin/winpr-makecert%%MAJORVERSION%%
+%%SDL%%bin/sdl-freerdp%%MAJORVERSION%%
+%%WAYLAND%%bin/wlfreerdp%%MAJORVERSION%%
+%%X11%%bin/xfreerdp%%MAJORVERSION%%
 include/freerdp%%MAJORVERSION%%/freerdp/addin.h
 include/freerdp%%MAJORVERSION%%/freerdp/altsec.h
 include/freerdp%%MAJORVERSION%%/freerdp/api.h
 include/freerdp%%MAJORVERSION%%/freerdp/assistance.h
 include/freerdp%%MAJORVERSION%%/freerdp/autodetect.h
 include/freerdp%%MAJORVERSION%%/freerdp/build-config.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/bitmap.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/brush.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/cache.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/glyph.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/nine_grid.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/offscreen.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/palette.h
-include/freerdp%%MAJORVERSION%%/freerdp/cache/pointer.h
+include/freerdp%%MAJORVERSION%%/freerdp/buildflags.h
+include/freerdp%%MAJORVERSION%%/freerdp/cache/persistent.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/ainput.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/audin.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/channels.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/cliprdr.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/disp.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/drdynvc.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/echo.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/encomsp.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/geometry.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/gfxredir.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/location.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/log.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/rail.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/rdp2tcp.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpdr.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpecam.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpei.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpemsc.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpewa.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpgfx.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpsnd.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/remdesk.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/scard.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/telemetry.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/tsmf.h
 include/freerdp%%MAJORVERSION%%/freerdp/channels/urbdrc.h
@@ -41,6 +43,7 @@ include/freerdp%%MAJORVERSION%%/freerdp/client.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/ainput.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/audin.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/channels.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/client_cliprdr_file.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/cliprdr.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/cmdline.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/disp.h
@@ -56,6 +59,7 @@ include/freerdp%%MAJORVERSION%%/freerdp/client/rdpsnd.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/remdesk.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/sshagent.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/tsmf.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/utils/smartcard_cli.h
 include/freerdp%%MAJORVERSION%%/freerdp/client/video.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/audio.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/bitmap.h
@@ -66,27 +70,28 @@ include/freerdp%%MAJORVERSION%%/freerdp/codec/dsp.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/h264.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/interleaved.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/jpeg.h
-include/freerdp%%MAJORVERSION%%/freerdp/codec/mppc.h
-include/freerdp%%MAJORVERSION%%/freerdp/codec/ncrush.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/nsc.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/planar.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/progressive.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/region.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/rfx.h
-include/freerdp%%MAJORVERSION%%/freerdp/codec/xcrush.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/yuv.h
 include/freerdp%%MAJORVERSION%%/freerdp/codec/zgfx.h
 include/freerdp%%MAJORVERSION%%/freerdp/codecs.h
+include/freerdp%%MAJORVERSION%%/freerdp/config.h
 include/freerdp%%MAJORVERSION%%/freerdp/constants.h
 include/freerdp%%MAJORVERSION%%/freerdp/crypto/ber.h
 include/freerdp%%MAJORVERSION%%/freerdp/crypto/certificate.h
+include/freerdp%%MAJORVERSION%%/freerdp/crypto/certificate_data.h
+include/freerdp%%MAJORVERSION%%/freerdp/crypto/certificate_store.h
 include/freerdp%%MAJORVERSION%%/freerdp/crypto/crypto.h
 include/freerdp%%MAJORVERSION%%/freerdp/crypto/der.h
 include/freerdp%%MAJORVERSION%%/freerdp/crypto/er.h
 include/freerdp%%MAJORVERSION%%/freerdp/crypto/per.h
-include/freerdp%%MAJORVERSION%%/freerdp/crypto/tls.h
+include/freerdp%%MAJORVERSION%%/freerdp/crypto/privatekey.h
 include/freerdp%%MAJORVERSION%%/freerdp/display.h
 include/freerdp%%MAJORVERSION%%/freerdp/dvc.h
+include/freerdp%%MAJORVERSION%%/freerdp/emulate/scard/smartcard_emulate.h
 include/freerdp%%MAJORVERSION%%/freerdp/error.h
 include/freerdp%%MAJORVERSION%%/freerdp/event.h
 include/freerdp%%MAJORVERSION%%/freerdp/extension.h
@@ -114,6 +119,7 @@ include/freerdp%%MAJORVERSION%%/freerdp/pointer.h
 include/freerdp%%MAJORVERSION%%/freerdp/primary.h
 include/freerdp%%MAJORVERSION%%/freerdp/primitives.h
 include/freerdp%%MAJORVERSION%%/freerdp/rail.h
+include/freerdp%%MAJORVERSION%%/freerdp/redirection.h
 include/freerdp%%MAJORVERSION%%/freerdp/scancode.h
 include/freerdp%%MAJORVERSION%%/freerdp/secondary.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/ainput.h
@@ -124,7 +130,16 @@ include/freerdp%%MAJORVERSION%%/freerdp/server/disp.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/drdynvc.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/echo.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/encomsp.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/gfxredir.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/location.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/proxy/proxy_config.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/proxy/proxy_context.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/proxy/proxy_log.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/proxy/proxy_modules_api.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/proxy/proxy_server.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/proxy/proxy_types.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/rail.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpemsc.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/rdpdr.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/rdpecam-enumerator.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/rdpecam.h
@@ -137,31 +152,49 @@ include/freerdp%%MAJORVERSION%%/freerdp/server/shadow.h
 include/freerdp%%MAJORVERSION%%/freerdp/server/telemetry.h
 include/freerdp%%MAJORVERSION%%/freerdp/session.h
 include/freerdp%%MAJORVERSION%%/freerdp/settings.h
+include/freerdp%%MAJORVERSION%%/freerdp/settings_keys.h
+include/freerdp%%MAJORVERSION%%/freerdp/settings_types.h
+include/freerdp%%MAJORVERSION%%/freerdp/settings_types_private.h
 include/freerdp%%MAJORVERSION%%/freerdp/svc.h
+include/freerdp%%MAJORVERSION%%/freerdp/streamdump.h
+include/freerdp%%MAJORVERSION%%/freerdp/transport_io.h
 include/freerdp%%MAJORVERSION%%/freerdp/types.h
 include/freerdp%%MAJORVERSION%%/freerdp/update.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/aad.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/cliprdr_utils.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/drdynvc.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/encoded_types.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/gfx.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/http.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/passphrase.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/pcap.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/pod_arrays.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/profiler.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/proxy_utils.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/rdpdr_utils.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/ringbuffer.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/signal.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/smartcard_call.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/smartcard_operations.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/smartcard_pack.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/smartcardlogon.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/stopwatch.h
 include/freerdp%%MAJORVERSION%%/freerdp/utils/string.h
 include/freerdp%%MAJORVERSION%%/freerdp/version.h
 include/freerdp%%MAJORVERSION%%/freerdp/window.h
-%%WAYLAND%%include/uwac0/uwac/uwac-tools.h
-%%WAYLAND%%include/uwac0/uwac/uwac.h
+include/winpr%%MAJORVERSION%%/mntent.h
 include/winpr%%MAJORVERSION%%/winpr/asn1.h
 include/winpr%%MAJORVERSION%%/winpr/assert.h
 include/winpr%%MAJORVERSION%%/winpr/bcrypt.h
 include/winpr%%MAJORVERSION%%/winpr/bitstream.h
+include/winpr%%MAJORVERSION%%/winpr/build-config.h
+include/winpr%%MAJORVERSION%%/winpr/buildflags.h
 include/winpr%%MAJORVERSION%%/winpr/clipboard.h
 include/winpr%%MAJORVERSION%%/winpr/cmdline.h
 include/winpr%%MAJORVERSION%%/winpr/collections.h
 include/winpr%%MAJORVERSION%%/winpr/comm.h
-include/winpr%%MAJORVERSION%%/winpr/credentials.h
-include/winpr%%MAJORVERSION%%/winpr/credui.h
+include/winpr%%MAJORVERSION%%/winpr/config.h
+include/winpr%%MAJORVERSION%%/winpr/cred.h
 include/winpr%%MAJORVERSION%%/winpr/crt.h
 include/winpr%%MAJORVERSION%%/winpr/crypto.h
 include/winpr%%MAJORVERSION%%/winpr/custom-crypto.h
@@ -172,7 +205,6 @@ include/winpr%%MAJORVERSION%%/winpr/environment.h
 include/winpr%%MAJORVERSION%%/winpr/error.h
 include/winpr%%MAJORVERSION%%/winpr/file.h
 include/winpr%%MAJORVERSION%%/winpr/handle.h
-include/winpr%%MAJORVERSION%%/winpr/heap.h
 include/winpr%%MAJORVERSION%%/winpr/image.h
 include/winpr%%MAJORVERSION%%/winpr/ini.h
 include/winpr%%MAJORVERSION%%/winpr/input.h
@@ -180,10 +212,8 @@ include/winpr%%MAJORVERSION%%/winpr/interlocked.h
 include/winpr%%MAJORVERSION%%/winpr/intrin.h
 include/winpr%%MAJORVERSION%%/winpr/io.h
 include/winpr%%MAJORVERSION%%/winpr/library.h
-include/winpr%%MAJORVERSION%%/winpr/locale.h
 include/winpr%%MAJORVERSION%%/winpr/memory.h
-include/winpr%%MAJORVERSION%%/winpr/midl.h
-include/winpr%%MAJORVERSION%%/winpr/ndr.h
+include/winpr%%MAJORVERSION%%/winpr/ncrypt.h
 include/winpr%%MAJORVERSION%%/winpr/nt.h
 include/winpr%%MAJORVERSION%%/winpr/ntlm.h
 include/winpr%%MAJORVERSION%%/winpr/pack.h
@@ -196,6 +226,7 @@ include/winpr%%MAJORVERSION%%/winpr/registry.h
 include/winpr%%MAJORVERSION%%/winpr/rpc.h
 include/winpr%%MAJORVERSION%%/winpr/sam.h
 include/winpr%%MAJORVERSION%%/winpr/schannel.h
+include/winpr%%MAJORVERSION%%/winpr/secapi.h
 include/winpr%%MAJORVERSION%%/winpr/security.h
 include/winpr%%MAJORVERSION%%/winpr/shell.h
 include/winpr%%MAJORVERSION%%/winpr/smartcard.h
@@ -216,11 +247,9 @@ include/winpr%%MAJORVERSION%%/winpr/user.h
 include/winpr%%MAJORVERSION%%/winpr/version.h
 include/winpr%%MAJORVERSION%%/winpr/wincrypt.h
 include/winpr%%MAJORVERSION%%/winpr/windows.h
-include/winpr%%MAJORVERSION%%/winpr/winhttp.h
 include/winpr%%MAJORVERSION%%/winpr/winpr.h
 include/winpr%%MAJORVERSION%%/winpr/winsock.h
 include/winpr%%MAJORVERSION%%/winpr/wlog.h
-include/winpr%%MAJORVERSION%%/winpr/wnd.h
 include/winpr%%MAJORVERSION%%/winpr/wtsapi.h
 include/winpr%%MAJORVERSION%%/winpr/wtypes.h
 lib/libfreerdp-client%%MAJORVERSION%%.so
@@ -229,9 +258,6 @@ lib/libfreerdp-client%%MAJORVERSION%%.so.%%PATCHVERSION%%
 lib/libfreerdp%%MAJORVERSION%%.so
 lib/libfreerdp%%MAJORVERSION%%.so.%%MAJORVERSION%%
 lib/libfreerdp%%MAJORVERSION%%.so.%%PATCHVERSION%%
-%%WAYLAND%%lib/libuwac0.so
-%%WAYLAND%%lib/libuwac0.so.0
-%%WAYLAND%%lib/libuwac0.so.0.2.0
 lib/libwinpr-tools%%MAJORVERSION%%.so
 lib/libwinpr-tools%%MAJORVERSION%%.so.%%MAJORVERSION%%
 lib/libwinpr-tools%%MAJORVERSION%%.so.%%PATCHVERSION%%
@@ -240,14 +266,14 @@ lib/libwinpr%%MAJORVERSION%%.so.%%MAJORVERSION%%
 lib/libwinpr%%MAJORVERSION%%.so.%%PATCHVERSION%%
 libdata/pkgconfig/freerdp-client%%MAJORVERSION%%.pc
 libdata/pkgconfig/freerdp%%MAJORVERSION%%.pc
-%%WAYLAND%%libdata/pkgconfig/uwac0.pc
 libdata/pkgconfig/winpr-tools%%MAJORVERSION%%.pc
 libdata/pkgconfig/winpr%%MAJORVERSION%%.pc
-%%MANPAGES%%share/man/man1/winpr-hash.1.gz
-%%MANPAGES%%share/man/man1/winpr-makecert.1.gz
-%%WAYLAND%%%%MANPAGES%%share/man/man1/wlfreerdp.1.gz
-%%X11%%%%MANPAGES%%share/man/man1/xfreerdp.1.gz
-%%MANPAGES%%share/man/man7/wlog.7.gz
+%%SDL%%%%MANPAGES%%share/man/man1/sdl-freerdp%%MAJORVERSION%%.1.gz
+%%MANPAGES%%share/man/man1/winpr-hash%%MAJORVERSION%%.1.gz
+%%MANPAGES%%share/man/man1/winpr-makecert%%MAJORVERSION%%.1.gz
+%%WAYLAND%%%%MANPAGES%%share/man/man1/wlfreerdp%%MAJORVERSION%%.1.gz
+%%X11%%%%MANPAGES%%share/man/man1/xfreerdp%%MAJORVERSION%%.1.gz
+%%MANPAGES%%share/man/man7/wlog%%MAJORVERSION%%.7.gz
 share/cmake/Modules/FreeRDP-Client%%MAJORVERSION%%/FreeRDP-ClientConfig.cmake
 share/cmake/Modules/FreeRDP-Client%%MAJORVERSION%%/FreeRDP-ClientConfigVersion.cmake
 share/cmake/Modules/FreeRDP-Client%%MAJORVERSION%%/FreeRDP-ClientTargets-%%CMAKE_BUILD_TYPE%%.cmake
@@ -260,7 +286,9 @@ share/cmake/Modules/WinPR%%MAJORVERSION%%/WinPRConfig.cmake
 share/cmake/Modules/WinPR%%MAJORVERSION%%/WinPRConfigVersion.cmake
 share/cmake/Modules/WinPR%%MAJORVERSION%%/WinPRTargets-%%CMAKE_BUILD_TYPE%%.cmake
 share/cmake/Modules/WinPR%%MAJORVERSION%%/WinPRTargets.cmake
-%%WAYLAND%%share/cmake/Modules/uwac0/uwac-%%CMAKE_BUILD_TYPE%%.cmake
-%%WAYLAND%%share/cmake/Modules/uwac0/uwac.cmake
-%%WAYLAND%%share/cmake/Modules/uwac0/uwacConfig.cmake
-%%WAYLAND%%share/cmake/Modules/uwac0/uwacConfigVersion.cmake
+share/cmake/Modules/WinPR-tools%%MAJORVERSION%%/WinPR-toolsConfig.cmake
+share/cmake/Modules/WinPR-tools%%MAJORVERSION%%/WinPR-toolsConfigVersion.cmake
+share/cmake/Modules/WinPR-tools%%MAJORVERSION%%/WinPR-toolsTargets-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/Modules/WinPR-tools%%MAJORVERSION%%/WinPR-toolsTargets.cmake
+@dir include/winpr%%MAJORVERSION%%/CMakeFiles
+@dir include/winpr%%MAJORVERSION%%/config
diff --git a/net/remmina/Makefile b/net/remmina/Makefile
index ae73e274ca56..f410cf9dd050 100644
--- a/net/remmina/Makefile
+++ b/net/remmina/Makefile
@@ -130,6 +130,7 @@ bash_CMD=		${SH_BIN}
 post-patch:
 	${REINPLACE_CMD} -e 's,FreeBSD,FreeBSD|DragonFly,' \
 		${WRKSRC}/CMakeLists.txt
+	${RM} ${WRKSRC}/cmake/FindFREERDP3.cmake
 
 post-patch-EXEC-off:
 	${REINPLACE_CMD} -e '/add_subdirectory(exec)/d' ${WRKSRC}/plugins/CMakeLists.txt