pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

freerdp3: attempt at update of freerdp to 3.19.0



Module Name:	pkgsrc-wip
Committed By:	Mark Davies <mark%ecs.vuw.ac.nz@localhost>
Pushed By:	markd
Date:		Sat Jan 3 14:48:27 2026 +1300
Changeset:	42b5c9c28814eb9639856b2406697f15df42df96

Modified Files:
	Makefile
Added Files:
	freerdp3/DESCR
	freerdp3/Makefile
	freerdp3/PLIST
	freerdp3/TODO
	freerdp3/distinfo
	freerdp3/options.mk
	freerdp3/patches/patch-channels_rdpdr_client_rdpdr__main.c
	freerdp3/patches/patch-client_Wayland_wlf__input.c
	freerdp3/patches/patch-client_Wayland_wlfreerdp.c
	freerdp3/patches/patch-winpr_include_winpr_string.h
	freerdp3/patches/patch-winpr_libwinpr_libwinpr_sspi_CMakeLists.txt
	freerdp3/patches/patch-winpr_libwinpr_sysinfo_sysinfo.c
	freerdp3/patches/patch-winpr_libwinpr_thread_thread.c

Log Message:
freerdp3: attempt at update of freerdp to 3.19.0

Doesn't currently build as needs a replacement for sysinfo(), specifically the
uptime field, on NetBSD.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=42b5c9c28814eb9639856b2406697f15df42df96

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                                           |   1 +
 freerdp3/DESCR                                     |   4 +
 freerdp3/Makefile                                  |  71 ++++
 freerdp3/PLIST                                     | 366 +++++++++++++++++++++
 freerdp3/TODO                                      |   2 +
 freerdp3/distinfo                                  |  12 +
 freerdp3/options.mk                                |  72 ++++
 .../patch-channels_rdpdr_client_rdpdr__main.c      |  24 ++
 freerdp3/patches/patch-client_Wayland_wlf__input.c |  24 ++
 freerdp3/patches/patch-client_Wayland_wlfreerdp.c  |  16 +
 .../patches/patch-winpr_include_winpr_string.h     |  14 +
 ...tch-winpr_libwinpr_libwinpr_sspi_CMakeLists.txt |  21 ++
 .../patches/patch-winpr_libwinpr_sysinfo_sysinfo.c |  35 ++
 .../patches/patch-winpr_libwinpr_thread_thread.c   |  16 +
 14 files changed, 678 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index d5f8214231..32354c548c 100644
--- a/Makefile
+++ b/Makefile
@@ -1054,6 +1054,7 @@ SUBDIR+=	freegish-git
 SUBDIR+=	freej
 SUBDIR+=	freem
 SUBDIR+=	freemasterofmagic
+SUBDIR+=	freerdp3
 SUBDIR+=	freeserf
 SUBDIR+=	freeswitch-core
 SUBDIR+=	freeswitch-music
diff --git a/freerdp3/DESCR b/freerdp3/DESCR
new file mode 100644
index 0000000000..beb8fa791e
--- /dev/null
+++ b/freerdp3/DESCR
@@ -0,0 +1,4 @@
+FreeRDP is a free implementation of the Remote Desktop Protocol (RDP),
+released under the Apache license.
+
+This package contains major version 3 of the library.
diff --git a/freerdp3/Makefile b/freerdp3/Makefile
new file mode 100644
index 0000000000..fedb406176
--- /dev/null
+++ b/freerdp3/Makefile
@@ -0,0 +1,71 @@
+# $NetBSD: Makefile,v 1.57 2025/04/24 14:15:23 wiz Exp $
+
+DISTNAME=	freerdp-3.19.0
+PKGNAME=	${DISTNAME:S/freerdp-/freerdp3-/1}
+CATEGORIES=	net
+MASTER_SITES=	https://pub.freerdp.com/releases/
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://www.freerdp.com/
+COMMENT=	Free implementation of the Remote Desktop Protocol (major version 3)
+LICENSE=	apache-2.0
+
+TOOL_DEPENDS+=	docbook-xsl-[0-9]*:../../textproc/docbook-xsl
+TOOL_DEPENDS+=	libxslt-[0-9]*:../../textproc/libxslt
+
+.include "../../devel/cmake/build.mk"
+
+USE_TOOLS+=	pkg-config
+USE_LANGUAGES=	c c++
+#USE_CXX_FEATURES+=	c++20
+
+CMAKE_CONFIGURE_ARGS+=	-DKRB5_ROOT_CONFIG=${KRB5_CONFIG}
+CMAKE_CONFIGURE_ARGS+=	-DWITH_SERVER=ON
+CMAKE_CONFIGURE_ARGS+=	-DWITH_CHANNELS=ON
+CMAKE_CONFIGURE_ARGS+=	-DWITH_JPEG=ON
+CMAKE_CONFIGURE_ARGS+=	-DWITH_GSTREAMER_1_0=OFF
+CMAKE_CONFIGURE_ARGS+=	-DWITH_FUSE=OFF
+CMAKE_CONFIGURE_ARGS+=	-DWITH_CLIENT_SDL3=OFF
+CMAKE_CONFIGURE_ARGS+=	-DWITH_BINARY_VERSIONING=ON
+CMAKE_CONFIGURE_ARGS+=	-DWITH_VERBOSE_WINPR_ASSERT=OFF
+
+CFLAGS.SunOS+=	-Du_int8_t=uint8_t -Du_int16_t=uint16_t -Du_int32_t=uint32_t -Du_int64_t=uint64_t
+
+.include "../../mk/oss.buildlink3.mk"
+
+.if ${OSS_TYPE} != "none"
+CMAKE_CONFIGURE_ARGS+=	-DWITH_OSS=ON
+LDFLAGS+=	${LIBOSSAUDIO}
+.else
+CMAKE_CONFIGURE_ARGS+=	-DWITH_OSS=OFF
+.endif
+
+.include "../../mk/bsd.prefs.mk"
+
+# backtrace(3)
+LDFLAGS.NetBSD+=	-lexecinfo
+
+PKGCONFIG_OVERRIDE+=	freerdp.pc.in
+
+INSTALLATION_DIRS+=	${PKGMANDIR}/man1 ${PKGMANDIR}/man7
+
+#post-install:
+#	${MV} ${DESTDIR}${PREFIX}/bin/xfreerdp \
+#		${DESTDIR}${PREFIX}/bin/xfreerdp2 || ${TRUE}
+
+.include "options.mk"
+.include "../../devel/libusb1/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/SDL2/buildlink3.mk"
+.include "../../fonts/SDL2_ttf/buildlink3.mk"
+.include "../../multimedia/ffmpeg7/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../textproc/json-c/buildlink3.mk"
+.include "../../mk/jpeg.buildlink3.mk"
+.include "../../mk/krb5.buildlink3.mk"
+.if defined(OPSYS_HAS_KQUEUE)
+CFLAGS+=	-I${BUILDLINK_PREFIX.libepoll-shim}/include/libepoll-shim
+.include "../../devel/libepoll-shim/buildlink3.mk"
+.endif
+.include "../../mk/bsd.pkg.mk"
diff --git a/freerdp3/PLIST b/freerdp3/PLIST
new file mode 100644
index 0000000000..f99c5e819d
--- /dev/null
+++ b/freerdp3/PLIST
@@ -0,0 +1,366 @@
+@comment $NetBSD$
+bin/freerdp-proxy3
+bin/freerdp-shadow-cli3
+bin/sdl-freerdp3
+bin/sfreerdp3
+bin/sfreerdp-server3
+bin/winpr-hash3
+bin/winpr-makecert3
+${PLIST.wayland}bin/wlfreerdp3
+${PLIST.x11}bin/xfreerdp3
+include/freerdp3/freerdp/addin.h
+include/freerdp3/freerdp/altsec.h
+include/freerdp3/freerdp/api.h
+include/freerdp3/freerdp/assistance.h
+include/freerdp3/freerdp/autodetect.h
+include/freerdp3/freerdp/build-config.h
+include/freerdp3/freerdp/buildflags.h
+include/freerdp3/freerdp/cache/persistent.h
+include/freerdp3/freerdp/channels/ainput.h
+include/freerdp3/freerdp/channels/audin.h
+include/freerdp3/freerdp/channels/channels.h
+include/freerdp3/freerdp/channels/cliprdr.h
+include/freerdp3/freerdp/channels/disp.h
+include/freerdp3/freerdp/channels/drdynvc.h
+include/freerdp3/freerdp/channels/echo.h
+include/freerdp3/freerdp/channels/encomsp.h
+include/freerdp3/freerdp/channels/geometry.h
+include/freerdp3/freerdp/channels/gfxredir.h
+include/freerdp3/freerdp/channels/location.h
+include/freerdp3/freerdp/channels/log.h
+include/freerdp3/freerdp/channels/rail.h
+include/freerdp3/freerdp/channels/rdp2tcp.h
+include/freerdp3/freerdp/channels/rdpdr.h
+include/freerdp3/freerdp/channels/rdpear.h
+include/freerdp3/freerdp/channels/rdpecam.h
+include/freerdp3/freerdp/channels/rdpei.h
+include/freerdp3/freerdp/channels/rdpemsc.h
+include/freerdp3/freerdp/channels/rdpewa.h
+include/freerdp3/freerdp/channels/rdpgfx.h
+include/freerdp3/freerdp/channels/rdpsnd.h
+include/freerdp3/freerdp/channels/remdesk.h
+include/freerdp3/freerdp/channels/scard.h
+include/freerdp3/freerdp/channels/telemetry.h
+include/freerdp3/freerdp/channels/tsmf.h
+include/freerdp3/freerdp/channels/urbdrc.h
+include/freerdp3/freerdp/channels/video.h
+include/freerdp3/freerdp/channels/wtsvc.h
+include/freerdp3/freerdp/client.h
+include/freerdp3/freerdp/client/ainput.h
+include/freerdp3/freerdp/client/audin.h
+include/freerdp3/freerdp/client/channels.h
+include/freerdp3/freerdp/client/client_cliprdr_file.h
+include/freerdp3/freerdp/client/cliprdr.h
+include/freerdp3/freerdp/client/cmdline.h
+include/freerdp3/freerdp/client/disp.h
+include/freerdp3/freerdp/client/drdynvc.h
+include/freerdp3/freerdp/client/encomsp.h
+include/freerdp3/freerdp/client/file.h
+include/freerdp3/freerdp/client/geometry.h
+include/freerdp3/freerdp/client/location.h
+include/freerdp3/freerdp/client/printer.h
+include/freerdp3/freerdp/client/rail.h
+include/freerdp3/freerdp/client/rdpei.h
+include/freerdp3/freerdp/client/rdpgfx.h
+include/freerdp3/freerdp/client/rdpsnd.h
+include/freerdp3/freerdp/client/remdesk.h
+include/freerdp3/freerdp/client/sshagent.h
+include/freerdp3/freerdp/client/tsmf.h
+include/freerdp3/freerdp/client/utils/smartcard_cli.h
+include/freerdp3/freerdp/client/video.h
+include/freerdp3/freerdp/codec/audio.h
+include/freerdp3/freerdp/codec/bitmap.h
+include/freerdp3/freerdp/codec/bulk.h
+include/freerdp3/freerdp/codec/clear.h
+include/freerdp3/freerdp/codec/color.h
+include/freerdp3/freerdp/codec/dsp.h
+include/freerdp3/freerdp/codec/h264.h
+include/freerdp3/freerdp/codec/interleaved.h
+include/freerdp3/freerdp/codec/jpeg.h
+include/freerdp3/freerdp/codec/nsc.h
+include/freerdp3/freerdp/codec/planar.h
+include/freerdp3/freerdp/codec/progressive.h
+include/freerdp3/freerdp/codec/region.h
+include/freerdp3/freerdp/codec/rfx.h
+include/freerdp3/freerdp/codec/yuv.h
+include/freerdp3/freerdp/codec/zgfx.h
+include/freerdp3/freerdp/codecs.h
+include/freerdp3/freerdp/config.h
+include/freerdp3/freerdp/constants.h
+include/freerdp3/freerdp/crypto/ber.h
+include/freerdp3/freerdp/crypto/certificate.h
+include/freerdp3/freerdp/crypto/certificate_data.h
+include/freerdp3/freerdp/crypto/certificate_store.h
+include/freerdp3/freerdp/crypto/crypto.h
+include/freerdp3/freerdp/crypto/der.h
+include/freerdp3/freerdp/crypto/er.h
+include/freerdp3/freerdp/crypto/per.h
+include/freerdp3/freerdp/crypto/privatekey.h
+include/freerdp3/freerdp/display.h
+include/freerdp3/freerdp/dvc.h
+include/freerdp3/freerdp/emulate/scard/smartcard_emulate.h
+include/freerdp3/freerdp/error.h
+include/freerdp3/freerdp/event.h
+include/freerdp3/freerdp/extension.h
+include/freerdp3/freerdp/freerdp.h
+include/freerdp3/freerdp/gdi/bitmap.h
+include/freerdp3/freerdp/gdi/dc.h
+include/freerdp3/freerdp/gdi/gdi.h
+include/freerdp3/freerdp/gdi/gfx.h
+include/freerdp3/freerdp/gdi/pen.h
+include/freerdp3/freerdp/gdi/region.h
+include/freerdp3/freerdp/gdi/shape.h
+include/freerdp3/freerdp/gdi/video.h
+include/freerdp3/freerdp/graphics.h
+include/freerdp3/freerdp/heartbeat.h
+include/freerdp3/freerdp/input.h
+include/freerdp3/freerdp/license.h
+include/freerdp3/freerdp/listener.h
+include/freerdp3/freerdp/locale/keyboard.h
+include/freerdp3/freerdp/locale/locale.h
+include/freerdp3/freerdp/log.h
+include/freerdp3/freerdp/message.h
+include/freerdp3/freerdp/metrics.h
+include/freerdp3/freerdp/peer.h
+include/freerdp3/freerdp/pointer.h
+include/freerdp3/freerdp/primary.h
+include/freerdp3/freerdp/primitives.h
+include/freerdp3/freerdp/rail.h
+include/freerdp3/freerdp/redirection.h
+include/freerdp3/freerdp/scancode.h
+include/freerdp3/freerdp/secondary.h
+include/freerdp3/freerdp/server/ainput.h
+include/freerdp3/freerdp/server/audin.h
+include/freerdp3/freerdp/server/channels.h
+include/freerdp3/freerdp/server/cliprdr.h
+include/freerdp3/freerdp/server/disp.h
+include/freerdp3/freerdp/server/drdynvc.h
+include/freerdp3/freerdp/server/echo.h
+include/freerdp3/freerdp/server/encomsp.h
+include/freerdp3/freerdp/server/gfxredir.h
+include/freerdp3/freerdp/server/location.h
+include/freerdp3/freerdp/server/proxy/proxy_config.h
+include/freerdp3/freerdp/server/proxy/proxy_context.h
+include/freerdp3/freerdp/server/proxy/proxy_log.h
+include/freerdp3/freerdp/server/proxy/proxy_modules_api.h
+include/freerdp3/freerdp/server/proxy/proxy_server.h
+include/freerdp3/freerdp/server/proxy/proxy_types.h
+include/freerdp3/freerdp/server/rail.h
+include/freerdp3/freerdp/server/rdpdr.h
+include/freerdp3/freerdp/server/rdpecam-enumerator.h
+include/freerdp3/freerdp/server/rdpecam.h
+include/freerdp3/freerdp/server/rdpei.h
+include/freerdp3/freerdp/server/rdpemsc.h
+include/freerdp3/freerdp/server/rdpgfx.h
+include/freerdp3/freerdp/server/rdpsnd.h
+include/freerdp3/freerdp/server/remdesk.h
+include/freerdp3/freerdp/server/server-common.h
+include/freerdp3/freerdp/server/shadow.h
+include/freerdp3/freerdp/server/telemetry.h
+include/freerdp3/freerdp/session.h
+include/freerdp3/freerdp/settings.h
+include/freerdp3/freerdp/settings_keys.h
+include/freerdp3/freerdp/settings_types.h
+include/freerdp3/freerdp/settings_types_private.h
+include/freerdp3/freerdp/streamdump.h
+include/freerdp3/freerdp/svc.h
+include/freerdp3/freerdp/transport_io.h
+include/freerdp3/freerdp/types.h
+include/freerdp3/freerdp/update.h
+include/freerdp3/freerdp/utils/aad.h
+include/freerdp3/freerdp/utils/cliprdr_utils.h
+include/freerdp3/freerdp/utils/drdynvc.h
+include/freerdp3/freerdp/utils/encoded_types.h
+include/freerdp3/freerdp/utils/gfx.h
+include/freerdp3/freerdp/utils/helpers.h
+include/freerdp3/freerdp/utils/http.h
+include/freerdp3/freerdp/utils/passphrase.h
+include/freerdp3/freerdp/utils/pcap.h
+include/freerdp3/freerdp/utils/pod_arrays.h
+include/freerdp3/freerdp/utils/profiler.h
+include/freerdp3/freerdp/utils/proxy_utils.h
+include/freerdp3/freerdp/utils/rdpdr_utils.h
+include/freerdp3/freerdp/utils/ringbuffer.h
+include/freerdp3/freerdp/utils/signal.h
+include/freerdp3/freerdp/utils/smartcard_call.h
+include/freerdp3/freerdp/utils/smartcard_operations.h
+include/freerdp3/freerdp/utils/smartcard_pack.h
+include/freerdp3/freerdp/utils/smartcardlogon.h
+include/freerdp3/freerdp/utils/stopwatch.h
+include/freerdp3/freerdp/utils/string.h
+include/freerdp3/freerdp/version.h
+include/freerdp3/freerdp/window.h
+include/rdtk0/rdtk/api.h
+include/rdtk0/rdtk/build-config.h
+include/rdtk0/rdtk/buildflags.h
+include/rdtk0/rdtk/config.h
+include/rdtk0/rdtk/rdtk.h
+include/rdtk0/rdtk/version.h
+${PLIST.wayland}include/uwac0/uwac/build-config.h
+${PLIST.wayland}include/uwac0/uwac/buildflags.h
+${PLIST.wayland}include/uwac0/uwac/config.h
+${PLIST.wayland}include/uwac0/uwac/uwac-tools.h
+${PLIST.wayland}include/uwac0/uwac/uwac.h
+${PLIST.wayland}include/uwac0/uwac/version.h
+include/winpr3/winpr/asn1.h
+include/winpr3/winpr/assert-api.h
+include/winpr3/winpr/assert.h
+include/winpr3/winpr/bcrypt.h
+include/winpr3/winpr/bitstream.h
+include/winpr3/winpr/build-config.h
+include/winpr3/winpr/buildflags.h
+include/winpr3/winpr/cast.h
+include/winpr3/winpr/clipboard.h
+include/winpr3/winpr/cmdline.h
+include/winpr3/winpr/collections.h
+include/winpr3/winpr/comm.h
+include/winpr3/winpr/config.h
+include/winpr3/winpr/cred.h
+include/winpr3/winpr/crt.h
+include/winpr3/winpr/crypto.h
+include/winpr3/winpr/custom-crypto.h
+include/winpr3/winpr/debug.h
+include/winpr3/winpr/dsparse.h
+include/winpr3/winpr/endian.h
+include/winpr3/winpr/environment.h
+include/winpr3/winpr/error.h
+include/winpr3/winpr/file.h
+include/winpr3/winpr/handle.h
+include/winpr3/winpr/image.h
+include/winpr3/winpr/ini.h
+include/winpr3/winpr/input.h
+include/winpr3/winpr/interlocked.h
+include/winpr3/winpr/intrin.h
+include/winpr3/winpr/io.h
+include/winpr3/winpr/json.h
+include/winpr3/winpr/library.h
+include/winpr3/winpr/memory.h
+include/winpr3/winpr/ncrypt.h
+include/winpr3/winpr/nt.h
+include/winpr3/winpr/ntlm.h
+include/winpr3/winpr/pack.h
+include/winpr3/winpr/path.h
+include/winpr3/winpr/pipe.h
+include/winpr3/winpr/platform.h
+include/winpr3/winpr/pool.h
+include/winpr3/winpr/print.h
+include/winpr3/winpr/registry.h
+include/winpr3/winpr/rpc.h
+include/winpr3/winpr/sam.h
+include/winpr3/winpr/schannel.h
+include/winpr3/winpr/secapi.h
+include/winpr3/winpr/security.h
+include/winpr3/winpr/shell.h
+include/winpr3/winpr/smartcard.h
+include/winpr3/winpr/spec.h
+include/winpr3/winpr/ssl.h
+include/winpr3/winpr/sspi.h
+include/winpr3/winpr/sspicli.h
+include/winpr3/winpr/stream.h
+include/winpr3/winpr/string.h
+include/winpr3/winpr/strlst.h
+include/winpr3/winpr/synch.h
+include/winpr3/winpr/sysinfo.h
+include/winpr3/winpr/tchar.h
+include/winpr3/winpr/thread.h
+include/winpr3/winpr/timezone.h
+include/winpr3/winpr/tools/makecert.h
+include/winpr3/winpr/user.h
+include/winpr3/winpr/version.h
+include/winpr3/winpr/wincrypt.h
+include/winpr3/winpr/windows.h
+include/winpr3/winpr/winpr.h
+include/winpr3/winpr/winsock.h
+include/winpr3/winpr/wlog.h
+include/winpr3/winpr/wtsapi.h
+include/winpr3/winpr/wtypes.h
+lib/cmake/FreeRDP-Client3/FreeRDP-ClientConfig.cmake
+lib/cmake/FreeRDP-Client3/FreeRDP-ClientConfigVersion.cmake
+lib/cmake/FreeRDP-Client3/FreeRDP-ClientTargets-release.cmake
+lib/cmake/FreeRDP-Client3/FreeRDP-ClientTargets.cmake
+lib/cmake/FreeRDP-Proxy3/FreeRDP-ProxyConfig.cmake
+lib/cmake/FreeRDP-Proxy3/FreeRDP-ProxyConfigVersion.cmake
+lib/cmake/FreeRDP-Proxy3/FreeRDP-ProxyTargets-release.cmake
+lib/cmake/FreeRDP-Proxy3/FreeRDP-ProxyTargets.cmake
+lib/cmake/FreeRDP-Server3/FreeRDP-ServerConfig.cmake
+lib/cmake/FreeRDP-Server3/FreeRDP-ServerConfigVersion.cmake
+lib/cmake/FreeRDP-Server3/FreeRDP-ServerTargets-release.cmake
+lib/cmake/FreeRDP-Server3/FreeRDP-ServerTargets.cmake
+lib/cmake/FreeRDP-Shadow3/FreeRDP-ShadowConfig.cmake
+lib/cmake/FreeRDP-Shadow3/FreeRDP-ShadowConfigVersion.cmake
+lib/cmake/FreeRDP-Shadow3/FreeRDP-ShadowTargets-release.cmake
+lib/cmake/FreeRDP-Shadow3/FreeRDP-ShadowTargets.cmake
+lib/cmake/FreeRDP3/FreeRDPConfig.cmake
+lib/cmake/FreeRDP3/FreeRDPConfigVersion.cmake
+lib/cmake/FreeRDP3/FreeRDPTargets-release.cmake
+lib/cmake/FreeRDP3/FreeRDPTargets.cmake
+lib/cmake/WinPR-tools3/WinPR-toolsConfig.cmake
+lib/cmake/WinPR-tools3/WinPR-toolsConfigVersion.cmake
+lib/cmake/WinPR-tools3/WinPR-toolsTargets-release.cmake
+lib/cmake/WinPR-tools3/WinPR-toolsTargets.cmake
+lib/cmake/WinPR3/WinPRConfig.cmake
+lib/cmake/WinPR3/WinPRConfigVersion.cmake
+lib/cmake/WinPR3/WinPRTargets-release.cmake
+lib/cmake/WinPR3/WinPRTargets.cmake
+lib/cmake/rdtk0/rdtk-release.cmake
+lib/cmake/rdtk0/rdtk.cmake
+lib/cmake/rdtk0/rdtkConfig.cmake
+lib/cmake/rdtk0/rdtkConfigVersion.cmake
+${PLIST.wayland}lib/cmake/uwac0/uwac-release.cmake
+${PLIST.wayland}lib/cmake/uwac0/uwac.cmake
+${PLIST.wayland}lib/cmake/uwac0/uwacConfig.cmake
+${PLIST.wayland}lib/cmake/uwac0/uwacConfigVersion.cmake
+lib/freerdp3/proxy/proxy-bitmap-filter-plugin.so
+lib/freerdp3/proxy/proxy-demo-plugin.so
+lib/freerdp3/proxy/proxy-dyn-channel-dump-plugin.so
+lib/libfreerdp-client3.so
+lib/libfreerdp-client3.so.3
+lib/libfreerdp-client3.so.${PKGVERSION}
+lib/libfreerdp-server-proxy3.so
+lib/libfreerdp-server-proxy3.so.3
+lib/libfreerdp-server-proxy3.so.${PKGVERSION}
+lib/libfreerdp-server3.so
+lib/libfreerdp-server3.so.3
+lib/libfreerdp-server3.so.${PKGVERSION}
+lib/libfreerdp-shadow-subsystem3.so
+lib/libfreerdp-shadow-subsystem3.so.3
+lib/libfreerdp-shadow-subsystem3.so.${PKGVERSION}
+lib/libfreerdp-shadow3.so
+lib/libfreerdp-shadow3.so.3
+lib/libfreerdp-shadow3.so.${PKGVERSION}
+lib/libfreerdp3.so
+lib/libfreerdp3.so.3
+lib/libfreerdp3.so.${PKGVERSION}
+lib/librdtk0.so
+lib/librdtk0.so.0
+lib/librdtk0.so.0.2.0
+${PLIST.wayland}lib/libuwac0.so
+${PLIST.wayland}lib/libuwac0.so.0
+${PLIST.wayland}lib/libuwac0.so.0.2.0
+lib/libwinpr-tools3.so
+lib/libwinpr-tools3.so.3
+lib/libwinpr-tools3.so.${PKGVERSION}
+lib/libwinpr3.so
+lib/libwinpr3.so.3
+lib/libwinpr3.so.${PKGVERSION}
+lib/pkgconfig/freerdp-client3.pc
+lib/pkgconfig/freerdp-server-proxy3.pc
+lib/pkgconfig/freerdp-server3.pc
+lib/pkgconfig/freerdp-shadow3.pc
+lib/pkgconfig/freerdp3.pc
+lib/pkgconfig/rdtk0.pc
+${PLIST.wayland}lib/pkgconfig/uwac0.pc
+lib/pkgconfig/winpr-tools3.pc
+lib/pkgconfig/winpr3.pc
+man/man1/freerdp-proxy3.1
+man/man1/freerdp-shadow-cli3.1
+man/man1/sdl-freerdp3.1
+man/man1/winpr-hash3.1
+man/man1/winpr-makecert3.1
+${PLIST.wayland}man/man1/wlfreerdp3.1
+${PLIST.x11}man/man1/xfreerdp3.1
+man/man7/wlog3.7
+share/FreeRDP/images/test_icon.bmp
+share/FreeRDP/images/test_icon.jpg
+share/FreeRDP/images/test_icon.png
+share/FreeRDP/images/test_icon.webp
diff --git a/freerdp3/TODO b/freerdp3/TODO
new file mode 100644
index 0000000000..706ae42c21
--- /dev/null
+++ b/freerdp3/TODO
@@ -0,0 +1,2 @@
+NetBSD needs equivalent of sysinfo() uptime field for
+winpr/libwinpr/sysinfo/sysinfo.c to build.
diff --git a/freerdp3/distinfo b/freerdp3/distinfo
new file mode 100644
index 0000000000..d28eb5dc7e
--- /dev/null
+++ b/freerdp3/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.15 2024/08/17 00:39:00 markd Exp $
+
+BLAKE2s (freerdp-3.19.0.tar.gz) = e338329c2ed01f1e9fefa7faffd3d9a869008a9e0b86c6293e9361e8ca50594e
+SHA512 (freerdp-3.19.0.tar.gz) = 17c8f6580eb3238cecc55896827c48918f1d08885c0a52eaac0f15682bb77ff0046f18a9ce16bbfe615b07286a00fa479d4d320417f4cd3813151bd36004dd55
+Size (freerdp-3.19.0.tar.gz) = 11364393 bytes
+SHA1 (patch-channels_rdpdr_client_rdpdr__main.c) = 489430152c645b2c8c5b1580c6cfe51fe518c333
+SHA1 (patch-client_Wayland_wlf__input.c) = 02442984ecd1a93b03591c35786067c46b41be6c
+SHA1 (patch-client_Wayland_wlfreerdp.c) = 1b97c01b1893f1364b9499f788560a41eaf61cd8
+SHA1 (patch-winpr_include_winpr_string.h) = 892a0ca736997240a0ea26b7030b00cd90396849
+SHA1 (patch-winpr_libwinpr_libwinpr_sspi_CMakeLists.txt) = 5e202a099a0888ad3c3787ca4bd428be31afbb9c
+SHA1 (patch-winpr_libwinpr_sysinfo_sysinfo.c) = 4d3ad2bfbdd4c567d3b6e61354afe11aff18c8bd
+SHA1 (patch-winpr_libwinpr_thread_thread.c) = 91d182d962ec9a957204b65bb30b8f7735e803dd
diff --git a/freerdp3/options.mk b/freerdp3/options.mk
new file mode 100644
index 0000000000..64a8da73f6
--- /dev/null
+++ b/freerdp3/options.mk
@@ -0,0 +1,72 @@
+# $NetBSD: options.mk,v 1.5 2024/08/25 06:19:06 wiz Exp $
+
+PKG_OPTIONS_VAR=		PKG_OPTIONS.freerdp3
+PKG_SUPPORTED_OPTIONS=		alsa pcsc pulseaudio cups wayland x11
+PKG_SUGGESTED_OPTIONS=		x11 pcsc
+PKG_SUGGESTED_OPTIONS.Linux=	alsa
+
+.include "../../devel/wayland/platform.mk"
+.if ${PLATFORM_SUPPORTS_WAYLAND} == "yes"
+PKG_SUGGESTED_OPTIONS+=		wayland
+.endif
+
+.include "../../mk/bsd.options.mk"
+
+.if !empty(PKG_OPTIONS:Malsa)
+CMAKE_CONFIGURE_ARGS+=	-DWITH_ALSA=ON
+.include "../../audio/alsa-lib/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+=	-DWITH_ALSA=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mpulseaudio)
+CMAKE_CONFIGURE_ARGS+=	-DWITH_PULSE=ON
+.include "../../audio/pulseaudio/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+=	-DWITH_PULSE=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mcups)
+CMAKE_CONFIGURE_ARGS+=	-DWITH_CUPS=ON
+.include "../../print/libcups/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+=	-DWITH_CUPS=OFF
+.endif
+
+PLIST_VARS+=	x11
+.if !empty(PKG_OPTIONS:Mx11)
+PLIST.x11=	yes
+CMAKE_CONFIGURE_ARGS+=	-DWITH_X11=ON
+.include "../../x11/libxkbfile/buildlink3.mk"
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXcursor/buildlink3.mk"
+.include "../../x11/libXdamage/buildlink3.mk"
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../x11/libXfixes/buildlink3.mk"
+.include "../../x11/libXi/buildlink3.mk"
+.include "../../x11/libXinerama/buildlink3.mk"
+.include "../../x11/libXrandr/buildlink3.mk"
+.include "../../x11/libXrender/buildlink3.mk"
+.include "../../x11/libXtst/buildlink3.mk"
+.include "../../x11/libXv/buildlink3.mk"
+.else
+CMAKE_CONFIGURE_ARGS+=	-DWITH_X11=OFF
+.endif
+
+.if !empty(PKG_OPTIONS:Mpcsc)
+.  include "../../security/pcsc-lite/buildlink3.mk"
+CMAKE_CONFIGURE_ARGS+=   -DWITH_PCSC=ON
+PLIST.pcsc=    yes
+.else
+CMAKE_CONFIGURE_ARGS+=   -DWITH_PCSC=OFF
+.endif
+
+PLIST_VARS+=	wayland
+.if !empty(PKG_OPTIONS:Mwayland)
+.  include "../../devel/wayland/buildlink3.mk"
+.  include "../../x11/libxkbcommon/buildlink3.mk"
+PLIST.wayland=	yes
+CMAKE_CONFIGURE_ARGS+=   -DWITH_WAYLAND=ON
+.else
+CMAKE_CONFIGURE_ARGS+=   -DWITH_WAYLAND=OFF
+.endif
diff --git a/freerdp3/patches/patch-channels_rdpdr_client_rdpdr__main.c b/freerdp3/patches/patch-channels_rdpdr_client_rdpdr__main.c
new file mode 100644
index 0000000000..5abaa29354
--- /dev/null
+++ b/freerdp3/patches/patch-channels_rdpdr_client_rdpdr__main.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-channels_rdpdr_client_rdpdr__main.c,v 1.1 2020/05/21 10:11:23 nia Exp $
+
+NetBSD does not have mntent
+
+--- channels/rdpdr/client/rdpdr_main.c.orig	2025-12-05 08:17:55.000000000 +0000
++++ channels/rdpdr/client/rdpdr_main.c
+@@ -266,7 +266,7 @@ static UINT rdpdr_send_device_list_remov
+ 	return rdpdr_send(rdpdr, s);
+ }
+ 
+-#if defined(_UWP) || defined(__IOS__)
++#if defined(_UWP) || defined(__IOS__) || defined(__NetBSD__)
+ 
+ static UINT handle_hotplug(WINPR_ATTR_UNUSED RdpdrClientContext* context,
+                            WINPR_ATTR_UNUSED RdpdrHotplugEventType type)
+@@ -1115,7 +1115,7 @@ out:
+ 
+ #endif
+ 
+-#if !defined(_WIN32) && !defined(__IOS__)
++#if !defined(_WIN32) && !defined(__IOS__) && !defined(__NetBSD__)
+ /**
+  * Function description
+  *
diff --git a/freerdp3/patches/patch-client_Wayland_wlf__input.c b/freerdp3/patches/patch-client_Wayland_wlf__input.c
new file mode 100644
index 0000000000..46ae4b3636
--- /dev/null
+++ b/freerdp3/patches/patch-client_Wayland_wlf__input.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-client_Wayland_wlf__input.c,v 1.1 2022/08/06 08:02:27 nia Exp $
+
+Support building Wayland components on non-Linux.
+
+--- client/Wayland/wlf_input.c.orig	2025-04-14 13:11:41.000000000 +0000
++++ client/Wayland/wlf_input.c
+@@ -21,7 +21,17 @@
+ #include <stdlib.h>
+ #include <float.h>
+ 
++#ifdef __linux
+ #include <linux/input.h>
++#else
++#ifndef BTN_LEFT
++#define BTN_LEFT       (0x110)
++#define BTN_RIGHT      (0x111)
++#define BTN_MIDDLE     (0x112)
++#define BTN_SIDE       (0x113)
++#define BTN_EXTRA      (0x114)
++#endif
++#endif
+ 
+ #include <winpr/assert.h>
+ #include <winpr/cast.h>
diff --git a/freerdp3/patches/patch-client_Wayland_wlfreerdp.c b/freerdp3/patches/patch-client_Wayland_wlfreerdp.c
new file mode 100644
index 0000000000..50f934cd9f
--- /dev/null
+++ b/freerdp3/patches/patch-client_Wayland_wlfreerdp.c
@@ -0,0 +1,16 @@
+$NetBSD: patch-client_Wayland_wlfreerdp.c,v 1.1 2022/08/06 08:02:27 nia Exp $
+
+Support building Wayland components on non-Linux.
+
+--- client/Wayland/wlfreerdp.c.orig	2024-04-22 09:26:59.000000000 +0000
++++ client/Wayland/wlfreerdp.c
+@@ -31,7 +31,9 @@
+ #include <freerdp/utils/signal.h>
+ #include <freerdp/locale/keyboard.h>
+ 
++#ifdef __linux
+ #include <linux/input.h>
++#endif
+ 
+ #include <uwac/uwac.h>
+ 
diff --git a/freerdp3/patches/patch-winpr_include_winpr_string.h b/freerdp3/patches/patch-winpr_include_winpr_string.h
new file mode 100644
index 0000000000..c14a1af98f
--- /dev/null
+++ b/freerdp3/patches/patch-winpr_include_winpr_string.h
@@ -0,0 +1,14 @@
+$NetBSD$
+
+include <stdarg.h> for 'va_list'
+
+--- winpr/include/winpr/string.h.orig	2025-04-14 13:11:41.000000000 +0000
++++ winpr/include/winpr/string.h
+@@ -24,6 +24,7 @@
+ #include <wchar.h>
+ #include <stdio.h>
+ #include <string.h>
++#include <stdarg.h>
+ #include <winpr/config.h>
+ #include <winpr/winpr.h>
+ #include <winpr/wtypes.h>
diff --git a/freerdp3/patches/patch-winpr_libwinpr_libwinpr_sspi_CMakeLists.txt b/freerdp3/patches/patch-winpr_libwinpr_libwinpr_sspi_CMakeLists.txt
new file mode 100644
index 0000000000..7dc6f98ce3
--- /dev/null
+++ b/freerdp3/patches/patch-winpr_libwinpr_libwinpr_sspi_CMakeLists.txt
@@ -0,0 +1,21 @@
+$NetBSD$
+
+Don't pass the kerberos libraries here as they somehow screw up the 
+link and pkgsrc is passing tehm anyway.
+
+--- winpr/libwinpr/sspi/CMakeLists.txt.orig	2025-06-16 02:54:51.232871196 +0000
++++ winpr/libwinpr/sspi/CMakeLists.txt
+@@ -67,10 +67,10 @@ if(WITH_KRB5)
+ 
+   winpr_system_include_directory_add(${KRB5_INCLUDEDIR})
+   winpr_system_include_directory_add(${KRB5_INCLUDE_DIRS})
+-  winpr_library_add_private(${KRB5_LIBRARIES})
+-  winpr_library_add_private(${KRB5_LIBRARY})
++#  winpr_library_add_private(${KRB5_LIBRARIES})
++#  winpr_library_add_private(${KRB5_LIBRARY})
+   winpr_library_add_compile_options(${KRB5_CFLAGS})
+-  winpr_library_add_link_options(${KRB5_LDFLAGS})
++#  winpr_library_add_link_options(${KRB5_LDFLAGS})
+   winpr_library_add_link_directory(${KRB5_LIBRARY_DIRS})
+ 
+   winpr_definition_add(WITH_KRB5)
diff --git a/freerdp3/patches/patch-winpr_libwinpr_sysinfo_sysinfo.c b/freerdp3/patches/patch-winpr_libwinpr_sysinfo_sysinfo.c
new file mode 100644
index 0000000000..1ef75aba4d
--- /dev/null
+++ b/freerdp3/patches/patch-winpr_libwinpr_sysinfo_sysinfo.c
@@ -0,0 +1,35 @@
+$NetBSD: patch-winpr_libwinpr_sysinfo_sysinfo.c,v 1.2 2021/05/02 08:26:49 jdolecek Exp $
+
+Use _SC_NPROCESSORS_ONLN if available, remove OS-specific ifdef for it,
+and also for HW_NCPU. Technically NetBSD would need to be added to the HW_NCPU
+#idef, but no longer needed since it has _SC_NPROCESSORS_ONLN.
+
+--- winpr/libwinpr/sysinfo/sysinfo.c.orig	2025-12-05 08:17:55.000000000 +0000
++++ winpr/libwinpr/sysinfo/sysinfo.c
+@@ -37,7 +37,7 @@
+ #if !defined(_WIN32)
+ #if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199309L)
+ #include <time.h>
+-#elif !defined(__APPLE__)
++#elif !defined(__APPLE__) && !defined(__NetBSD__)
+ #include <sys/time.h>
+ #include <sys/sysinfo.h>
+ #endif
+@@ -167,7 +167,7 @@ static DWORD GetNumberOfProcessors(void)
+ #if defined(ANDROID)
+ 	return android_getCpuCount();
+ 	/* TODO: iOS */
+-#elif defined(__linux__) || defined(__sun) || defined(_AIX)
++#elif defined(_SC_NPROCESSORS_ONLN)
+ 	numCPUs = (DWORD)sysconf(_SC_NPROCESSORS_ONLN);
+ #elif defined(__MACOSX__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
+     defined(__OpenBSD__) || defined(__DragonFly__)
+@@ -175,7 +175,7 @@ static DWORD GetNumberOfProcessors(void)
+ 		int mib[4];
+ 		size_t length = sizeof(numCPUs);
+ 		mib[0] = CTL_HW;
+-#if defined(__FreeBSD__) || defined(__OpenBSD__)
++#if defined(HW_NCPU)
+ 		mib[1] = HW_NCPU;
+ #else
+ 		mib[1] = HW_AVAILCPU;
diff --git a/freerdp3/patches/patch-winpr_libwinpr_thread_thread.c b/freerdp3/patches/patch-winpr_libwinpr_thread_thread.c
new file mode 100644
index 0000000000..f15d8b9c31
--- /dev/null
+++ b/freerdp3/patches/patch-winpr_libwinpr_thread_thread.c
@@ -0,0 +1,16 @@
+$NetBSD: patch-winpr_libwinpr_thread_thread.c,v 1.1 2023/01/19 08:01:37 markd Exp $
+
+NetBSD9 and some others dont define ENOTRECOVERABLE
+
+--- winpr/libwinpr/thread/thread.c.orig	2025-04-14 13:11:41.000000000 +0000
++++ winpr/libwinpr/thread/thread.c
+@@ -278,7 +278,9 @@ static BOOL mux_condition_bundle_wait(mu
+ 			         winpr_strerror(r, ebuffer, sizeof(ebuffer)));
+ 			switch (r)
+ 			{
++#ifdef ENOTRECOVERABLE
+ 				case ENOTRECOVERABLE:
++#endif
+ 				case EPERM:
+ 				case ETIMEDOUT:
+ 				case EINVAL:


Home | Main Index | Thread Index | Old Index