Archived
1
0
Fork 0

gnu: tigervnc-{client,server}: Update to 1.12.0-0.b484c22.

* gnu/packages/vnc.scm (tigervnc-client): Update to 1.12.0-0.b484c22.
[source]: Build from a Git snapshot.
(tigervnc-server)[arguments]: Adjust the 'patch-xserver phase.
This commit is contained in:
Tobias Geerinckx-Rice 2022-01-14 02:07:11 +00:00
parent 1e8b999717
commit 6ff98ce397
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -4,7 +4,7 @@
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -153,50 +153,52 @@ RDP, VNC, SPICE, NX, XDMCP, SSH and EXEC network protocols are supported.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public tigervnc-client (define-public tigervnc-client
(package ;; xorg-server 21 support was merged 2 weeks after the last (1.12.0) release.
(name "tigervnc-client") (let ((revision "0")
(version "1.11.0") (commit "b484c229853a08c7f254a4c6efbaf3c9e85b5074"))
(source (origin (package
(method git-fetch) (name "tigervnc-client")
(uri (version (git-version "1.12.0" revision commit))
(git-reference (source
(url "https://github.com/TigerVNC/tigervnc") (origin
(commit (string-append "v" version)))) (method git-fetch)
(sha256 (uri (git-reference
(base32 (url "https://github.com/TigerVNC/tigervnc")
"1bg79ahr4mzy48ak0caxy3ckdsxmhpchypggaz6lxjjk92hgsz91")) (commit commit)))
(file-name (git-file-name name version)))) (sha256
(build-system cmake-build-system) (base32 "125dnn05ps7vfsxlxmzm05w99lhm8hk8j4hpxl1mlzb5j0hp1061"))
(arguments (file-name (git-file-name name version))))
'(#:tests? #f ; Tests that do exists are not automated. (build-system cmake-build-system)
#:phases (modify-phases %standard-phases (arguments
(replace 'install '(#:tests? #f ; Tests that do exists are not automated.
(lambda* (#:key outputs #:allow-other-keys) #:phases (modify-phases %standard-phases
(with-directory-excursion "vncviewer" (replace 'install
(invoke "make" "install"))))))) (lambda* (#:key outputs #:allow-other-keys)
(native-inputs (with-directory-excursion "vncviewer"
(list autoconf gettext-minimal automake)) (invoke "make" "install")))))))
(inputs (native-inputs
(list zlib (list autoconf gettext-minimal automake))
gnutls (inputs
libjpeg-turbo (list zlib
fltk gnutls
linux-pam libjpeg-turbo
libx11 fltk
libxext linux-pam
libxtst libx11
libxrandr libxext
libxdamage libxtst
pixman)) libxrandr
(home-page "https://tigervnc.org/") libxdamage
(synopsis "High-performance, platform-neutral pixman))
(home-page "https://tigervnc.org/")
(synopsis "High-performance, platform-neutral
implementation of VNC (client)") implementation of VNC (client)")
(description "TigerVNC is a client/server implementation of VNC (Virtual (description "TigerVNC is a client/server implementation of VNC (Virtual
Network Computing). It provides enough performance to run even 3D and video Network Computing). It provides enough performance to run even 3D and video
applications. It also provides extensions for advanced authentication methods applications. It also provides extensions for advanced authentication methods
and TLS encryption. This package installs only the VNC client, the and TLS encryption. This package installs only the VNC client, the
application which is needed to connect to VNC servers.") application which is needed to connect to VNC servers.")
(license license:gpl2))) (license license:gpl2))))
;; A VNC server is, in fact, an X server so it seems like a good idea ;; 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 ;; to build on the work already done for xorg-server package. This is
@ -267,32 +269,13 @@ application which is needed to connect to VNC servers.")
(let* (let*
((tvnc-src (assoc-ref %build-inputs "tigervnc-src")) ((tvnc-src (assoc-ref %build-inputs "tigervnc-src"))
(tvnc-xserver (string-append tvnc-src "/unix/xserver"))) (tvnc-xserver (string-append tvnc-src "/unix/xserver")))
(copy-recursively tvnc-xserver ".") (copy-recursively tvnc-xserver "."))))
#t)))
(add-after 'copy-tvnc-xserver 'patch-xserver (add-after 'copy-tvnc-xserver 'patch-xserver
(lambda _ (lambda _
(let* (invoke "patch" "-p1" "-i"
((tvnc-src (assoc-ref %build-inputs "tigervnc-src")) (string-append (assoc-ref %build-inputs "tigervnc-src")
(xorg-server-version ,(package-version xorg-server)) "/unix/xserver21.1.1.patch"))
(which-patch (lambda () (invoke "autoreconf" "-fiv")))
(let*
((patch-num (apply string-append
(list-head (string-split xorg-server-version
#\.)
2)))
(fn (format #f "~a/unix/xserver~a.patch" tvnc-src patch-num)))
(when (not (file-exists? fn))
(error (format #f "Patch file, ~a,
corresponding to the input xorg-server version, does not exist. Installation
will fail. " fn)))
fn))) ; VNC patches for xserver have the
; form xserverXY[Y].patch, where
; X.Y[Y].Z is the Xorg server
; version.
(xserver-patch (which-patch)))
(invoke "patch" "-p1" "-i" xserver-patch)
(invoke "autoreconf" "-fiv"))))
(add-before 'build 'build-tigervnc (add-before 'build 'build-tigervnc
(lambda _ (lambda _
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))