diff --git a/freerdp-2.10.0-ffmpeg-6.0.patch b/freerdp-2.10.0-ffmpeg-6.0.patch new file mode 100644 index 0000000..a4324da --- /dev/null +++ b/freerdp-2.10.0-ffmpeg-6.0.patch @@ -0,0 +1,42 @@ +From aa2cb9aa5ff5562433598ba168a466e0752bca0e Mon Sep 17 00:00:00 2001 +From: akallabeth +Date: Tue, 14 Feb 2023 07:48:54 +0100 +Subject: [PATCH] Fixed #8686: Update h264 to use new FFMPEG API + +--- + channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c | 2 ++ + libfreerdp/codec/h264_ffmpeg.c | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c +index 339462d865f..beea80b7a1e 100644 +--- a/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c ++++ b/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c +@@ -239,8 +239,10 @@ static BOOL tsmf_ffmpeg_init_stream(ITSMFDecoder* decoder, const TS_AM_MEDIA_TYP + } + } + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59, 18, 100) + if (mdecoder->codec->capabilities & AV_CODEC_CAP_TRUNCATED) + mdecoder->codec_context->flags |= AV_CODEC_FLAG_TRUNCATED; ++#endif + + return TRUE; + } +diff --git a/libfreerdp/codec/h264_ffmpeg.c b/libfreerdp/codec/h264_ffmpeg.c +index 8a23db2473c..896a333019b 100644 +--- a/libfreerdp/codec/h264_ffmpeg.c ++++ b/libfreerdp/codec/h264_ffmpeg.c +@@ -615,10 +615,12 @@ static BOOL libavcodec_init(H264_CONTEXT* h264) + goto EXCEPTION; + } + ++#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(59, 18, 100) + if (sys->codecDecoder->capabilities & AV_CODEC_CAP_TRUNCATED) + { + sys->codecDecoderContext->flags |= AV_CODEC_FLAG_TRUNCATED; + } ++#endif + + #ifdef WITH_VAAPI + diff --git a/freerdp.spec b/freerdp.spec index b7a0000..e0747b2 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -1,37 +1,41 @@ Name: freerdp Version: 2.10.0 -Release: 1mamba +Release: 3mamba Summary: A Remote Desktop Protocol Implementation Group: Applications/Networking Vendor: openmamba Distribution: openmamba -Packager: Davide Madrisan +Packager: Silvan Calarco URL: https://www.freerdp.com/ -Source0: https://github.com/FreeRDP/FreeRDP.git/master/FreeRDP-%{version}.tar.bz2 +Source0: https://github.com/FreeRDP/FreeRDP.git/%{version}/FreeRDP-%{version}.tar.bz2 Patch0: %{name}-1.0.1-fix_not_linked_with_libpulse.patch Patch1: freerdp-1.0.2-ffmpeg-2.3.3.patch +Patch2: freerdp-2.10.0-ffmpeg-6.0.patch License: Apache License 2.0 ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel -BuildRequires: libSDL2-devel BuildRequires: libX11-devel BuildRequires: libXcursor-devel +BuildRequires: libXdamage-devel BuildRequires: libXext-devel BuildRequires: libXfixes-devel BuildRequires: libXi-devel BuildRequires: libXinerama-devel BuildRequires: libXrandr-devel BuildRequires: libXrender-devel +BuildRequires: libXtst-devel BuildRequires: libXv-devel BuildRequires: libalsa-devel BuildRequires: libavcodec-ffmpeg-devel BuildRequires: libavutil-ffmpeg-devel BuildRequires: libcups-devel -BuildRequires: libfuse3-devel BuildRequires: libicu-devel +BuildRequires: libjpeg-devel BuildRequires: libopenssl-devel +BuildRequires: libpam-devel BuildRequires: libpulseaudio-devel BuildRequires: libswresample-ffmpeg-devel +BuildRequires: libswscale-ffmpeg-devel BuildRequires: libsystemd-devel BuildRequires: libusb-devel BuildRequires: libwayland-devel @@ -42,7 +46,7 @@ BuildRequires: cmake BuildRequires: xmlto BuildRequires: libxml2-utils BuildRequires: docbook-utils -#Requires: %{name}-plugins = %{?epoch:%epoch:}%{version}-%{release} +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} %description FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), according to the Microsoft Open Specifications. @@ -79,25 +83,37 @@ For instance, sounds, clipboard sync, disk/printer redirection, etc. %prep %setup -q -n FreeRDP-%{version} +#-D -T +#:<< _EOF #%patch0 -p1 #%patch1 -p1 +%patch 2 -p1 -b .ffmpeg-6.0 %build +#:<< _EOF %cmake -d build \ -DCMAKE_BUILD_TYPE=Release \ - -DWITH_CUPS:BOOL=ON \ - -DWITH_PCSC:BOOL=ON \ - -DWITH_PULSEAUDIO:BOOL=ON \ - -DWITH_X11:BOOL=ON \ - -DWITH_XCURSOR:BOOL=ON \ - -DWITH_XEXT:BOOL=ON \ - -DWITH_XINERAMA:BOOL=ON \ - -DWITH_XKBFILE:BOOL=ON \ - -DWITH_XV:BOOL=ON \ - -DWITH_ALSA:BOOL=ON \ - -DWITH_CUNIT:BOOL=OFF \ - -DWITH_DIRECTFB:BOOL=ON \ - -DWITH_FFMPEG:BOOL=ON \ + -DWITH_ALSA=ON \ + -DWITH_CUPS=ON \ + -DWITH_PULSEAUDIO=ON \ + -DWITH_PCSC=ON \ + -DWITH_X11=ON \ + -DWITH_XCURSOR=ON \ + -DWITH_XEXT=ON \ + -DWITH_XINERAMA=ON \ + -DWITH_XKBFILE=ON \ + -DWITH_XVL=ON \ + -DWITH_DIRECTFB=ON \ + -DWITH_DSP_FFMPEG=ON \ + -DWITH_FFMPEG=ON \ + -DWITH_ICU=ON \ + -DWITH_JPEG=ON \ + -DWITH_SERVER=ON \ + -DWITH_SWSCALE=ON \ + -DWITH_CHANNELS=ON \ + -DWITH_CLIENT_CHANNELS=ON \ + -DWITH_SERVER_CHANNELS=ON \ + -DCHANNEL_URBDRC_CLIENT=ON \ %ifarch %{ix86} -DWITH_SSE2=OFF \ %endif @@ -106,6 +122,8 @@ For instance, sounds, clipboard sync, disk/printer redirection, etc. %endif -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} +# -DWITH_CUNIT=OFF \ + %make %install @@ -120,11 +138,13 @@ For instance, sounds, clipboard sync, disk/printer redirection, etc. %files %defattr(-,root,root) -%{_bindir}/sdl-freerdp +%{_bindir}/freerdp-proxy +%{_bindir}/freerdp-shadow-cli %{_bindir}/xfreerdp %{_bindir}/winpr-hash %{_bindir}/winpr-makecert %{_bindir}/wlfreerdp +%{_mandir}/man1/freerdp-shadow-cli.1* %{_mandir}/man1/xfreerdp.* %{_mandir}/man1/winpr-hash.1* %{_mandir}/man1/winpr-makecert.1* @@ -133,45 +153,63 @@ For instance, sounds, clipboard sync, disk/printer redirection, etc. %files -n lib%{name} %defattr(-,root,root) -%{_libdir}/libfreerdp-client3.so.* -%{_libdir}/libfreerdp3.so.* +%{_libdir}/libfreerdp-client2.so.* +%{_libdir}/libfreerdp2.so.* +%{_libdir}/libfreerdp-server2.so.* +%{_libdir}/libfreerdp-shadow-subsystem2.so.* +%{_libdir}/libfreerdp-shadow2.so.* %{_libdir}/libuwac0.so.* -%{_libdir}/libwinpr-tools3.so.* -%{_libdir}/libwinpr3.so.* +%{_libdir}/libwinpr-tools2.so.* +%{_libdir}/libwinpr2.so.* %doc LICENSE %files -n lib%{name}-devel %defattr(-,root,root) -%dir %{_includedir}/freerdp3 -%{_includedir}/freerdp3/* +%dir %{_includedir}/freerdp2 +%{_includedir}/freerdp2/* %dir %{_includedir}/uwac0/uwac %{_includedir}/uwac0/uwac/* -%dir %{_includedir}/winpr3/winpr -%{_includedir}/winpr3/winpr/* -%{_libdir}/libfreerdp-client3.so -%{_libdir}/libfreerdp3.so +%dir %{_includedir}/winpr2/winpr +%{_includedir}/winpr2/winpr/* +%{_libdir}/libfreerdp-client2.so +%{_libdir}/libfreerdp2.so %{_libdir}/libuwac0.so -%{_libdir}/libwinpr-tools3.so -%{_libdir}/libwinpr3.so -%dir %{_libdir}/cmake/FreeRDP-Client3 -%{_libdir}/cmake/FreeRDP-Client3/FreeRDP-Client*.cmake -%dir %{_libdir}/cmake/FreeRDP3 -%{_libdir}/cmake/FreeRDP3/FreeRDP*.cmake -%dir %{_libdir}/cmake/WinPR3 -%{_libdir}/cmake/WinPR3/WinPR*.cmake +%{_libdir}/libwinpr-tools2.so +%{_libdir}/libwinpr2.so +%{_libdir}/libfreerdp-server2.so +%{_libdir}/libfreerdp-shadow-subsystem2.so +%{_libdir}/libfreerdp-shadow2.so +%dir %{_libdir}/cmake/FreeRDP-Client2 +%{_libdir}/cmake/FreeRDP-Client2/FreeRDP-Client*.cmake +%dir %{_libdir}/cmake/FreeRDP2 +%{_libdir}/cmake/FreeRDP2/FreeRDP*.cmake +%dir %{_libdir}/cmake/WinPR2 +%{_libdir}/cmake/WinPR2/WinPR*.cmake %dir %{_libdir}/cmake/uwac0 %{_libdir}/cmake/uwac0/uwac*.cmake -%{_libdir}/pkgconfig/freerdp-client3.pc +%dir %{_libdir}/cmake/FreeRDP-Server2 +%{_libdir}/cmake/FreeRDP-Server2/FreeRDP*.cmake +%dir %{_libdir}/cmake/FreeRDP-Shadow2 +%{_libdir}/cmake/FreeRDP-Shadow2/FreeRDP*.cmake +%{_libdir}/pkgconfig/freerdp-client2.pc +%{_libdir}/pkgconfig/freerdp-server2.pc +%{_libdir}/pkgconfig/freerdp-shadow2.pc %{_libdir}/pkgconfig/uwac0.pc -%{_libdir}/pkgconfig/winpr-tools3.pc -%{_libdir}/pkgconfig/winpr3.pc -%{_libdir}/pkgconfig/freerdp3.pc +%{_libdir}/pkgconfig/winpr-tools2.pc +%{_libdir}/pkgconfig/winpr2.pc +%{_libdir}/pkgconfig/freerdp2.pc #%files plugins #%defattr(-,root,root) ##%{_libdir}/freerdp/*.so %changelog +* Sun May 21 2023 Silvan Calarco 2.10.0-3mamba +- fix incorrectly cloning from master instead of using release tag + +* Sun May 21 2023 Silvan Calarco 2.10.0-2mamba +- rebuilt with server and other new cmake options to enable support for more functionalities + * Sat Feb 18 2023 Automatic Build System 2.10.0-1mamba - automatic version update by autodist