summaryrefslogtreecommitdiff
path: root/net/freerdp3
diff options
context:
space:
mode:
Diffstat (limited to 'net/freerdp3')
-rw-r--r--net/freerdp3/Makefile73
-rw-r--r--net/freerdp3/distinfo36
-rw-r--r--net/freerdp3/files/patch-webview-src_cmake_webview.cmake47
-rw-r--r--net/freerdp3/pkg-plist2
4 files changed, 110 insertions, 48 deletions
diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
index f9d7dbf3a0d0..7564c95ef968 100644
--- a/net/freerdp3/Makefile
+++ b/net/freerdp3/Makefile
@@ -1,15 +1,24 @@
PORTNAME= freerdp
-DISTVERSION= 3.15.0
-PORTREVISION= 1
+DISTVERSION= 3.16.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= 281b9245966f019a8aa0271a73acd8da8104baa9.patch:-p1 \
+ 6f03b25f8ec9320d10b3f3163543f8b6dd9ebc0c.patch:-p1 \
+ 5d32afcdd0b780d95b77c6005d1b79482884cd46.patch:-p1 \
+ 40c988e2da289e83081421942685a1a248f46603.patch:-p1 \
+ 8e38600298310bc74271fd99aca74c2d5a2d071c.patch:-p1 \
+ 4dc6091fde72a25dadcfed1f76c455cc9c3bf093.patch:-p1 \
+ bee5edeb315336102f738a26a9bcff5b4d9ff03c.patch:-p1 \
+ 59bfe47ef7c0fa596edad0716aaf28782d9e857a.patch:-p1 \
+ 419ad81aa78d31394c8e8b8452b40ef842f48730.patch:-p1 \
+ a86e3dc53c5cf4ba6879a4571b0610dddd224fbf.patch:-p1 \
+ daeec1f98d69516fe52276608a750de3b3146d4e.patch:-p1 \
+ efd89c035481088c5b352222fbeb0bfc69ac75fe.patch:-p1
MAINTAINER= vvd@FreeBSD.org
COMMENT= Free implementation of Remote Desktop Protocol
@@ -26,6 +35,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 +59,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 \
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 +101,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 +185,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 +218,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 +240,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..3e8c31edb393 100644
--- a/net/freerdp3/distinfo
+++ b/net/freerdp3/distinfo
@@ -1,7 +1,29 @@
-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 = 1750888888
+SHA256 (freerdp-3.16.0.tar.gz) = 385af54245560493698730b688b5e6e5d56d5c7ecf2fa7c1d7cedfde8a4ba456
+SIZE (freerdp-3.16.0.tar.gz) = 10455341
+SHA256 (akallabeth-webview-2a0a130_GH0.tar.gz) = 22448da4658b73cc20e6944d9a351ab6c40d1a50026997f8278f63713f5f7c07
+SIZE (akallabeth-webview-2a0a130_GH0.tar.gz) = 185888
+SHA256 (281b9245966f019a8aa0271a73acd8da8104baa9.patch) = beb7b98aab60752910221ee44217cd4e385e3ccd78290f30d58ad68aefd24dd8
+SIZE (281b9245966f019a8aa0271a73acd8da8104baa9.patch) = 4573
+SHA256 (6f03b25f8ec9320d10b3f3163543f8b6dd9ebc0c.patch) = 1e403108424ce00a60255eb11e824a718cb1eeef5346fe2895e08e1cddd27fcf
+SIZE (6f03b25f8ec9320d10b3f3163543f8b6dd9ebc0c.patch) = 1229
+SHA256 (5d32afcdd0b780d95b77c6005d1b79482884cd46.patch) = b95656b6c9824a53e1048fa94c78b01cab39945c81d33cd9c982029a64a7da92
+SIZE (5d32afcdd0b780d95b77c6005d1b79482884cd46.patch) = 862
+SHA256 (40c988e2da289e83081421942685a1a248f46603.patch) = dbf1325a2d529421ae261a408b246687a85623ab6be8adf1a6cf1456129796f2
+SIZE (40c988e2da289e83081421942685a1a248f46603.patch) = 6439
+SHA256 (8e38600298310bc74271fd99aca74c2d5a2d071c.patch) = 31cc2084daae83e7ef4a1a2212a1aae33c26872603f3481369a2a43afbec5841
+SIZE (8e38600298310bc74271fd99aca74c2d5a2d071c.patch) = 1051
+SHA256 (4dc6091fde72a25dadcfed1f76c455cc9c3bf093.patch) = 17a35c8a25f330079b50eff414b56064affb2f7bf29b7d95a81f2b700a1a15e2
+SIZE (4dc6091fde72a25dadcfed1f76c455cc9c3bf093.patch) = 6347
+SHA256 (bee5edeb315336102f738a26a9bcff5b4d9ff03c.patch) = ae1c96a46efc2047ed30b2b7426cc05906de50aa16edd39683be776222b686cf
+SIZE (bee5edeb315336102f738a26a9bcff5b4d9ff03c.patch) = 1270
+SHA256 (59bfe47ef7c0fa596edad0716aaf28782d9e857a.patch) = e681df060ba2693fd2c97044b9e55de4f2a02d94f5e95082dce925f8dca314f6
+SIZE (59bfe47ef7c0fa596edad0716aaf28782d9e857a.patch) = 908
+SHA256 (419ad81aa78d31394c8e8b8452b40ef842f48730.patch) = 662c6475d220dfca60733163d48f400961ba011f00cb4029e3db5cb4c1d534c3
+SIZE (419ad81aa78d31394c8e8b8452b40ef842f48730.patch) = 1721
+SHA256 (a86e3dc53c5cf4ba6879a4571b0610dddd224fbf.patch) = 158243d15e815613d0dcf049d3e416c0fa6aa6c73b3a485b6b9cb8aed24ae17c
+SIZE (a86e3dc53c5cf4ba6879a4571b0610dddd224fbf.patch) = 1382
+SHA256 (daeec1f98d69516fe52276608a750de3b3146d4e.patch) = 6ba79f3ff2e049b86f9c9c5e8b812bcc59b979d637cfe934e8db3c19d0f2f066
+SIZE (daeec1f98d69516fe52276608a750de3b3146d4e.patch) = 1273
+SHA256 (efd89c035481088c5b352222fbeb0bfc69ac75fe.patch) = 5c71f15588bb33e166346dcf444977f3870986cdeb24afa2d84ff4200de95467
+SIZE (efd89c035481088c5b352222fbeb0bfc69ac75fe.patch) = 1178
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