Sisyphus repository
Last update: 16 october 2021 | SRPMs: 17363 | Visits: 22089062
en ru br
ALT Linux repos
S:2.3.2-alt3

Group :: Networking/Remote access
RPM: freerdp

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%def_with ffmpeg
# X264 backend not implemented, please review your configuration!
%def_without x264
%def_without directfb
# see https://github.com/FreeRDP/FreeRDP/issues/4348
%def_without gss
%def_without mbedtls

Name: freerdp
Version: 2.3.2
Release: alt3

Group: Networking/Remote access
Summary: Remote Desktop Protocol functionality
License: Apache-2.0
URL: http://www.freerdp.com
Packager: Andrey Cherepanov <cas at altlinux.org>

Source: %name-%version.tar
Patch2000: %name-e2k.patch

Requires: xfreerdp = %EVR
Requires: wlfreerdp = %EVR
Requires: %name-plugins-standard = %EVR

BuildRequires(pre): cmake
BuildRequires: gcc-c++
BuildRequires: extra-cmake-modules
BuildRequires: docbook-style-xsl git-core xmlto libpcre-devel
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(libpcsclite)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-scanner)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xv)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires: pkgconfig(libpulse)
%{?_with_directfb:BuildRequires: pkgconfig(directfb)}
BuildRequires: libcups-devel libjpeg-devel zlib-devel
%{?_with_ffmpeg:BuildRequires: libavcodec-devel libavutil-devel libavresample-devel libswresample-devel}
%{?_with_x264:BuildRequires: libx264-devel}
BuildRequires: libkrb5-devel
BuildRequires: wayland-devel
%if_with mbedtls
BuildRequires: libmbedtls-devel
%endif
BuildRequires: libgsm-devel
BuildRequires: liblame-devel
BuildRequires: libfaad-devel
BuildRequires: libfaac-devel
BuildRequires: libsoxr-devel
BuildRequires: libffi-devel
BuildRequires: liborc-devel
BuildRequires: libicu-devel
BuildRequires: libcairo-devel
BuildRequires: libpixman-devel
BuildRequires: libexpat-devel
BuildRequires: libXdmcp-devel
BuildRequires: bzlib-devel
BuildRequires: libuuid-devel
BuildRequires: libudev-devel
BuildRequires: libusb-devel
BuildRequires: libdbus-glib-devel
%ifnarch %e2k
BuildRequires: patchelf
%endif

%description
freerdp implements Remote Desktop Protocol (RDP), used in a number of Microsoft
products. Rdesktop analog.

This is metapackage.

%package -n xfreerdp
Summary: Remote Desktop Protocol client
Group: Networking/Remote access
Requires: lib%name = %EVR

%description -n xfreerdp
xfreerdp is a client for Remote Desktop Protocol (RDP), used in a number of
Microsoft products.

This package contains X11 UI.

%package -n dfreerdp
Summary: Remote Desktop Protocol client
Group: Networking/Remote access
Provides: dfbfreerdp
Requires: lib%name = %EVR

%description -n dfreerdp
dfbfreerdp is a client for Remote Desktop Protocol (RDP), used in a number of
Microsoft products.

This package contains DirectFB UI.

%package -n wlfreerdp
Summary: Remote Desktop Protocol client
Group: Networking/Remote access
Requires: lib%name = %EVR

%description -n wlfreerdp
wlfreerdp is a client for Remote Desktop Protocol (RDP), used in a number of
Microsoft products.

This package contains Wayland UI.

%package -n lib%name
Summary: Core libraries implementing the RDP protocol
Group: System/Libraries

%description -n lib%name
libfreerdp can be embedded in applications.

%package -n lib%name-server
Summary: Remote Desktop Viewer server library
Group: System/Libraries

%description -n lib%name-server
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications. This package provides the shared
libraries used by the server.

%package -n libwinpr
Summary: Windows Portable Runtime
Group: System/Libraries

%description -n libwinpr
WinPR provides API compatibility for applications targeting non-Windows
environments. When on Windows, the original native API is being used instead of
the equivalent WinPR implementation, without having to modify the code using it.

%package -n libwinpr-devel
Summary: Windows Portable Runtime development files
Group: Development/C
Requires: libwinpr = %EVR

%description -n libwinpr-devel
The libwinpr-devel package contains libraries and header files for
developing applications that use libwinpr.

%package -n libuwac
Summary: Use wayland as a client
Group: System/Libraries

%description -n libuwac
Remote Desktop Toolkit library. Contains the libuwac libraries.

%package -n     libuwac-devel
Summary: Remote Desktop Toolkit libuwac development files
Group: Development/C
Requires: libuwac = %EVR

%description -n libuwac-devel
The libuwac-devel package contains libraries and header files for
developing applications that use libuwac.

%package plugins-standard
Summary: Plugins for handling the standard RDP channels
Group: Networking/Remote access
Requires: lib%name = %EVR

%description plugins-standard
A set of plugins to the channel manager implementing the standard virtual
channels extending RDP core functionality.  For example, sounds, clipboard
sync, disk/printer redirection, etc.

%package -n lib%name-devel
Summary: Libraries and header files for embedding and extending freerdp
Group: Development/C
Requires: lib%name = %EVR
Provides: freerdp-devel
Obsoletes: freerdp-devel

%description -n lib%name-devel
Header files and unversioned libraries for libfreerdp.

%package server
Summary: Server support for %{name}
Group: Networking/Remote access
Requires: lib%name = %EVR
Requires: lib%name-server = %EVR

%description server
The %{name}-server package contains servers which can export a desktop via
the RDP protocol.

%prep
%setup
%ifarch %e2k
%patch2000 -p1
%endif

%build
%cmake \
   -DCMAKE_BUILD_TYPE=Release \
   -DBUILD_SHARED_LIBS=ON \
   -DCMAKE_SKIP_RPATH=FALSE \
   -DCMAKE_SKIP_INSTALL_RPATH=TRUE \
   -DWITH_ALSA=ON \
   -DWITH_CAIRO=ON \
   -DWITH_CUPS=ON \
   -DWITH_CHANNELS=ON \
   -DBUILTIN_CHANNELS=OFF \
   -DWITH_CLIENT_CHANNELS=ON \
   -DWITH_CLIENT=ON \
   %{?_without_directfb:-DWITH_DIRECTFB=OFF} \
   %{?_without_ffmpeg:-DWITH_FFMPEG=OFF} \
%if_with x264
   -DWITH_X264=ON \
%else
   -DWITH_X264=OFF \
%endif
   -DWITH_GSM=ON \
   %{?_without_gss:-DWITH_KERBEROS=OFF} \
   -DWITH_FAAC=ON \
   -DWITH_FAAD2=ON \
   -DWITH_GSTREAMER_1_0=ON \
   -DGSTREAMER_1_0_INCLUDE_DIRS=%{_includedir}/gstreamer-1.0 \
   -DWITH_ICU=ON \
   -DWITH_IPP=OFF \
   -DWITH_JPEG=ON \
   -DWITH_LAME=ON \
   -DWITH_LIBRARY_VERSIONING=ON \
   -DWITH_MANPAGES=ON \
   %{?_with_mbetls:-DWITH_MBEDTLS=ON} \
   -DWITH_OPENH264=OFF \
   -DWITH_OPENSSL=ON \
   -DWITH_PCSC=ON \
   -DWITH_PULSE=ON \
   -DWITH_SERVER=ON \
   -DCHANNEL_URBDRC=ON \
   -DCHANNEL_URBDRC_CLIENT=ON \
   -DWITH_SHADOW_X11=ON \
   -DWITH_SHADOW_MAC=ON \
   -DWITH_SOXR=ON \
   -DWITH_WAYLAND=ON \
   -DWITH_X11=ON \
   -DWITH_XCURSOR=ON \
   -DWITH_XEXT=ON \
   -DWITH_XI=ON \
   -DWITH_XINERAMA=ON \
   -DWITH_XKBFILE=ON \
   -DWITH_XRENDER=ON \
   -DWITH_XTEST=ON \
   -DWITH_XV=ON \
   -DWITH_ZLIB=ON \
%ifarch x86_64 %e2k
   -DWITH_SSE2=ON \
%else
   -DWITH_SSE2=OFF \
%endif
%ifarch x86_64
   -DWITH_VAAPI=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
%endif
%ifarch armh
   -DARM_FP_ABI=hard \
   -DWITH_NEON=OFF \
%endif
%ifarch %e2k
   -DCMAKE_C_FLAGS_RELEASE="-O%_optlevel -DNDEBUG"
%endif
   #

%cmake_build

%install
%cmakeinstall_std

rm -f %buildroot%_libdir/*.a \
     %buildroot%_libdir/freerdp/*.a

# workaround, add compat

ln -s freerdp2.pc %buildroot%_pkgconfigdir/freerdp.pc

%ifnarch %e2k
# Set rpath to %_libdir/freerdp2 for freerdp-proxy executable
patchelf --set-rpath %_libdir/freerdp2 %buildroot%_bindir/freerdp-proxy
%else
# Set rpath to %_libdir/freerdp2 for freerdp-proxy executable (without using patchelf)
pushd %_cmake__builddir/server/proxy
%__cc %optflags -rdynamic CMakeFiles/freerdp-proxy.dir/*.c.o -o %buildroot%_bindir/freerdp-proxy -Wl,-rpath,%_libdir/freerdp2 ../common/libfreerdp-server2.so.%version ../../client/common/libfreerdp-client2.so.%version ../../channels/rdpgfx/client/librdpgfx-client.so ../../libfreerdp/libfreerdp2.so.%version ../../winpr/libwinpr/libwinpr2.so.%version
popd
%endif

%files

%files -n xfreerdp
%_bindir/xfreerdp
%_bindir/freerdp-proxy
%_man1dir/xfreerdp*
%_bindir/winpr-*
%_man1dir/winpr-*

%files -n wlfreerdp
%_bindir/wlfreerdp
%_man1dir/wlfreerdp*

%if_with directfb
%files -n dfreerdp
%_bindir/dfreerdp
%endif

%files server
%_bindir/freerdp-shadow-cli
%_man1dir/freerdp-shadow-cli.*

%files -n lib%name
%doc LICENSE README.md ChangeLog
%_libdir/lib%{name}2.so.*
%_libdir/lib%{name}-client2.so.*
%dir %_libdir/freerdp*
%_man7dir/wlog*

%files -n lib%name-server
%_libdir/lib%{name}-server2.so.*
%_libdir/lib%{name}-shadow-subsystem2.so.*
%_libdir/lib%{name}-shadow2.so.*

%files plugins-standard
%_libdir/freerdp*/*.so

%files -n libwinpr
%_libdir/libwinpr2.so.*
%_libdir/libwinpr-tools2.so.*

%files -n libwinpr-devel
%_libdir/cmake/WinPR*
%_includedir/winpr*
%_libdir/libwinpr2.so
%_libdir/libwinpr-tools2.so
%_pkgconfigdir/winpr*.pc

%files -n libuwac
%_libdir/libuwac0.so.*

%files -n libuwac-devel
%_libdir/cmake/uwac*
%_includedir/uwac*
%_libdir/libuwac0.so
%_pkgconfigdir/uwac*.pc

%files -n lib%name-devel
%_libdir/cmake/FreeRDP*
%_includedir/%{name}*
%_libdir/lib%{name}*.so
%_pkgconfigdir/freerdp*.pc

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin