+#
+# note: disabling plugins will still build them if deps are met
+#
+# Conditional build:
+%bcond_without exec # do not build exec plugin
+%bcond_with nx # build nx plugin
+%bcond_without rdp # do not build rdp plugin
+%bcond_without secret # do not build secret plugin
+%bcond_without spice # do not build spice plugin
+%bcond_without telepathy # do not build telepathy plugin
+%bcond_without vnc # do not build vnc plugin
+%bcond_without xdmcp # do not build xdmcp plugin
+#
Summary: Remote Desktop Client
Name: remmina
Version: 1.3.4
BuildRequires: avahi-ui-gtk3-devel >= 0.6.30
BuildRequires: cmake >= 2.8
BuildRequires: desktop-file-utils
-BuildRequires: freerdp2-devel >= 2.0.0-0.20190320
+%{?with_rdp:BuildRequires: freerdp2-devel >= 2.0.0-0.20190320}
BuildRequires: gettext
BuildRequires: gtk+3-devel
BuildRequires: intltool
BuildRequires: json-glib-devel
BuildRequires: libappindicator-gtk3-devel
BuildRequires: libgcrypt-devel
-BuildRequires: libsecret-devel
+%{?with_secret:BuildRequires: libsecret-devel}
BuildRequires: libsoup-devel
BuildRequires: libssh-devel >= 0.6
-BuildRequires: libvncserver-devel
+%{?with_vnc:BuildRequires: libvncserver-devel}
#BuildRequires: pkgconfig(vte-2.91)
-BuildRequires: spice-gtk-devel
+BuildRequires: rpmbuild(macros) >= 1.742
+%{?with_spice:BuildRequires: spice-gtk-devel}
+%{?with_telepathy:BuildRequires: telepathy-glib-devel}
BuildRequires: xorg-lib-libxkbfile-devel
%description
This package contains the plugin to execute external processes
(commands or applications) from the Remmina window.
+%package plugins-nx
+Summary: NX plugin for Remmina Remote Desktop Client
+Requires: %{name} = %{version}-%{release}
+Requires: nxproxy
+
+%description plugins-nx
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work with
+lots of remote computers in front of either large monitors or tiny
+net-books.
+
+This package contains the NX plugin for the Remmina remote desktop
+client.
+
+%package plugins-rdp
+Summary: RDP plugin for Remmina Remote Desktop Client
+Requires: %{name} = %{version}-%{release}
+
+%description plugins-rdp
+Remmina is a remote desktop client written in GTK+, aiming to be
+useful for system administrators and travelers, who need to work with
+lots of remote computers in front of either large monitors or tiny
+net-books.
+
+This package contains the Remote Desktop Protocol (RDP) plugin for the
+Remmina remote desktop client.
+
%package plugins-secret
Summary: Keyring integration for Remmina Remote Desktop Client
Requires: %{name} = %{version}-%{release}
This package contains the plugin with keyring support for the Remmina
remote desktop client.
-%package plugins-nx
-Summary: NX plugin for Remmina Remote Desktop Client
+%package plugins-spice
+Summary: SPICE plugin for Remmina Remote Desktop Client
Requires: %{name} = %{version}-%{release}
-Requires: nxproxy
-%description plugins-nx
+%description plugins-spice
Remmina is a remote desktop client written in GTK+, aiming to be
useful for system administrators and travelers, who need to work with
lots of remote computers in front of either large monitors or tiny
net-books.
-This package contains the NX plugin for the Remmina remote desktop
+This package contains the SPICE plugin for the Remmina remote desktop
client.
-%package plugins-rdp
-Summary: RDP plugin for Remmina Remote Desktop Client
+%package plugins-telepathy
+Summary: Telepathy plugin for Remmina Remote Desktop Client
Requires: %{name} = %{version}-%{release}
-%description plugins-rdp
+%description plugins-telepathy
Remmina is a remote desktop client written in GTK+, aiming to be
useful for system administrators and travelers, who need to work with
lots of remote computers in front of either large monitors or tiny
net-books.
-This package contains the Remote Desktop Protocol (RDP) plugin for the
-Remmina remote desktop client.
+This package contains the Telepathy plugin for the Remmina remote
+desktop client.
%package plugins-vnc
Summary: VNC plugin for Remmina Remote Desktop Client
This package contains the XDMCP plugin for the Remmina remote desktop
client.
-%package plugins-spice
-Summary: SPICE plugin for Remmina Remote Desktop Client
-Requires: %{name} = %{version}-%{release}
-
-%description plugins-spice
-Remmina is a remote desktop client written in GTK+, aiming to be
-useful for system administrators and travelers, who need to work with
-lots of remote computers in front of either large monitors or tiny
-net-books.
-
-This package contains the SPICE plugin for the Remmina remote desktop
-client.
-
%prep
%setup -qn Remmina-v%{version}
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DWITH_APPINDICATOR=ON \
-DWITH_AVAHI=ON \
- -DWITH_FREERDP=ON \
+ %{cmake_on_off rdp FREERDP} \
-DWITH_GCRYPT=ON \
-DWITH_GETTEXT=ON \
-DWITH_LIBSSH=ON \
- -DWITH_SPICE=ON \
- -DWITH_TELEPATHY=ON \
- -DWITH_VTE=ON \
+ %{cmake_on_off vnc LIBVNCSERVER} \
+ %{cmake_on_off spice SPICE} \
+ %{cmake_on_off telepathy TELEPATHY} \
+ %{cmake_on_off vte VTE} \
.
%{__make}
%{_pkgconfigdir}/%{name}.pc
%{_libdir}/cmake/%{name}/*.cmake
+%if %{with exec}
%files plugins-exec
%defattr(644,root,root,755)
%{_libdir}/remmina/plugins/remmina-plugin-exec.so
+%endif
-%files plugins-secret
-%defattr(644,root,root,755)
-%{_libdir}/remmina/plugins/remmina-plugin-secret.so
-
+%if %{with nx}
%files plugins-nx
%defattr(644,root,root,755)
%{_libdir}/remmina/plugins/remmina-plugin-nx.so
%{_iconsdir}/hicolor/*/emblems/remmina-nx-symbolic.svg
+%endif
+%if %{with rdp}
%files plugins-rdp
%defattr(644,root,root,755)
%{_libdir}/remmina/plugins/remmina-plugin-rdp.so
%{_iconsdir}/hicolor/*/emblems/remmina-rdp-ssh-symbolic.svg
%{_iconsdir}/hicolor/*/emblems/remmina-rdp-symbolic.svg
+%endif
+
+%if %{with secret}
+%files plugins-secret
+%defattr(644,root,root,755)
+%{_libdir}/remmina/plugins/remmina-plugin-secret.so
+%endif
+%if %{with spice}
+%files plugins-spice
+%defattr(644,root,root,755)
+%{_libdir}/remmina/plugins/remmina-plugin-spice.so
+%{_iconsdir}/hicolor/*/emblems/remmina-spice-symbolic.svg
+%{_iconsdir}/hicolor/*/emblems/remmina-spice-ssh-symbolic.svg
+%endif
+
+%if %{with telepathy}
+%files plugins-telepathy
+%defattr(644,root,root,755)
+%{_libdir}/remmina/plugins/remmina-plugin-telepathy.so
+%{_datadir}/dbus-1/services/org.freedesktop.Telepathy.Client.Remmina.service
+%{_datadir}/telepathy/clients/Remmina.client
+%endif
+
+%if %{with vnc}
%files plugins-vnc
%defattr(644,root,root,755)
%{_libdir}/remmina/plugins/remmina-plugin-vnc.so
%{_iconsdir}/hicolor/*/emblems/remmina-vnc-ssh-symbolic.svg
%{_iconsdir}/hicolor/*/emblems/remmina-vnc-symbolic.svg
+%endif
+%if %{with xdmcp}
%files plugins-xdmcp
%defattr(644,root,root,755)
%{_libdir}/remmina/plugins/remmina-plugin-xdmcp.so
%{_iconsdir}/hicolor/*/emblems/remmina-xdmcp-ssh-symbolic.svg
%{_iconsdir}/hicolor/*/emblems/remmina-xdmcp-symbolic.svg
-
-%files plugins-spice
-%defattr(644,root,root,755)
-%{_libdir}/remmina/plugins/remmina-plugin-spice.so
-%{_iconsdir}/hicolor/*/emblems/remmina-spice-symbolic.svg
-%{_iconsdir}/hicolor/*/emblems/remmina-spice-ssh-symbolic.svg
+%endif
%changelog