2 # note: disabling plugins will still build them if deps are met
5 %bcond_without exec # do not build exec plugin
6 %bcond_without rdp # do not build rdp plugin
7 %bcond_without secret # do not build secret plugin
8 %bcond_without spice # do not build spice plugin
9 %bcond_without vnc # do not build vnc plugin
10 %bcond_without vte # do not build vte plugin
11 %bcond_without www # do not build www plugin
13 Summary: Remote Desktop Client
17 License: GPLv2+ and MIT
18 Group: X11/Applications
19 Source0: https://gitlab.com/Remmina/Remmina/-/archive/v%{version}/Remmina-v%{version}.tar.bz2
20 # Source0-md5: 72d0975ad6899c9017ad9e3699933e46
21 # Cmake helper file to easy build plugins outside remmina source tree
22 # See http://www.muflone.com/remmina-plugin-rdesktop/english/install.html which
23 # use http://www.muflone.com/remmina-plugin-builder/ with remmina bundled source.
24 # So we can't use it directly only as instructions.
25 Source1: pluginBuild-CMakeLists.txt
26 Patch0: fix-shebangs.patch
27 URL: http://remmina.org
28 BuildRequires: atk-devel
29 BuildRequires: avahi-devel >= 0.6.30
30 BuildRequires: avahi-ui-gtk3-devel >= 0.6.30
31 BuildRequires: cairo-devel
32 BuildRequires: cmake >= 3.10.0
33 %{?with_rdp:BuildRequires: cups-devel}
34 %{?with_rdp:BuildRequires: freerdp2-devel >= 2.0.0-0.20190320}
35 BuildRequires: gdk-pixbuf2-devel
36 BuildRequires: gettext-tools
37 BuildRequires: glib2-devel
38 BuildRequires: gtk+3-devel >= 3.14.0
39 %{?with_www:BuildRequires: gtk-webkit4-devel}
40 BuildRequires: harfbuzz-devel
41 BuildRequires: json-glib-devel
42 BuildRequires: libayatana-appindicator-gtk3-devel
43 BuildRequires: libgcrypt-devel
44 %{?with_secret:BuildRequires: libsecret-devel}
45 BuildRequires: libsodium-devel
46 %{?with_www:BuildRequires: libsoup3-devel}
47 BuildRequires: libssh-devel >= 0.6
48 %{?with_vnc:BuildRequires: libvncserver-devel}
49 BuildRequires: pango-devel
50 BuildRequires: pcre2-8-devel
51 BuildRequires: pkgconfig
52 BuildRequires: python3-devel
53 BuildRequires: rpmbuild(macros) >= 1.742
55 BuildRequires: spice-glib-devel
56 BuildRequires: spice-gtk-devel
57 BuildRequires: spice-protocol
59 BuildRequires: wayland-devel
60 %{?with_vte:BuildRequires: vte-devel >= 0.38}
61 BuildRequires: xorg-lib-libxkbcommon-devel
62 Requires(post,postun): gtk-update-icon-cache
63 Requires: avahi-ui-gtk3 >= 0.6.30
64 Requires: gtk+3 >= 3.14.0
65 Requires: hicolor-icon-theme
66 Obsoletes: remmina-plugins-nx < 1.4.20
67 Obsoletes: remmina-plugins-xdmcp < 1.4.20
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71 Remmina is a remote desktop client written in GTK+, aiming to be
72 useful for system administrators and travelers, who need to work with
73 lots of remote computers in front of either large monitors or tiny
76 Remmina supports multiple network protocols in an integrated and
77 consistent user interface. Currently RDP, VNC, XDMCP and SSH are
80 Please don't forget to install the plugins for the protocols you want
84 Summary: Development files for %{name}
85 Requires: %{name} = %{version}-%{release}
89 The %{name}-devel package contains header files for developing plugins
93 Summary: External execution plugin for Remmina Remote Desktop Client
94 Requires: %{name} = %{version}-%{release}
96 %description plugins-exec
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 plugin to execute external processes
103 (commands or applications) from the Remmina window.
105 %package plugins-python_wrapper
106 Summary: Python Wrapper plugin for Remmina Remote Desktop Client
107 Requires: %{name} = %{version}-%{release}
109 %description plugins-python_wrapper
110 Remmina is a remote desktop client written in GTK+, aiming to be
111 useful for system administrators and travelers, who need to work with
112 lots of remote computers in front of either large monitors or tiny
115 This package enables Python plugins for Remmina.
118 Summary: RDP plugin for Remmina Remote Desktop Client
119 Requires: %{name} = %{version}-%{release}
120 Requires: freerdp2-libs >= 2.0.0-0.20190320
122 %description plugins-rdp
123 Remmina is a remote desktop client written in GTK+, aiming to be
124 useful for system administrators and travelers, who need to work with
125 lots of remote computers in front of either large monitors or tiny
128 This package contains the Remote Desktop Protocol (RDP) plugin for the
129 Remmina remote desktop client.
131 %package plugins-secret
132 Summary: Keyring integration for Remmina Remote Desktop Client
133 Requires: %{name} = %{version}-%{release}
134 Provides: %{name}-plugins-gnome%{?_isa} = %{version}-%{release}
135 Obsoletes: remmina-plugins-gnome < %{version}-%{release}
137 %description plugins-secret
138 Remmina is a remote desktop client written in GTK+, aiming to be
139 useful for system administrators and travelers, who need to work with
140 lots of remote computers in front of either large monitors or tiny
143 This package contains the plugin with keyring support for the Remmina
144 remote desktop client.
146 %package plugins-spice
147 Summary: SPICE plugin for Remmina Remote Desktop Client
148 Requires: %{name} = %{version}-%{release}
150 %description plugins-spice
151 Remmina is a remote desktop client written in GTK+, aiming to be
152 useful for system administrators and travelers, who need to work with
153 lots of remote computers in front of either large monitors or tiny
156 This package contains the SPICE plugin for the Remmina remote desktop
160 Summary: VNC plugin for Remmina Remote Desktop Client
161 Requires: %{name} = %{version}-%{release}
163 %description plugins-vnc
164 Remmina is a remote desktop client written in GTK+, aiming to be
165 useful for system administrators and travelers, who need to work with
166 lots of remote computers in front of either large monitors or tiny
169 This package contains the VNC plugin for the Remmina remote desktop
173 Summary: Browser plugin for Remmina Remote Desktop Client
174 Requires: %{name} = %{version}-%{release}
176 %description plugins-www
177 Remmina is a remote desktop client written in GTK+, aiming to be
178 useful for system administrators and travelers, who need to work with
179 lots of remote computers in front of either large monitors or tiny
182 This package contains the www plugin for the Remmina remote desktop
186 %setup -qn Remmina-v%{version}
187 %{__sed} -i s/^pt_PT$// po/LINGUAS
188 %{__rm} -f po/pt_PT.po
195 -DCMAKE_INSTALL_LIBDIR=%{_lib} \
196 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
197 -DWITH_APPINDICATOR=ON \
202 -DWITH_ICON_CACHE=OFF \
203 -DWITH_LIBSECRET=ON \
204 %{cmake_on_off vnc WITH_LIBVNCSERVER} \
205 %{cmake_on_off spice WITH_SPICE} \
206 -DWITH_UPDATE_DESKTOP_DB=OFF \
207 %{cmake_on_off vte WITH_VTE} \
213 rm -rf $RPM_BUILD_ROOT
216 DESTDIR=$RPM_BUILD_ROOT
219 install -d $RPM_BUILD_ROOT%{_libdir}/cmake/%{name}/
220 cp -pr cmake/*.cmake $RPM_BUILD_ROOT%{_libdir}/cmake/%{name}/
221 cp -pr config.h.in $RPM_BUILD_ROOT%{_includedir}/%{name}/
222 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/%{name}/
224 # not supported by glibc yet
225 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ber,br,ckb,eo,ie,ka,hi,shn}
230 rm -rf $RPM_BUILD_ROOT
233 %update_icon_cache hicolor
236 %update_icon_cache hicolor
238 %files -f %{name}.lang
239 %defattr(644,root,root,755)
240 %doc LICENSE AUTHORS ChangeLog README.md
241 %attr(755,root,root) %{_bindir}/remmina-file-wrapper
242 %attr(755,root,root) %{_bindir}/remmina
243 %{_datadir}/metainfo/*.appdata.xml
244 %{_desktopdir}/*.desktop
245 %{_iconsdir}/hicolor/*/actions/*.*
246 %{_iconsdir}/hicolor/*/apps/*.*
247 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-sftp-symbolic.svg
248 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-ssh-symbolic.svg
249 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-tool-symbolic.svg
250 %{_iconsdir}/hicolor/*/status/org.remmina.Remmina-status.svg
251 %dir %{_iconsdir}/hicolor/apps
252 %{_iconsdir}/hicolor/apps/*.*
253 %{_datadir}/mime/packages/*.xml
255 %dir %{_libdir}/remmina/
256 %dir %{_libdir}/remmina/plugins/
257 %{_mandir}/man1/remmina.1*
258 %{_mandir}/man1/remmina-file-wrapper.1*
261 %defattr(644,root,root,755)
262 %{_includedir}/%{name}/
263 %{_pkgconfigdir}/%{name}.pc
264 %dir %{_libdir}/cmake/%{name}
265 %{_libdir}/cmake/%{name}/*.cmake
269 %defattr(644,root,root,755)
270 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-exec.so
273 %files plugins-python_wrapper
274 %defattr(644,root,root,755)
275 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-python_wrapper.so
279 %defattr(644,root,root,755)
280 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-rdp.so
281 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-rdp-ssh-symbolic.svg
282 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-rdp-symbolic.svg
286 %files plugins-secret
287 %defattr(644,root,root,755)
288 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-secret.so
293 %defattr(644,root,root,755)
294 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-spice.so
295 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-spice-symbolic.svg
296 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-spice-ssh-symbolic.svg
301 %defattr(644,root,root,755)
302 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-vnc.so
303 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-vnc-ssh-symbolic.svg
304 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-vnc-symbolic.svg
309 %defattr(644,root,root,755)
310 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-www.so
311 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-www-symbolic.svg