Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jan 2024 10:48:17 GMT
From:      Vladimir Druzenko <vvd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 9eb61f92f5de - main - net/freerdp3: copy of net/freerdp in preparation for landing 3.x
Message-ID:  <202401081048.408AmHeC030830@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by vvd:

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

commit 9eb61f92f5de9f04b0f341a4ca27d6719997beb0
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2024-01-08 10:17:18 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-01-08 10:47:39 +0000

    net/freerdp3: copy of net/freerdp in preparation for landing 3.x
    
    Approved by:            arrowd (mentor)
    Differential Revision:  https://reviews.freebsd.org/D43127
---
 net/freerdp3/Makefile                              | 154 ++++++++++++
 net/freerdp3/distinfo                              |   5 +
 net/freerdp3/files/extra-patch-focusbug.diff       |  10 +
 net/freerdp3/files/mntent.h                        |  62 +++++
 net/freerdp3/files/mntent_compat.c                 | 174 ++++++++++++++
 .../patch-channels_rdpdr_client_CMakeLists.txt     |  10 +
 .../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   |  19 ++
 net/freerdp3/files/patch-winpr_winpr.pc.in         |  10 +
 net/freerdp3/pkg-descr                             |   4 +
 net/freerdp3/pkg-plist                             | 266 +++++++++++++++++++++
 14 files changed, 762 insertions(+)

diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
new file mode 100644
index 000000000000..3700f7448b58
--- /dev/null
+++ b/net/freerdp3/Makefile
@@ -0,0 +1,154 @@
+PORTNAME=	freerdp
+DISTVERSION=	2.11.4
+PORTREVISION=	2
+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
+
+MAINTAINER=	vvd@FreeBSD.org
+COMMENT=	Free implementation of Remote Desktop Protocol
+WWW=		https://www.freerdp.com/
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BROKEN_SSL=	libressl-devel
+BROKEN_SSL_REASON_libressl-devel=	fails to compile: no member named 'alert_dispatch' in 'struct ssl3_state_st'
+
+LIB_DEPENDS=	libepoll-shim.so:devel/libepoll-shim
+
+USES=		alias cmake compiler:c++11-lib cpe localbase pathfix pkgconfig ssl
+USE_LDCONFIG=	yes
+
+PATCHVERSION=	${PORTVERSION}
+MAJORVERSION=	${PORTVERSION: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 \
+		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 \
+		WITH_SMARTCARD_INSPECT WITH_THIRD_PARTY WITH_VALGRIND_MEMCHECK
+
+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_RADIO_SCALE=	CAIRO SWSCALE
+OPTIONS_SUB=		yes
+
+OPTIONS_DEFINE_aarch64=	NEON
+OPTIONS_DEFINE_amd64=	SSE
+OPTIONS_DEFINE_armv6=	NEON
+OPTIONS_DEFINE_armv7=	NEON
+OPTIONS_DEFINE_i386=	SSE
+OPTIONS_DEFAULT_aarch64=	NEON
+OPTIONS_DEFAULT_amd64=	SSE
+OPTIONS_DEFAULT_armv7=	NEON
+
+ALSA_LIB_DEPENDS=	libasound.so:audio/alsa-lib
+ALSA_CMAKE_BOOL=	WITH_ALSA
+
+BROKENFOCUS_DESC=	Work around focus bug in some WMs (PR \#254908)
+BROKENFOCUS_EXTRA_PATCHES=	${PATCHDIR}/extra-patch-focusbug.diff
+
+CAIRO_DESC=		Use CAIRO image library for screen resizing
+CAIRO_CMAKE_BOOL=	WITH_CAIRO
+CAIRO_USES=		gnome
+CAIRO_USE=		gnome=cairo
+
+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
+
+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
+
+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
+
+ICU_LIB_DEPENDS=	libicuuc.so:devel/icu
+ICU_CMAKE_BOOL=		WITH_ICU
+
+JPEG_USES=		jpeg
+JPEG_CMAKE_BOOL=	WITH_JPEG
+
+LAME_LIB_DEPENDS=	libmp3lame.so:audio/lame
+LAME_CMAKE_BOOL=	WITH_LAME
+
+MANPAGES_BUILD_DEPENDS=	xmlto:textproc/xmlto
+MANPAGES_CMAKE_BOOL=	WITH_MANPAGES
+
+NEON_DESC=		Enable Media Processing Engine instructions
+NEON_CMAKE_BOOL=	WITH_NEON
+
+OPENH264_DESC=		H.264 video codec support via OpenH264
+OPENH264_LIB_DEPENDS=	libopenh264.so:multimedia/openh264
+OPENH264_CMAKE_BOOL=	WITH_OPENH264
+
+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
+
+PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL=	WITH_PULSE
+
+SOXR_LIB_DEPENDS=	libsoxr.so:audio/libsoxr
+SOXR_CMAKE_BOOL=	WITH_SOXR
+
+SSE_CMAKE_BOOL=		WITH_SSE2
+
+SWSCALE_DESC=		Use SWScale image library for screen resizing (recommended)
+SWSCALE_LIB_DEPENDS=	libswscale.so:multimedia/ffmpeg
+SWSCALE_CMAKE_BOOL=	WITH_SWSCALE
+
+WAYLAND_DESC=		Build FreeRDP Wayland client
+WAYLAND_CATEGORIES=	wayland
+WAYLAND_BUILD_DEPENDS=	${LOCALBASE}/include/linux/input.h:devel/evdev-proto
+WAYLAND_LIB_DEPENDS=	libwayland-client.so:graphics/wayland \
+			libwayland-cursor.so:graphics/wayland \
+			libxkbcommon.so:x11/libxkbcommon
+WAYLAND_CMAKE_BOOL=	WITH_WAYLAND
+
+X11_DESC=		Build FreeRDP X11 client
+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
+X11_USES=		xorg
+X11_USE=		xorg=x11,xcursor,xext,xorgproto,xfixes,xi,xinerama,xkbfile,xrandr,xrender,xv
+
+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_compat.c ${WRKSRC}/channels/rdpdr/client
+
+.include <bsd.port.mk>
diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo
new file mode 100644
index 000000000000..cc51ec2cfa87
--- /dev/null
+++ b/net/freerdp3/distinfo
@@ -0,0 +1,5 @@
+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
diff --git a/net/freerdp3/files/extra-patch-focusbug.diff b/net/freerdp3/files/extra-patch-focusbug.diff
new file mode 100644
index 000000000000..39587df075a0
--- /dev/null
+++ b/net/freerdp3/files/extra-patch-focusbug.diff
@@ -0,0 +1,10 @@
+--- client/X11/xf_keyboard.c.orig	2021-09-02 06:23:36 UTC
++++ client/X11/xf_keyboard.c
+@@ -183,7 +183,6 @@ void xf_keyboard_release_all_keypress(xfContext* xfc)
+ 			xfc->KeyboardState[keycode] = FALSE;
+ 		}
+ 	}
+-	xf_sync_kbd_state(xfc);
+ }
+ 
+ BOOL xf_keyboard_key_pressed(xfContext* xfc, KeySym keysym)
diff --git a/net/freerdp3/files/mntent.h b/net/freerdp3/files/mntent.h
new file mode 100644
index 000000000000..e61cddd89c82
--- /dev/null
+++ b/net/freerdp3/files/mntent.h
@@ -0,0 +1,62 @@
+/*
+ *  mntent
+ *  mntent.h - compatability header for FreeBSD
+ *
+ *  Copyright (c) 2001 David Rufino <daverufino@btinternet.com>
+ *  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#if defined(HAVE_MNTENT_H)
+#include <mntent.h>
+#else
+#ifndef _MNTENT_H
+#define _MNTENT_H
+#include <stdio.h>
+
+#define MOUNTED "dummy"
+
+#define MNTTYPE_NFS "nfs"
+
+struct mntent {
+	char *mnt_fsname;
+	char *mnt_dir;
+	char *mnt_type;
+	char *mnt_opts;
+	int mnt_freq;
+	int mnt_passno;
+};
+
+#define setmntent(x,y) ((FILE *)0x1)
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct mntent *getmntent __P ((FILE *fp));
+char *hasmntopt __P ((const struct mntent *mnt, const char *option));
+#ifdef __cplusplus
+}; // extern "C"
+#endif
+#define endmntent(x) ((int)1)
+
+#endif /* _MNTENT_H */
+#endif /* HAVE_MNTENT_H */
diff --git a/net/freerdp3/files/mntent_compat.c b/net/freerdp3/files/mntent_compat.c
new file mode 100644
index 000000000000..076f5c4cabeb
--- /dev/null
+++ b/net/freerdp3/files/mntent_compat.c
@@ -0,0 +1,174 @@
+/*
+ * Copyright (c) 1980, 1989, 1993, 1994
+ *      The Regents of the University of California.  All rights reserved.
+ * Copyright (c) 2001
+ *      David Rufino <daverufino@btinternet.com>
+ * Copyright (c) 2006
+ *      Stanislav Sedov <ssedov@mbsd.msk.ru>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *      This product includes software developed by the University of
+ *      California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* most of this was ripped from the mount(3) source */
+
+#include "config.h"
+#include "mntent.h"
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
+
+static int pos = -1;
+static int mntsize = -1;
+static struct mntent _mntent;
+
+struct {
+	int		m_flag;
+	const char	*m_option;
+} mntoptions[] = {
+	{ MNT_ASYNC,		"async" },
+	{ MNT_NOATIME,		"noatime"},
+	{ MNT_NOEXEC,		"noexec"},
+	{ MNT_NOSUID,		"nosuid"},
+	{ MNT_NOSYMFOLLOW,	"nosymfollow"},
+	{ MNT_SYNCHRONOUS,	"sync"},
+	{ MNT_UNION,		"union"},
+	{ MNT_NOCLUSTERR,	"noclusterr"},
+	{ MNT_NOCLUSTERW,	"noclusterw"},
+	{ MNT_SUIDDIR,		"suiddir"},
+#ifdef MNT_SNAPSHOT
+	{ MNT_SNAPSHOT,		"snapshot"},
+#endif
+#ifdef MNT_MULTILABEL
+	{ MNT_MULTILABEL,	"multilabel"},
+#endif
+#ifdef MNT_ACLS
+	{ MNT_ACLS,		"acls"},
+#endif
+#ifdef MNT_NODEV
+	{ MNT_NODEV,		"nodev"},
+#endif
+};
+
+#define N_OPTS (sizeof(mntoptions) / sizeof(*mntoptions))
+
+char *
+hasmntopt (const struct mntent *mnt, const char *option)
+{
+	int found;
+	char *opt, *optbuf;
+
+	optbuf = strdup(mnt->mnt_opts);
+	found = 0;
+	for (opt = optbuf; (opt = strtok(opt, " ")) != NULL; opt = NULL) {
+		if (!strcasecmp(opt, option)) {
+			opt = opt - optbuf + mnt->mnt_opts;
+			free (optbuf);
+			return (opt);
+		}
+	}
+	free (optbuf);
+	return (NULL);
+}
+
+static char *
+catopt (char *s0, const char *s1)
+{
+	size_t newlen;
+	char *cp;
+
+	if (s1 == NULL || *s1 == '\0')
+		return s0;
+
+	if (s0 != NULL) {
+		newlen = strlen(s0) + strlen(s1) + 1 + 1;
+		if ((cp = (char *)realloc(s0, newlen)) == NULL)
+			return (NULL);
+
+		(void)strcat(cp, " ");
+		(void)strcat(cp, s1);
+	} else
+		cp = strdup(s1);
+
+	return (cp);
+}
+
+
+static char *
+flags2opts (int flags)
+{
+	char *res = NULL;
+	int i;
+
+	res = catopt(res, (flags & MNT_RDONLY) ? "ro" : "rw");
+
+	for (i = 0; i < N_OPTS; i++)
+		if (flags & mntoptions[i].m_flag)
+			res = catopt(res, mntoptions[i].m_option);
+	return res;
+}
+
+static struct mntent *
+statfs_to_mntent (struct statfs *mntbuf)
+{
+	static char opts_buf[40], *tmp;
+
+	_mntent.mnt_fsname = mntbuf->f_mntfromname;
+	_mntent.mnt_dir = mntbuf->f_mntonname;
+	_mntent.mnt_type = mntbuf->f_fstypename;
+	tmp = flags2opts (mntbuf->f_flags);
+	if (tmp) {
+		opts_buf[sizeof(opts_buf) - 1] = '\0';
+		strncpy (opts_buf, tmp, sizeof(opts_buf)-1);
+		free (tmp);
+	} else {
+		*opts_buf = '\0';
+	}
+	_mntent.mnt_opts = opts_buf;
+	_mntent.mnt_freq = _mntent.mnt_passno = 0;
+	return (&_mntent);
+}
+
+struct mntent *
+getmntent (FILE *fp)
+{
+	struct statfs *mntbuf;
+
+	if (pos == -1 || mntsize == -1)
+		mntsize = getmntinfo (&mntbuf, MNT_NOWAIT);
+
+	++pos;
+	if (pos == mntsize) {
+		pos = mntsize = -1;
+		return (NULL);
+	}
+
+	return (statfs_to_mntent (&mntbuf[pos]));
+}
diff --git a/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt b/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
new file mode 100644
index 000000000000..8b379eaff823
--- /dev/null
+++ b/net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- channels/rdpdr/client/CMakeLists.txt.orig	2020-06-09 02:02:41 UTC
++++ channels/rdpdr/client/CMakeLists.txt
+@@ -24,6 +24,7 @@ set(${MODULE_PREFIX}_SRCS
+ 	irp.h
+ 	devman.c
+ 	devman.h
++	mntent_compat.c
+ 	rdpdr_main.c
+ 	rdpdr_main.h
+ 	rdpdr_capabilities.c
diff --git a/net/freerdp3/files/patch-client_Wayland_wlfreerdp.c b/net/freerdp3/files/patch-client_Wayland_wlfreerdp.c
new file mode 100644
index 000000000000..f718b79ccb76
--- /dev/null
+++ b/net/freerdp3/files/patch-client_Wayland_wlfreerdp.c
@@ -0,0 +1,11 @@
+--- 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
new file mode 100644
index 000000000000..4b2fa5aa808f
--- /dev/null
+++ b/net/freerdp3/files/patch-cmake_FindGStreamer__1__0.cmake
@@ -0,0 +1,16 @@
+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
new file mode 100644
index 000000000000..b0a4793ebea7
--- /dev/null
+++ b/net/freerdp3/files/patch-cmake_InstallFreeRDPMan.cmake
@@ -0,0 +1,10 @@
+--- 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
new file mode 100644
index 000000000000..fa13e564fd8d
--- /dev/null
+++ b/net/freerdp3/files/patch-libfreerdp_freerdp.pc.in
@@ -0,0 +1,11 @@
+--- 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
new file mode 100644
index 000000000000..794253fa4267
--- /dev/null
+++ b/net/freerdp3/files/patch-winpr_libwinpr_sysinfo_sysinfo.c
@@ -0,0 +1,19 @@
+--- winpr/libwinpr/sysinfo/sysinfo.c.orig	2023-12-14 18:03:49 UTC
++++ winpr/libwinpr/sysinfo/sysinfo.c
+@@ -782,13 +782,15 @@ BOOL IsProcessorFeaturePresent(DWORD ProcessorFeature)
+ 			break;
+ 	}
+ 
+-#elif defined(__APPLE__) // __linux__
++#else // __linux__
+ 
+ 	switch (ProcessorFeature)
+ 	{
+ 		case PF_ARM_NEON_INSTRUCTIONS_AVAILABLE:
+ 		case PF_ARM_NEON:
++#ifdef __ARM_NEON
+ 			ret = TRUE;
++#endif
+ 			break;
+ 	}
+ 
diff --git a/net/freerdp3/files/patch-winpr_winpr.pc.in b/net/freerdp3/files/patch-winpr_winpr.pc.in
new file mode 100644
index 000000000000..cd1b3e770fe3
--- /dev/null
+++ b/net/freerdp3/files/patch-winpr_winpr.pc.in
@@ -0,0 +1,10 @@
+--- winpr/winpr.pc.in.orig	2016-10-21 07:29:51 UTC
++++ winpr/winpr.pc.in
+@@ -9,7 +9,6 @@ Description: WinPR: Windows Portable Run
+ URL: http://www.freerdp.com/
+ Version: @WINPR_VERSION@
+ Requires:
+-Requires.private: libssl
+ Libs: -L${libdir} ${libs}
+ Libs.private: -ldl -lrt -lm -lpthread
+ Cflags: -I${includedir}
diff --git a/net/freerdp3/pkg-descr b/net/freerdp3/pkg-descr
new file mode 100644
index 000000000000..6950bdf96e58
--- /dev/null
+++ b/net/freerdp3/pkg-descr
@@ -0,0 +1,4 @@
+FreeRDP is a free implementation of the Remote Desktop Protocol (RDP),
+released under the Apache license.  Enjoy the freedom of using your
+software wherever you want, the way you want it, in a world where
+interoperability can finally liberate your computing experience.
diff --git a/net/freerdp3/pkg-plist b/net/freerdp3/pkg-plist
new file mode 100644
index 000000000000..4fc8b242b671
--- /dev/null
+++ b/net/freerdp3/pkg-plist
@@ -0,0 +1,266 @@
+bin/winpr-hash
+bin/winpr-makecert
+%%WAYLAND%%bin/wlfreerdp
+%%X11%%bin/xfreerdp
+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/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/echo.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/encomsp.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/geometry.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/log.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/rail.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/rdpgfx.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/rdpsnd.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/remdesk.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/telemetry.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/tsmf.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/urbdrc.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/video.h
+include/freerdp%%MAJORVERSION%%/freerdp/channels/wtsvc.h
+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/cliprdr.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/cmdline.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/disp.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/drdynvc.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/encomsp.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/file.h
+include/freerdp%%MAJORVERSION%%/freerdp/client/geometry.h
+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/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/video.h
+include/freerdp%%MAJORVERSION%%/freerdp/codec/audio.h
+include/freerdp%%MAJORVERSION%%/freerdp/codec/bitmap.h
+include/freerdp%%MAJORVERSION%%/freerdp/codec/bulk.h
+include/freerdp%%MAJORVERSION%%/freerdp/codec/clear.h
+include/freerdp%%MAJORVERSION%%/freerdp/codec/color.h
+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/constants.h
+include/freerdp%%MAJORVERSION%%/freerdp/crypto/ber.h
+include/freerdp%%MAJORVERSION%%/freerdp/crypto/certificate.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/display.h
+include/freerdp%%MAJORVERSION%%/freerdp/dvc.h
+include/freerdp%%MAJORVERSION%%/freerdp/error.h
+include/freerdp%%MAJORVERSION%%/freerdp/event.h
+include/freerdp%%MAJORVERSION%%/freerdp/extension.h
+include/freerdp%%MAJORVERSION%%/freerdp/freerdp.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/bitmap.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/dc.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/gdi.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/gfx.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/pen.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/region.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/shape.h
+include/freerdp%%MAJORVERSION%%/freerdp/gdi/video.h
+include/freerdp%%MAJORVERSION%%/freerdp/graphics.h
+include/freerdp%%MAJORVERSION%%/freerdp/heartbeat.h
+include/freerdp%%MAJORVERSION%%/freerdp/input.h
+include/freerdp%%MAJORVERSION%%/freerdp/license.h
+include/freerdp%%MAJORVERSION%%/freerdp/listener.h
+include/freerdp%%MAJORVERSION%%/freerdp/locale/keyboard.h
+include/freerdp%%MAJORVERSION%%/freerdp/locale/locale.h
+include/freerdp%%MAJORVERSION%%/freerdp/log.h
+include/freerdp%%MAJORVERSION%%/freerdp/message.h
+include/freerdp%%MAJORVERSION%%/freerdp/metrics.h
+include/freerdp%%MAJORVERSION%%/freerdp/peer.h
+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/scancode.h
+include/freerdp%%MAJORVERSION%%/freerdp/secondary.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/ainput.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/audin.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/channels.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/cliprdr.h
+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/rail.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpdr.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpecam-enumerator.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpecam.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpei.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpgfx.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/rdpsnd.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/remdesk.h
+include/freerdp%%MAJORVERSION%%/freerdp/server/server-common.h
+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/svc.h
+include/freerdp%%MAJORVERSION%%/freerdp/types.h
+include/freerdp%%MAJORVERSION%%/freerdp/update.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/cliprdr_utils.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/passphrase.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/pcap.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/profiler.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/ringbuffer.h
+include/freerdp%%MAJORVERSION%%/freerdp/utils/signal.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%%/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/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/crt.h
+include/winpr%%MAJORVERSION%%/winpr/crypto.h
+include/winpr%%MAJORVERSION%%/winpr/custom-crypto.h
+include/winpr%%MAJORVERSION%%/winpr/debug.h
+include/winpr%%MAJORVERSION%%/winpr/dsparse.h
+include/winpr%%MAJORVERSION%%/winpr/endian.h
+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
+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/nt.h
+include/winpr%%MAJORVERSION%%/winpr/ntlm.h
+include/winpr%%MAJORVERSION%%/winpr/pack.h
+include/winpr%%MAJORVERSION%%/winpr/path.h
+include/winpr%%MAJORVERSION%%/winpr/pipe.h
+include/winpr%%MAJORVERSION%%/winpr/platform.h
+include/winpr%%MAJORVERSION%%/winpr/pool.h
+include/winpr%%MAJORVERSION%%/winpr/print.h
+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/security.h
+include/winpr%%MAJORVERSION%%/winpr/shell.h
+include/winpr%%MAJORVERSION%%/winpr/smartcard.h
+include/winpr%%MAJORVERSION%%/winpr/spec.h
+include/winpr%%MAJORVERSION%%/winpr/ssl.h
+include/winpr%%MAJORVERSION%%/winpr/sspi.h
+include/winpr%%MAJORVERSION%%/winpr/sspicli.h
+include/winpr%%MAJORVERSION%%/winpr/stream.h
+include/winpr%%MAJORVERSION%%/winpr/string.h
+include/winpr%%MAJORVERSION%%/winpr/strlst.h
+include/winpr%%MAJORVERSION%%/winpr/synch.h
+include/winpr%%MAJORVERSION%%/winpr/sysinfo.h
+include/winpr%%MAJORVERSION%%/winpr/tchar.h
+include/winpr%%MAJORVERSION%%/winpr/thread.h
+include/winpr%%MAJORVERSION%%/winpr/timezone.h
+include/winpr%%MAJORVERSION%%/winpr/tools/makecert.h
+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
+lib/libfreerdp-client%%MAJORVERSION%%.so.%%MAJORVERSION%%
+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%%
+lib/libwinpr%%MAJORVERSION%%.so
+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
+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
+share/cmake/Modules/FreeRDP-Client%%MAJORVERSION%%/FreeRDP-ClientTargets.cmake
+share/cmake/Modules/FreeRDP%%MAJORVERSION%%/FreeRDPConfig.cmake
+share/cmake/Modules/FreeRDP%%MAJORVERSION%%/FreeRDPConfigVersion.cmake
+share/cmake/Modules/FreeRDP%%MAJORVERSION%%/FreeRDPTargets-%%CMAKE_BUILD_TYPE%%.cmake
+share/cmake/Modules/FreeRDP%%MAJORVERSION%%/FreeRDPTargets.cmake
+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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202401081048.408AmHeC030830>