]> git.pld-linux.org Git - packages/freerdp2.git/blame - freerdp2.spec
build fixes for ffmpeg5
[packages/freerdp2.git] / freerdp2.spec
CommitLineData
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 36Summary: Remote Desktop Protocol client
acdabdb6 37Summary(pl.UTF-8): Klient protokołu RDP
b1788d3e 38Name: freerdp2
4f71d3e2 39Version: 2.5.0
12f07fad 40Release: 1
acdabdb6 41License: Apache v2.0
e07ea24b 42Group: Applications/Communications
f9066b2e 43Source0: https://pub.freerdp.com/releases/freerdp-%{version}.tar.gz
4f71d3e2 44# Source0-md5: eec57a052eaaee74d3467cc74710283e
d3f0825a
AG
45Patch0: freerdp-opt.patch
46Patch1: freerdp-gsm.patch
f7c5a180 47Patch2: docbook-xsl.patch
713bfa5f 48Patch3: ffmpeg5.patch
e07ea24b 49URL: 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 54BuildRequires: cmake >= 2.8
acdabdb6 55%{?with_cups:BuildRequires: cups-devel}
e07ea24b 56BuildRequires: desktop-file-utils
f7c5a180 57BuildRequires: 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}
68BuildRequires: libjpeg-devel
69%{?with_x264:BuildRequires: libx264-devel}
70%{?with_openh264:BuildRequires: openh264-devel}
3f47f72e 71# also mbedtls possible
e07ea24b 72BuildRequires: openssl-devel
dd410870 73%{?with_pcsc:BuildRequires: pcsc-lite-devel}
acdabdb6
JB
74BuildRequires: pkgconfig
75%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
57e67cef 76BuildRequires: 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 80BuildRequires: xmlto
cccedb6c 81%{?with_wayland:BuildRequires: xorg-lib-libxkbcommon-devel}
8d102fea 82%if %{with x11}
e07ea24b 83BuildRequires: xorg-lib-libX11-devel
e5316440
ER
84BuildRequires: xorg-lib-libXcursor-devel
85BuildRequires: xorg-lib-libXdamage-devel
e07ea24b 86BuildRequires: xorg-lib-libXext-devel
acdabdb6 87BuildRequires: xorg-lib-libXfixes-devel
e07ea24b 88BuildRequires: xorg-lib-libXinerama-devel
cccedb6c 89BuildRequires: xorg-lib-libXrandr-devel
acdabdb6 90BuildRequires: xorg-lib-libXtst-devel
7d17d2a0 91BuildRequires: xorg-lib-libXv-devel
cccedb6c 92BuildRequires: xorg-lib-libxkbfile-devel
e2f5e569 93%endif
acdabdb6 94BuildRequires: zlib-devel
e5316440 95Requires: %{name}-libs = %{version}-%{release}
acdabdb6 96Requires: hicolor-icon-theme
e5316440 97BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
e07ea24b
AM
98
99%description
8d102fea 100FreeRDP is Remote Desktop Protocol (RDP) client.
e07ea24b
AM
101
102xfreerdp can connect to RDP servers such as Microsoft Windows
103machines, xrdp and VirtualBox.
104
acdabdb6
JB
105%description -l pl.UTF-8
106xfreerdp to klient protokołu RDP (Remote Desktop Protocol) z projektu
107FreeRDP.
108
109xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
110Microsoft Windows, xrdp oraz VirtualBox.
111
112%package dfb
113Summary: DirectFB based Remote Desktop Protocol klient
114Summary(pl.UTF-8): Klient protokołu RDP oparty na DirectFB
115Group: Applications/Communications
8d102fea
JB
116Requires: %{name} = %{version}-%{release}
117Obsoletes: freerdp-dfb < 2
acdabdb6
JB
118
119%description dfb
120DirectFB based Remote Desktop Protocol klient.
121
122dfreerdp can connect to RDP servers such as Microsoft Windows
123machines, xrdp and VirtualBox.
124
8d102fea 125%description dfb -l pl.UTF-8
acdabdb6
JB
126Klient protokołu RDP oparty na DirectFB.
127
128dfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
129Microsoft Windows, xrdp oraz VirtualBox.
130
8d102fea
JB
131%package wayland
132Summary: Wayland based Remote Desktop Protocol klient
133Summary(pl.UTF-8): Klient protokołu RDP oparty na Wayland
134Group: Applications/Communications
135Requires: %{name} = %{version}-%{release}
136
137%description wayland
138Wayland based Remote Desktop Protocol klient.
139
140wlfreerdp can connect to RDP servers such as Microsoft Windows
141machines, xrdp and VirtualBox.
142
143%description wayland -l pl.UTF-8
144Klient protokołu RDP oparty na Wayland.
145
146wlfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
147Microsoft Windows, xrdp oraz VirtualBox.
148
149%package x11
150Summary: X11 based Remote Desktop Protocol klient
151Summary(pl.UTF-8): Klient protokołu RDP oparty na X11
152Group: Applications/Communications
153Requires: %{name} = %{version}-%{release}
154Provides: xfreerdp = %{version}-%{release}
155Obsoletes: freerdp < 2
156
157%description x11
158X11 based Remote Desktop Protocol klient.
159
160xfreerdp can connect to RDP servers such as Microsoft Windows
161machines, xrdp and VirtualBox.
162
163%description x11 -l pl.UTF-8
164Klient protokołu RDP oparty na X11.
165
166xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
167Microsoft Windows, xrdp oraz VirtualBox.
168
dd410870 169%package libs
e5316440 170Summary: Core libraries implementing the RDP protocol
acdabdb6
JB
171Summary(pl.UTF-8): Główne biblioteki implementujące protokół RDP
172Group: Libraries
e5316440 173
acdabdb6 174%description libs
8d102fea 175Core libraries implementing the RDP protocol.
e07ea24b 176
acdabdb6 177%description libs -l pl.UTF-8
8d102fea 178Główne biblioteki implementujące protokół RDP.
acdabdb6
JB
179
180%package devel
8d102fea
JB
181Summary: Development files for FreeRDP 2 libraries
182Summary(pl.UTF-8): Pliki programistyczne bibliotek FreeRDP 2
acdabdb6
JB
183Group: Development/Libraries
184Requires: %{name}-libs = %{version}-%{release}
185
186%description devel
187This package contains the header files for developing applications
8d102fea 188that use FreeRDP 2 libraries.
acdabdb6
JB
189
190%description devel -l pl.UTF-8
191Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
8d102fea 192wykorzystują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
201cat << EOF > xfreerdp.desktop
202[Desktop Entry]
203Type=Application
204Name=X FreeRDP
205NoDisplay=true
206Comment=Connect to RDP server and display remote desktop
acdabdb6 207Comment[pl]=Połączenie z serwerem RDP i wyświetlanie zdalnego pulpitu
e07ea24b
AM
208Icon=%{name}
209Exec=%{_bindir}/xfreerdp
210Terminal=false
211Categories=Network;RemoteAccess;
212EOF
213
e07ea24b 214%build
e5316440
ER
215install -d build
216cd 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
255rm -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 261desktop-file-install --dir=$RPM_BUILD_ROOT%{_desktopdir} xfreerdp.desktop
8d102fea 262install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
e07ea24b 263
e07ea24b
AM
264%clean
265rm -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
This page took 0.153989 seconds and 4 git commands to generate.