forked from FreeRDP/FreeRDP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
freerdp.spec
164 lines (125 loc) · 4.4 KB
/
freerdp.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# rpmbuild -ta freerdp-<...>.tar.gz
Name: freerdp
Version: 1.0.1
Release: 1%{?dist}
Summary: Remote Desktop Protocol functionality
Group: Applications/Communications
License: Apache License 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)
BuildRequires: cmake
BuildRequires: xmlto
BuildRequires: openssl-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libXinerama-devel
BuildRequires: libXcursor-devel
BuildRequires: libXdamage-devel
BuildRequires: libXv-devel
BuildRequires: libxkbfile-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: cups-devel
BuildRequires: alsa-lib-devel
BuildRequires: pcsc-lite-devel
BuildRequires: desktop-file-utils
%description
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP)
according to the Microsoft Open Specifications.
%package -n xfreerdp
Summary: Remote Desktop Protocol client
Group: Applications/Communications
Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-plugins-standard = %{version}-%{release}
%description -n xfreerdp
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP)
according to the Microsoft Open Specifications.
%package libs
Summary: Core libraries implementing the RDP protocol
Group: Applications/Communications
%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.
%package plugins-standard
Summary: Plugins for handling the standard RDP channels
Group: Applications/Communications
Requires: %{name}-libs = %{version}-%{release}
%description plugins-standard
A set of plugins to the channel manager implementing the standard virtual
channels extending RDP core functionality. For instance, sounds, clipboard
sync, disk/printer redirection, etc.
%package devel
Summary: Libraries and header files for embedding and extending freerdp
Group: Applications/Communications
Requires: %{name}-libs = %{version}-%{release}
Requires: pkgconfig
%description devel
Header files and unversioned libraries for libfreerdp-core, libfreerdp-channels,
libfreerdp-kbd, libfreerdp-cache, libfreerdp-codec, libfreerdp-rail,
libfreerdp-gdi and libfreerdp-utils.
%prep
%setup -q
cat << EOF > xfreerdp.desktop
[Desktop Entry]
Type=Application
Name=X FreeRDP
NoDisplay=true
Comment=Connect to RDP server and display remote desktop
Icon=%{name}
Exec=/usr/bin/xfreerdp
Terminal=false
Categories=Network;RemoteAccess;
EOF
%build
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DWITH_CUPS:BOOL=ON \
-DWITH_PCSC:BOOL=ON \
-DWITH_PULSEAUDIO:BOOL=ON \
-DWITH_X11:BOOL=ON \
-DWITH_XCURSOR:BOOL=ON \
-DWITH_XEXT:BOOL=ON \
-DWITH_XINERAMA:BOOL=ON \
-DWITH_XKBFILE:BOOL=ON \
-DWITH_XV:BOOL=ON \
-DWITH_ALSA:BOOL=ON \
-DWITH_CUNIT:BOOL=OFF \
-DWITH_DIRECTFB:BOOL=OFF \
-DWITH_FFMPEG:BOOL=OFF \
-DWITH_SSE2:BOOL=OFF \
.
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
desktop-file-install --dir=$RPM_BUILD_ROOT%{_datadir}/applications xfreerdp.desktop
install -p -D resources/FreeRDP_Icon_256px.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%clean
rm -rf $RPM_BUILD_ROOT
%post
# This is no gtk application, but try to integrate nicely with GNOME if it is available
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files -n xfreerdp
%defattr(-,root,root,-)
%{_bindir}/xfreerdp
%{_mandir}/man1/xfreerdp.*
%{_datadir}/applications/xfreerdp.desktop
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%files libs
%defattr(-,root,root,-)
%doc LICENSE README ChangeLog
%{_libdir}/lib%{name}-*.so.*
%dir %{_libdir}/%{name}/
%files plugins-standard
%defattr(-,root,root,-)
%{_libdir}/%{name}/*
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}/
%{_libdir}/lib%{name}-*.so
%{_libdir}/pkgconfig/%{name}.pc
%changelog