[packages/freerdp2] - added opt patch (disable unwanted compiler flags) - added gsm patch (adjust libgsm includes) - upd
qboosh
qboosh at pld-linux.org
Sun Jul 3 13:48:19 CEST 2016
commit 8d102fea79885079b77063d368f1eb4be7878645
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Jul 3 13:48:27 2016 +0200
- added opt patch (disable unwanted compiler flags)
- added gsm patch (adjust libgsm includes)
- updated dependencies, more bconds
- split clients (-wayland, -x11 subpackages)
freerdp-gsm.patch | 20 +++++++
freerdp-opt.patch | 24 +++++++++
freerdp2.spec | 158 ++++++++++++++++++++++++++++++++++++++----------------
3 files changed, 155 insertions(+), 47 deletions(-)
---
diff --git a/freerdp2.spec b/freerdp2.spec
index a6722df..dbab7e8 100644
--- a/freerdp2.spec
+++ b/freerdp2.spec
@@ -1,15 +1,21 @@
# TODO:
-# - fix DirectFB client build
+# - what is libpcsc-winpr? (-DWITH_PCSC_WINPR)
+# - fix DirectFB client build (orphaned code)
#
# Conditional build:
%bcond_without alsa # ALSA sound support
%bcond_without cups # CUPS printing support
%bcond_with directfb # DirectFB client
%bcond_without ffmpeg # FFmpeg audio/video decoding support
+%bcond_without gsm # GSM audio codec
+%bcond_without gstreamer # GStreamer sound support
+%bcond_with openh264 # OpenH264 for H.264 codec [only if ffmpeg disabled]
%bcond_without pcsc # SmartCard support via PCSC-lite library
%bcond_without pulseaudio # Pulseaudio sound support
+%bcond_without systemd # systemd journal support
%bcond_without wayland # Wayland client
%bcond_without x11 # X11 client
+%bcond_with x264 # X264 for H.264 codec [only if ffmpeg and openh264 disabled]
%bcond_with sse2 # SSE2 instructions
%ifarch %{x8664} pentium4
@@ -28,20 +34,30 @@ Group: Applications/Communications
Source0: https://github.com/FreeRDP/FreeRDP/archive/%{gitref}/freerdp-%{version}-%{snap}.tar.gz
# Source0-md5: 1df5c4d0375cd90fc996d4568ef1ce76
Patch0: freerdp-DirectFB-include.patch
+Patch1: freerdp-opt.patch
+Patch2: freerdp-gsm.patch
URL: http://www.freerdp.com/
%{?with_directfb:BuildRequires: DirectFB-devel}
%{?with_alsa:BuildRequires: alsa-lib-devel}
-BuildRequires: cmake >= 2.6
+BuildRequires: cmake >= 2.8
%{?with_cups:BuildRequires: cups-devel}
BuildRequires: desktop-file-utils
-%{?with_ffmpeg:BuildRequires: ffmpeg-devel}
+# libavcodec >= 53.25.0, libavutil
+%{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 0.8}
+%{?with_gstreamer:BuildRequires: gstreamer-devel >= 1.0.5}
+%{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel >= 1.0.5}
+%{?with_gsm:BuildRequires: libgsm-devel}
+BuildRequires: libjpeg-devel
+%{?with_x264:BuildRequires: libx264-devel}
+%{?with_openh264:BuildRequires: openh264-devel}
BuildRequires: openssl-devel
%{?with_pcsc:BuildRequires: pcsc-lite-devel}
BuildRequires: pkgconfig
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
+%{?with_systemd:BuildRequires: systemd-devel >= 1:209}
%{?with_wayland:BuildRequires: wayland-devel}
-%if %{with x11}
BuildRequires: xmlto
+%if %{with x11}
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXcursor-devel
BuildRequires: xorg-lib-libXdamage-devel
@@ -55,13 +71,13 @@ BuildRequires: xorg-lib-libxkbfile
BuildRequires: zlib-devel
Requires: %{name}-libs = %{version}-%{release}
Requires: hicolor-icon-theme
-Provides: xfreerdp = %{version}-%{release}
-Conflicts: xfreerdp < 2.0.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# Usage: -DWITH_<option>=%{cmake_on_off <bcond_name>}
+%define cmake_on_off() %{expand:%%{?with_%{1}:ON}%%{!?with_%{1}:OFF}}
+
%description
-xfreerdp is Remote Desktop Protocol (RDP) client from the FreeRDP
-project.
+FreeRDP is Remote Desktop Protocol (RDP) client.
xfreerdp can connect to RDP servers such as Microsoft Windows
machines, xrdp and VirtualBox.
@@ -77,7 +93,8 @@ Microsoft Windows, xrdp oraz VirtualBox.
Summary: DirectFB based Remote Desktop Protocol klient
Summary(pl.UTF-8): Klient protokołu RDP oparty na DirectFB
Group: Applications/Communications
-Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
+Obsoletes: freerdp-dfb < 2
%description dfb
DirectFB based Remote Desktop Protocol klient.
@@ -85,51 +102,80 @@ DirectFB based Remote Desktop Protocol klient.
dfreerdp can connect to RDP servers such as Microsoft Windows
machines, xrdp and VirtualBox.
-%description -l pl.UTF-8
+%description dfb -l pl.UTF-8
Klient protokołu RDP oparty na DirectFB.
dfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
Microsoft Windows, xrdp oraz VirtualBox.
+%package wayland
+Summary: Wayland based Remote Desktop Protocol klient
+Summary(pl.UTF-8): Klient protokołu RDP oparty na Wayland
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+
+%description wayland
+Wayland based Remote Desktop Protocol klient.
+
+wlfreerdp can connect to RDP servers such as Microsoft Windows
+machines, xrdp and VirtualBox.
+
+%description wayland -l pl.UTF-8
+Klient protokołu RDP oparty na Wayland.
+
+wlfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
+Microsoft Windows, xrdp oraz VirtualBox.
+
+%package x11
+Summary: X11 based Remote Desktop Protocol klient
+Summary(pl.UTF-8): Klient protokołu RDP oparty na X11
+Group: Applications/Communications
+Requires: %{name} = %{version}-%{release}
+Provides: xfreerdp = %{version}-%{release}
+Obsoletes: freerdp < 2
+
+%description x11
+X11 based Remote Desktop Protocol klient.
+
+xfreerdp can connect to RDP servers such as Microsoft Windows
+machines, xrdp and VirtualBox.
+
+%description x11 -l pl.UTF-8
+Klient protokołu RDP oparty na X11.
+
+xfreerdp może łączyć się z serwerami RDP, takimi jak maszyny z
+Microsoft Windows, xrdp oraz VirtualBox.
+
%package libs
Summary: Core libraries implementing the RDP protocol
Summary(pl.UTF-8): Główne biblioteki implementujące protokół RDP
Group: Libraries
%description libs
-libfreerdp-core can be embedded in applications.
-
-libfreerdp-channels and libfreerdp-kbd might be convenient to use in X
-applications together with libfreerdp-core.
-
-libfreerdp-core can be extended with plugins handling RDP channels.
+Core libraries implementing the RDP protocol.
%description libs -l pl.UTF-8
-libfreerdp-core może być osadzane w aplikacjach.
-
-libfreerdp-channels oraz libfreerdp-kbd mogą być wygodne przy użyciu
-wraz z libfreerdp-core w aplikacjach X.
-
-libfreerdp-core można rozszerzać przy użyciu wtyczek obsługujących
-kanały RDP.
+Główne biblioteki implementujące protokół RDP.
%package devel
-Summary: Development files for FreeRDP libraries
-Summary(pl.UTF-8): Pliki programistyczne bibliotek FreeRDP
+Summary: Development files for FreeRDP 2 libraries
+Summary(pl.UTF-8): Pliki programistyczne bibliotek FreeRDP 2
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
%description devel
This package contains the header files for developing applications
-that use FreeRDP libraries.
+that use FreeRDP 2 libraries.
%description devel -l pl.UTF-8
Ten pakiet zawiera pliki nagłówkowe do tworzenia aplikacji
-wykorzystujących biblioteki FreeRDP.
+wykorzystujących biblioteki FreeRDP 2.
%prep
%setup -q -n FreeRDP-%{gitref}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
cat << EOF > xfreerdp.desktop
[Desktop Entry]
@@ -149,17 +195,23 @@ install -d build
cd build
%cmake .. \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
- %{?with_alsa:-DWITH_ALSA=ON}%{!?with_alsa:-DWITH_ALSA=OFF} \
+ -DWITH_ALSA=%{cmake_on_off alsa} \
-DWITH_CUNIT=OFF \
- %{?with_cups:-DWITH_CUPS=ON}%{!?with_cups:-DWITH_CUPS=OFF} \
- %{?with_directfb:-DWITH_DIRECTFB=ON}%{!?with_directfb:-DWITH_DIRECTFB=OFF} \
- %{?with_ffmpeg:-DWITH_FFMPEG=ON}%{!?with_ffmpeg:-DWITH_FFMPEG=OFF} \
- %{?with_pcsc:-DWITH_PCSC=ON}%{!?with_pcsc:-DWITH_PCSC=OFF} \
- %{?with_pulseaudio:-DWITH_PULSE=ON}%{!?with_pulseaudio:-DWITH_PULSE=OFF} \
+ -DWITH_CUPS=%{cmake_on_off cups} \
+ -DWITH_DIRECTFB=%{cmake_on_off directfb} \
+ -DWITH_FFMPEG=%{cmake_on_off ffmpeg} \
+ -DWITH_GSM=%{cmake_on_off gsm} \
+ -DWITH_GSTREAMER_1_0=%{cmake_on_off gstreamer} \
+ -DWITH_LIBSYSTEMD=%{cmake_on_off systemd} \
+ -DWITH_OPENH264=%{cmake_on_off openh264} \
+ -DWITH_OSS=ON \
+ -DWITH_PCSC=%{cmake_on_off pcsc} \
+ -DWITH_PULSE=%{cmake_on_off pulseaudio} \
-DWITH_SERVER=ON \
- %{?with_sse2:-DWITH_SSE2=ON}%{!?with_sse2:-DWITH_SSE2=OFF} \
- %{?with_wayland:-DWITH_X11=ON}%{!?with_wayland:-DWITH_X11=OFF} \
- %{?with_x11:-DWITH_X11=ON}%{!?with_x11:-DWITH_X11=OFF} \
+ -DWITH_SSE2=%{cmake_on_off sse2} \
+ -DWITH_WAYLAND=%{cmake_on_off wayland} \
+ -DWITH_X11=%{cmake_on_off x11} \
+ -DWITH_X264=%{cmake_on_off x264} \
-DWITH_XCURSOR=ON \
-DWITH_XEXT=ON \
-DWITH_XINERAMA=ON \
@@ -170,14 +222,13 @@ cd build
%install
rm -rf $RPM_BUILD_ROOT
+
%{__make} -C build install \
INSTALL="install -p" \
DESTDIR=$RPM_BUILD_ROOT
-%{__rm} -r $RPM_BUILD_ROOT%{_libdir}/cmake
-
desktop-file-install --dir=$RPM_BUILD_ROOT%{_desktopdir} xfreerdp.desktop
-install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/freerdp2.png
+install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%clean
rm -rf $RPM_BUILD_ROOT
@@ -194,24 +245,31 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/freerdp-shadow-cli
-%if %{with wayland}
-%attr(755,root,root) %{_bindir}/wlfreerdp
-%endif
-%if %{with x11}
-%attr(755,root,root) %{_bindir}/xfreerdp
-%endif
%attr(755,root,root) %{_bindir}/winpr-hash
%attr(755,root,root) %{_bindir}/winpr-makecert
-%{_mandir}/man1/xfreerdp.1*
-%{_desktopdir}/xfreerdp.desktop
%{_iconsdir}/hicolor/256x256/apps/freerdp2.png
%if %{with directfb}
%files dfb
%defattr(644,root,root,755)
+%doc doc/README.directfb
%attr(755,root,root) %{_bindir}/dfreerdp
%endif
+%if %{with wayland}
+%files wayland
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/wlfreerdp
+%endif
+
+%if %{with x11}
+%files x11
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/xfreerdp
+%{_desktopdir}/xfreerdp.desktop
+%{_mandir}/man1/xfreerdp.1*
+%endif
+
%files libs
%defattr(644,root,root,755)
%doc ChangeLog README
@@ -252,3 +310,9 @@ rm -rf $RPM_BUILD_ROOT
%{_pkgconfigdir}/uwac0.pc
%{_pkgconfigdir}/winpr-tools2.pc
%{_pkgconfigdir}/winpr2.pc
+%{_libdir}/cmake/FreeRDP-Client2
+%{_libdir}/cmake/FreeRDP-Server2
+%{_libdir}/cmake/FreeRDP-Shadow2
+%{_libdir}/cmake/FreeRDP2
+%{_libdir}/cmake/WinPR2
+%{_libdir}/cmake/uwac0
diff --git a/freerdp-gsm.patch b/freerdp-gsm.patch
new file mode 100644
index 0000000..6718455
--- /dev/null
+++ b/freerdp-gsm.patch
@@ -0,0 +1,20 @@
+--- FreeRDP-a132545545ef90534a64a08f5199741502de97e5/cmake/FindGSM.cmake.orig 2016-06-30 22:43:05.000000000 +0200
++++ FreeRDP-a132545545ef90534a64a08f5199741502de97e5/cmake/FindGSM.cmake 2016-07-02 20:05:44.567199213 +0200
+@@ -1,5 +1,5 @@
+
+-find_path(GSM_INCLUDE_DIR gsm/gsm.h)
++find_path(GSM_INCLUDE_DIR gsm.h)
+
+ find_library(GSM_LIBRARY gsm)
+
+--- FreeRDP-a132545545ef90534a64a08f5199741502de97e5/channels/rdpsnd/client/pulse/rdpsnd_pulse.c.orig 2016-06-30 22:43:05.000000000 +0200
++++ FreeRDP-a132545545ef90534a64a08f5199741502de97e5/channels/rdpsnd/client/pulse/rdpsnd_pulse.c 2016-07-02 20:10:48.938883624 +0200
+@@ -34,7 +34,7 @@
+ #include <pulse/pulseaudio.h>
+
+ #ifdef WITH_GSM
+-#include <gsm/gsm.h>
++#include <gsm.h>
+ #endif
+
+ #include <freerdp/types.h>
diff --git a/freerdp-opt.patch b/freerdp-opt.patch
new file mode 100644
index 0000000..b2abe37
--- /dev/null
+++ b/freerdp-opt.patch
@@ -0,0 +1,24 @@
+--- FreeRDP-a132545545ef90534a64a08f5199741502de97e5/CMakeLists.txt.orig 2016-06-30 22:43:05.000000000 +0200
++++ FreeRDP-a132545545ef90534a64a08f5199741502de97e5/CMakeLists.txt 2016-07-02 17:12:00.937002199 +0200
+@@ -174,21 +174,6 @@
+
+ # Compiler-specific flags
+ if(CMAKE_COMPILER_IS_GNUCC)
+- if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
+- CHECK_SYMBOL_EXISTS(__x86_64__ "" IS_X86_64)
+- if(IS_X86_64)
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+- else()
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
+- endif()
+- else()
+- if(CMAKE_POSITION_INDEPENDENT_CODE)
+- if(${CMAKE_VERSION} VERSION_LESS 2.8.9)
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+- endif()
+- endif()
+- endif()
+-
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+
+ CHECK_C_COMPILER_FLAG (-Wno-unused-result Wno-unused-result)
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/freerdp2.git/commitdiff/8d102fea79885079b77063d368f1eb4be7878645
More information about the pld-cvs-commit
mailing list