diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile index ecb3f5fb776c..d466a5b3409f 100644 --- a/net/freerdp3/Makefile +++ b/net/freerdp3/Makefile @@ -1,267 +1,270 @@ PORTNAME= freerdp -DISTVERSION= 3.12.0 +DISTVERSION= 3.13.0 CATEGORIES= net comms MASTER_SITES= https://pub.freerdp.com/releases/ \ https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/ PKGNAMESUFFIX= 3 MAINTAINER= vvd@FreeBSD.org COMMENT= Free implementation of Remote Desktop Protocol WWW= https://www.freerdp.com/ LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim USES= alias cmake compiler:c++11-lib cpe desktop-file-utils \ localbase:ldflags pathfix pkgconfig ssl xorg BROKEN_SSL= libressl-devel BROKEN_SSL_REASON_libressl-devel= fails to compile: no member named 'alert_dispatch' in 'struct ssl3_state_st' USE_LDCONFIG= yes USE_XORG= ice sm x11 xext CMAKE_ON= CHANNEL_SERIAL CHANNEL_URBDRC_CLIENT RDTK_FORCE_STATIC_BUILD \ UWAC_FORCE_STATIC_BUILD WITH_BINARY_VERSIONING WITH_CHANNELS \ WITH_CLIENT_SDL_VERSIONED WITH_FREERDP_DEPRECATED \ WITH_FREERDP_DEPRECATED_COMMANDLINE \ WITH_INSTALL_CLIENT_DESKTOP_FILES WITH_OPENSSL WITH_OSS \ WITH_WINPR_DEPRECATED WITH_ZLIB CMAKE_OFF= CHANNEL_TSMF WITH_DSP_EXPERIMENTAL WITH_FUSE WITH_GPROF \ WITH_GSTREAMER_0_10 WITH_GSTREAMER_1_0 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_CHANNELS WITH_SERVER_INTERFACE \ WITH_SMARTCARD_INSPECT WITH_THIRD_PARTY WITH_VALGRIND_MEMCHECK PLIST_SUB+= PATCHVERSION="${DISTVERSION}" 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 +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 OPTIONS_DEFINE_aarch64= SIMD OPTIONS_DEFINE_amd64= SIMD OPTIONS_DEFINE_armv7= SIMD OPTIONS_DEFINE_i386= SIMD -OPTIONS_DEFAULT= AAD CUPS GSSAPI_HEIMDAL ICU JSON_C KEYBOARD_LAYOUT \ - MANPAGES SDL2 SDL3 SWSCALE TIMEZONE_FILE WAYLAND WEBKIT X11 +OPTIONS_DEFAULT= AAD CUPS GSSAPI_HEIMDAL ICU JSON_C \ + KEYBOARD_LAYOUT MANPAGES RDPECAM SDL2 SDL3 \ + SWSCALE TIMEZONE_FILE WAYLAND WEBKIT 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= 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) 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 OPENH264_DESC= H.264 video codec support via OpenH264 PCSC_DESC= Smart card support (smart card device redirection) PKCS11_DESC= Use security/pkcs11-helper -RDPECAM_DESC= RDP webcam redirection (experimental) +RDPECAM_DESC= RDP webcam redirection REQUIRE_JSON_DESC= Options that require JSON SDL2_DESC= Build FreeRDP SDL 2 client SDL3_DESC= Build FreeRDP SDL 3 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_IMPLIES= SDL3 AAD_CMAKE_BOOL= WITH_AAD ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_CMAKE_BOOL= WITH_ALSA BROKENFOCUS_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-focusbug.diff 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 FAAC_LIB_DEPENDS= libfaac.so:audio/faac 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 GSM_LIB_DEPENDS= libgsm.so:audio/gsm GSM_CMAKE_BOOL= WITH_GSM GSSAPI_HEIMDAL_USES= gssapi:heimdal GSSAPI_MIT_USES= gssapi:mit ICU_LIB_DEPENDS= libicuuc.so:devel/icu ICU_CMAKE_ON= -DWITH_UNICODE_BUILTIN=OFF ICU_CMAKE_OFF= -DWITH_UNICODE_BUILTIN=ON JPEG_USES= jpeg 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 MANPAGES_CMAKE_BOOL= WITH_MANPAGES OPENH264_LIB_DEPENDS= libopenh264.so:multimedia/openh264 OPENH264_CMAKE_BOOL= WITH_OPENH264 OPUS_LIB_DEPENDS= libopus.so:audio/opus OPUS_CMAKE_BOOL= WITH_OPUS # LoadLibraryA("libpcsclite.so") PCSC_RUN_DEPENDS= ${LOCALBASE}/lib/libpcsclite.so:devel/pcsc-lite PCSC_CMAKE_BOOL= WITH_PCSC PKCS11_BUILD_DEPENDS= ${LOCALBASE}/include/pkcs11-helper-1.0/pkcs11.h:security/pkcs11-helper PKCS11_CMAKE_BOOL= WITH_PKCS11 PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CMAKE_BOOL= WINPR_UTILS_IMAGE_PNG PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= WITH_PULSE -RDPECAM_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev.h:multimedia/v4l_compat +RDPECAM_BUILD_DEPENDS= ${LOCALBASE}/include/linux/uvcvideo.h:multimedia/v4l_compat \ + ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat RDPECAM_LIB_DEPENDS= libv4l2.so:multimedia/libv4l \ libv4lconvert.so:multimedia/libv4l RDPECAM_CMAKE_BOOL= CHANNEL_RDPECAM_CLIENT SDL2_USES= sdl SDL2_USE= sdl=sdl2,ttf2,image2 SDL2_CMAKE_BOOL= WITH_CLIENT_SDL2 WITH_SDL_IMAGE_DIALOGS SDL3_USES= sdl SDL3_USE= sdl=sdl3,ttf3,image3 SDL3_CMAKE_BOOL= WITH_CLIENT_SDL3 WITH_SDL_IMAGE_DIALOGS SIMD_CMAKE_BOOL= WITH_SIMD SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr SOXR_CMAKE_BOOL= WITH_SOXR 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 WAYLAND_CATEGORIES= wayland 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 _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 gdkpixbuf2 glib20 gtk30 pango WEBKIT_CMAKE_ON= -DWITH_WEBVIEW:BOOL=ON WEBP_LIB_DEPENDS= libwebp.so:graphics/webp WEBP_CMAKE_BOOL= WINPR_UTILS_IMAGE_WEBP 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 \ -DWITH_XI:BOOL=ON -DWITH_XINERAMA:BOOL=ON \ -DWITH_XKBFILE:BOOL=ON -DWITH_XRANDR:BOOL=ON \ -DWITH_XRENDER:BOOL=ON -DWITH_XSHM:BOOL=ON \ -DWITH_XV:BOOL=ON X11_CMAKE_OFF= -DWITH_X11:BOOL=OFF -DWITH_XKBFILE:BOOL=OFF .include .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 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 \ ${WRKSRC}/libfreerdp/codec/dsp.c pre-configure: ${CP} ${FILESDIR}/mntent.h ${WRKSRC}/winpr/include ${CP} ${FILESDIR}/mntent_compat.c ${WRKSRC}/channels/rdpdr/client .include diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo index aabb91050cff..3507d5170a2f 100644 --- a/net/freerdp3/distinfo +++ b/net/freerdp3/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1739573323 -SHA256 (freerdp-3.12.0.tar.gz) = b08c1bfe867cde0feb3e51f72f32ee3fa3a37acbd20d6fdeb5a0f614b549f5cb -SIZE (freerdp-3.12.0.tar.gz) = 10385447 +TIMESTAMP = 1741342654 +SHA256 (freerdp-3.13.0.tar.gz) = e66c25780ba8abc0f3d43bdc2e73bd47a0a28fba1dca6f09096cbc320c6622bf +SIZE (freerdp-3.13.0.tar.gz) = 10422976 diff --git a/net/freerdp3/files/patch-channels_rdpecam_client_v4l_uvc__h264.c b/net/freerdp3/files/patch-channels_rdpecam_client_v4l_uvc__h264.c deleted file mode 100644 index e1659fa80cde..000000000000 --- a/net/freerdp3/files/patch-channels_rdpecam_client_v4l_uvc__h264.c +++ /dev/null @@ -1,114 +0,0 @@ ---- channels/rdpecam/client/v4l/uvc_h264.c.orig 2025-02-14 08:49:47 UTC -+++ channels/rdpecam/client/v4l/uvc_h264.c -@@ -25,9 +25,111 @@ - - #include - -+#ifndef __FreeBSD__ -+ - #include - #include - #include -+ -+#else // __FreeBSD__ -+ -+#include -+#include -+#include -+#include -+ -+/* -+ * Dynamic controls -+ */ -+ -+/* Data types for UVC control data */ -+#define UVC_CTRL_DATA_TYPE_RAW 0 -+#define UVC_CTRL_DATA_TYPE_SIGNED 1 -+#define UVC_CTRL_DATA_TYPE_UNSIGNED 2 -+#define UVC_CTRL_DATA_TYPE_BOOLEAN 3 -+#define UVC_CTRL_DATA_TYPE_ENUM 4 -+#define UVC_CTRL_DATA_TYPE_BITMASK 5 -+ -+/* Control flags */ -+#define UVC_CTRL_FLAG_SET_CUR (1 << 0) -+#define UVC_CTRL_FLAG_GET_CUR (1 << 1) -+#define UVC_CTRL_FLAG_GET_MIN (1 << 2) -+#define UVC_CTRL_FLAG_GET_MAX (1 << 3) -+#define UVC_CTRL_FLAG_GET_RES (1 << 4) -+#define UVC_CTRL_FLAG_GET_DEF (1 << 5) -+/* Control should be saved at suspend and restored at resume. */ -+#define UVC_CTRL_FLAG_RESTORE (1 << 6) -+/* Control can be updated by the camera. */ -+#define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7) -+/* Control supports asynchronous reporting */ -+#define UVC_CTRL_FLAG_ASYNCHRONOUS (1 << 8) -+ -+#define UVC_CTRL_FLAG_GET_RANGE \ -+ (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \ -+ UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \ -+ UVC_CTRL_FLAG_GET_DEF) -+ -+struct uvc_menu_info { -+ uint32_t value; -+ uint8_t name[32]; -+}; -+ -+struct uvc_xu_control_mapping { -+ uint32_t id; -+ uint8_t name[32]; -+ uint8_t entity[16]; -+ uint8_t selector; -+ -+ uint8_t size; -+ uint8_t offset; -+ uint32_t v4l2_type; -+ uint32_t data_type; -+ -+ struct uvc_menu_info *menu_info; -+ uint32_t menu_count; -+ -+ uint32_t reserved[4]; -+}; -+ -+struct uvc_xu_control_query { -+ uint8_t unit; -+ uint8_t selector; -+ uint8_t query; /* Video Class-Specific Request Code, */ -+ /* defined in linux/usb/video.h A.8. */ -+ uint16_t size; -+ uint8_t *data; -+}; -+ -+#define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping) -+#define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query) -+ -+/* -+ * Metadata node -+ */ -+ -+/** -+ * struct uvc_meta_buf - metadata buffer building block -+ * @ns: system timestamp of the payload in nanoseconds -+ * @sof: USB Frame Number -+ * @length: length of the payload header -+ * @flags: payload header flags -+ * @buf: optional device-specific header data -+ * -+ * UVC metadata nodes fill buffers with possibly multiple instances of this -+ * struct. The first two fields are added by the driver, they can be used for -+ * clock synchronisation. The rest is an exact copy of a UVC payload header. -+ * Only complete objects with complete buffers are included. Therefore it's -+ * always sizeof(meta->ts) + sizeof(meta->sof) + meta->length bytes large. -+ */ -+struct uvc_meta_buf { -+ uint64_t ns; -+ uint16_t sof; -+ uint8_t length; -+ uint8_t flags; -+ uint8_t buf[]; -+} __packed; -+ -+#endif // __FreeBSD__ - - #include "uvc_h264.h" -