summary refs log tree commit diff
path: root/gnu/packages/vnc.scm
diff options
context:
space:
mode:
authorHartmut Goebel <h.goebel@crazy-compilers.com>2020-01-20 23:43:18 +0100
committerHartmut Goebel <h.goebel@crazy-compilers.com>2020-01-22 12:43:49 +0100
commita789f654a0f370720b2c6b7856b9971dcc1d5eb1 (patch)
tree1ff81707588fcaab485ea1acb003e4a6fc9237bf /gnu/packages/vnc.scm
parent94c7ef932a5857020c2a5349ff1970b1809a080e (diff)
downloadguix-a789f654a0f370720b2c6b7856b9971dcc1d5eb1.tar.gz
gnu: Add libvnc.
* gnu/packages/vnc.scm (libvnc): New variable.
  gnu/packages/patches/libvnc-CVE-2018-20750.patch,
  gnu/packages/patches/libvnc-CVE-2019-15681.patch: New files.
* gnu/local.mk: Add them.
Diffstat (limited to 'gnu/packages/vnc.scm')
-rw-r--r--gnu/packages/vnc.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index e715e10d5a..e1cba08952 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -1,6 +1,7 @@
 ;;; 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>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -24,6 +25,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix utils)
+  #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages base)
   #:use-module (gnu packages cmake)
@@ -31,9 +33,12 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages fltk)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gnupg)
   #:use-module (gnu packages image)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xorg))
 
@@ -232,3 +237,37 @@ applications.  It also provides extensions for advanced authentication methods
 and TLS encryption.  This package installs the VNC server, a program that will
 enable users with VNC clients to log into a graphical session on the machine
 where the server is installed.")))
+
+(define-public libvnc
+  (package
+    (name "libvnc")
+    (version "0.9.12")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/LibVNC/libvncserver.git")
+             (commit (string-append "LibVNCServer-" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"))
+       (patches (search-patches "libvnc-CVE-2018-20750.patch"
+                                "libvnc-CVE-2019-15681.patch"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("gnutls" ,gnutls)
+       ("libgcrypt" ,libgcrypt)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("lzo" ,lzo)
+       ("sdl2" ,sdl2)))
+    (home-page "https://libvnc.github.io/")
+    (synopsis "Cross-platform C libraries for implementing VNC server or
+client")
+    (description "This package provides @code{LibVNCServer} and
+@code{LibVNCClient}.  These are cross-platform C libraries that allow you to
+easily implement VNC server or client functionality in your program.")
+    (license ;; GPL for programs, FDL for documentation
+     (list license:gpl2+ license:fdl1.2+))))