]> git.pld-linux.org Git - packages/remmina.git/blob - remmina.spec
runtime libssh dep only if built with nx
[packages/remmina.git] / remmina.spec
1 #
2 # note: disabling plugins will still build them if deps are met
3 #
4 # Conditional build:
5 %bcond_without  exec            # do not build exec plugin
6 %bcond_with     nx              # build nx plugin
7 %bcond_without  rdp             # do not build rdp plugin
8 %bcond_without  secret          # do not build secret plugin
9 %bcond_without  spice           # do not build spice plugin
10 %bcond_without  vnc             # do not build vnc plugin
11 %bcond_without  vte             # do not build vte plugin
12 %bcond_without  www             # do not build www plugin
13 %bcond_without  xdmcp           # do not build xdmcp plugin
14 #
15 Summary:        Remote Desktop Client
16 Name:           remmina
17 Version:        1.4.8
18 Release:        1
19 License:        GPLv2+ and MIT
20 Group:          X11/Applications
21 Source0:        https://gitlab.com/Remmina/Remmina/-/archive/v%{version}/Remmina-v%{version}.tar.bz2
22 # Source0-md5:  92cbd7708fcced020e706e0eb8bc96a0
23 # Cmake helper file to easy build plugins outside remmina source tree
24 # See http://www.muflone.com/remmina-plugin-rdesktop/english/install.html which
25 # use http://www.muflone.com/remmina-plugin-builder/ with remmina bundled source.
26 # So we can't use it directly only as instructions.
27 Source1:        pluginBuild-CMakeLists.txt
28 Patch0:         fix-shebangs.patch
29 URL:            http://remmina.org
30 BuildRequires:  appstream-glib
31 BuildRequires:  avahi-ui-gtk3-devel >= 0.6.30
32 BuildRequires:  cmake >= 2.8
33 BuildRequires:  desktop-file-utils
34 %{?with_rdp:BuildRequires:      freerdp2-devel >= 2.0.0-0.20190320}
35 BuildRequires:  gettext
36 BuildRequires:  gtk+3-devel
37 %{?with_www:BuildRequires:      gtk-webkit4-devel}
38 BuildRequires:  intltool
39 BuildRequires:  json-glib-devel
40 BuildRequires:  libappindicator-gtk3-devel
41 BuildRequires:  libgcrypt-devel
42 %{?with_secret:BuildRequires:   libsecret-devel}
43 BuildRequires:  libsoup-devel
44 %{?with_nx:BuildRequires:       libssh-devel >= 0.6}
45 %{?with_vnc:BuildRequires:      libvncserver-devel}
46 BuildRequires:  rpmbuild(macros) >= 1.742
47 %{?with_spice:BuildRequires:    spice-gtk-devel}
48 %{?with_vte:BuildRequires:      vte-devel}
49 BuildRequires:  xorg-lib-libxkbfile-devel
50 Requires(post,postun):  gtk-update-icon-cache
51 Requires:       avahi-ui-gtk3 >= 0.6.30
52 Requires:       hicolor-icon-theme
53 %{?with_nx:Requires:    libssh >= 0.6}
54 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56 %description
57 Remmina is a remote desktop client written in GTK+, aiming to be
58 useful for system administrators and travelers, who need to work with
59 lots of remote computers in front of either large monitors or tiny
60 net-books.
61
62 Remmina supports multiple network protocols in an integrated and
63 consistent user interface. Currently RDP, VNC, XDMCP and SSH are
64 supported.
65
66 Please don't forget to install the plugins for the protocols you want
67 to use.
68
69 %package        devel
70 Summary:        Development files for %{name}
71 Requires:       %{name} = %{version}-%{release}
72 Requires:       pkgconfig
73
74 %description    devel
75 The %{name}-devel package contains header files for developing plugins
76 for %{name}.
77
78 %package        plugins-exec
79 Summary:        External execution plugin for Remmina Remote Desktop Client
80 Requires:       %{name} = %{version}-%{release}
81
82 %description    plugins-exec
83 Remmina is a remote desktop client written in GTK+, aiming to be
84 useful for system administrators and travelers, who need to work with
85 lots of remote computers in front of either large monitors or tiny
86 net-books.
87
88 This package contains the plugin to execute external processes
89 (commands or applications) from the Remmina window.
90
91 %package        plugins-nx
92 Summary:        NX plugin for Remmina Remote Desktop Client
93 Requires:       %{name} = %{version}-%{release}
94 Requires:       nxproxy
95
96 %description    plugins-nx
97 Remmina is a remote desktop client written in GTK+, aiming to be
98 useful for system administrators and travelers, who need to work with
99 lots of remote computers in front of either large monitors or tiny
100 net-books.
101
102 This package contains the NX plugin for the Remmina remote desktop
103 client.
104
105 %package        plugins-rdp
106 Summary:        RDP plugin for Remmina Remote Desktop Client
107 Requires:       %{name} = %{version}-%{release}
108 Requires:       freerdp2-libs >= 2.0.0-0.20190320
109
110 %description    plugins-rdp
111 Remmina is a remote desktop client written in GTK+, aiming to be
112 useful for system administrators and travelers, who need to work with
113 lots of remote computers in front of either large monitors or tiny
114 net-books.
115
116 This package contains the Remote Desktop Protocol (RDP) plugin for the
117 Remmina remote desktop client.
118
119 %package        plugins-secret
120 Summary:        Keyring integration for Remmina Remote Desktop Client
121 Requires:       %{name} = %{version}-%{release}
122 Provides:       %{name}-plugins-gnome%{?_isa} = %{version}-%{release}
123 Obsoletes:      remmina-plugins-gnome < %{version}-%{release}
124
125 %description    plugins-secret
126 Remmina is a remote desktop client written in GTK+, aiming to be
127 useful for system administrators and travelers, who need to work with
128 lots of remote computers in front of either large monitors or tiny
129 net-books.
130
131 This package contains the plugin with keyring support for the Remmina
132 remote desktop client.
133
134 %package        plugins-spice
135 Summary:        SPICE plugin for Remmina Remote Desktop Client
136 Requires:       %{name} = %{version}-%{release}
137
138 %description    plugins-spice
139 Remmina is a remote desktop client written in GTK+, aiming to be
140 useful for system administrators and travelers, who need to work with
141 lots of remote computers in front of either large monitors or tiny
142 net-books.
143
144 This package contains the SPICE plugin for the Remmina remote desktop
145 client.
146
147 %package        plugins-vnc
148 Summary:        VNC plugin for Remmina Remote Desktop Client
149 Requires:       %{name} = %{version}-%{release}
150
151 %description    plugins-vnc
152 Remmina is a remote desktop client written in GTK+, aiming to be
153 useful for system administrators and travelers, who need to work with
154 lots of remote computers in front of either large monitors or tiny
155 net-books.
156
157 This package contains the VNC plugin for the Remmina remote desktop
158 client.
159
160 %package        plugins-www
161 Summary:        Browser plugin for Remmina Remote Desktop Client
162 Requires:       %{name} = %{version}-%{release}
163
164 %description    plugins-www
165 Remmina is a remote desktop client written in GTK+, aiming to be
166 useful for system administrators and travelers, who need to work with
167 lots of remote computers in front of either large monitors or tiny
168 net-books.
169
170 This package contains the www plugin for the Remmina remote desktop
171 client.
172
173 %package        plugins-xdmcp
174 Summary:        XDMCP plugin for Remmina Remote Desktop Client
175 Requires:       %{name} = %{version}-%{release}
176 Requires:       xorg-xserver-Xephyr
177
178 %description    plugins-xdmcp
179 Remmina is a remote desktop client written in GTK+, aiming to be
180 useful for system administrators and travelers, who need to work with
181 lots of remote computers in front of either large monitors or tiny
182 net-books.
183
184 This package contains the XDMCP plugin for the Remmina remote desktop
185 client.
186
187 %prep
188 %setup -qn Remmina-v%{version}
189 %{__sed} -i s/^pt_PT$// po/LINGUAS
190 %{__rm} -f po/pt_PT.po
191 %patch0 -p1
192
193 %build
194 mkdir -p build
195
196 %cmake --build=build \
197         -DCMAKE_INSTALL_LIBDIR=%{_lib} \
198         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
199         -DWITH_APPINDICATOR=ON \
200         -DWITH_AVAHI=ON \
201         -DWITH_CUPS=ON \
202         -DWITH_GCRYPT=ON \
203         -DWITH_GETTEXT=ON \
204         -DWITH_LIBSECRET=ON \
205         %{cmake_on_off nx WITH_LIBSSH} \
206         %{cmake_on_off vnc WITH_LIBVNCSERVER} \
207         %{cmake_on_off spice WITH_SPICE} \
208         %{cmake_on_off vte WITH_VTE} \
209         .
210
211 %{__make}
212
213 %install
214 rm -rf $RPM_BUILD_ROOT
215 %{__make} install \
216         DESTDIR=$RPM_BUILD_ROOT
217
218 install -d $RPM_BUILD_ROOT/%{_libdir}/cmake/%{name}/
219 cp -pr cmake/*.cmake $RPM_BUILD_ROOT/%{_libdir}/cmake/%{name}/
220 cp -pr config.h.in $RPM_BUILD_ROOT/%{_includedir}/%{name}/
221 cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_includedir}/%{name}/
222
223 # not supported by glibc yet
224 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ber,br,ckb,eo,ie,hi,shn}
225
226 %find_lang %{name}
227
228 %clean
229 rm -rf $RPM_BUILD_ROOT
230
231 %post
232 %update_icon_cache hicolor
233
234 %postun
235 %update_icon_cache hicolor
236
237 %files -f %{name}.lang
238 %defattr(644,root,root,755)
239 %doc LICENSE AUTHORS ChangeLog README.md
240 %attr(755,root,root) %{_bindir}/remmina-file-wrapper
241 %attr(755,root,root) %{_bindir}/remmina
242 %{_datadir}/metainfo/*.appdata.xml
243 %{_desktopdir}/*.desktop
244 %{_iconsdir}/hicolor/*/actions/*.*
245 %{_iconsdir}/hicolor/*/apps/*.*
246 %{_iconsdir}/hicolor/*/emblems/remmina-sftp-symbolic.svg
247 %{_iconsdir}/hicolor/*/emblems/remmina-ssh-symbolic.svg
248 %{_iconsdir}/hicolor/*/emblems/remmina-tool-symbolic.svg
249 %dir %{_iconsdir}/hicolor/apps
250 %{_iconsdir}/hicolor/apps/*.*
251 %dir %{_iconsdir}/hicolor/scalable/panel
252 %{_iconsdir}/hicolor/scalable/panel/*.*
253 %{_datadir}/mime/packages/*.xml
254 %{_datadir}/%{name}/
255 %dir %{_libdir}/remmina/
256 %dir %{_libdir}/remmina/plugins/
257 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-st.so
258 %{_mandir}/man1/remmina.1*
259 %{_mandir}/man1/remmina-file-wrapper.1*
260
261 %files devel
262 %defattr(644,root,root,755)
263 %{_includedir}/%{name}/
264 %{_pkgconfigdir}/%{name}.pc
265 %dir %{_libdir}/cmake/%{name}
266 %{_libdir}/cmake/%{name}/*.cmake
267
268 %if %{with exec}
269 %files plugins-exec
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-exec.so
272 %endif
273
274 %if %{with nx}
275 %files plugins-nx
276 %defattr(644,root,root,755)
277 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-nx.so
278 %{_iconsdir}/hicolor/*/emblems/remmina-nx-symbolic.svg
279 %endif
280
281 %if %{with rdp}
282 %files plugins-rdp
283 %defattr(644,root,root,755)
284 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-rdp.so
285 %{_iconsdir}/hicolor/*/emblems/remmina-rdp-ssh-symbolic.svg
286 %{_iconsdir}/hicolor/*/emblems/remmina-rdp-symbolic.svg
287 %endif
288
289 %if %{with secret}
290 %files plugins-secret
291 %defattr(644,root,root,755)
292 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-secret.so
293 %endif
294
295 %if %{with spice}
296 %files plugins-spice
297 %defattr(644,root,root,755)
298 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-spice.so
299 %{_iconsdir}/hicolor/*/emblems/remmina-spice-symbolic.svg
300 %{_iconsdir}/hicolor/*/emblems/remmina-spice-ssh-symbolic.svg
301 %endif
302
303 %if %{with vnc}
304 %files plugins-vnc
305 %defattr(644,root,root,755)
306 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-vnc.so
307 %{_iconsdir}/hicolor/*/emblems/remmina-vnc-ssh-symbolic.svg
308 %{_iconsdir}/hicolor/*/emblems/remmina-vnc-symbolic.svg
309 %endif
310
311 %if %{with www}
312 %files plugins-www
313 %defattr(644,root,root,755)
314 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-www.so
315 %{_iconsdir}/hicolor/*/emblems/remmina-www-symbolic.svg
316 %endif
317
318 %if %{with xdmcp}
319 %files plugins-xdmcp
320 %defattr(644,root,root,755)
321 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-xdmcp.so
322 %{_iconsdir}/hicolor/*/emblems/remmina-xdmcp-ssh-symbolic.svg
323 %{_iconsdir}/hicolor/*/emblems/remmina-xdmcp-symbolic.svg
324 %endif
325
326 %changelog
This page took 0.821745 seconds and 3 git commands to generate.