2 # note: disabling plugins will still build them if deps are met
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
15 Summary: Remote Desktop Client
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: 17c9f9530b9863365e9acf18183c69eb
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 Requires: libssh >= 0.6
54 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
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
62 Remmina supports multiple network protocols in an integrated and
63 consistent user interface. Currently RDP, VNC, XDMCP and SSH are
66 Please don't forget to install the plugins for the protocols you want
70 Summary: Development files for %{name}
71 Requires: %{name} = %{version}-%{release}
75 The %{name}-devel package contains header files for developing plugins
79 Summary: External execution plugin for Remmina Remote Desktop Client
80 Requires: %{name} = %{version}-%{release}
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
88 This package contains the plugin to execute external processes
89 (commands or applications) from the Remmina window.
92 Summary: NX plugin for Remmina Remote Desktop Client
93 Requires: %{name} = %{version}-%{release}
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
102 This package contains the NX plugin for the Remmina remote desktop
106 Summary: RDP plugin for Remmina Remote Desktop Client
107 Requires: %{name} = %{version}-%{release}
108 Requires: freerdp2-libs >= 2.0.0-0.20190320
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
116 This package contains the Remote Desktop Protocol (RDP) plugin for the
117 Remmina remote desktop client.
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}
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
131 This package contains the plugin with keyring support for the Remmina
132 remote desktop client.
134 %package plugins-spice
135 Summary: SPICE plugin for Remmina Remote Desktop Client
136 Requires: %{name} = %{version}-%{release}
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
144 This package contains the SPICE plugin for the Remmina remote desktop
148 Summary: VNC plugin for Remmina Remote Desktop Client
149 Requires: %{name} = %{version}-%{release}
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
157 This package contains the VNC plugin for the Remmina remote desktop
161 Summary: Browser plugin for Remmina Remote Desktop Client
162 Requires: %{name} = %{version}-%{release}
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
170 This package contains the www plugin for the Remmina remote desktop
173 %package plugins-xdmcp
174 Summary: XDMCP plugin for Remmina Remote Desktop Client
175 Requires: %{name} = %{version}-%{release}
176 Requires: xorg-xserver-Xephyr
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
184 This package contains the XDMCP plugin for the Remmina remote desktop
188 %setup -qn Remmina-v%{version}
189 %{__sed} -i s/^pt_PT$// po/LINGUAS
190 %{__rm} -f po/pt_PT.po
196 %cmake --build=build \
197 -DCMAKE_INSTALL_LIBDIR=%{_lib} \
198 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
199 -DWITH_APPINDICATOR=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} \
214 rm -rf $RPM_BUILD_ROOT
216 DESTDIR=$RPM_BUILD_ROOT
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}/
223 # not supported by glibc yet
224 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{br,ckb,eo,ie,hi,shn}
229 rm -rf $RPM_BUILD_ROOT
232 %update_icon_cache hicolor
235 %update_icon_cache hicolor
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
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*
262 %defattr(644,root,root,755)
263 %{_includedir}/%{name}/
264 %{_pkgconfigdir}/%{name}.pc
265 %dir %{_libdir}/cmake/%{name}
266 %{_libdir}/cmake/%{name}/*.cmake
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-exec.so
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
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
290 %files plugins-secret
291 %defattr(644,root,root,755)
292 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-secret.so
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
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
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
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