File freerdp.spec of Package freerdp

%define rel 99.git%{?dist}

# Build-time configuration
# 
%define with_ffmpeg %{?_with_ffmpeg: 1} %{?!_with_ffmpeg: 0}

Name:           freerdp
Version:        1.0.1
Release:        %{rel}
Summary:        Remote Desktop Protocol client

Group:          Applications/Communications
License:        ASL 2.0
URL:            http://www.freerdp.com/
Source0:        https://github.com/downloads/FreeRDP/FreeRDP/%{name}-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%if 0%{?suse_version}
BuildRequires:  libpulse-devel
BuildRequires:  xorg-x11-devel
BuildRequires:  xorg-x11-libX11-devel
BuildRequires:  xorg-x11-libXext-devel
BuildRequires:  xorg-x11-libXv-devel
BuildRequires:  xorg-x11-libxkbfile-devel
%endif

%if 0%{?mdkversion}
BuildRequires:  libalsa-devel
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  libx11-devel
%endif

%if 0%{?fedora}%{?fedora_version}%{?centos_version}
%if 0%{?fedora}%{?fedora_version}
BuildRequires:  alsa-lib-devel
%endif
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  libX11-devel
BuildRequires:  libXext-devel
BuildRequires:  libXinerama-devel
BuildRequires:  libXdamage-devel
BuildRequires:  libXv-devel
BuildRequires:  libXcursor-devel
BuildRequires:  libxkbfile-devel
%endif

#common deps
BuildRequires:  cups-devel
BuildRequires:  openssl-devel
BuildRequires:  pcsc-lite-devel
%if %{with_ffmpeg}
BuildRequires:  ffmpeg-devel
%endif
BuildRequires:  cmake
BuildRequires:  xmlto

Provides:       xfreerdp = %{version}-%{release}
Requires:       %{name}-libs = %{version}-%{release}, %{name}-plugins = %{version}-%{release}

%description 
The xfreerdp Remote Desktop Protocol (RDP) client from the FreeRDP
project.

xfreerdp can connect to RDP servers such as Microsoft Windows
machines, xrdp and VirtualBox.

FreeRDP is a fork of the rdesktop project and intends to rapidly
improve on it and re-implement what is needed.


%package        libs
Summary:        Core libraries implementing the RDP protocol
Group:          System Environment/Libraries
%description    libs
libfreerdp implements the core of the RDP protocol.

libfreerdpchanman can be used to load plugins that can handle channels
in the RDP protocol.

libfreerdpkbd implements functionality for handling keyboards in X.


%package        plugins
Summary:        Plugins for handling the standard RDP channels
Group:          System Environment/Libraries
Requires:       %{name}-libs = %{version}-%{release}
%description    plugins
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        devel
Summary:        Development files for %{name}
Group:          Development/Libraries
Requires:       %{name}-libs = %{version}-%{release}
Requires:       pkgconfig

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}-libs.


%prep
%setup -q


%build
%if %{with_ffmpeg}
export CFLAGS=-I/usr/include/ffmpeg
FFMPEG=-DWITH_FFMPEG=ON
%else
FFMPEG=-DWITH_FFMPEG=OFF
%endif
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr  -DWITH_SERVER=OFF \
%if 0%{?suse_version}0%{?centos_version}
    -DWITH_ALSA=OFF \
%endif
%ifarch x86_64
    -DCMAKE_INSTALL_LIBDIR:PATH=lib64 \
%endif
    -DWITH_PCSC=ON -DWITH_PULSEAUDIO=ON $FFMPEG .
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# find $RPM_BUILD_ROOT -name '*.a' -o -name '*.a' -exec rm -f {} ';'

%clean
rm -rf $RPM_BUILD_ROOT

%post libs -p /sbin/ldconfig


%postun libs -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc LICENSE README ChangeLog
%{_bindir}/xfreerdp
%{_mandir}/*/*

%files libs
%defattr(-,root,root,-)
%{_libdir}/*.so.*
%dir %{_libdir}/%{name}/
#{_datadir}/%{name}/

%files plugins
%defattr(-,root,root,-)
%{_libdir}/%{name}/*.so

%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/%{name}.pc


%changelog
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Jan 28 2011 Mads Kiilerich <mads@kiilerich.com> - 0.8.2-2
- rebuild on rawhide because of broken dependencies

* Tue Nov 16 2010 Mads Kiilerich <mads@kiilerich.com> - 0.8.2-1
- freerdp-0.8.2

* Mon Nov 08 2010 Mads Kiilerich <mads@kiilerich.com> - 0.8.1-2
- make -devel require pkgconfig
- first official Fedora package

* Sun Nov 07 2010 Mads Kiilerich <mads@kiilerich.com> - 0.8.1-1
- freerdp-0.8.1

* Sat Sep 25 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.4-2
- hack the generated libtool to not set rpath on x86_64
- configure with alsa explicitly

* Tue Aug 24 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.4-1
- freerdp-0.7.4
- cleanup of packaging structure

* Wed Jul 28 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.3-1
- 0.7.3
- fix some minor pylint warnings

* Fri Jul 23 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.2-2
- 0.7.2
- Address many comments from cwickert:
- - cleanup of old formatting, alignment with spectemplate-lib.spec and
    cwickert spec from #616193
- - add alsa as build requirement
- - remove superfluous configure options and disable static libs
- - add missing rpm groups

* Sun Jun 13 2010 Mads Kiilerich <mads@kiilerich.com> - 0.7.0-1
- First official release, first review request
openSUSE Build Service is sponsored by