;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages remmina) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build utils) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (gnu packages avahi) #:use-module (gnu packages crypto) #:use-module (gnu packages cups) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages rdesktop) #:use-module (gnu packages spice) #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages vnc) #:use-module (gnu packages webkit) #:use-module (gnu packages xorg)) (define-public remmina (package (name "remmina") (version "1.4.13") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/Remmina/Remmina") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1hc2r42hr34ksbxrybglw5caw0zjhwlybvb5c9s99dr761rmzr27")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No target #:configure-flags (list "-DWITH_NEWS=OFF") ; Disable online version checking #:imported-modules (,@%cmake-build-system-modules (guix build glib-or-gtk-build-system)) #:modules ((guix build cmake-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) (guix build utils)) #:phases (modify-phases %standard-phases (add-after 'install 'wrap-progs (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (for-each (lambda (name) (let ((file (string-append out "/bin/" name)) (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) (wrap-program file `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) '("remmina" "remmina-file-wrapper"))) #t)) (add-after 'wrap-progs 'glib-or-gtk-compile-schemas (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gtk+:bin" ,gtk+ "bin") ("intl" ,intltool) ("pkg-config" ,pkg-config))) (inputs `(("app-indicator" ,libappindicator) ("atk" ,atk) ("avahi" ,avahi) ("cairo" ,cairo) ("cups" ,cups) ("dconf" ,dconf) ("ffmpeg" ,ffmpeg) ("freerdp" ,freerdp) ("gcrypt" ,libgcrypt) ("gdk-pixbuf" ,gdk-pixbuf+svg) ("glib" ,glib) ("gnome-keyring" ,gnome-keyring) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) ("json-glib" ,json-glib) ("libsecret" ,libsecret) ("libsoup" ,libsoup) ("libssh" ,libssh) ("libvnc" ,libvnc) ("openssl" ,openssl) ("pango" ,pango) ("pcre" ,pcre) ("shared-mime-info" ,shared-mime-info) ("sodium" ,libsodium) ("spice-client-gtk" ,spice-gtk) ("telepathy" ,telepathy-glib) ("vte" ,vte) ("wayland" ,wayland) ("webkitgtk" ,webkitgtk) ("x11" ,libx11) ("xext" ,libxext) ("xdg-utils" ,xdg-utils) ("xkbfile" ,libxkbfile))) (propagated-inputs `(("dconf" ,dconf))) (home-page "https://remmina.org/") (synopsis "Remote Desktop Client") (description "Remmina is a client to use other desktops remotely. RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.") (license license:gpl2+)))