]>
Commit | Line | Data |
---|---|---|
e2f5e569 | 1 | # TODO: |
8d102fea JB |
2 | # - what is libpcsc-winpr? (-DWITH_PCSC_WINPR) |
3 | # - fix DirectFB client build (orphaned code) | |
3f47f72e | 4 | # - WITH_IPP? |
dd410870 | 5 | # |
acdabdb6 JB |
6 | # Conditional build: |
7 | %bcond_without alsa # ALSA sound support | |
8 | %bcond_without cups # CUPS printing support | |
e2f5e569 | 9 | %bcond_with directfb # DirectFB client |
3f47f72e JB |
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) | |
8d102fea | 14 | %bcond_without gstreamer # GStreamer sound support |
cccedb6c JB |
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 | |
3f47f72e JB |
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) | |
acdabdb6 JB |
22 | %bcond_without pcsc # SmartCard support via PCSC-lite library |
23 | %bcond_without pulseaudio # Pulseaudio sound support | |
3f47f72e | 24 | %bcond_with soxr # soxr for audio resampling (if without ffmpeg) |
8d102fea | 25 | %bcond_without systemd # systemd journal support |
e2f5e569 | 26 | %bcond_without wayland # Wayland client |
acdabdb6 | 27 | %bcond_without x11 # X11 client |
3f47f72e | 28 | %bcond_with x264 # X264 for H.264 codec (only if without ffmpeg and openh264) |
d231618e | 29 | %bcond_without sse2 # SSE2 and higher instructions (runtime detection with sse patch) |
dd410870 | 30 | |
6aef7f8d AM |
31 | %define freerdp_api 2 |
32 | ||
d231618e JB |
33 | %ifnarch %{ix86} %{x8664} x32 |
34 | %undefine with_sse2 | |
acdabdb6 | 35 | %endif |
e07ea24b | 36 | Summary: Remote Desktop Protocol client |
acdabdb6 | 37 | Summary(pl.UTF-8): Klient protokołu RDP |
b1788d3e | 38 | Name: freerdp2 |
4f71d3e2 | 39 | Version: 2.5.0 |
12f07fad | 40 | Release: 1 |
acdabdb6 | 41 | License: Apache v2.0 |
e07ea24b | 42 | Group: Applications/Communications |
f9066b2e | 43 | Source0: https://pub.freerdp.com/releases/freerdp-%{version}.tar.gz |
4f71d3e2 | 44 | # Source0-md5: eec57a052eaaee74d3467cc74710283e |
d3f0825a AG |
45 | Patch0: freerdp-opt.patch |
46 | Patch1: freerdp-gsm.patch | |
f7c5a180 | 47 | Patch2: docbook-xsl.patch |
713bfa5f | 48 | Patch3: ffmpeg5.patch |
e07ea24b | 49 | URL: http://www.freerdp.com/ |
acdabdb6 | 50 | %{?with_directfb:BuildRequires: DirectFB-devel} |
3f47f72e | 51 | %{?with_opencl:BuildRequires: OpenCL-devel} |
acdabdb6 | 52 | %{?with_alsa:BuildRequires: alsa-lib-devel} |
cccedb6c | 53 | %{!?with_ffmpeg:BuildRequires: cairo-devel} |
8d102fea | 54 | BuildRequires: cmake >= 2.8 |
acdabdb6 | 55 | %{?with_cups:BuildRequires: cups-devel} |
e07ea24b | 56 | BuildRequires: desktop-file-utils |
f7c5a180 | 57 | BuildRequires: docbook-style-xsl-nons |
3f47f72e JB |
58 | %{?with_faac:BuildRequires: faac-devel} |
59 | %{?with_faad:BuildRequires: faad2-devel >= 2} | |
c7f505fc JB |
60 | # libavcodec >= 57.48.101, libavresample, libavutil |
61 | %{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 3.1} | |
8d102fea JB |
62 | %{?with_gstreamer:BuildRequires: gstreamer-devel >= 1.0.5} |
63 | %{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel >= 1.0.5} | |
7809f0d2 JB |
64 | # MIT krb5 >= 1.13 also possible |
65 | %{?with_kerberos5:BuildRequires: heimdal-devel} | |
3f47f72e | 66 | %{?with_lame:BuildRequires: lame-libs-devel} |
8d102fea JB |
67 | %{?with_gsm:BuildRequires: libgsm-devel} |
68 | BuildRequires: libjpeg-devel | |
69 | %{?with_x264:BuildRequires: libx264-devel} | |
70 | %{?with_openh264:BuildRequires: openh264-devel} | |
3f47f72e | 71 | # also mbedtls possible |
e07ea24b | 72 | BuildRequires: openssl-devel |
dd410870 | 73 | %{?with_pcsc:BuildRequires: pcsc-lite-devel} |
acdabdb6 JB |
74 | BuildRequires: pkgconfig |
75 | %{?with_pulseaudio:BuildRequires: pulseaudio-devel} | |
57e67cef | 76 | BuildRequires: rpmbuild(macros) >= 1.742 |
3f47f72e | 77 | %{?with_soxr:BuildRequires: soxr-devel} |
8d102fea | 78 | %{?with_systemd:BuildRequires: systemd-devel >= 1:209} |
e2f5e569 | 79 | %{?with_wayland:BuildRequires: wayland-devel} |
e07ea24b | 80 | BuildRequires: xmlto |
cccedb6c | 81 | %{?with_wayland:BuildRequires: xorg-lib-libxkbcommon-devel} |
8d102fea | 82 | %if %{with x11} |
e07ea24b | 83 | BuildRequires: xorg-lib-libX11-devel |
e5316440 ER |
84 | BuildRequires: xorg-lib-libXcursor-devel |
85 | BuildRequires: xorg-lib-libXdamage-devel | |
e07ea24b | 86 | BuildRequires: xorg-lib-libXext-devel |
acdabdb6 | 87 | BuildRequires: xorg-lib-libXfixes-devel |
e07ea24b | 88 | BuildRequires: xorg-lib-libXinerama-devel |
cccedb6c | 89 | BuildRequires: xorg-lib-libXrandr-devel |
acdabdb6 | 90 | BuildRequires: xorg-lib-libXtst-devel |
7d17d2a0 | 91 | BuildRequires: xorg-lib-libXv-devel |
cccedb6c | 92 | BuildRequires: xorg-lib-libxkbfile-devel |
e2f5e569 | 93 | %endif |
acdabdb6 | 94 | BuildRequires: zlib-devel |
e5316440 | 95 | Requires: %{name}-libs = %{version}-%{release} |
acdabdb6 | 96 | Requires: hicolor-icon-theme |
e5316440 | 97 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
e07ea24b AM |
98 | |
99 | %description | |
8d102fea | 100 | FreeRDP is Remote Desktop Protocol (RDP) client. |
e07ea24b AM |
101 | |
102 | xfreerdp can connect to RDP servers such as Microsoft Windows | |
103 | machines, xrdp and VirtualBox. | |
104 | ||
acdabdb6 JB |
105 | %description -l pl.UTF-8 |
106 | xfreerdp to klient protokołu RDP (Remote Desktop Protocol) z projektu | |
107 | FreeRDP. | |
108 | ||
109 | xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z | |
110 | Microsoft Windows, xrdp oraz VirtualBox. | |
111 | ||
112 | %package dfb | |
113 | Summary: DirectFB based Remote Desktop Protocol klient | |
114 | Summary(pl.UTF-8): Klient protokołu RDP oparty na DirectFB | |
115 | Group: Applications/Communications | |
8d102fea JB |
116 | Requires: %{name} = %{version}-%{release} |
117 | Obsoletes: freerdp-dfb < 2 | |
acdabdb6 JB |
118 | |
119 | %description dfb | |
120 | DirectFB based Remote Desktop Protocol klient. | |
121 | ||
122 | dfreerdp can connect to RDP servers such as Microsoft Windows | |
123 | machines, xrdp and VirtualBox. | |
124 | ||
8d102fea | 125 | %description dfb -l pl.UTF-8 |
acdabdb6 JB |
126 | Klient protokołu RDP oparty na DirectFB. |
127 | ||
128 | dfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z | |
129 | Microsoft Windows, xrdp oraz VirtualBox. | |
130 | ||
8d102fea JB |
131 | %package wayland |
132 | Summary: Wayland based Remote Desktop Protocol klient | |
133 | Summary(pl.UTF-8): Klient protokołu RDP oparty na Wayland | |
134 | Group: Applications/Communications | |
135 | Requires: %{name} = %{version}-%{release} | |
136 | ||
137 | %description wayland | |
138 | Wayland based Remote Desktop Protocol klient. | |
139 | ||
140 | wlfreerdp can connect to RDP servers such as Microsoft Windows | |
141 | machines, xrdp and VirtualBox. | |
142 | ||
143 | %description wayland -l pl.UTF-8 | |
144 | Klient protokołu RDP oparty na Wayland. | |
145 | ||
146 | wlfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z | |
147 | Microsoft Windows, xrdp oraz VirtualBox. | |
148 | ||
149 | %package x11 | |
150 | Summary: X11 based Remote Desktop Protocol klient | |
151 | Summary(pl.UTF-8): Klient protokołu RDP oparty na X11 | |
152 | Group: Applications/Communications | |
153 | Requires: %{name} = %{version}-%{release} | |
154 | Provides: xfreerdp = %{version}-%{release} | |
155 | Obsoletes: freerdp < 2 | |
156 | ||
157 | %description x11 | |
158 | X11 based Remote Desktop Protocol klient. | |
159 | ||
160 | xfreerdp can connect to RDP servers such as Microsoft Windows | |
161 | machines, xrdp and VirtualBox. | |
162 | ||
163 | %description x11 -l pl.UTF-8 | |
164 | Klient protokołu RDP oparty na X11. | |
165 | ||
166 | xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z | |
167 | Microsoft Windows, xrdp oraz VirtualBox. | |
168 | ||
dd410870 | 169 | %package libs |
e5316440 | 170 | Summary: Core libraries implementing the RDP protocol |
acdabdb6 JB |
171 | Summary(pl.UTF-8): Główne biblioteki implementujące protokół RDP |
172 | Group: Libraries | |
e5316440 | 173 | |
acdabdb6 | 174 | %description libs |
8d102fea | 175 | Core libraries implementing the RDP protocol. |
e07ea24b | 176 | |
acdabdb6 | 177 | %description libs -l pl.UTF-8 |
8d102fea | 178 | Główne biblioteki implementujące protokół RDP. |
acdabdb6 JB |
179 | |
180 | %package devel | |
8d102fea JB |
181 | Summary: Development files for FreeRDP 2 libraries |
182 | Summary(pl.UTF-8): Pliki programistyczne bibliotek FreeRDP 2 | |
acdabdb6 JB |
183 | Group: Development/Libraries |
184 | Requires: %{name}-libs = %{version}-%{release} | |
185 | ||
186 | %description devel | |
187 | This package contains the header files for developing applications | |
8d102fea | 188 | that use FreeRDP 2 libraries. |
acdabdb6 JB |
189 | |
190 | %description devel -l pl.UTF-8 | |
191 | Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji | |
8d102fea | 192 | wykorzystujących biblioteki FreeRDP 2. |
acdabdb6 | 193 | |
e07ea24b | 194 | %prep |
f9066b2e | 195 | %setup -q -n freerdp-%{version} |
acdabdb6 | 196 | %patch0 -p1 |
8d102fea | 197 | %patch1 -p1 |
f7c5a180 | 198 | %patch2 -p1 |
713bfa5f | 199 | %patch3 -p1 |
e07ea24b AM |
200 | |
201 | cat << EOF > xfreerdp.desktop | |
202 | [Desktop Entry] | |
203 | Type=Application | |
204 | Name=X FreeRDP | |
205 | NoDisplay=true | |
206 | Comment=Connect to RDP server and display remote desktop | |
acdabdb6 | 207 | Comment[pl]=Połączenie z serwerem RDP i wyświetlanie zdalnego pulpitu |
e07ea24b AM |
208 | Icon=%{name} |
209 | Exec=%{_bindir}/xfreerdp | |
210 | Terminal=false | |
211 | Categories=Network;RemoteAccess; | |
212 | EOF | |
213 | ||
e07ea24b | 214 | %build |
e5316440 ER |
215 | install -d build |
216 | cd build | |
acdabdb6 JB |
217 | %cmake .. \ |
218 | -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ | |
8bd931f3 | 219 | %{cmake_on_off alsa WITH_ALSA} \ |
cccedb6c | 220 | %{!?with_ffmpeg:-DWITH_CAIRO=ON} \ |
acdabdb6 | 221 | -DWITH_CUNIT=OFF \ |
8bd931f3 | 222 | %{cmake_on_off cups WITH_CUPS} \ |
d2cddd3f | 223 | -DWITH_DEBUG_LICENSE=ON \ |
8bd931f3 | 224 | %{cmake_on_off directfb WITH_DIRECTFB} \ |
3f47f72e JB |
225 | %{cmake_on_off ffmpeg WITH_DSP_FFMPEG} \ |
226 | %{cmake_on_off faac WITH_FAAC} \ | |
227 | %{cmake_on_off faad WITH_FAAD2} \ | |
8bd931f3 JB |
228 | %{cmake_on_off ffmpeg WITH_FFMPEG} \ |
229 | %{cmake_on_off gsm WITH_GSM} \ | |
230 | %{cmake_on_off gstreamer WITH_GSTREAMER_1_0} \ | |
231 | %{cmake_on_off kerberos5 WITH_GSSAPI} \ | |
6aef7f8d | 232 | -DWITH_JPEG=ON \ |
8bd931f3 | 233 | %{cmake_on_off systemd WITH_LIBSYSTEMD} \ |
3f47f72e | 234 | %{cmake_on_off opencl WITH_OPENCL} \ |
8bd931f3 | 235 | %{cmake_on_off openh264 WITH_OPENH264} \ |
8d102fea | 236 | -DWITH_OSS=ON \ |
8bd931f3 JB |
237 | %{cmake_on_off pcsc WITH_PCSC} \ |
238 | %{cmake_on_off pulseaudio WITH_PULSE} \ | |
acdabdb6 | 239 | -DWITH_SERVER=ON \ |
3f47f72e | 240 | %{cmake_on_off soxr WITH_SOXR} \ |
8bd931f3 | 241 | %{cmake_on_off sse2 WITH_SSE2} \ |
cccedb6c | 242 | %{cmake_on_off ffmpeg WITH_SWSCALE} \ |
8bd931f3 JB |
243 | %{cmake_on_off wayland WITH_WAYLAND} \ |
244 | %{cmake_on_off x11 WITH_X11} \ | |
245 | %{cmake_on_off x264 WITH_X264} \ | |
e5316440 ER |
246 | -DWITH_XCURSOR=ON \ |
247 | -DWITH_XEXT=ON \ | |
248 | -DWITH_XINERAMA=ON \ | |
249 | -DWITH_XKBFILE=ON \ | |
acdabdb6 | 250 | -DWITH_XV=ON |
e5316440 ER |
251 | |
252 | %{__make} | |
e07ea24b AM |
253 | |
254 | %install | |
255 | rm -rf $RPM_BUILD_ROOT | |
8d102fea | 256 | |
dd410870 | 257 | %{__make} -C build install \ |
e5316440 ER |
258 | INSTALL="install -p" \ |
259 | DESTDIR=$RPM_BUILD_ROOT | |
e07ea24b | 260 | |
e07ea24b | 261 | desktop-file-install --dir=$RPM_BUILD_ROOT%{_desktopdir} xfreerdp.desktop |
8d102fea | 262 | install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png |
e07ea24b | 263 | |
e07ea24b AM |
264 | %clean |
265 | rm -rf $RPM_BUILD_ROOT | |
266 | ||
e07ea24b | 267 | %post |
acdabdb6 JB |
268 | %update_icon_cache hicolor |
269 | ||
270 | %postun | |
271 | %update_icon_cache hicolor | |
e07ea24b | 272 | |
e5316440 ER |
273 | %post libs -p /sbin/ldconfig |
274 | %postun libs -p /sbin/ldconfig | |
e07ea24b AM |
275 | |
276 | %files | |
277 | %defattr(644,root,root,755) | |
cccedb6c | 278 | %attr(755,root,root) %{_bindir}/freerdp-proxy |
e2f5e569 | 279 | %attr(755,root,root) %{_bindir}/freerdp-shadow-cli |
e2f5e569 AO |
280 | %attr(755,root,root) %{_bindir}/winpr-hash |
281 | %attr(755,root,root) %{_bindir}/winpr-makecert | |
b1788d3e | 282 | %{_iconsdir}/hicolor/256x256/apps/freerdp2.png |
6aef7f8d AM |
283 | %{_mandir}/man1/freerdp-shadow-cli.1* |
284 | %{_mandir}/man1/winpr-hash.1* | |
285 | %{_mandir}/man1/winpr-makecert.1* | |
a6cea45d | 286 | %{_mandir}/man7/wlog.7* |
acdabdb6 | 287 | |
e2f5e569 | 288 | %if %{with directfb} |
acdabdb6 JB |
289 | %files dfb |
290 | %defattr(644,root,root,755) | |
8d102fea | 291 | %doc doc/README.directfb |
acdabdb6 | 292 | %attr(755,root,root) %{_bindir}/dfreerdp |
e2f5e569 | 293 | %endif |
e07ea24b | 294 | |
8d102fea JB |
295 | %if %{with wayland} |
296 | %files wayland | |
297 | %defattr(644,root,root,755) | |
298 | %attr(755,root,root) %{_bindir}/wlfreerdp | |
6aef7f8d | 299 | %{_mandir}/man1/wlfreerdp.1* |
8d102fea JB |
300 | %endif |
301 | ||
302 | %if %{with x11} | |
303 | %files x11 | |
304 | %defattr(644,root,root,755) | |
305 | %attr(755,root,root) %{_bindir}/xfreerdp | |
306 | %{_desktopdir}/xfreerdp.desktop | |
307 | %{_mandir}/man1/xfreerdp.1* | |
308 | %endif | |
309 | ||
e07ea24b AM |
310 | %files libs |
311 | %defattr(644,root,root,755) | |
cccedb6c | 312 | %doc ChangeLog README.md |
6aef7f8d AM |
313 | %attr(755,root,root) %{_libdir}/libfreerdp-client%{freerdp_api}.so.*.*.* |
314 | %attr(755,root,root) %ghost %{_libdir}/libfreerdp-client%{freerdp_api}.so.2 | |
315 | %attr(755,root,root) %{_libdir}/libfreerdp-server%{freerdp_api}.so.*.*.* | |
316 | %attr(755,root,root) %ghost %{_libdir}/libfreerdp-server%{freerdp_api}.so.2 | |
317 | %attr(755,root,root) %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.*.*.* | |
318 | %attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow%{freerdp_api}.so.2 | |
319 | %attr(755,root,root) %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.*.*.* | |
320 | %attr(755,root,root) %ghost %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so.2 | |
321 | %attr(755,root,root) %{_libdir}/libfreerdp%{freerdp_api}.so.*.*.* | |
322 | %attr(755,root,root) %ghost %{_libdir}/libfreerdp%{freerdp_api}.so.2 | |
323 | %attr(755,root,root) %{_libdir}/libuwac0.so.*.*.* | |
324 | %attr(755,root,root) %ghost %{_libdir}/libuwac0.so.0 | |
325 | %attr(755,root,root) %{_libdir}/libwinpr%{freerdp_api}.so.*.*.* | |
326 | %attr(755,root,root) %ghost %{_libdir}/libwinpr%{freerdp_api}.so.2 | |
327 | %attr(755,root,root) %{_libdir}/libwinpr-tools%{freerdp_api}.so.*.*.* | |
328 | %attr(755,root,root) %ghost %{_libdir}/libwinpr-tools%{freerdp_api}.so.2 | |
acdabdb6 JB |
329 | |
330 | %files devel | |
331 | %defattr(644,root,root,755) | |
6aef7f8d AM |
332 | %attr(755,root,root) %{_libdir}/libfreerdp-client%{freerdp_api}.so |
333 | %attr(755,root,root) %{_libdir}/libfreerdp-server%{freerdp_api}.so | |
334 | %attr(755,root,root) %{_libdir}/libfreerdp-shadow%{freerdp_api}.so | |
335 | %attr(755,root,root) %{_libdir}/libfreerdp-shadow-subsystem%{freerdp_api}.so | |
336 | %attr(755,root,root) %{_libdir}/libfreerdp%{freerdp_api}.so | |
337 | %attr(755,root,root) %{_libdir}/libuwac0.so | |
338 | %attr(755,root,root) %{_libdir}/libwinpr%{freerdp_api}.so | |
339 | %attr(755,root,root) %{_libdir}/libwinpr-tools%{freerdp_api}.so | |
e2f5e569 AO |
340 | %{_includedir}/freerdp2 |
341 | %{_includedir}/uwac0 | |
342 | %{_includedir}/winpr2 | |
343 | %{_pkgconfigdir}/freerdp-client2.pc | |
344 | %{_pkgconfigdir}/freerdp-server2.pc | |
345 | %{_pkgconfigdir}/freerdp-shadow2.pc | |
346 | %{_pkgconfigdir}/freerdp2.pc | |
347 | %{_pkgconfigdir}/uwac0.pc | |
348 | %{_pkgconfigdir}/winpr-tools2.pc | |
349 | %{_pkgconfigdir}/winpr2.pc | |
8d102fea JB |
350 | %{_libdir}/cmake/FreeRDP-Client2 |
351 | %{_libdir}/cmake/FreeRDP-Server2 | |
352 | %{_libdir}/cmake/FreeRDP-Shadow2 | |
353 | %{_libdir}/cmake/FreeRDP2 | |
354 | %{_libdir}/cmake/WinPR2 | |
355 | %{_libdir}/cmake/uwac0 |