2 # - what is libpcsc-winpr? (-DWITH_PCSC_WINPR)
3 # - fix DirectFB client build (orphaned code)
7 %bcond_without alsa # ALSA sound support
8 %bcond_without cups # CUPS printing support
9 %bcond_with directfb # DirectFB client
10 %bcond_without ffmpeg # FFmpeg audio/video codecs support (covers H264, GSM, LAME, FAAC, FAAD2, SOXR)
11 %bcond_with faac # faac for AAC audio coding (if without ffmpeg)
12 %bcond_with faad # faad2 for AAC audio decoding (if without ffmpeg)
13 %bcond_with gsm # GSM audio codec (if without ffmpeg)
14 %bcond_without gstreamer # GStreamer sound support
15 # for now the kerberos5 support has to be disabled due to a bad state of its code.
16 # See: https://github.com/FreeRDP/FreeRDP/issues/4348
17 # See: https://github.com/FreeRDP/FreeRDP/issues/5746
18 %bcond_with kerberos5 # GSSAPI auth support
19 %bcond_with lame # LAME for MP3 audio codec (if without ffmpeg)
20 %bcond_without opencl # OpenCL support
21 %bcond_with openh264 # OpenH264 for H.264 codec (overrides ffmpeg for H264)
22 %bcond_without pcsc # SmartCard support via PCSC-lite library
23 %bcond_without pulseaudio # Pulseaudio sound support
24 %bcond_with soxr # soxr for audio resampling (if without ffmpeg)
25 %bcond_without systemd # systemd journal support
26 %bcond_without wayland # Wayland client
27 %bcond_without x11 # X11 client
28 %bcond_with x264 # X264 for H.264 codec (only if without ffmpeg and openh264)
29 %bcond_without sse2 # SSE2 and higher instructions (runtime detection with sse patch)
33 %ifnarch %{ix86} %{x8664} x32
36 Summary: Remote Desktop Protocol client
37 Summary(pl.UTF-8): Klient protokołu RDP
42 Group: Applications/Communications
43 Source0: https://pub.freerdp.com/releases/freerdp-%{version}.tar.gz
44 # Source0-md5: de432013575fbdd921339bf6ba473572
45 Patch0: freerdp-opt.patch
46 Patch1: freerdp-gsm.patch
47 Patch2: source_version.patch
48 URL: http://www.freerdp.com/
49 %{?with_directfb:BuildRequires: DirectFB-devel}
50 %{?with_opencl:BuildRequires: OpenCL-devel}
51 %{?with_alsa:BuildRequires: alsa-lib-devel}
52 %{!?with_ffmpeg:BuildRequires: cairo-devel}
53 BuildRequires: cmake >= 2.8
54 %{?with_cups:BuildRequires: cups-devel}
55 BuildRequires: desktop-file-utils
56 BuildRequires: docbook-style-xsl
57 %{?with_faac:BuildRequires: faac-devel}
58 %{?with_faad:BuildRequires: faad2-devel >= 2}
59 # libavcodec >= 57.48.101, libavresample, libavutil
60 %{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 3.1}
61 %{?with_gstreamer:BuildRequires: gstreamer-devel >= 1.0.5}
62 %{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel >= 1.0.5}
63 # MIT krb5 >= 1.13 also possible
64 %{?with_kerberos5:BuildRequires: heimdal-devel}
65 %{?with_lame:BuildRequires: lame-libs-devel}
66 %{?with_gsm:BuildRequires: libgsm-devel}
67 BuildRequires: libjpeg-devel
68 %{?with_x264:BuildRequires: libx264-devel}
69 %{?with_openh264:BuildRequires: openh264-devel}
70 # also mbedtls possible
71 BuildRequires: openssl-devel
72 %{?with_pcsc:BuildRequires: pcsc-lite-devel}
73 BuildRequires: pkgconfig
74 %{?with_pulseaudio:BuildRequires: pulseaudio-devel}
75 BuildRequires: rpmbuild(macros) >= 1.742
76 %{?with_soxr:BuildRequires: soxr-devel}
77 %{?with_systemd:BuildRequires: systemd-devel >= 1:209}
78 %{?with_wayland:BuildRequires: wayland-devel}
80 %{?with_wayland:BuildRequires: xorg-lib-libxkbcommon-devel}
82 BuildRequires: xorg-lib-libX11-devel
83 BuildRequires: xorg-lib-libXcursor-devel
84 BuildRequires: xorg-lib-libXdamage-devel
85 BuildRequires: xorg-lib-libXext-devel
86 BuildRequires: xorg-lib-libXfixes-devel
87 BuildRequires: xorg-lib-libXinerama-devel
88 BuildRequires: xorg-lib-libXrandr-devel
89 BuildRequires: xorg-lib-libXtst-devel
90 BuildRequires: xorg-lib-libXv-devel
91 BuildRequires: xorg-lib-libxkbfile-devel
93 BuildRequires: zlib-devel
94 Requires: %{name}-libs = %{version}-%{release}
95 Requires: hicolor-icon-theme
96 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
99 FreeRDP is Remote Desktop Protocol (RDP) client.
101 xfreerdp can connect to RDP servers such as Microsoft Windows
102 machines, xrdp and VirtualBox.
104 %description -l pl.UTF-8
105 xfreerdp to klient protokołu RDP (Remote Desktop Protocol) z projektu
108 xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
109 Microsoft Windows, xrdp oraz VirtualBox.
112 Summary: DirectFB based Remote Desktop Protocol klient
113 Summary(pl.UTF-8): Klient protokołu RDP oparty na DirectFB
114 Group: Applications/Communications
115 Requires: %{name} = %{version}-%{release}
116 Obsoletes: freerdp-dfb < 2
119 DirectFB based Remote Desktop Protocol klient.
121 dfreerdp can connect to RDP servers such as Microsoft Windows
122 machines, xrdp and VirtualBox.
124 %description dfb -l pl.UTF-8
125 Klient protokołu RDP oparty na DirectFB.
127 dfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
128 Microsoft Windows, xrdp oraz VirtualBox.
131 Summary: Wayland based Remote Desktop Protocol klient
132 Summary(pl.UTF-8): Klient protokołu RDP oparty na Wayland
133 Group: Applications/Communications
134 Requires: %{name} = %{version}-%{release}
137 Wayland based Remote Desktop Protocol klient.
139 wlfreerdp can connect to RDP servers such as Microsoft Windows
140 machines, xrdp and VirtualBox.
142 %description wayland -l pl.UTF-8
143 Klient protokołu RDP oparty na Wayland.
145 wlfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
146 Microsoft Windows, xrdp oraz VirtualBox.
149 Summary: X11 based Remote Desktop Protocol klient
150 Summary(pl.UTF-8): Klient protokołu RDP oparty na X11
151 Group: Applications/Communications
152 Requires: %{name} = %{version}-%{release}
153 Provides: xfreerdp = %{version}-%{release}
154 Obsoletes: freerdp < 2
157 X11 based Remote Desktop Protocol klient.
159 xfreerdp can connect to RDP servers such as Microsoft Windows
160 machines, xrdp and VirtualBox.
162 %description x11 -l pl.UTF-8
163 Klient protokołu RDP oparty na X11.
165 xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
166 Microsoft Windows, xrdp oraz VirtualBox.
169 Summary: Core libraries implementing the RDP protocol
170 Summary(pl.UTF-8): Główne biblioteki implementujące protokół RDP
174 Core libraries implementing the RDP protocol.
176 %description libs -l pl.UTF-8
177 Główne biblioteki implementujące protokół RDP.
180 Summary: Development files for FreeRDP 2 libraries
181 Summary(pl.UTF-8): Pliki programistyczne bibliotek FreeRDP 2
182 Group: Development/Libraries
183 Requires: %{name}-libs = %{version}-%{release}
186 This package contains the header files for developing applications
187 that use FreeRDP 2 libraries.
189 %description devel -l pl.UTF-8
190 Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
191 wykorzystujących biblioteki FreeRDP 2.
194 %setup -q -n freerdp-%{version}
199 cat << EOF > xfreerdp.desktop
204 Comment=Connect to RDP server and display remote desktop
205 Comment[pl]=Połączenie z serwerem RDP i wyświetlanie zdalnego pulpitu
207 Exec=%{_bindir}/xfreerdp
209 Categories=Network;RemoteAccess;
216 -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
217 %{cmake_on_off alsa WITH_ALSA} \
218 %{!?with_ffmpeg:-DWITH_CAIRO=ON} \
220 %{cmake_on_off cups WITH_CUPS} \
221 -DWITH_DEBUG_LICENSE=ON \
222 %{cmake_on_off directfb WITH_DIRECTFB} \
223 %{cmake_on_off ffmpeg WITH_DSP_FFMPEG} \
224 %{cmake_on_off faac WITH_FAAC} \
225 %{cmake_on_off faad WITH_FAAD2} \
226 %{cmake_on_off ffmpeg WITH_FFMPEG} \
227 %{cmake_on_off gsm WITH_GSM} \
228 %{cmake_on_off gstreamer WITH_GSTREAMER_1_0} \
229 %{cmake_on_off kerberos5 WITH_GSSAPI} \
231 %{cmake_on_off systemd WITH_LIBSYSTEMD} \
232 %{cmake_on_off opencl WITH_OPENCL} \
233 %{cmake_on_off openh264 WITH_OPENH264} \
235 %{cmake_on_off pcsc WITH_PCSC} \
236 %{cmake_on_off pulseaudio WITH_PULSE} \
238 %{cmake_on_off soxr WITH_SOXR} \
239 %{cmake_on_off sse2 WITH_SSE2} \
240 %{cmake_on_off ffmpeg WITH_SWSCALE} \
241 %{cmake_on_off wayland WITH_WAYLAND} \
242 %{cmake_on_off x11 WITH_X11} \
243 %{cmake_on_off x264 WITH_X264} \
253 rm -rf $RPM_BUILD_ROOT
255 %{__make} -C build install \
256 INSTALL="install -p" \
257 DESTDIR=$RPM_BUILD_ROOT
259 desktop-file-install --dir=$RPM_BUILD_ROOT%{_desktopdir} xfreerdp.desktop
260 install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
263 rm -rf $RPM_BUILD_ROOT
266 %update_icon_cache hicolor
269 %update_icon_cache hicolor
271 %post libs -p /sbin/ldconfig
272 %postun libs -p /sbin/ldconfig
275 %defattr(644,root,root,755)
276 %attr(755,root,root) %{_bindir}/freerdp-proxy
277 %attr(755,root,root) %{_bindir}/freerdp-shadow-cli
278 %attr(755,root,root) %{_bindir}/winpr-hash
279 %attr(755,root,root) %{_bindir}/winpr-makecert
280 %{_iconsdir}/hicolor/256x256/apps/freerdp2.png
281 %{_mandir}/man1/freerdp-shadow-cli.1*
282 %{_mandir}/man1/winpr-hash.1*
283 %{_mandir}/man1/winpr-makecert.1*
284 %{_mandir}/man7/wlog.7*
288 %defattr(644,root,root,755)
289 %doc doc/README.directfb
290 %attr(755,root,root) %{_bindir}/dfreerdp
295 %defattr(644,root,root,755)
296 %attr(755,root,root) %{_bindir}/wlfreerdp
297 %{_mandir}/man1/wlfreerdp.1*
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_bindir}/xfreerdp
304 %{_desktopdir}/xfreerdp.desktop
305 %{_mandir}/man1/xfreerdp.1*
309 %defattr(644,root,root,755)
310 %doc ChangeLog README.md
311 %attr(755,root,root) %{_libdir}/libfreerdp-client%{freerdp_api}.so.*.*.*
312 %attr(755,root,root) %ghost %{_libdir}/libfreerdp-client%{freerdp_api}.so.2
313 %attr(755,root,root) %{_libdir}/libfreerdp-server%{freerdp_api}.so.*.*.*
314 %attr(755,root,root) %ghost %{_libdir}/libfreerdp-server%{freerdp_api}.so.2
315 %attr(755,root,root) %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.*.*.*
316 %attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.2
317 %attr(755,root,root) %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.*.*.*
318 %attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.2
319 %attr(755,root,root) %{_libdir}/libfreerdp%{freerdp_api}.so.*.*.*
320 %attr(755,root,root) %ghost %{_libdir}/libfreerdp%{freerdp_api}.so.2
321 %attr(755,root,root) %{_libdir}/libuwac0.so.*.*.*
322 %attr(755,root,root) %ghost %{_libdir}/libuwac0.so.0
323 %attr(755,root,root) %{_libdir}/libwinpr%{freerdp_api}.so.*.*.*
324 %attr(755,root,root) %ghost %{_libdir}/libwinpr%{freerdp_api}.so.2
325 %attr(755,root,root) %{_libdir}/libwinpr-tools%{freerdp_api}.so.*.*.*
326 %attr(755,root,root) %ghost %{_libdir}/libwinpr-tools%{freerdp_api}.so.2
329 %defattr(644,root,root,755)
330 %attr(755,root,root) %{_libdir}/libfreerdp-client%{freerdp_api}.so
331 %attr(755,root,root) %{_libdir}/libfreerdp-server%{freerdp_api}.so
332 %attr(755,root,root) %{_libdir}/libfreerdp-shadow%{freerdp_api}.so
333 %attr(755,root,root) %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so
334 %attr(755,root,root) %{_libdir}/libfreerdp%{freerdp_api}.so
335 %attr(755,root,root) %{_libdir}/libuwac0.so
336 %attr(755,root,root) %{_libdir}/libwinpr%{freerdp_api}.so
337 %attr(755,root,root) %{_libdir}/libwinpr-tools%{freerdp_api}.so
338 %{_includedir}/freerdp2
340 %{_includedir}/winpr2
341 %{_pkgconfigdir}/freerdp-client2.pc
342 %{_pkgconfigdir}/freerdp-server2.pc
343 %{_pkgconfigdir}/freerdp-shadow2.pc
344 %{_pkgconfigdir}/freerdp2.pc
345 %{_pkgconfigdir}/uwac0.pc
346 %{_pkgconfigdir}/winpr-tools2.pc
347 %{_pkgconfigdir}/winpr2.pc
348 %{_libdir}/cmake/FreeRDP-Client2
349 %{_libdir}/cmake/FreeRDP-Server2
350 %{_libdir}/cmake/FreeRDP-Shadow2
351 %{_libdir}/cmake/FreeRDP2
352 %{_libdir}/cmake/WinPR2
353 %{_libdir}/cmake/uwac0