X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/c4d769d359c67680fe55c3b71e659cd31837f3ec..44d66cf764df1a5f92e32c101bc88b20b8ac96b1:/gnu/packages/spice.scm diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 8b688ea9ef..4aff8dbf56 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Rutger Helling -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +21,7 @@ (define-module (gnu packages spice) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages gl) @@ -31,15 +32,18 @@ #:use-module (gnu packages image) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) + #:use-module (gnu packages nss) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages security-token) #:use-module (gnu packages tls) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix download) #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) @@ -98,16 +102,26 @@ system to use the host GPU to accelerate 3D rendering.") (define-public spice-protocol (package (name "spice-protocol") - (version "0.14.1") + (version "0.14.2") (source (origin (method url-fetch) (uri (string-append "https://www.spice-space.org/download/releases/" - "spice-protocol-" version ".tar.bz2")) + "spice-protocol-" version ".tar.xz")) (sha256 (base32 - "0ahk5hlanwhbc64r80xmchdav3ls156cvh9l68a0l22bhdhxmrkr")))) - (build-system gnu-build-system) + "1sgi9ksb781qs47pdbw0bmnyg8dgayn5xrzj6vzdy043nv466flg")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + ,name "-" ,version))) + (install-file "COPYING" doc) + #t)))))) (synopsis "Protocol headers for the SPICE protocol") (description "SPICE (the Simple Protocol for Independent Computing Environments) is a remote-display system built for virtual environments @@ -175,6 +189,16 @@ which allows users to view a desktop computing environment.") (substitute* "tests/Makefile" (("test-session\\$\\(EXEEXT\\) ") "")) #t)) + (add-after 'install 'patch-la-files + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (libjpeg (assoc-ref inputs "libjpeg"))) + ;; Add an absolute reference for libjpeg in the .la files + ;; so it does not have to be propagated. + (substitute* (find-files (string-append out "/lib") "\\.la$") + (("-ljpeg") + (string-append "-L" libjpeg "/lib -ljpeg"))) + #t))) (add-after 'install 'wrap-spicy (lambda* (#:key inputs outputs #:allow-other-keys) @@ -209,6 +233,7 @@ which allows users to view a desktop computing environment.") `(("cyrus-sasl" ,cyrus-sasl) ("glib" ,glib) ("libjpeg-turbo" ,libjpeg-turbo) + ("libcacard" ,libcacard) ; smartcard support ("lz4" ,lz4) ("opus" ,opus) ("orc" ,orc) @@ -287,6 +312,51 @@ resolution scaling on graphical console window resize.") (home-page "https://www.spice-space.org") (license license:gpl3+))) +(define-public libcacard + (package + (name "libcacard") + (version "2.7.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://gitlab.freedesktop.org/spice/libcacard/uploads/" + "56cb2499198e78e560a1d4c716cd8ab1" + "/libcacard-" version ".tar.xz")) + (sha256 + (base32 + "0vyvkk4b6xjwq1ccggql13c1x7g4y90clpkqw28257azgn2a1c8n")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; TODO Tests require gnutls built with + ; p11-kit + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/setup-softhsm2.sh" + (("\\/usr\\/lib64\\/pkcs11\\/libsofthsm2\\.so") + (string-append (assoc-ref inputs "softhsm") + "/lib/softhsm/libsofthsm2.so"))) + #t))))) + (propagated-inputs + `(("glib" ,glib) ; Requires: in the pkg-config file + ("nss" ,nss))) ; Requires.private: in the pkg-config + ; file + (native-inputs + `(("openssl" ,openssl) + ("nss" ,nss "bin") + ("opensc" ,opensc) + ("softhsm" ,softhsm) + ("gnutls" ,gnutls) + ("pkg-config" ,pkg-config) + ("which" ,which))) + (synopsis "Emulate and share smart cards with virtual machines") + (description + "The @acronym{CAC,Common Access Card} library can be used to emulate and +share smart cards from client system to local or remote virtual machines.") + (home-page "https://gitlab.freedesktop.org/spice/libcacard") + (license license:lgpl2.1+))) + (define-public virt-viewer (package (name "virt-viewer")