mirror of
https://gitlab.com/nonguix/nonguix.git
synced 2025-10-02 02:14:59 +00:00
178 lines
6.3 KiB
Scheme
178 lines
6.3 KiB
Scheme
;;; SPDX-License-Identifier: GPL-3.0-or-later
|
|
;;; Copyright © 2021 Korytov Pavel <thexcloud@gmail.com>
|
|
;;; Copyright © 2021 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
|
|
|
(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 freedesktop)
|
|
#:use-module (gnu packages image)
|
|
#:use-module (gnu packages linux)
|
|
#:use-module (gnu packages libffi)
|
|
#:use-module (gnu packages pcre)
|
|
#:use-module (gnu packages pulseaudio)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages xorg)
|
|
#:use-module (gnu packages xdisorg)
|
|
#:use-module (guix download)
|
|
#:use-module (guix packages)
|
|
#:use-module (nonguix build-system binary)
|
|
#:use-module (nongnu packages anydesk)
|
|
#:use-module (nonguix licenses))
|
|
|
|
(define-public anydesk
|
|
(package
|
|
(name "anydesk")
|
|
(version "7.0.2")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "https://download.anydesk.com/linux/anydesk-"
|
|
version "-amd64.tar.gz"))
|
|
(sha256
|
|
(base32
|
|
"0jmrhcic5kmhxlw7rxw0d37fp9lzzz10qs8ar0dqjgfhbynkskm8"))))
|
|
(build-system binary-build-system)
|
|
(arguments
|
|
`(#:validate-runpath? #f
|
|
#:strip-binaries? #f
|
|
#:patchelf-plan
|
|
`(("anydesk" ("atk"
|
|
"cairo"
|
|
"fontconfig"
|
|
"freetype"
|
|
"gcc:lib"
|
|
"gdk-pixbuf"
|
|
"glib"
|
|
"gtk+"
|
|
"libx11"
|
|
"libxcb"
|
|
"libxdamage"
|
|
"libxext"
|
|
"libxfixes"
|
|
"libxi"
|
|
"libxkbfile"
|
|
"libxrandr"
|
|
"libxrender"
|
|
"libxtst"
|
|
"libxcursor"
|
|
"libxcomposite"
|
|
"libxinerama"
|
|
"libxau"
|
|
"libxdmcp"
|
|
"pango"
|
|
"harfbuzz"
|
|
"libepoxy"
|
|
"pixman"
|
|
"libjpeg-turbo"
|
|
"libpng"
|
|
"libthai"
|
|
"graphite2"
|
|
"libdatrie"
|
|
"polkit"
|
|
"zlib"
|
|
"dbus"
|
|
"at-spi2-core"
|
|
"libxkbcommon"
|
|
"wayland"
|
|
"util-linux:lib"
|
|
"libffi"
|
|
"pcre2"
|
|
"elogind"
|
|
"bzip2"
|
|
"expat"
|
|
"libcap")))
|
|
#:install-plan
|
|
`(("anydesk" "/bin/")
|
|
("polkit-1/com.anydesk.anydesk.policy" "/share/polkit-1/actions/")
|
|
("icons" "/share/icons/")
|
|
("anydesk.desktop" "/share/applications/")
|
|
("copyright" "/share/licenses/anydesk/"))
|
|
#:phases
|
|
(modify-phases %standard-phases
|
|
(replace 'binary-unpack
|
|
(lambda* (#:key source #:allow-other-keys)
|
|
(let* ((files (filter (lambda (f)
|
|
(not (string=? (basename f) "environment-variables")))
|
|
(find-files (getcwd))))
|
|
(binary-file (car files)))
|
|
(when (= 1 (length files))
|
|
(mkdir "binary")
|
|
(chdir "binary")
|
|
(invoke "tar" "xvf" binary-file)
|
|
(chdir (string-append "anydesk-" ,(package-version this-package)))))))
|
|
(add-after 'install 'fix-desktop-entry
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(desktop-file (string-append out "/share/applications/anydesk.desktop")))
|
|
(substitute* desktop-file
|
|
(("^Exec=anydesk") (string-append "Exec=env GDK_BACKEND=x11 " out "/bin/anydesk"))
|
|
(("^Icon=anydesk") "Icon=anydesk"))
|
|
#t)))
|
|
(add-after 'install 'install-icon
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(icon-src "icons/hicolor/scalable/apps/anydesk.svg")
|
|
(icon-dest (string-append out "/share/pixmaps/anydesk.svg")))
|
|
(when (file-exists? icon-src)
|
|
(install-file icon-src (dirname icon-dest)))
|
|
#t))))))
|
|
(inputs
|
|
`(("atk" ,atk)
|
|
("cairo" ,cairo)
|
|
("fontconfig" ,fontconfig)
|
|
("freetype" ,freetype)
|
|
("gdk-pixbuf" ,gdk-pixbuf)
|
|
("glib" ,glib)
|
|
("gtk+" ,gtk+)
|
|
("pango" ,pango)
|
|
("harfbuzz" ,harfbuzz)
|
|
("libepoxy" ,libepoxy)
|
|
("pixman" ,pixman)
|
|
("libjpeg-turbo" ,libjpeg-turbo)
|
|
("libpng" ,libpng)
|
|
("libthai" ,libthai)
|
|
("graphite2" ,graphite2)
|
|
("libdatrie" ,libdatrie)
|
|
("gcc:lib" ,gcc "lib")
|
|
("polkit" ,polkit)
|
|
("zlib" ,zlib)
|
|
("dbus" ,dbus)
|
|
("at-spi2-core" ,at-spi2-core)
|
|
("libxkbcommon" ,libxkbcommon)
|
|
("wayland" ,wayland)
|
|
("util-linux:lib" ,util-linux "lib")
|
|
("libffi" ,libffi)
|
|
("pcre2" ,pcre2)
|
|
("elogind" ,elogind)
|
|
("bzip2" ,bzip2)
|
|
("expat" ,expat)
|
|
("libcap" ,libcap)
|
|
("libx11" ,libx11)
|
|
("libxcb" ,libxcb)
|
|
("libxdamage" ,libxdamage)
|
|
("libxext" ,libxext)
|
|
("libxfixes" ,libxfixes)
|
|
("libxi" ,libxi)
|
|
("libxkbfile" ,libxkbfile)
|
|
("libxrandr" ,libxrandr)
|
|
("libxrender" ,libxrender)
|
|
("libxtst" ,libxtst)
|
|
("libxcursor" ,libxcursor)
|
|
("libxcomposite" ,libxcomposite)
|
|
("libxinerama" ,libxinerama)
|
|
("libxau" ,libxau)
|
|
("libxdmcp" ,libxdmcp)))
|
|
(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"))))
|