summaryrefslogtreecommitdiff
path: root/net/freerdp3
diff options
context:
space:
mode:
Diffstat (limited to 'net/freerdp3')
-rw-r--r--net/freerdp3/Makefile67
-rw-r--r--net/freerdp3/distinfo20
-rw-r--r--net/freerdp3/files/patch-webview-src_cmake_webview.cmake47
-rw-r--r--net/freerdp3/pkg-plist2
4 files changed, 87 insertions, 49 deletions
diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
index f9d7dbf3a0d0..412a3aed846b 100644
--- a/net/freerdp3/Makefile
+++ b/net/freerdp3/Makefile
@@ -1,15 +1,16 @@
PORTNAME= freerdp
-DISTVERSION= 3.15.0
-PORTREVISION= 1
+DISTVERSION= 3.17.0
CATEGORIES= net comms
-MASTER_SITES= https://pub.freerdp.com/releases/ \
- https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/
+MASTER_SITES+= https://pub.freerdp.com/releases/:freerdp \
+ https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/:freerdp
PKGNAMESUFFIX= 3
+DISTFILES+= ${DISTNAME}${EXTRACT_SUFX}:freerdp
PATCH_SITES= https://github.com/FreeRDP/FreeRDP/commit/
-# Fix realm usage for Heimdal: https://bugs.freebsd.org/286816
-PATCHFILES+= 8c2be5fd53501c129042ec8205ca2ff1bae90cda.patch:-p1
-PATCHFILES+= 374707d4fa609e5434f2166b5c11df655f6ff952.patch:-p1
+PATCHFILES= 83ffa524e90ae08a0f940b70cf66204477a172be.patch:-p1 \
+ afa7069a8dde0e2109939d64b5f904dedeff1909.patch:-p1 \
+ 78f51bed0dd51c271358f04769faf927bfdfcba8.patch:-p1 \
+ 7e9149e6aa12e3105612f53d3bbf7d14e84835d4.patch:-p1
MAINTAINER= vvd@FreeBSD.org
COMMENT= Free implementation of Remote Desktop Protocol
@@ -26,6 +27,8 @@ USES= alias cmake compiler:c++11-lib cpe desktop-file-utils \
BROKEN_SSL= libressl-devel
BROKEN_SSL_REASON_libressl-devel= fails to compile: no member named 'alert_dispatch' in 'struct ssl3_state_st'
+USE_GITHUB= nodefault
+GH_TUPLE= akallabeth:webview:2a0a130:webview/../.build/_deps/webview-src
USE_LDCONFIG= yes
USE_XORG= ice sm x11 xext
@@ -48,28 +51,27 @@ PLIST_SUB+= MAJORVERSION="${DISTVERSION:R:R}"
OPTIONS_DEFINE= ALSA BROKENFOCUS CUPS FAAC FAAD FDKAAC FFMPEG \
GSM ICU JPEG LAME MANPAGES OPENH264 OPUS PCSC \
PKCS11 PULSEAUDIO RDPECAM SDL2 SDL3 SOXR \
- URIPARSER WAYLAND X11
+ URIPARSER WAYLAND WEBVIEW X11
OPTIONS_DEFINE_aarch64= SIMD
OPTIONS_DEFINE_amd64= SIMD
OPTIONS_DEFINE_armv7= SIMD
OPTIONS_DEFINE_i386= SIMD
-OPTIONS_DEFAULT= AAD CUPS FFMPEG GSSAPI_HEIMDAL ICU JSON_C \
+OPTIONS_DEFAULT= AAD CUPS FFMPEG GSSAPI_MIT ICU JSON_C \
KEYBOARD_LAYOUT MANPAGES RDPECAM SDL2 SDL3 \
- SWSCALE TIMEZONE_FILE WAYLAND WEBKIT X11
+ SWSCALE TIMEZONE_FILE WAYLAND WEBVIEW X11
OPTIONS_DEFAULT_aarch64= SIMD
OPTIONS_DEFAULT_amd64= SIMD
OPTIONS_DEFAULT_armv7= SIMD
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 JSON SCALE
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_DESC= Compile with support for Azure AD authentication (require SDL)
+AAD_DESC= Compile with support for Azure AD authentication (require SDL and WEBVIEW)
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
@@ -91,7 +93,7 @@ WAYLAND_DESC= Build FreeRDP Wayland client
WEBVIEW_DESC= Build with WebView support for AAD login popup browser
X11_DESC= Build FreeRDP X11 client
-AAD_IMPLIES= SDL3
+AAD_IMPLIES= SDL3 WEBVIEW
AAD_CMAKE_BOOL= WITH_AAD
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
@@ -175,6 +177,7 @@ RDPECAM_LIB_DEPENDS= libv4l2.so:multimedia/libv4l \
libv4lconvert.so:multimedia/libv4l
RDPECAM_CMAKE_BOOL= CHANNEL_RDPECAM_CLIENT
+SDL2_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
SDL2_USES= sdl
SDL2_USE= sdl=sdl2,ttf2,image2
SDL2_CMAKE_BOOL= WITH_CLIENT_SDL2 WITH_SDL_IMAGE_DIALOGS
@@ -207,22 +210,17 @@ WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
WAYLAND_RUN_DEPENDS= wayland-scanner:graphics/wayland
WAYLAND_CMAKE_BOOL= WITH_WAYLAND
-_WEBENGINE_USES= qt:5
-WEBENGINE_USE_QT= core declarative gui location network printsupport \
- webchannel webengine widgets buildtools:build qmake:build
-WEBENGINE_CMAKE_BOOL= WITH_WEBVIEW_QT
-WEBENGINE_CMAKE_ON= -DWITH_WEBVIEW:BOOL=ON
-
-_WEBKIT_LIB_DEPENDS= libsoup-3.0.so:devel/libsoup3 \
- libharfbuzz.so:print/harfbuzz \
- libwebkit2gtk-4.1.so:www/webkit2-gtk@41
-_WEBKIT_USES= gettext gnome
-WEBKIT_USE_GNOME= atk cairo gdkpixbuf glib20 gtk30 pango
-WEBKIT_CMAKE_ON= -DWITH_WEBVIEW:BOOL=ON
-
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
WEBP_CMAKE_BOOL= WINPR_UTILS_IMAGE_WEBP
+WEBVIEW_LIB_DEPENDS= libsoup-3.0.so:devel/libsoup3 \
+ libharfbuzz.so:print/harfbuzz \
+ libwebkitgtk-6.0.so:www/webkit2-gtk@60 \
+ libgraphene-1.0.so:graphics/graphene
+WEBVIEW_USES= gnome
+WEBVIEW_USE= gnome=cairo,gdkpixbuf,glib20,gtk40,pango
+WEBVIEW_CMAKE_BOOL= WITH_WEBVIEW
+
X11_USE= xorg=xcursor,xfixes,xi,xinerama,xkbfile,xorgproto,xrandr,xrender,xv
X11_CMAKE_ON= -DWITH_X11:BOOL=ON -DWITH_XCURSOR:BOOL=ON \
-DWITH_XEXT:BOOL=ON -DWITH_XFIXES:BOOL=ON \
@@ -234,21 +232,6 @@ X11_CMAKE_OFF= -DWITH_X11:BOOL=OFF -DWITH_XKBFILE:BOOL=OFF
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MAAD}
-. if ${PORT_OPTIONS:MWEBENGINE}
-USES+= ${_WEBENGINE_USES}
-USE_QT+= ${WEBENGINE_USE_QT}
-. elif ${PORT_OPTIONS:MWEBKIT}
-LIB_DEPENDS+= ${_WEBKIT_LIB_DEPENDS}
-USES+= ${_WEBKIT_USES}
-USE_GNOME+= ${WEBKIT_USE_GNOME}
-. else
-CMAKE_OFF+= WITH_WEBVIEW
-. endif
-.else
-CMAKE_OFF+= WITH_WEBVIEW
-.endif
-
.if ${PORT_OPTIONS:MGSSAPI_HEIMDAL} || ${PORT_OPTIONS:MGSSAPI_MIT}
CMAKE_ON+= WITH_KRB5
.else
diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo
index b71c876354d5..38d5e886cdf4 100644
--- a/net/freerdp3/distinfo
+++ b/net/freerdp3/distinfo
@@ -1,7 +1,13 @@
-TIMESTAMP = 1747401167
-SHA256 (freerdp-3.15.0.tar.gz) = e8cd58decef4c970faea2fbea675970eea60e440ebe8033c54889acb83787371
-SIZE (freerdp-3.15.0.tar.gz) = 10444672
-SHA256 (8c2be5fd53501c129042ec8205ca2ff1bae90cda.patch) = 9ad6bcef07b0b17bdcb86ee0c516f5842146def42288a206b7ab5cfb75052e7a
-SIZE (8c2be5fd53501c129042ec8205ca2ff1bae90cda.patch) = 946
-SHA256 (374707d4fa609e5434f2166b5c11df655f6ff952.patch) = 997ba5dd88b223c897741a3a8f0cc134cdf53131459d6402e62958075dda2142
-SIZE (374707d4fa609e5434f2166b5c11df655f6ff952.patch) = 4571
+TIMESTAMP = 1756200000
+SHA256 (freerdp-3.17.0.tar.gz) = 5ec3f80d38421f894be3c38837e39b41965314f8ba1246faceb460d2b60869b6
+SIZE (freerdp-3.17.0.tar.gz) = 10522070
+SHA256 (akallabeth-webview-2a0a130_GH0.tar.gz) = 22448da4658b73cc20e6944d9a351ab6c40d1a50026997f8278f63713f5f7c07
+SIZE (akallabeth-webview-2a0a130_GH0.tar.gz) = 185888
+SHA256 (83ffa524e90ae08a0f940b70cf66204477a172be.patch) = 24339d494a28e1e2b8f65d1e0c0ffe8719d949c4e43686df66cccb0c72296131
+SIZE (83ffa524e90ae08a0f940b70cf66204477a172be.patch) = 4209
+SHA256 (afa7069a8dde0e2109939d64b5f904dedeff1909.patch) = da71459584ebc24a3b8f94b4722d7906fb3fca6c60d27a8fa38c642e8798ef33
+SIZE (afa7069a8dde0e2109939d64b5f904dedeff1909.patch) = 1279
+SHA256 (78f51bed0dd51c271358f04769faf927bfdfcba8.patch) = 680cc32cba9a1a023f83f91288a342837ea403edf9623a4962da14d40ef3fa00
+SIZE (78f51bed0dd51c271358f04769faf927bfdfcba8.patch) = 1034
+SHA256 (7e9149e6aa12e3105612f53d3bbf7d14e84835d4.patch) = 9443b095abfab500a07ce127cc063f6440d4b0e7a94fbbd439d244684c255825
+SIZE (7e9149e6aa12e3105612f53d3bbf7d14e84835d4.patch) = 1783
diff --git a/net/freerdp3/files/patch-webview-src_cmake_webview.cmake b/net/freerdp3/files/patch-webview-src_cmake_webview.cmake
new file mode 100644
index 000000000000..e8d30589704f
--- /dev/null
+++ b/net/freerdp3/files/patch-webview-src_cmake_webview.cmake
@@ -0,0 +1,47 @@
+--- ../.build/_deps/webview-src/cmake/webview.cmake.orig 2025-06-03 18:40:31 UTC
++++ ../.build/_deps/webview-src/cmake/webview.cmake
+@@ -8,11 +8,23 @@ macro(webview_find_dependencies)
+ macro(webview_find_dependencies)
+ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ list(APPEND WEBVIEW_DEPENDENCIES "-framework WebKit" dl)
+- elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++ if(WEBVIEW_USE_BUILTIN_MSWEBVIEW2)
++ find_package(MSWebView2 QUIET)
++ if(NOT MSWebView2_FOUND)
++ webview_fetch_mswebview2(${WEBVIEW_MSWEBVIEW2_VERSION})
++ endif()
++ find_package(MSWebView2 REQUIRED)
++ if(MSWebView2_FOUND)
++ list(APPEND WEBVIEW_DEPENDENCIES MSWebView2::headers)
++ endif()
++ endif()
++ list(APPEND WEBVIEW_DEPENDENCIES advapi32 ole32 shell32 shlwapi user32 version)
++ else()
+ find_package(PkgConfig REQUIRED)
+
+ # List of preferred WebkitGTK modules (from most to least preferred)
+- set(WEBVIEW_WEBKITGTK_PREFERRED_API_LIST webkit2gtk-4.1)
++ set(WEBVIEW_WEBKITGTK_PREFERRED_API_LIST webkitgtk-6.0)
+ # List of known WebkitGTK modules (from higher to lower version)
+ set(WEBVIEW_WEBKITGTK_KNOWN_API_LIST webkitgtk-6.0 webkit2gtk-4.1 webkit2gtk-4.0)
+
+@@ -58,18 +70,6 @@ macro(webview_find_dependencies)
+ endif()
+
+ list(APPEND WEBVIEW_DEPENDENCIES PkgConfig::WEBVIEW_WEBKITGTK PkgConfig::WEBVIEW_GTK dl)
+- elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+- if(WEBVIEW_USE_BUILTIN_MSWEBVIEW2)
+- find_package(MSWebView2 QUIET)
+- if(NOT MSWebView2_FOUND)
+- webview_fetch_mswebview2(${WEBVIEW_MSWEBVIEW2_VERSION})
+- endif()
+- find_package(MSWebView2 REQUIRED)
+- if(MSWebView2_FOUND)
+- list(APPEND WEBVIEW_DEPENDENCIES MSWebView2::headers)
+- endif()
+- endif()
+- list(APPEND WEBVIEW_DEPENDENCIES advapi32 ole32 shell32 shlwapi user32 version)
+ endif()
+ endmacro()
+
diff --git a/net/freerdp3/pkg-plist b/net/freerdp3/pkg-plist
index cfc687a900d0..d3101a0a0516 100644
--- a/net/freerdp3/pkg-plist
+++ b/net/freerdp3/pkg-plist
@@ -58,6 +58,7 @@ include/freerdp%%MAJORVERSION%%/freerdp/client/printer.h
include/freerdp%%MAJORVERSION%%/freerdp/client/rail.h
include/freerdp%%MAJORVERSION%%/freerdp/client/rdpei.h
include/freerdp%%MAJORVERSION%%/freerdp/client/rdpgfx.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/rdpdr.h
include/freerdp%%MAJORVERSION%%/freerdp/client/rdpsnd.h
include/freerdp%%MAJORVERSION%%/freerdp/client/remdesk.h
include/freerdp%%MAJORVERSION%%/freerdp/client/sshagent.h
@@ -160,6 +161,7 @@ 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/timer.h
include/freerdp%%MAJORVERSION%%/freerdp/transport_io.h
include/freerdp%%MAJORVERSION%%/freerdp/types.h
include/freerdp%%MAJORVERSION%%/freerdp/update.h