diff options
-rw-r--r-- | gnu/packages/virtualization.scm | 142 |
1 files changed, 83 insertions, 59 deletions
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 20ffb4a481..6a40955dbb 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -70,6 +71,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) + #:use-module (gnu packages gcc) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -88,6 +90,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages m4) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) @@ -1647,70 +1650,91 @@ Machine Protocol.") (license license:gpl3+))) (define-public looking-glass-client - (let ((commit "182c4752d57690da7f99d5e788de9b8baea33895")) - (package - (name "looking-glass-client") - (version (string-append "a12-" (string-take commit 7))) - (source - (origin + (package + (name "looking-glass-client") + (version "B5") + (source + (origin (method git-fetch) - (uri (git-reference (url "https://github.com/gnif/LookingGlass") - (commit commit))) + (uri (git-reference + (url "https://github.com/gnif/LookingGlass") + (commit version) + (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "02bq46ndmzq9cihazzn7xq1x7q5nzm7iw4l9lqzihxcxp9famkhw")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Do not create binaries optimized for the CPU of the build machine, - ;; for reproducibility and compatibility. TODO: in the next version - ;; of looking glass, this is exposed as a CMake configure option. - (substitute* "client/CMakeLists.txt" - (("-march=native") - "")) - #t)))) - (build-system cmake-build-system) - (inputs `(("fontconfig" ,fontconfig) - ("glu" ,glu) - ("mesa" ,mesa) - ("openssl" ,openssl) - ("sdl2" ,sdl2) - ("sdl2-ttf" ,sdl2-ttf) - ("spice-protocol" ,spice-protocol) - ("wayland" ,wayland))) - (native-inputs (list libconfig nettle pkg-config)) - (arguments - `(#:tests? #f ;; No tests are available. - #:make-flags '("CC=gcc") - #:phases (modify-phases %standard-phases - (add-before 'configure 'chdir-to-client - (lambda* (#:key outputs #:allow-other-keys) - (chdir "client") - #t)) - (add-after 'chdir-to-client 'add-missing-include - (lambda _ - ;; Mimic upstream commit b9797529893, required since the - ;; update to Mesa 19.2. - (substitute* "renderers/egl/shader.h" - (("#include <stdbool\\.h>") - "#include <stdbool.h>\n#include <stddef.h>")) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (install-file "looking-glass-client" - (string-append (assoc-ref outputs "out") - "/bin")) - #t))))) - (home-page "https://looking-glass.hostfission.com") - (synopsis "KVM Frame Relay (KVMFR) implementation") - (description "Looking Glass allows the use of a KVM (Kernel-based Virtual + "09mn544x5hg1z31l92ksk7fi7yj9r8xdk0dcl9fk56ivcr452ylm")))) + (build-system cmake-build-system) + (inputs + (list bash-minimal + fontconfig + freetype + glu + gmp + libglvnd + libiberty + libx11 + libxcursor + libxfixes + libxi + libxinerama + libxkbcommon + libxpresent + libxrandr + libxscrnsaver + mesa + openssl + sdl2 + sdl2-ttf + spice-protocol + wayland + wayland-protocols + `(,zlib "static"))) + (native-inputs (list libconfig nettle pkg-config)) + (arguments + `(#:tests? #f ;; No tests are available. + #:make-flags '("CC=gcc") + #:phases (modify-phases %standard-phases + (add-before 'configure 'chdir-to-client + (lambda* (#:key outputs #:allow-other-keys) + (chdir "client") + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "looking-glass-client" + (string-append (assoc-ref outputs "out") + "/bin")) + #t)) + (add-after 'install 'wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program + (string-append (assoc-ref outputs "out") + "/bin/looking-glass-client") + `("LD_LIBRARY_PATH" ":" prefix + ,(map (lambda (name) + (let ((input (assoc-ref inputs name))) + (string-append input "/lib"))) + '("gmp" + "libxi" + "nettle" + "mesa" + "wayland" + "fontconfig-minimal" + "freetype" + "libx11" + "libxfixes" + "libxscrnsaver" + "libxinerama")))) + #t))))) + (home-page "https://looking-glass.io/") + (synopsis "KVM Frame Relay (KVMFR) implementation") + (description "Looking Glass allows the use of a KVM (Kernel-based Virtual Machine) configured for VGA PCI Pass-through without an attached physical -monitor, keyboard or mouse. It displays the VM's rendered contents on your main -monitor/GPU.") - ;; This package requires SSE instructions. - (supported-systems '("i686-linux" "x86_64-linux")) - (license license:gpl2+)))) +monitor, keyboard or mouse. It displays the VM's rendered contents on your +main monitor/GPU.") + ;; This package requires SSE instructions. + (supported-systems '("i686-linux" "x86_64-linux")) + (license license:gpl2+))) (define-public runc (package |