summaryrefslogtreecommitdiff
path: root/gnu/packages/vnc.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/vnc.scm')
-rw-r--r--gnu/packages/vnc.scm230
1 files changed, 0 insertions, 230 deletions
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index c4051c7672..e260a17437 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -1,5 +1,4 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Todor Kondić <tk.code@protonmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
@@ -174,235 +173,6 @@
RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.")
(license license:gpl2+)))
-(define-public tigervnc-client
- (package
- (name "tigervnc-client")
- (version "1.14.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/TigerVNC/tigervnc")
- (commit (string-append "v" version))))
- (sha256
- (base32 "1n6slj7i93gvf0ji4mb3azycv3c4wqzfd7zlx9260b79jv8jvsln"))
- (file-name (git-file-name name version))))
- (build-system cmake-build-system)
- (arguments
- '(#:tests? #f ; tests that do exists are not automated
- #:phases (modify-phases %standard-phases
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (with-directory-excursion "vncviewer"
- (invoke "make" "install")))))))
- (native-inputs
- (list autoconf gettext-minimal automake))
- (inputs
- (list zlib
- gnutls
- libjpeg-turbo
- ;;ffmpeg ;TODO: add this for h264 encoding
- fltk-1.3
- linux-pam
- libx11
- libxext
- libxtst
- libxrandr
- libxdamage
- pixman))
- (home-page "https://tigervnc.org/")
- (synopsis "High-performance VNC remote desktop client")
- (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing}
-client and server. @dfn{VNC} is a remote display system that lets you view and
-interact with a virtual desktop environment running on another computer on the
-network. Client and server may be running on different operating systems and
-architectures.
-
-TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use
-of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video
-applications. It also provides extensions for advanced authentication methods
-and @acronym{TLS, Transport-Level Security} encryption.
-
-This package installs only the VNC client (@command{vncviewer}), the application
-used to connect to VNC servers such as the tigervnc-server package.")
- (license license:gpl2)))
-
-(define %tigervnc-client-source (package-source tigervnc-client))
-
-;; A VNC server is, in fact, an X server so it seems like a good idea to build
-;; on the work already done for xorg-server package. This is not entirely
-;; compatible with the recommendation in BUILDING.txt where the client is
-;; built first, then the source code of the X server is copied into a subdir
-;; of the build directory, patched with VNC additions and then build and
-;; installed as Xvnc. The procedure was turned around, where TigerVNC code is
-;; downloaded and built inside the Guix X server build dir. Also, the VNC
-;; patching process for the X server is automated in a straightforward manner.
-(define-public tigervnc-server
- (package
- (inherit xorg-server)
- (name "tigervnc-server")
- (version (package-version tigervnc-client))
- (source
- (origin
- (inherit (package-source xorg-server))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- ;; Copy the VNC extension into the xorg-server sources.
- (copy-recursively #$(file-append %tigervnc-client-source
- "/unix/xserver")
- ".")
- ;; Include a full copy of tigervnc-client sources, so that the
- ;; complete sources involved are available and can be edited during
- ;; the build.
- (copy-recursively #$%tigervnc-client-source "tigervnc-client")
- ;; Adjust the VNC extension build system files so that it refers
- ;; to it.
- (substitute* "hw/vnc/Makefile.am"
- (("(TIGERVNC_SRCDIR=).*" _ head)
- (string-append head "$(CURDIR)/../../tigervnc-client\n"))
- (("(TIGERVNC_BUILDDIR=).*" _ head)
- (string-append head
- "$(CURDIR)/../../tigervnc-client/build\n")))
- ;; Ensure the Autotools build system gets re-bootstrapped.
- (delete-file "configure")))
- ;; Patch the xorg-server build system so that it builds the VNC
- ;; extension.
- (patches (cons (file-append %tigervnc-client-source
- "/unix/xserver21.patch")
- (origin-patches (package-source xorg-server))))
- (file-name (string-append name "-" version ".tar.xz"))))
- (arguments
- (substitute-keyword-arguments
- (package-arguments xorg-server)
- ((#:tests? #f #f)
- #f)
- ((#:configure-flags flags)
- #~(cons* "--with-pic" ; taken from BUILDING.txt
- "--without-dtrace"
- "--disable-static"
- "--disable-dri2"
- "--disable-xinerama"
- "--disable-xvfb"
- "--disable-xnest"
- "--disable-xorg"
- "--disable-dmx"
- "--disable-xwin"
- "--disable-xephyr"
- "--disable-kdrive"
- "--disable-config-hal"
- "--disable-config-udev"
- "--disable-dri2"
- "--enable-glx"
- (delete "--enable-xephyr" #$flags)))
- ((#:modules modules)
- `(append '((ice-9 ftw)
- (ice-9 match)
- (guix build utils)
- (guix build gnu-build-system))
- modules))
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'unpack 'adjust-pam-config
- (lambda _
- (substitute* "tigervnc-client/unix/vncserver/tigervnc.pam"
- (("pam_systemd.so")
- "pam_elogind.so"))))
- (add-after 'unpack 'patch-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "tigervnc-client/unix/vncserver/vncserver.in"
- (("`mcookie`")
- (format #f "`~a`" (search-input-file inputs "bin/mcookie")))
- ;; Adjust the places where the vncserver script looks for
- ;; X11 fonts.
- (("'/usr/share/X11/fonts'" all)
- (format #f "'~a', '~a', ~a"
- "/run/current-system/profile/share/fonts/X11"
- (string-append #$(this-package-input "font-alias")
- "share/fonts/X11")
- all))
- ;; Adjust the location where .desktop files will be saved.
- (("/usr/share/xsessions")
- "/run/current-system/profile/share/xsessions")
- ;; Do not require a system-provided Xsession shell script.
- ;; Guix System has none, causing the for loop to iterate
- ;; over an empty list.
- (("\"/etc/X11/xinit/Xsession\", \"/etc/X11/Xsession\"")
- "()")
- (("if \\(not defined \\$Xsession)")
- "if (0)")
- (("@cmd, \\$Xsession,")
- "@cmd,"))))
- (add-before 'build 'build-tigervnc
- (lambda* (#:key parallel-build? #:allow-other-keys)
- (mkdir-p "tigervnc-client/build")
- (with-directory-excursion "tigervnc-client/build"
- (invoke "cmake" "-G" "Unix Makefiles"
- (string-append "-DCMAKE_INSTALL_PREFIX=" #$output)
- "..")
- (invoke "make" "-j" (number->string (if parallel-build?
- (parallel-job-count)
- 1))))))
- (replace 'build
- (lambda* (#:key parallel-build? #:allow-other-keys)
- (invoke "make" "-j" (number->string (if parallel-build?
- (parallel-job-count)
- 1)))))
- (add-before 'install 'install-tigervnc-aux
- (lambda _
- (invoke "make" "-C" "tigervnc-client/build/unix" "install")))
- (replace 'install
- (lambda _
- (invoke "make" "install")))
- (add-after 'install 'wrap-vncserver
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (wrap-script (search-input-file outputs "libexec/vncserver")
- (list "PATH" 'prefix
- (map (lambda (p)
- (dirname (search-input-file inputs p)))
- '("bin/uname"
- "bin/xauth"
- "bin/xinit"))))))))))
- (native-inputs
- (modify-inputs (append (package-native-inputs xorg-server)
- (package-native-inputs tigervnc-client))
- (append %tigervnc-client-source
- autoconf
- automake
- libtool
- gettext-minimal
- font-util
- cmake
- perl)))
- (inputs
- (modify-inputs (append (package-inputs xorg-server)
- (package-inputs tigervnc-client))
- (prepend coreutils
- font-alias
- guile-3.0
- perl
- util-linux
- xauth
- xinit)))
- (propagated-inputs
- (modify-inputs (package-propagated-inputs xorg-server)
- (prepend xauth)))
- (synopsis "High-performance VNC remote desktop server based on Xorg")
- (description "TigerVNC implements a @acronym{VNC, Virtual Network Computing}
-client and server. @dfn{VNC} is a remote display system that lets you view and
-interact with a virtual desktop environment running on another computer on the
-network. Client and server may be running on different operating systems and
-architectures.
-
-TigerVNC uses a variant of Tight encoding that is greatly accelerated by the use
-of the libjpeg-turbo JPEG codec and performs fast enough to run even 3D or video
-applications. It also provides extensions for advanced authentication methods
-and @acronym{TLS, Transport-Level Security} encryption.
-
-This package installs the VNC server. Permitted users can log into a graphical
-session on the machine where the server is running, using a VNC client such as
-the tigervnc-client package.")))
-
(define-public turbovnc
(package
(name "turbovnc")