[packages/freerdp3] - updated to 3.5.1

qboosh qboosh at pld-linux.org
Wed May 8 19:36:46 CEST 2024


commit 613f2591d4cc0f43f405232677befbfcbbf9ac49
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed May 8 19:37:11 2024 +0200

    - updated to 3.5.1

 freerdp-opt.patch              |  14 +---
 freerdp2.spec => freerdp3.spec | 172 ++++++++++++++++++++++++++---------------
 2 files changed, 114 insertions(+), 72 deletions(-)
---
diff --git a/freerdp2.spec b/freerdp3.spec
similarity index 73%
rename from freerdp2.spec
rename to freerdp3.spec
index 8827d7b..ce2c337 100644
--- a/freerdp2.spec
+++ b/freerdp3.spec
@@ -1,79 +1,91 @@
 # TODO:
+# - consider -DUWAC_HAVE_PIXMAN_REGION, so that libuwac would depend on pixman instead of freerdp3-libs
 # - what is libpcsc-winpr? (-DWITH_PCSC_WINPR)
-# - fix DirectFB client build (orphaned code)
 # - WITH_IPP?
 #
 # Conditional build:
 %bcond_without	alsa		# ALSA sound support
 %bcond_without	cups		# CUPS printing support
-%bcond_with	directfb	# DirectFB client
 %bcond_without	ffmpeg		# FFmpeg audio/video codecs support (covers H264, GSM, LAME, FAAC, FAAD2, SOXR)
 %bcond_with	faac		# faac for AAC audio coding (if without ffmpeg)
 %bcond_with	faad		# faad2 for AAC audio decoding (if without ffmpeg)
 %bcond_with	gsm		# GSM audio codec (if without ffmpeg)
 %bcond_without	gstreamer	# GStreamer sound support
-# for now the kerberos5 support has to be disabled due to a bad state of its code.
-# See: https://github.com/FreeRDP/FreeRDP/issues/4348
-# See: https://github.com/FreeRDP/FreeRDP/issues/5746
-%bcond_with	kerberos5	# GSSAPI auth support
+%bcond_without	kerberos5	# Kerberos authentication support
 %bcond_with	lame		# LAME for MP3 audio codec (if without ffmpeg)
 %bcond_without	opencl		# OpenCL support
 %bcond_with	openh264	# OpenH264 for H.264 codec (overrides ffmpeg for H264)
+%bcond_with	opus		# OPUS audio codec (if without ffmpeg)
 %bcond_without	pcsc		# SmartCard support via PCSC-lite library
 %bcond_without	pulseaudio	# Pulseaudio sound support
+%bcond_without	sdl		# SDL client
 %bcond_with	soxr		# soxr for audio resampling (if without ffmpeg)
 %bcond_without	systemd		# systemd journal support
 %bcond_without	wayland		# Wayland client
 %bcond_without	x11		# X11 client
 %bcond_without	sse2		# SSE2 and higher instructions (runtime detection with sse patch)
 
-%define	freerdp_api	2
+%define	freerdp_api	3
 
 %ifnarch %{ix86} %{x8664} x32
 %undefine	with_sse2
 %endif
 Summary:	Remote Desktop Protocol client
 Summary(pl.UTF-8):	Klient protokołu RDP
-Name:		freerdp2
-Version:	2.11.7
-Release:	2
+Name:		freerdp3
+Version:	3.5.1
+Release:	1
 License:	Apache v2.0
 Group:		Applications/Communications
-Source0:	https://pub.freerdp.com/releases/freerdp-%{version}.tar.gz
-# Source0-md5:	73ec89960f60d2649078288bdcea8aa5
+Source0:	https://pub.freerdp.com/releases/freerdp-%{version}.tar.xz
+# Source0-md5:	b0a0a06fd3869bb9fc2abc36d36217fa
 Patch0:		freerdp-opt.patch
 Patch1:		freerdp-gsm.patch
 Patch2:		docbook-xsl.patch
-URL:		http://www.freerdp.com/
-%{?with_directfb:BuildRequires:	DirectFB-devel}
+URL:		https://www.freerdp.com/
 %{?with_opencl:BuildRequires:	OpenCL-devel}
+%{?with_sdl:BuildRequires:	SDL2-devel >= 2.0}
+%{?with_sdl:BuildRequires:	SDL2_ttf-devel >= 2.0}
 %{?with_alsa:BuildRequires:	alsa-lib-devel}
 %{!?with_ffmpeg:BuildRequires:	cairo-devel}
-BuildRequires:	cmake >= 2.8
-%{?with_cups:BuildRequires:	cups-devel}
+BuildRequires:	cjson-devel
+BuildRequires:	cmake >= 3.13
+%{?with_cups:BuildRequires:	cups-devel >= 2.0}
 BuildRequires:	desktop-file-utils
 BuildRequires:	docbook-style-xsl-nons
 %{?with_faac:BuildRequires:	faac-devel}
 %{?with_faad:BuildRequires:	faad2-devel >= 2}
 # libavcodec >= 57.48.101, libavresample, libavutil
 %{?with_ffmpeg:BuildRequires:	ffmpeg-devel >= 3.1}
+BuildRequires:	gcc >= 6:4.7
+BuildRequires:	glib2-devel >= 2.0
 %{?with_gstreamer:BuildRequires:	gstreamer-devel >= 1.0.5}
 %{?with_gstreamer:BuildRequires:	gstreamer-plugins-base-devel >= 1.0.5}
-# MIT krb5 >= 1.13 also possible
+BuildRequires:	gtk-webkit4-devel
+BuildRequires:	gtk+3-devel >= 3.0
+# or MIT krb5 >= 1.14
 %{?with_kerberos5:BuildRequires:	heimdal-devel}
 %{?with_lame:BuildRequires:	lame-libs-devel}
+BuildRequires:	libfuse3-devel >= 3
 %{?with_gsm:BuildRequires:	libgsm-devel}
+BuildRequires:	libicu-devel
 BuildRequires:	libjpeg-devel
-BuildRequires:	libusb-devel
+BuildRequires:	libpng-devel
+BuildRequires:	libusb-devel >= 1.0
+BuildRequires:	libwebp-devel
 %{?with_openh264:BuildRequires:	openh264-devel}
 # also mbedtls possible
 BuildRequires:	openssl-devel
+%{?with_opus:BuildRequires:	opus-devel}
 %{?with_pcsc:BuildRequires:	pcsc-lite-devel}
 BuildRequires:	pkgconfig
+BuildRequires:	pkcs11-helper-devel
 %{?with_pulseaudio:BuildRequires:	pulseaudio-devel}
 BuildRequires:	rpmbuild(macros) >= 1.742
 %{?with_soxr:BuildRequires:	soxr-devel}
 %{?with_systemd:BuildRequires:	systemd-devel >= 1:209}
+BuildRequires:	tar >= 1:1.22
+BuildRequires:	uriparser-devel
 %{?with_wayland:BuildRequires:	wayland-devel}
 BuildRequires:	xmlto
 %{?with_wayland:BuildRequires:	xorg-lib-libxkbcommon-devel}
@@ -89,9 +101,11 @@ BuildRequires:	xorg-lib-libXtst-devel
 BuildRequires:	xorg-lib-libXv-devel
 BuildRequires:	xorg-lib-libxkbfile-devel
 %endif
+BuildRequires:	xz
 BuildRequires:	zlib-devel
 Requires:	%{name}-libs = %{version}-%{release}
 Requires:	hicolor-icon-theme
+Obsoletes:	freerdp2 < 3
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -107,23 +121,24 @@ FreeRDP.
 xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
 Microsoft Windows, xrdp oraz VirtualBox.
 
-%package dfb
-Summary:	DirectFB based Remote Desktop Protocol klient
-Summary(pl.UTF-8):	Klient protokołu RDP oparty na DirectFB
+%package sdl
+Summary:	SDL based Remote Desktop Protocol klient
+Summary(pl.UTF-8):	Klient protokołu RDP oparty na SDL
 Group:		Applications/Communications
 Requires:	%{name} = %{version}-%{release}
 Obsoletes:	freerdp-dfb < 2
+Obsoletes:	freerdp2-dfb < 3
 
-%description dfb
-DirectFB based Remote Desktop Protocol klient.
+%description sdl
+SDL based Remote Desktop Protocol client.
 
-dfreerdp can connect to RDP servers such as Microsoft Windows
+sdl-freerdp can connect to RDP servers such as Microsoft Windows
 machines, xrdp and VirtualBox.
 
-%description dfb -l pl.UTF-8
-Klient protokołu RDP oparty na DirectFB.
+%description sdl -l pl.UTF-8
+Klient protokołu RDP oparty na SDL.
 
-dfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
+sdl-freerdp może łączyć się z serwerami RDP, takimi jak maszyny z
 Microsoft Windows, xrdp oraz VirtualBox.
 
 %package wayland
@@ -132,9 +147,10 @@ Summary(pl.UTF-8):	Klient protokołu RDP oparty na Wayland
 Group:		Applications/Communications
 Requires:	%{name} = %{version}-%{release}
 Requires:	%{name}-libuwac = %{version}-%{release}
+Obsoletes:	freerdp2-wayland < 3
 
 %description wayland
-Wayland based Remote Desktop Protocol klient.
+Wayland based Remote Desktop Protocol client.
 
 wlfreerdp can connect to RDP servers such as Microsoft Windows
 machines, xrdp and VirtualBox.
@@ -152,9 +168,10 @@ Group:		Applications/Communications
 Requires:	%{name} = %{version}-%{release}
 Provides:	xfreerdp = %{version}-%{release}
 Obsoletes:	freerdp < 2
+Obsoletes:	freerdp2-x11 < 3
 
 %description x11
-X11 based Remote Desktop Protocol klient.
+X11 based Remote Desktop Protocol client.
 
 xfreerdp can connect to RDP servers such as Microsoft Windows
 machines, xrdp and VirtualBox.
@@ -195,6 +212,7 @@ Summary:	uwac: using wayland as a client
 Summary(pl.UTF-8):	Biblioteka uwac pozwalająca na korzystanie z waylanda jako klienta
 Group:		Libraries
 Requires:	%{name}-libs = %{version}-%{release}
+Obsoletes:	freerdp2-libuwac < 3
 
 %description libuwac
 uwac library for using wayland as a client.
@@ -208,6 +226,7 @@ Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki uwac
 Group:		Development/Libraries
 Requires:	%{name}-libuwac = %{version}-%{release}
 Requires:	wayland-devel
+Obsoletes:	freerdp2-libuwac-devel < 3
 
 %description libuwac-devel
 Header files for uwac library.
@@ -235,27 +254,29 @@ Categories=Network;RemoteAccess;
 EOF
 
 %build
-install -d build
-cd build
-%cmake .. \
+%cmake -B build \
 	-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
+	-DWINPR_UTILS_IMAGE_JPEG=ON \
+	-DWINPR_UTILS_IMAGE_PNG=ON \
+	-DWINPR_UTILS_IMAGE_WEBP=ON \
 	%{cmake_on_off alsa WITH_ALSA} \
 	%{!?with_ffmpeg:-DWITH_CAIRO=ON} \
+	%{cmake_on_off sdl WITH_CLIENT_SDL} \
 	-DWITH_CUNIT=OFF \
 	%{cmake_on_off cups WITH_CUPS} \
 	-DWITH_DEBUG_LICENSE=ON \
-	%{cmake_on_off directfb WITH_DIRECTFB} \
 	%{cmake_on_off ffmpeg WITH_DSP_FFMPEG} \
 	%{cmake_on_off faac WITH_FAAC} \
 	%{cmake_on_off faad WITH_FAAD2} \
 	%{cmake_on_off ffmpeg WITH_FFMPEG} \
 	%{cmake_on_off gsm WITH_GSM} \
 	%{cmake_on_off gstreamer WITH_GSTREAMER_1_0} \
-	%{cmake_on_off kerberos5 WITH_GSSAPI} \
 	-DWITH_JPEG=ON \
+	%{cmake_on_off kerberos5 WITH_KRB5} \
 	%{cmake_on_off systemd WITH_LIBSYSTEMD} \
 	%{cmake_on_off opencl WITH_OPENCL} \
 	%{cmake_on_off openh264 WITH_OPENH264} \
+	%{cmake_on_off opus WITH_OPUS} \
 	-DWITH_OSS=ON \
 	%{cmake_on_off pcsc WITH_PCSC} \
 	%{cmake_on_off pulseaudio WITH_PULSE} \
@@ -263,15 +284,18 @@ cd build
 	%{cmake_on_off soxr WITH_SOXR} \
 	%{cmake_on_off sse2 WITH_SSE2} \
 	%{cmake_on_off ffmpeg WITH_SWSCALE} \
+	%{cmake_on_off ffmpeg WITH_VAAPI} \
+	%{cmake_on_off ffmpeg WITH_VIDEO_FFMPEG} \
 	%{cmake_on_off wayland WITH_WAYLAND} \
 	%{cmake_on_off x11 WITH_X11} \
 	-DWITH_XCURSOR=ON \
 	-DWITH_XEXT=ON \
+	-DWITH_XI=ON \
 	-DWITH_XINERAMA=ON \
-	-DWITH_XKBFILE=ON \
+	-DWITH_XRENDER=ON \
 	-DWITH_XV=ON
 
-%{__make}
+%{__make} -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -283,6 +307,9 @@ rm -rf $RPM_BUILD_ROOT
 desktop-file-install --dir=$RPM_BUILD_ROOT%{_desktopdir} xfreerdp.desktop
 install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
 
+# empty dirs
+rmdir $RPM_BUILD_ROOT%{_includedir}/{rdtk0/CMakeFiles,uwac0/CMakeFiles,winpr3/CMakeFiles,winpr3/config}
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -299,19 +326,23 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/freerdp-proxy
 %attr(755,root,root) %{_bindir}/freerdp-shadow-cli
+%attr(755,root,root) %{_bindir}/sfreerdp
+%attr(755,root,root) %{_bindir}/sfreerdp-server
 %attr(755,root,root) %{_bindir}/winpr-hash
 %attr(755,root,root) %{_bindir}/winpr-makecert
-%{_iconsdir}/hicolor/256x256/apps/freerdp2.png
+%{_datadir}/FreeRDP
+%{_iconsdir}/hicolor/256x256/apps/freerdp3.png
+%{_mandir}/man1/freerdp-proxy.1*
 %{_mandir}/man1/freerdp-shadow-cli.1*
 %{_mandir}/man1/winpr-hash.1*
 %{_mandir}/man1/winpr-makecert.1*
 %{_mandir}/man7/wlog.7*
 
-%if %{with directfb}
-%files dfb
+%if %{with sdl}
+%files sdl
 %defattr(644,root,root,755)
-%doc doc/README.directfb
-%attr(755,root,root) %{_bindir}/dfreerdp
+%attr(755,root,root) %{_bindir}/sdl-freerdp
+%{_mandir}/man1/sdl-freerdp.1*
 %endif
 
 %if %{with wayland}
@@ -331,44 +362,61 @@ rm -rf $RPM_BUILD_ROOT
 
 %files libs
 %defattr(644,root,root,755)
-%doc ChangeLog README.md
+%doc ChangeLog README.md SECURITY.md
 %attr(755,root,root) %{_libdir}/libfreerdp-client%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfreerdp-client%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libfreerdp-client%{freerdp_api}.so.3
 %attr(755,root,root) %{_libdir}/libfreerdp-server%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfreerdp-server%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libfreerdp-server%{freerdp_api}.so.3
+%attr(755,root,root) %{_libdir}/libfreerdp-server-proxy%{freerdp_api}.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfreerdp-server-proxy%{freerdp_api}.so.3
 %attr(755,root,root) %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.3
 %attr(755,root,root) %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.3
 %attr(755,root,root) %{_libdir}/libfreerdp%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libfreerdp%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libfreerdp%{freerdp_api}.so.3
+%attr(755,root,root) %{_libdir}/librdtk0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/librdtk0.so.0
 %attr(755,root,root) %{_libdir}/libwinpr%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libwinpr%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libwinpr%{freerdp_api}.so.3
 %attr(755,root,root) %{_libdir}/libwinpr-tools%{freerdp_api}.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libwinpr-tools%{freerdp_api}.so.2
+%attr(755,root,root) %ghost %{_libdir}/libwinpr-tools%{freerdp_api}.so.3
+%dir %{_libdir}/freerdp3
+%dir %{_libdir}/freerdp3/proxy
+%attr(755,root,root) %{_libdir}/freerdp3/proxy/proxy-bitmap-filter-plugin.so
+%attr(755,root,root) %{_libdir}/freerdp3/proxy/proxy-demo-plugin.so
+%attr(755,root,root) %{_libdir}/freerdp3/proxy/proxy-dyn-channel-dump-plugin.so
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libfreerdp-client%{freerdp_api}.so
 %attr(755,root,root) %{_libdir}/libfreerdp-server%{freerdp_api}.so
+%attr(755,root,root) %{_libdir}/libfreerdp-server-proxy%{freerdp_api}.so
 %attr(755,root,root) %{_libdir}/libfreerdp-shadow%{freerdp_api}.so
 %attr(755,root,root) %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so
 %attr(755,root,root) %{_libdir}/libfreerdp%{freerdp_api}.so
+%attr(755,root,root) %{_libdir}/librdtk0.so
 %attr(755,root,root) %{_libdir}/libwinpr%{freerdp_api}.so
 %attr(755,root,root) %{_libdir}/libwinpr-tools%{freerdp_api}.so
-%{_includedir}/freerdp2
-%{_includedir}/winpr2
-%{_pkgconfigdir}/freerdp-client2.pc
-%{_pkgconfigdir}/freerdp-server2.pc
-%{_pkgconfigdir}/freerdp-shadow2.pc
-%{_pkgconfigdir}/freerdp2.pc
-%{_pkgconfigdir}/winpr-tools2.pc
-%{_pkgconfigdir}/winpr2.pc
-%{_libdir}/cmake/FreeRDP-Client2
-%{_libdir}/cmake/FreeRDP-Server2
-%{_libdir}/cmake/FreeRDP-Shadow2
-%{_libdir}/cmake/FreeRDP2
-%{_libdir}/cmake/WinPR2
+%{_includedir}/freerdp3
+%{_includedir}/rdtk0
+%{_includedir}/winpr3
+%{_pkgconfigdir}/freerdp-client3.pc
+%{_pkgconfigdir}/freerdp-server3.pc
+%{_pkgconfigdir}/freerdp-server-proxy3.pc
+%{_pkgconfigdir}/freerdp-shadow3.pc
+%{_pkgconfigdir}/freerdp3.pc
+%{_pkgconfigdir}/rdtk0.pc
+%{_pkgconfigdir}/winpr-tools3.pc
+%{_pkgconfigdir}/winpr3.pc
+%{_libdir}/cmake/FreeRDP-Client3
+%{_libdir}/cmake/FreeRDP-Proxy3
+%{_libdir}/cmake/FreeRDP-Server3
+%{_libdir}/cmake/FreeRDP-Shadow3
+%{_libdir}/cmake/FreeRDP3
+%{_libdir}/cmake/WinPR-tools3
+%{_libdir}/cmake/WinPR3
+%{_libdir}/cmake/rdtk0
 
 %files libuwac
 %defattr(644,root,root,755)
diff --git a/freerdp-opt.patch b/freerdp-opt.patch
index b2abe37..22ebd7e 100644
--- a/freerdp-opt.patch
+++ b/freerdp-opt.patch
@@ -1,6 +1,6 @@
---- FreeRDP-a132545545ef90534a64a08f5199741502de97e5/CMakeLists.txt.orig	2016-06-30 22:43:05.000000000 +0200
-+++ FreeRDP-a132545545ef90534a64a08f5199741502de97e5/CMakeLists.txt	2016-07-02 17:12:00.937002199 +0200
-@@ -174,21 +174,6 @@
+--- freerdp-3.5.1/CMakeLists.txt.orig	2024-04-22 11:18:39.000000000 +0200
++++ freerdp-3.5.1/CMakeLists.txt	2024-05-08 17:55:41.882600394 +0200
+@@ -204,15 +204,6 @@ endif(EXPORT_ALL_SYMBOLS)
  
  # Compiler-specific flags
  if(CMAKE_COMPILER_IS_GNUCC)
@@ -11,14 +11,8 @@
 -		else()
 -			set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
 -		endif()
--	else()
--		if(CMAKE_POSITION_INDEPENDENT_CODE)
--			if(${CMAKE_VERSION} VERSION_LESS 2.8.9)
--				set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
--			endif()
--		endif()
 -	endif()
 -
  	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
  
- 	CHECK_C_COMPILER_FLAG (-Wno-unused-result Wno-unused-result)
+ 	if(NOT EXPORT_ALL_SYMBOLS)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/freerdp3.git/commitdiff/613f2591d4cc0f43f405232677befbfcbbf9ac49



More information about the pld-cvs-commit mailing list