aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2023-11-21 18:55:31 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2023-12-02 17:08:55 +0100
commit27d017be7aaea12db68529c3ebd5fd3dbd8642b4 (patch)
tree44fc4226f20ead1d075d0f5c7758cc2197baea06 /gnu
parent872174fb0b72d48f11e36f2f40e0f885957638dd (diff)
downloadguix-27d017be7aaea12db68529c3ebd5fd3dbd8642b4.tar.gz
guix-27d017be7aaea12db68529c3ebd5fd3dbd8642b4.zip
gnu: Add gnome-remote-desktop.
* gnu/packages/gnome.scm (gnome-remote-desktop): New variable. Change-Id: I93d542ef04a703a0c9614968eb71ce85a83d62f4 Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnome.scm95
1 files changed, 95 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 66ba82a431..c7d0bface1 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -146,6 +146,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages hardware)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages ibus)
#:use-module (gnu packages icu4c)
@@ -13531,6 +13532,100 @@ historical battery usage and related statistics.")
(license license:gpl3+)
(properties '((upstream-name . "xffm")))))
+(define-public gnome-remote-desktop
+ (package
+ (name "gnome-remote-desktop")
+ (version "44.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnome/sources/" name "/"
+ (version-major version) "/"
+ name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "13kvr1f2vk0qfqr9alpz7wb542b5d5i9ypk74rnn7jsz3csgv7vs"))))
+ (build-system meson-build-system)
+ (arguments
+ (list #:configure-flags
+ #~'("-Dsystemd=false"
+ ;; RDP support requires CUDA (ffnvcodec)
+ "-Drdp=false"
+ ;; This is for the RDP back-end
+ "-Dfdk_aac=false"
+ ;; Enable VNC support
+ "-Dvnc=true")
+ #:glib-or-gtk? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'shorten-vnc-test
+ (lambda _
+ ;; The VNC test sets up the connection, parses a message
+ ;; from the server, and then waits forever. This
+ ;; modification lets it succeed once it has parsed a
+ ;; message from the server.
+ (substitute* "tests/test-client-vnc.c"
+ (("while \\(TRUE\\)")
+ "int ret = 0; while (ret == 0)")
+ (("int ret;") ""))))
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases
+ 'check))
+ (add-before 'check 'pre-check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir"))
+ (mkdir (getenv "XDG_RUNTIME_DIR"))
+ (chmod (getenv "XDG_RUNTIME_DIR") #o700)
+ (setenv "GSETTINGS_SCHEMA_DIR"
+ (string-append #$output "/share/glib-2.0/schemas"))
+ ;; Unless enabled by the user, the VNC server will not
+ ;; start.
+ (invoke "gsettings"
+ "set"
+ "org.gnome.desktop.remote-desktop.vnc"
+ "enable" "true")
+ ;; Pipewire is required.
+ (setenv "PIPEWIRE_DEBUG" "2")
+ (setenv "PIPEWIRE_LOG" "meson-logs/pipewire.log")
+ (invoke "pipewire" "--version")
+ (system "pipewire &")))))))
+ (inputs
+ (list cairo
+ glib
+ libdrm
+ libepoxy
+ libgudev
+ libnotify
+ libsecret
+ ;; Cyclic modular dependency
+ (module-ref
+ (resolve-interface
+ '(gnu packages vnc))
+ 'libvnc)
+ pipewire
+ tpm2-tss))
+ (native-inputs
+ (list asciidoc
+ dbus
+ docbook-xsl
+ docbook-xml-4.3
+ gettext-minimal
+ `(,glib "bin")
+ itstool
+ libxml2
+ libxslt
+ mutter
+ pkg-config
+ python
+ python-dbus
+ python-pygobject))
+ (home-page "https://gitlab.gnome.org/GNOME/gnome-remote-desktop")
+ (synopsis "Share GNOME desktop with remote sessions")
+ (description "This package provides a remote desktop server for GNOME.")
+ (license license:gpl2+)))
+
(define-public libcall-ui
(package
(name "libcall-ui")