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: 11a9220d2c7fcedcbaee21b54610ed37
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: cups-devel
34 BuildRequires: desktop-file-utils
35 %{?with_rdp:BuildRequires: freerdp2-devel >= 2.0.0-0.20190320}
36 BuildRequires: gettext
37 BuildRequires: gtk+3-devel
38 %{?with_www:BuildRequires: gtk-webkit4-devel}
39 BuildRequires: intltool
40 BuildRequires: json-glib-devel
41 BuildRequires: libappindicator-gtk3-devel
42 BuildRequires: libgcrypt-devel
43 BuildRequires: pcre2-8-devel
44 %{?with_secret:BuildRequires: libsecret-devel}
45 BuildRequires: libsodium-devel
46 BuildRequires: libsoup-devel
47 %{?with_nx:BuildRequires: libssh-devel >= 0.6}
48 %{?with_vnc:BuildRequires: libvncserver-devel}
49 BuildRequires: rpmbuild(macros) >= 1.742
50 %{?with_spice:BuildRequires: spice-gtk-devel}
51 %{?with_vte:BuildRequires: vte-devel}
52 BuildRequires: xorg-lib-libxkbfile-devel
53 Requires(post,postun): gtk-update-icon-cache
54 Requires: avahi-ui-gtk3 >= 0.6.30
55 Requires: hicolor-icon-theme
56 %{?with_nx:Requires: libssh >= 0.6}
57 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
60 Remmina is a remote desktop client written in GTK+, aiming to be
61 useful for system administrators and travelers, who need to work with
62 lots of remote computers in front of either large monitors or tiny
65 Remmina supports multiple network protocols in an integrated and
66 consistent user interface. Currently RDP, VNC, XDMCP and SSH are
69 Please don't forget to install the plugins for the protocols you want
73 Summary: Development files for %{name}
74 Requires: %{name} = %{version}-%{release}
78 The %{name}-devel package contains header files for developing plugins
82 Summary: External execution plugin for Remmina Remote Desktop Client
83 Requires: %{name} = %{version}-%{release}
85 %description plugins-exec
86 Remmina is a remote desktop client written in GTK+, aiming to be
87 useful for system administrators and travelers, who need to work with
88 lots of remote computers in front of either large monitors or tiny
91 This package contains the plugin to execute external processes
92 (commands or applications) from the Remmina window.
95 Summary: NX plugin for Remmina Remote Desktop Client
96 Requires: %{name} = %{version}-%{release}
99 %description plugins-nx
100 Remmina is a remote desktop client written in GTK+, aiming to be
101 useful for system administrators and travelers, who need to work with
102 lots of remote computers in front of either large monitors or tiny
105 This package contains the NX plugin for the Remmina remote desktop
109 Summary: RDP plugin for Remmina Remote Desktop Client
110 Requires: %{name} = %{version}-%{release}
111 Requires: freerdp2-libs >= 2.0.0-0.20190320
113 %description plugins-rdp
114 Remmina is a remote desktop client written in GTK+, aiming to be
115 useful for system administrators and travelers, who need to work with
116 lots of remote computers in front of either large monitors or tiny
119 This package contains the Remote Desktop Protocol (RDP) plugin for the
120 Remmina remote desktop client.
122 %package plugins-secret
123 Summary: Keyring integration for Remmina Remote Desktop Client
124 Requires: %{name} = %{version}-%{release}
125 Provides: %{name}-plugins-gnome%{?_isa} = %{version}-%{release}
126 Obsoletes: remmina-plugins-gnome < %{version}-%{release}
128 %description plugins-secret
129 Remmina is a remote desktop client written in GTK+, aiming to be
130 useful for system administrators and travelers, who need to work with
131 lots of remote computers in front of either large monitors or tiny
134 This package contains the plugin with keyring support for the Remmina
135 remote desktop client.
137 %package plugins-spice
138 Summary: SPICE plugin for Remmina Remote Desktop Client
139 Requires: %{name} = %{version}-%{release}
141 %description plugins-spice
142 Remmina is a remote desktop client written in GTK+, aiming to be
143 useful for system administrators and travelers, who need to work with
144 lots of remote computers in front of either large monitors or tiny
147 This package contains the SPICE plugin for the Remmina remote desktop
151 Summary: VNC plugin for Remmina Remote Desktop Client
152 Requires: %{name} = %{version}-%{release}
154 %description plugins-vnc
155 Remmina is a remote desktop client written in GTK+, aiming to be
156 useful for system administrators and travelers, who need to work with
157 lots of remote computers in front of either large monitors or tiny
160 This package contains the VNC plugin for the Remmina remote desktop
164 Summary: Browser plugin for Remmina Remote Desktop Client
165 Requires: %{name} = %{version}-%{release}
167 %description plugins-www
168 Remmina is a remote desktop client written in GTK+, aiming to be
169 useful for system administrators and travelers, who need to work with
170 lots of remote computers in front of either large monitors or tiny
173 This package contains the www plugin for the Remmina remote desktop
176 %package plugins-xdmcp
177 Summary: XDMCP plugin for Remmina Remote Desktop Client
178 Requires: %{name} = %{version}-%{release}
179 Requires: xorg-xserver-Xephyr
181 %description plugins-xdmcp
182 Remmina is a remote desktop client written in GTK+, aiming to be
183 useful for system administrators and travelers, who need to work with
184 lots of remote computers in front of either large monitors or tiny
187 This package contains the XDMCP plugin for the Remmina remote desktop
191 %setup -qn Remmina-v%{version}
192 %{__sed} -i s/^pt_PT$// po/LINGUAS
193 %{__rm} -f po/pt_PT.po
199 %cmake --build=build \
200 -DCMAKE_INSTALL_LIBDIR=%{_lib} \
201 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
202 -DWITH_APPINDICATOR=ON \
207 -DWITH_LIBSECRET=ON \
208 %{cmake_on_off nx WITH_LIBSSH} \
209 %{cmake_on_off vnc WITH_LIBVNCSERVER} \
210 %{cmake_on_off spice WITH_SPICE} \
211 %{cmake_on_off vte WITH_VTE} \
217 rm -rf $RPM_BUILD_ROOT
219 DESTDIR=$RPM_BUILD_ROOT
221 install -d $RPM_BUILD_ROOT/%{_libdir}/cmake/%{name}/
222 cp -pr cmake/*.cmake $RPM_BUILD_ROOT/%{_libdir}/cmake/%{name}/
223 cp -pr config.h.in $RPM_BUILD_ROOT/%{_includedir}/%{name}/
224 cp -p %{SOURCE1} $RPM_BUILD_ROOT/%{_includedir}/%{name}/
226 # not supported by glibc yet
227 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ber,br,ckb,eo,ie,ka,hi,shn}
232 rm -rf $RPM_BUILD_ROOT
235 %update_icon_cache hicolor
238 %update_icon_cache hicolor
240 %files -f %{name}.lang
241 %defattr(644,root,root,755)
242 %doc LICENSE AUTHORS ChangeLog README.md
243 %attr(755,root,root) %{_bindir}/remmina-file-wrapper
244 %attr(755,root,root) %{_bindir}/remmina
245 %{_datadir}/metainfo/*.appdata.xml
246 %{_desktopdir}/*.desktop
247 %{_iconsdir}/hicolor/*/actions/*.*
248 %{_iconsdir}/hicolor/*/apps/*.*
249 %{_iconsdir}/hicolor/*/emblems/remmina-sftp-symbolic.svg
250 %{_iconsdir}/hicolor/*/emblems/remmina-ssh-symbolic.svg
251 %{_iconsdir}/hicolor/*/emblems/remmina-tool-symbolic.svg
252 %dir %{_iconsdir}/hicolor/apps
253 %{_iconsdir}/hicolor/apps/*.*
254 %dir %{_iconsdir}/hicolor/scalable/panel
255 %{_iconsdir}/hicolor/scalable/panel/*.*
256 %{_datadir}/mime/packages/*.xml
258 %dir %{_libdir}/remmina/
259 %dir %{_libdir}/remmina/plugins/
260 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-st.so
261 %{_mandir}/man1/remmina.1*
262 %{_mandir}/man1/remmina-file-wrapper.1*
265 %defattr(644,root,root,755)
266 %{_includedir}/%{name}/
267 %{_pkgconfigdir}/%{name}.pc
268 %dir %{_libdir}/cmake/%{name}
269 %{_libdir}/cmake/%{name}/*.cmake
273 %defattr(644,root,root,755)
274 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-exec.so
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-nx.so
281 %{_iconsdir}/hicolor/*/emblems/remmina-nx-symbolic.svg
286 %defattr(644,root,root,755)
287 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-rdp.so
288 %{_iconsdir}/hicolor/*/emblems/remmina-rdp-ssh-symbolic.svg
289 %{_iconsdir}/hicolor/*/emblems/remmina-rdp-symbolic.svg
293 %files plugins-secret
294 %defattr(644,root,root,755)
295 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-secret.so
300 %defattr(644,root,root,755)
301 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-spice.so
302 %{_iconsdir}/hicolor/*/emblems/remmina-spice-symbolic.svg
303 %{_iconsdir}/hicolor/*/emblems/remmina-spice-ssh-symbolic.svg
308 %defattr(644,root,root,755)
309 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-vnc.so
310 %{_iconsdir}/hicolor/*/emblems/remmina-vnc-ssh-symbolic.svg
311 %{_iconsdir}/hicolor/*/emblems/remmina-vnc-symbolic.svg
316 %defattr(644,root,root,755)
317 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-www.so
318 %{_iconsdir}/hicolor/*/emblems/remmina-www-symbolic.svg
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-xdmcp.so
325 %{_iconsdir}/hicolor/*/emblems/remmina-xdmcp-ssh-symbolic.svg
326 %{_iconsdir}/hicolor/*/emblems/remmina-xdmcp-symbolic.svg