From 079084f6415af2bf4a32b8f3611470a488664f12 Mon Sep 17 00:00:00 2001 From: SqrtMinusOne Date: Sun, 25 Jul 2021 16:41:40 +0300 Subject: [PATCH] nongnu: Add anydesk. * nongnu/packages/anydesk.scm (anydesk): New variable. Signed-off-by: Jonathan Brielmaier --- nongnu/packages/anydesk.scm | 140 ++++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 nongnu/packages/anydesk.scm diff --git a/nongnu/packages/anydesk.scm b/nongnu/packages/anydesk.scm new file mode 100644 index 0000000..5ba0c7c --- /dev/null +++ b/nongnu/packages/anydesk.scm @@ -0,0 +1,140 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Korytov Pavel +;;; Copyright © 2021 Jonathan Brielmaier +;;; +;;; This file is not 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 (nongnu packages anydesk) + #:use-module (gnu packages compression) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gtk) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gl) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages polkit) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages xorg) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (nonguix build-system binary) + #:use-module (nonguix licenses)) + +(define-public anydesk + (package + (name "anydesk") + (version "6.1.1") + (source (origin + (method url-fetch) + (uri (string-append "https://download.anydesk.com/linux/anydesk-" + version "-amd64.tar.gz")) + (sha256 + (base32 + "1ai58fsivb8al1279bayl800qavy0kfj40rjhf87g902ap3p4bhh")))) + (build-system binary-build-system) + (arguments + `(#:validate-runpath? #f + #:strip-binaries? #f ;; For some reason it breaks the program + #:patchelf-plan + `(("anydesk" ("atk" + "cairo" + "fontconfig" + "freetype" + "gcc:lib" + "gdk-pixbuf" + "glib" + "glu" + "gtk+" + "gtkglext" + "libice" + "libsm" + "libx11" + "libxcb" + "libxdamage" + "libxext" + "libxfixes" + "libxi" + "libxkbfile" + "libxmu" + "libxrandr" + "libxrender" + "libxsts" + "libxt" + "mesa" + "minizip" + "pango" + "pangox-compat" + "polkit" + "polkit-gnome" + "pulseaudio"))) + #:install-plan + `(("anydesk" "/bin/") + ("polkit-1/com.anydesk.anydesk.policy" "/etc/polkit-1/actions/") + ("icons/" "/share/icons/")) + #:phases + (modify-phases %standard-phases + (replace 'unpack + (lambda* (#:key inputs #:allow-other-keys) + (invoke "tar" "-xvzf" (assoc-ref inputs "source") "--strip-components" "1"))) + (add-after 'wrap-program 'install-desktop-entry + (lambda* (#:key outputs #:allow-other-keys) + (let* ((desktop-file "anydesk.desktop") + (out (assoc-ref outputs "out")) + (applications (string-append out "/share/applications"))) + (substitute* desktop-file + (("^Exec=.*") (string-append "Exec=" out "/bin/anydesk\n")) + (("^Icon=.*") "Icon=anydesk\n")) + (install-file desktop-file applications)) + #t))))) + (inputs + `(("atk" ,atk) + ("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("gcc:lib" ,gcc "lib") + ("gdk-pixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("glu" ,glu) + ("gtk+" ,gtk+-2) + ("gtkglext" ,gtkglext) + ("libice" ,libice) + ("libsm" ,libsm) + ("libx11" ,libx11) + ("libxcb" ,libxcb) + ("libxdamage" ,libxdamage) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxi" ,libxi) + ("libxkbfile" ,libxkbfile) + ("libxmu" ,libxmu) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("libxsts" ,libxtst) + ("libxt" ,libxt) + ("mesa" ,mesa) + ("minizip" ,minizip) + ("pango" ,pango) + ("pangox-compat" ,pangox-compat) + ("polkit" ,polkit) + ("polkit-gnome" ,polkit-gnome) + ("pulseaudio" ,pulseaudio))) + (synopsis "Remote desktop software") + (supported-systems '("x86_64-linux")) + (description "Connect to a computer remotely, be it from the other end of +the office or halfway around the world. AnyDesk ensures secure and reliable +remote desktop connections for IT professionals and on-the-go individuals alike.") + (home-page "https://anydesk.com/") + (license (nonfree "https://anydesk.com/en/terms"))))