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