aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/freerdp3/Makefile154
-rw-r--r--net/freerdp3/distinfo5
-rw-r--r--net/freerdp3/files/extra-patch-focusbug.diff10
-rw-r--r--net/freerdp3/files/mntent.h62
-rw-r--r--net/freerdp3/files/mntent_compat.c174
-rw-r--r--net/freerdp3/files/patch-channels_rdpdr_client_CMakeLists.txt10
-rw-r--r--net/freerdp3/files/patch-client_Wayland_wlfreerdp.c11
-rw-r--r--net/freerdp3/files/patch-cmake_FindGStreamer__1__0.cmake16
-rw-r--r--net/freerdp3/files/patch-cmake_InstallFreeRDPMan.cmake10
-rw-r--r--net/freerdp3/files/patch-libfreerdp_freerdp.pc.in11
-rw-r--r--net/freerdp3/files/patch-winpr_libwinpr_sysinfo_sysinfo.c19
-rw-r--r--net/freerdp3/files/patch-winpr_winpr.pc.in10
-rw-r--r--net/freerdp3/pkg-descr4
-rw-r--r--net/freerdp3/pkg-plist266
14 files changed, 762 insertions, 0 deletions
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