2 # note: disabling plugins will still build them if deps are met
5 %bcond_without rdp # do not build rdp plugin
6 %bcond_without secret # do not build secret plugin
7 %bcond_without spice # do not build spice plugin
8 %bcond_without vnc # do not build vnc plugin
9 %bcond_without vte # do not build vte plugin
10 %bcond_without www # do not build www plugin
12 Summary: Remote Desktop Client
16 License: GPLv2+ and MIT
17 Group: X11/Applications
18 Source0: https://gitlab.com/Remmina/Remmina/-/archive/v%{version}/Remmina-v%{version}.tar.bz2
19 # Source0-md5: f655881007cc55db30518b9bfcae5ec4
20 # Cmake helper file to easy build plugins outside remmina source tree
21 # See http://www.muflone.com/remmina-plugin-rdesktop/english/install.html which
22 # use http://www.muflone.com/remmina-plugin-builder/ with remmina bundled source.
23 # So we can't use it directly only as instructions.
24 Source1: pluginBuild-CMakeLists.txt
25 Patch0: fix-shebangs.patch
26 URL: http://remmina.org
27 BuildRequires: atk-devel
28 BuildRequires: avahi-devel >= 0.6.30
29 BuildRequires: avahi-ui-gtk3-devel >= 0.6.30
30 BuildRequires: cairo-devel
31 BuildRequires: cmake >= 3.10.0
32 %{?with_rdp:BuildRequires: cups-devel}
33 BuildRequires: curl-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.1-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): desktop-file-utils
63 Requires(post,postun): gtk-update-icon-cache
64 Requires(post,postun): shared-mime-info
65 Requires: avahi-ui-gtk3 >= 0.6.30
66 Requires: gtk+3 >= 3.14.0
67 Requires: hicolor-icon-theme
68 Obsoletes: remmina-plugins-nx < 1.4.20
69 Obsoletes: remmina-plugins-xdmcp < 1.4.20
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 Remmina is a remote desktop client written in GTK+, aiming to be
74 useful for system administrators and travelers, who need to work with
75 lots of remote computers in front of either large monitors or tiny
78 Remmina supports multiple network protocols in an integrated and
79 consistent user interface. Currently RDP, VNC, XDMCP and SSH are
82 Please don't forget to install the plugins for the protocols you want
86 Summary: Development files for %{name}
87 Requires: %{name} = %{version}-%{release}
91 The %{name}-devel package contains header files for developing plugins
95 Summary: External execution plugin for Remmina Remote Desktop Client
96 Requires: %{name} = %{version}-%{release}
98 %description plugins-exec
99 Remmina is a remote desktop client written in GTK+, aiming to be
100 useful for system administrators and travelers, who need to work with
101 lots of remote computers in front of either large monitors or tiny
104 This package contains the plugin to execute external processes
105 (commands or applications) from the Remmina window.
107 %package plugins-python_wrapper
108 Summary: Python Wrapper plugin for Remmina Remote Desktop Client
109 Requires: %{name} = %{version}-%{release}
111 %description plugins-python_wrapper
112 Remmina is a remote desktop client written in GTK+, aiming to be
113 useful for system administrators and travelers, who need to work with
114 lots of remote computers in front of either large monitors or tiny
117 This package enables Python plugins for Remmina.
120 Summary: RDP plugin for Remmina Remote Desktop Client
121 Requires: %{name} = %{version}-%{release}
122 Requires: freerdp2-libs >= 2.0.0-0.20190320
124 %description plugins-rdp
125 Remmina is a remote desktop client written in GTK+, aiming to be
126 useful for system administrators and travelers, who need to work with
127 lots of remote computers in front of either large monitors or tiny
130 This package contains the Remote Desktop Protocol (RDP) plugin for the
131 Remmina remote desktop client.
133 %package plugins-secret
134 Summary: Keyring integration for Remmina Remote Desktop Client
135 Requires: %{name} = %{version}-%{release}
136 Provides: %{name}-plugins-gnome%{?_isa} = %{version}-%{release}
137 Obsoletes: remmina-plugins-gnome < %{version}-%{release}
139 %description plugins-secret
140 Remmina is a remote desktop client written in GTK+, aiming to be
141 useful for system administrators and travelers, who need to work with
142 lots of remote computers in front of either large monitors or tiny
145 This package contains the plugin with keyring support for the Remmina
146 remote desktop client.
148 %package plugins-spice
149 Summary: SPICE plugin for Remmina Remote Desktop Client
150 Requires: %{name} = %{version}-%{release}
152 %description plugins-spice
153 Remmina is a remote desktop client written in GTK+, aiming to be
154 useful for system administrators and travelers, who need to work with
155 lots of remote computers in front of either large monitors or tiny
158 This package contains the SPICE plugin for the Remmina remote desktop
162 Summary: VNC plugin for Remmina Remote Desktop Client
163 Requires: %{name} = %{version}-%{release}
165 %description plugins-vnc
166 Remmina is a remote desktop client written in GTK+, aiming to be
167 useful for system administrators and travelers, who need to work with
168 lots of remote computers in front of either large monitors or tiny
171 This package contains the VNC plugin for the Remmina remote desktop
175 Summary: Browser plugin for Remmina Remote Desktop Client
176 Requires: %{name} = %{version}-%{release}
178 %description plugins-www
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 www 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
197 -DCMAKE_INSTALL_LIBDIR=%{_lib} \
198 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
199 -DWITH_APPINDICATOR=ON \
204 -DWITH_ICON_CACHE=OFF \
205 %{cmake_on_off secret WITH_LIBSECRET} \
206 %{cmake_on_off vnc WITH_LIBVNCSERVER} \
207 -DWITH_NEWS:BOOL=OFF \
208 %{cmake_on_off spice WITH_SPICE} \
209 -DWITH_STATS:BOOL=OFF \
210 -DWITH_UPDATE_DESKTOP_DB=OFF \
211 %{cmake_on_off vte WITH_VTE} \
212 %{cmake_on_off www WITH_WWW} \
218 rm -rf $RPM_BUILD_ROOT
221 DESTDIR=$RPM_BUILD_ROOT
224 install -d $RPM_BUILD_ROOT%{_libdir}/cmake/%{name}/
225 cp -pr cmake/*.cmake $RPM_BUILD_ROOT%{_libdir}/cmake/%{name}/
226 cp -pr config.h.in $RPM_BUILD_ROOT%{_includedir}/%{name}/
227 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_includedir}/%{name}/
229 # not supported by glibc yet
230 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{ber,br,ckb,eo,ie,ka,hi,shn}
235 rm -rf $RPM_BUILD_ROOT
238 %update_icon_cache hicolor
239 %update_desktop_database_post
240 %update_mime_database
243 %update_icon_cache hicolor
244 %update_desktop_database_postun
245 %update_mime_database
247 %files -f %{name}.lang
248 %defattr(644,root,root,755)
249 %doc LICENSE AUTHORS ChangeLog README.md
250 %attr(755,root,root) %{_bindir}/remmina-file-wrapper
251 %attr(755,root,root) %{_bindir}/remmina
252 %{_datadir}/metainfo/*.appdata.xml
253 %{_desktopdir}/*.desktop
254 %{_iconsdir}/hicolor/*/actions/*.*
255 %{_iconsdir}/hicolor/*/apps/*.*
256 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-sftp-symbolic.svg
257 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-ssh-symbolic.svg
258 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-tool-symbolic.svg
259 %{_iconsdir}/hicolor/*/status/org.remmina.Remmina-status.svg
260 %dir %{_iconsdir}/hicolor/apps
261 %{_iconsdir}/hicolor/apps/*.*
262 %{_datadir}/mime/packages/*.xml
264 %dir %{_libdir}/remmina/
265 %dir %{_libdir}/remmina/plugins/
266 %{_mandir}/man1/remmina.1*
267 %{_mandir}/man1/remmina-file-wrapper.1*
270 %defattr(644,root,root,755)
271 %{_includedir}/%{name}/
272 %{_pkgconfigdir}/%{name}.pc
273 %dir %{_libdir}/cmake/%{name}
274 %{_libdir}/cmake/%{name}/*.cmake
277 %defattr(644,root,root,755)
278 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-exec.so
280 %files plugins-python_wrapper
281 %defattr(644,root,root,755)
282 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-python_wrapper.so
286 %defattr(644,root,root,755)
287 %attr(755,root,root) %{_libdir}/remmina/plugins/remmina-plugin-rdp.so
288 %{_iconsdir}/hicolor/*/emblems/org.remmina.Remmina-rdp-ssh-symbolic.svg
289 %{_iconsdir}/hicolor/*/emblems/org.remmina.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/org.remmina.Remmina-spice-symbolic.svg
303 %{_iconsdir}/hicolor/*/emblems/org.remmina.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/org.remmina.Remmina-vnc-ssh-symbolic.svg
311 %{_iconsdir}/hicolor/*/emblems/org.remmina.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/org.remmina.Remmina-www-symbolic.svg