git: 22f3e1e89f11 - main - net/freerdp3: update 3.6.3 → 3.7.0

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Fri, 09 Aug 2024 19:23:44 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=22f3e1e89f118f0523a1e489a2a6dd72e8486cae

commit 22f3e1e89f118f0523a1e489a2a6dd72e8486cae
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2024-08-09 19:22:10 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-08-09 19:22:10 +0000

    net/freerdp3: update 3.6.3 → 3.7.0
    
    Changelog:
    https://github.com/FreeRDP/FreeRDP/releases/tag/3.7.0
---
 net/freerdp3/Makefile  | 62 ++++++++++++++++++++++++++++++++++----------------
 net/freerdp3/distinfo  |  6 ++---
 net/freerdp3/pkg-plist | 14 +++++++-----
 3 files changed, 54 insertions(+), 28 deletions(-)

diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
index 4a153beb3627..17784fbe557f 100644
--- a/net/freerdp3/Makefile
+++ b/net/freerdp3/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	freerdp
-DISTVERSION=	3.6.3
+DISTVERSION=	3.7.0
 CATEGORIES=	net comms
 MASTER_SITES=	https://pub.freerdp.com/releases/ \
 		https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/
@@ -36,7 +36,7 @@ CMAKE_OFF=	CHANNEL_TSMF WITH_DSP_EXPERIMENTAL WITH_FUSE WITH_GPROF WITH_GSTREAME
 PLIST_SUB+=	PATCHVERSION="${DISTVERSION}"
 PLIST_SUB+=	MAJORVERSION="${DISTVERSION:R:R}"
 
-OPTIONS_DEFINE=			ALSA BROKENFOCUS CUPS FAAC FAAD FFMPEG GSM ICU \
+OPTIONS_DEFINE=			ALSA BROKENFOCUS CUPS FAAC FAAD FDKAAC FFMPEG GSM ICU \
 				JPEG LAME MANPAGES OPENH264 OPUS PCSC PKCS11 \
 				PULSEAUDIO SDL SOXR URIPARSER WAYLAND X11
 OPTIONS_DEFINE_aarch64=		NEON
@@ -44,46 +44,44 @@ OPTIONS_DEFINE_amd64=		SSE
 OPTIONS_DEFINE_armv6=		NEON
 OPTIONS_DEFINE_armv7=		NEON
 OPTIONS_DEFINE_i386=		SSE
-OPTIONS_DEFAULT=		AAD_JSONC CUPS GSSAPI_HEIMDAL ICU MANPAGES SDL \
-				SWSCALE WAYLAND WEBKIT X11
+OPTIONS_DEFAULT=		AAD CUPS GSSAPI_HEIMDAL ICU JSON_C KEYBOARD_LAYOUT \
+				MANPAGES SDL SWSCALE TIMEZONE_FILE WAYLAND WEBKIT X11
 OPTIONS_DEFAULT_aarch64=	NEON
 OPTIONS_DEFAULT_amd64=		SSE
 OPTIONS_DEFAULT_armv7=		NEON
-OPTIONS_GROUP=			CLIPBOARD_IMAGE
-OPTIONS_GROUP_CLIPBOARD_IMAGE=  JPEG_CB PNG WEBP
-OPTIONS_RADIO=			AAD GSSAPI SCALE WEBVIEW
-OPTIONS_RADIO_AAD=		AAD_CJSON AAD_JSONC
+OPTIONS_GROUP=			CLIPBOARD_IMAGE REQUIRE_JSON
+OPTIONS_GROUP_CLIPBOARD_IMAGE=	JPEG_CB PNG WEBP
+OPTIONS_GROUP_REQUIRE_JSON=	AAD KEYBOARD_LAYOUT TIMEZONE_FILE
+OPTIONS_RADIO=			GSSAPI JSON SCALE WEBVIEW
 OPTIONS_RADIO_GSSAPI=		GSSAPI_HEIMDAL GSSAPI_MIT
+OPTIONS_RADIO_JSON=		CJSON JSON_C
 OPTIONS_RADIO_SCALE=		CAIRO SWSCALE
 OPTIONS_RADIO_WEBVIEW=		WEBENGINE WEBKIT
 OPTIONS_SUB=			yes
 
-AAD_CJSON_DESC=		Use cJSON library (devel/libcjson)
 AAD_DESC=		Compile with support for Azure AD authentication (require SDL)
-AAD_JSONC_DESC=		Use JSON-C library (devel/json-c)
 BROKENFOCUS_DESC=	Work around focus bug in some WMs (PR \#254908)
 CAIRO_DESC=		Use CAIRO image library for screen resizing
+CJSON_DESC=		${JSON_DESC} via cJSON
 CLIPBOARD_IMAGE_DESC=	Add "to/from" BMP conversion support to clipboard (experimental)
+FDKAAC_DESC=		Support for FDK-AAC for sound and microphone redirection
 JPEG_CB_DESC=		${JPEG_DESC}
+KEYBOARD_LAYOUT_DESC=	Use keyboard definitions from JSON file
 NEON_DESC=		Enable Media Processing Engine instructions
 OPENH264_DESC=		H.264 video codec support via OpenH264
 PCSC_DESC=		Smart card support (smart card device redirection)
 PKCS11_DESC=		Use security/pkcs11-helper
+REQUIRE_JSON_DESC=	Options that require JSON
 SDL_DESC=		Build FreeRDP SDL client
 SWSCALE_DESC=		Use SWScale image library for screen resizing (recommended)
+TIMEZONE_FILE_DESC=	Support timezones as JSON resources (if OFF, compiled in is used)
 URIPARSER_DESC=		Use uriparser RFC 3986 URI parsing library to handle URIs
 WAYLAND_DESC=		Build FreeRDP Wayland client
 WEBVIEW_DESC=		Build with WebView support for AAD login popup browser
 X11_DESC=		Build FreeRDP X11 client
 
-AAD_CJSON_IMPLIES=	SDL
-AAD_CJSON_LIB_DEPENDS=	libcjson.so:devel/libcjson \
-			libcjson_utils.so:devel/libcjson
-AAD_CJSON_CMAKE_BOOL=	WITH_AAD WITH_CJSON_REQUIRED
-
-AAD_JSONC_IMPLIES=	${AAD_CJSON_IMPLIES}
-AAD_JSONC_LIB_DEPENDS=	libjson-c.so:devel/json-c
-AAD_JSONC_CMAKE_BOOL=	WITH_AAD WITH_JSONC_REQUIRED
+AAD_IMPLIES=		SDL
+AAD_CMAKE_BOOL=		WITH_AAD
 
 ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
 ALSA_CMAKE_BOOL=	WITH_ALSA
@@ -94,6 +92,10 @@ CAIRO_USES=		gnome
 CAIRO_USE=		gnome=cairo
 CAIRO_CMAKE_BOOL=	WITH_CAIRO
 
+CJSON_LIB_DEPENDS=	libcjson.so:devel/libcjson \
+			libcjson_utils.so:devel/libcjson
+CJSON_CMAKE_BOOL=	WITH_CJSON_REQUIRED
+
 CUPS_LIB_DEPENDS=	libcups.so:print/cups
 CUPS_CMAKE_BOOL=	WITH_CUPS
 
@@ -103,6 +105,9 @@ FAAC_CMAKE_BOOL=	WITH_FAAC
 FAAD_LIB_DEPENDS=	libfaad.so:audio/faad
 FAAD_CMAKE_BOOL=	WITH_FAAD2
 
+FDKAAC_LIB_DEPENDS=	libfdk-aac.so:audio/fdk-aac
+FDKAAC_CMAKE_BOOL=	WITH_FDK_AAC
+
 FFMPEG_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
 			libavutil.so:multimedia/ffmpeg
 FFMPEG_CMAKE_BOOL=	WITH_FFMPEG WITH_DSP_FFMPEG
@@ -123,6 +128,11 @@ JPEG_CMAKE_BOOL=	WITH_JPEG
 JPEG_CB_USES=		jpeg
 JPEG_CB_CMAKE_BOOL=	WINPR_UTILS_IMAGE_JPEG
 
+JSON_C_LIB_DEPENDS=	libjson-c.so:devel/json-c
+JSON_C_CMAKE_BOOL=	WITH_JSONC_REQUIRED
+
+KEYBOARD_LAYOUT_CMAKE_BOOL=	WITH_KEYBOARD_LAYOUT_FROM_FILE
+
 LAME_LIB_DEPENDS=	libmp3lame.so:audio/lame
 LAME_CMAKE_BOOL=	WITH_LAME
 
@@ -162,6 +172,10 @@ SSE_CMAKE_BOOL=		WITH_SSE2
 SWSCALE_LIB_DEPENDS=	libswscale.so:multimedia/ffmpeg
 SWSCALE_CMAKE_BOOL=	WITH_SWSCALE
 
+TIMEZONE_FILE_CMAKE_BOOL=	WITH_TIMEZONE_FROM_FILE
+TIMEZONE_FILE_CMAKE_ON=		-DWITH_TIMEZONE_COMPILED=OFF
+TIMEZONE_FILE_CMAKE_OFF=	-DWITH_TIMEZONE_COMPILED=ON
+
 URIPARSER_LIB_DEPENDS=	liburiparser.so:net/uriparser
 URIPARSER_CMAKE_BOOL=	WITH_URIPARSER
 
@@ -201,7 +215,7 @@ X11_CMAKE_OFF=		-DWITH_X11:BOOL=OFF -DWITH_XKBFILE:BOOL=OFF
 
 .include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MAAD_CJSON} || ${PORT_OPTIONS:MAAD_JSONC}
+.if ${PORT_OPTIONS:MAAD}
 .  if ${PORT_OPTIONS:MWEBENGINE}
 USES+=		${WEBENGINE_USES_}
 USE_QT+=	${WEBENGINE_USE_QT}
@@ -222,6 +236,16 @@ CMAKE_ON+=	WITH_KRB5
 CMAKE_OFF+=	WITH_KRB5
 .endif
 
+.if ${PORT_OPTIONS:MCJSON} || ${PORT_OPTIONS:MJSON_C}
+CMAKE_ON+=	WITH_WINPR_JSON
+CMAKE_OFF+=	WITH_JSON_DISABLED
+PLIST_SUB+=	JSON=""
+.else
+CMAKE_ON+=	WITH_JSON_DISABLED
+CMAKE_OFF+=	WITH_AAD WITH_WINPR_JSON
+PLIST_SUB+=	JSON="@comment "
+.endif
+
 post-patch:
 	@${REINPLACE_CMD} -e 's|gsm/gsm.h|gsm.h|' \
 		${WRKSRC}/cmake/FindGSM.cmake \
diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo
index 93f390b005b3..2feef4a66ed8 100644
--- a/net/freerdp3/distinfo
+++ b/net/freerdp3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1720693956
-SHA256 (freerdp-3.6.3.tar.gz) = ff06a0ecac48a537347821841593d83c9b3c87aad8df5bc50d5f33d0da9dde71
-SIZE (freerdp-3.6.3.tar.gz) = 10199503
+TIMESTAMP = 1723200489
+SHA256 (freerdp-3.7.0.tar.gz) = 53e392b4a3f38a874322e611608f925e8041eef7e0060a58982fa419e58d4dd2
+SIZE (freerdp-3.7.0.tar.gz) = 10223833
diff --git a/net/freerdp3/pkg-plist b/net/freerdp3/pkg-plist
index eb59e12a7427..af8b122b28e7 100644
--- a/net/freerdp3/pkg-plist
+++ b/net/freerdp3/pkg-plist
@@ -270,12 +270,8 @@ libdata/pkgconfig/freerdp-client%%MAJORVERSION%%.pc
 libdata/pkgconfig/freerdp%%MAJORVERSION%%.pc
 libdata/pkgconfig/winpr-tools%%MAJORVERSION%%.pc
 libdata/pkgconfig/winpr%%MAJORVERSION%%.pc
-%%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
+%%JSON%%%%KEYBOARD_LAYOUT%%share/FreeRDP/KeyboardLayoutMap.json
+%%JSON%%%%TIMEZONE_FILE%%share/WinPR/TimeZoneNameMap.json
 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
@@ -292,5 +288,11 @@ 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
+%%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
 @dir include/winpr%%MAJORVERSION%%/CMakeFiles
 @dir include/winpr%%MAJORVERSION%%/config