### https://download.copr.fedorainfracloud.org/results/marcoaurelio/freerdp-server-el9/epel-9-x86_64/09075538-remmina/remmina.spe ### To get spec in copr, just click on build -> click on arch (firtst column in build list) Name: remmina Version: 1.4.42 Release: 1%{?dist} Summary: Remote Desktop Client License: GPL-2.0-or-later and MIT URL: https://gitlab.com/Remmina/Remmina Source0: %{url}/-/archive/v%{version}/Remmina-v%{version}.tar.gz # Cmake helper file to easy build plugins outside remmina source tree # See http://www.muflone.com/remmina-plugin-rdesktop/english/install.html which # use http://www.muflone.com/remmina-plugin-builder/ with remmina bundled source. # So we can't use it directly only as instructions. #ource1: pluginBuild-CMakeLists.txt Source1: https://raw.githubusercontent.com/muflone/remmina-plugin-builder/refs/heads/master/CMakeLists.txt BuildRequires: cmake >= 3.2 BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: gettext BuildRequires: harfbuzz-devel BuildRequires: intltool %if 0%{?rhel} < 10 # Upstream doesn't support KF6 yet https://gitlab.com/Remmina/Remmina/-/issues/3141 BuildRequires: kf5-kwallet-devel %endif BuildRequires: libappstream-glib BuildRequires: libgcrypt-devel BuildRequires: libsodium-devel BuildRequires: python3-devel BuildRequires: xdg-utils BuildRequires: pkgconfig(appindicator3-0.1) %if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: pkgconfig(avahi-ui) BuildRequires: pkgconfig(avahi-ui-gtk3) %endif BuildRequires: pkgconfig(freerdp3) >= 3.3.0 BuildRequires: freerdp BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libsecret-1) %if 0%{?fedora} >= 37 || 0%{?rhel} >= 10 BuildRequires: pkgconfig(libsoup-3.0) %else BuildRequires: pkgconfig(libsoup-2.4) %endif BuildRequires: pkgconfig(libssh) >= 0.8.0 BuildRequires: pkgconfig(libvncserver) BuildRequires: pkgconfig(libpcre2-8) %if 0%{?fedora} || 0%{?rhel} >= 8 BuildRequires: pkgconfig(spice-client-gtk-3.0) %endif BuildRequires: pkgconfig(vte-2.91) %if 0%{?fedora} >= 37 || 0%{?rhel} >= 10 BuildRequires: pkgconfig(webkit2gtk-4.1) %else BuildRequires: pkgconfig(webkit2gtk-4.0) %endif BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xkbfile) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(fuse3) # We don't ship these remmina plugins any longer. Obsoletes: %{name}-plugins-nx < %{version}-%{release} Obsoletes: %{name}-plugins-st < %{version}-%{release} Obsoletes: %{name}-plugins-xdmcp < %{version}-%{release} Recommends: %{name}-plugins-exec Recommends: %{name}-plugins-rdp Recommends: %{name}-plugins-secret Recommends: %{name}-plugins-vnc %if 0%{?fedora} Recommends: openh264 %endif %description 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. Remmina supports multiple network protocols in an integrated and consistent user interface. Currently RDP, VNC and SSH are supported. Please don't forget to install the plugins for the protocols you want to use. %package devel Summary: Development files for %{name} Requires: %{name} = %{version}-%{release} Requires: pkgconfig %description devel The %{name}-devel package contains header files for developing plugins for %{name}. %package plugins-exec Summary: External execution plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} %description plugins-exec 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 plugin to execute external processes (commands or applications) from the Remmina window. %package plugins-secret Summary: Keyring integration for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} Obsoletes: %{name}-plugins-gnome < %{version}-%{release} Provides: %{name}-plugins-gnome%{?_isa} = %{version}-%{release} %description plugins-secret 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 plugin with keyring support for the Remmina remote desktop client. %package plugins-rdp Summary: RDP plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{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-vnc Summary: VNC plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} %description plugins-vnc 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 VNC plugin for the Remmina remote desktop client. %if 0%{?fedora} || 0%{?rhel} >= 8 %package plugins-spice Summary: SPICE plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{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. %endif %package plugins-www Summary: WWW plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} %description plugins-www 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 WWW plugin (web browser with authentication) for the Remmina remote desktop client. %if 0%{?rhel} < 10 %package plugins-kwallet Summary: KDE Wallet plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} %description plugins-kwallet 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 KDE Wallet plugin for the Remmina remote desktop client. It will be activated automatically if KDE Wallet is installed and running. %endif %if 0%{?fedora} || 0%{?rhel} >= 8 %package plugins-x2go Summary: x2go plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pyhoca-cli %description plugins-x2go 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 x2go plugin for the Remmina remote desktop client. %endif %package plugins-python Summary: Python plugin for Remmina Remote Desktop Client Requires: %{name}%{?_isa} = %{version}-%{release} %description plugins-python 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 python plugin for the Remmina remote desktop client. %package gnome-session Summary: Gnome Shell session for Remmina kiosk mode Requires: %{name}%{?_isa} = %{version}-%{release} Requires: gnome-session %description gnome-session 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 Remmina kiosk mode, including a Gnome Shell session that shows up under the display manager session menu. %prep %autosetup -n Remmina-v%{version} %build %cmake \ -DCMAKE_INSTALL_LIBDIR=%{_lib} \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DHAVE_LIBAPPINDICATOR=ON \ %if 0%{?fedora} || 0%{?rhel} >= 8 -DWITH_AVAHI=ON \ %else -DWITH_AVAHI=OFF \ %endif -DWITH_FREERDP3=ON \ -DWITH_GCRYPT=ON \ -DWITH_GETTEXT=ON \ %if 0%{?rhel} < 10 -DWITH_KF5WALLET=ON \ %else -DWITH_KF5WALLET=OFF \ %endif -DWITH_KIOSK_SESSION=ON \ -DWITH_LIBSSH=ON \ -DWITH_NEWS=OFF \ -DWITH_PYTHONLIBS=ON \ %if 0%{?fedora} || 0%{?rhel} >= 8 -DWITH_SPICE=ON \ %else -DWITH_SPICE=OFF \ %endif -DWITH_VTE=ON \ %if 0%{?fedora} || 0%{?rhel} >= 8 -DWITH_X2GO=ON %else -DWITH_X2GO=OFF %endif %cmake_build %install %cmake_install mkdir -p %{buildroot}/%{_libdir}/cmake/%{name}/ cp -pr cmake/*.cmake %{buildroot}/%{_libdir}/cmake/%{name}/ cp -pr config.h.in %{buildroot}/%{_includedir}/%{name}/ cp -p %{SOURCE1} %{buildroot}/%{_includedir}/%{name}/ %find_lang %{name} %check desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/metainfo/*.appdata.xml %files -f %{name}.lang %license LICENSE %doc AUTHORS CHANGELOG.md README.md %{_bindir}/%{name} %{_bindir}/%{name}-file-wrapper %{_datadir}/metainfo/*.appdata.xml %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*/actions/*.* %{_datadir}/icons/hicolor/*/apps/*.* %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-*.svg %{_datadir}/icons/hicolor/*/status/org.remmina.Remmina-status.svg %{_datadir}/icons/hicolor/apps/*.svg %{_datadir}/mime/packages/*.xml %{_datadir}/%{name}/ %dir %{_libdir}/remmina/ %dir %{_libdir}/remmina/plugins/ %{_mandir}/man1/%{name}.* %{_mandir}/man1/%{name}-file-wrapper.* %files devel %{_includedir}/%{name}/ %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/cmake/%{name}/*.cmake %files plugins-exec %{_libdir}/remmina/plugins/remmina-plugin-exec.so %files plugins-secret %{_libdir}/remmina/plugins/remmina-plugin-secret.so %files plugins-rdp %{_libdir}/remmina/plugins/remmina-plugin-rdp.so %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-rdp-ssh-symbolic.svg %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-rdp-symbolic.svg %files plugins-vnc %{_libdir}/remmina/plugins/remmina-plugin-vnc.so %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-vnc-ssh-symbolic.svg %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-vnc-symbolic.svg %if 0%{?fedora} || 0%{?rhel} >= 8 %files plugins-spice %{_libdir}/remmina/plugins/remmina-plugin-spice.so %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-spice-ssh-symbolic.svg %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-spice-symbolic.svg %endif %files plugins-www %{_libdir}/remmina/plugins/remmina-plugin-www.so %if 0%{?rhel} < 10 %files plugins-kwallet %{_libdir}/remmina/plugins/remmina-plugin-kwallet.so %endif %files plugins-python %{_libdir}/remmina/plugins/remmina-plugin-python_wrapper.so %if 0%{?fedora} || 0%{?rhel} >= 8 %files plugins-x2go %{_libdir}/remmina/plugins/remmina-plugin-x2go.so %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-x2go-ssh-symbolic.svg %{_datadir}/icons/hicolor/*/emblems/org.remmina.Remmina-x2go-symbolic.svg %endif %files gnome-session %{_bindir}/gnome-session-remmina %{_bindir}/remmina-gnome %{_datadir}/gnome-session/sessions/remmina-gnome.session %{_datadir}/xsessions/remmina-gnome.desktop %{_mandir}/man1/gnome-session-remmina.1* %{_mandir}/man1/remmina-gnome.1* %changelog %autochangelog