Subject: Re: [bug#29719] [PATCH] gnu: virtualization: Add lookingglass.

From: Rutger Helling <[email-masked]>
Date: Fri, 15 Dec 2017 16:11:51 +0100

Forgot to put two spaces in the lines for the description.
Here's the proper patch, sorry about that. 

On 2017-12-15 16:05, Rutger Helling wrote:

> Thanks for reviewing! Here's an updated patch based on your feedback. 
> 
> On 2017-12-15 15:16, [email-masked] wrote: 
> Hello!
> 
> Rutger Helling <[email-masked]> skribis:
> 
> From ccea9a6c9dd71aea5ef5c07802f7e376a7f86a96 Mon Sep 17 00:00:00 2001
> From: Rutger Helling <[email-masked]>
> Date: Fri, 15 Dec 2017 11:58:10 +0100
> Subject: [PATCH] gnu: virtualization: Add lookingglass.
> 
> * gnu/packages/virtualization.scm (lookingglass): New variable. 
> [...]
> 
> +(define-public lookingglass
> +  (package
> +   (name "lookingglass") 
> Please run:
> 
> ./etc/indent-code.el gnu/packages/virtualization.scm lookingglass
> 
> +   (version "a5")
> +   (source
> +    (origin
> +     (method url-fetch)
> +     (uri (string-append "https://github.com/gnif/LookingGlass/archive/"
> +                         version ".tar.gz"))
> +     (file-name (string-append name "-" version))
> +     (sha256
> +      (base32
> +       "0lrb821914fp27xaq0spwhbblssz55phiygvdlvcrkifa138v8pf"))))
> +   (build-system gnu-build-system)
> +   (inputs `(("fontconfig" ,fontconfig)
> +             ("glu" ,glu)
> +             ("mesa" ,mesa)
> +             ("openssl" ,openssl)
> +             ("sdl2" ,sdl2)
> +             ("sdl2-ttf" ,sdl2-ttf)
> +             ("spice-protocol" ,spice-protocol)))
> +   (native-inputs `(("pkg-config", pkg-config)))
> +   (arguments
> +    `(#:tests? #f ;; No tests are available.
> +      #:phases (modify-phases %standard-phases
> +                 (replace 'configure
> +                    (lambda* (#:key outputs #:allow-other-keys)
> +                      (chdir "client"))) 
> Return #t.
> 
> +                  (replace 'install
> +                    (lambda* (#:key outputs #:allow-other-keys)
> +                      (mkdir-p (string-append %output "/bin"))
> +                      (copy-file "bin/looking-glass-client" (string-append
> +                                 %output "/bin/looking-glass-client"))))))) 
> Same here.
> 
> Use the 'outputs' argument instead of the '%output' global variable.
> 
> Also, you can replace the mkdir-p/copy-file pair with just:
> 
> (install-file "bin/looking-glass-client"
> (string-append (assoc-ref outputs "out") "/bin"))
> 
> +   (home-page "https://looking-glass.hostfission.com")
> +   (synopsis "Low-latency KVMFR implementation for QEMU guests with VGA PCI
> +passthrough")
> +   (description "LookingGlass is an extremely low latency KVMFR (KVM FrameRelay)
> +implementation for QEMU guests with VGA PCI Passthrough.") 
> Could you shorten the synopsis and expound the description a little bit?
> :-)  I find it hard to understand what this is about looking at this.
> 
> +   (license gpl2))) 
> AFAICS source file headers explicitly say "or any later version", so
> this should be 'gpl2+'.
> 
> The rest LGTM.  Could you send an updated patch?
> 
> Thank you!
> 
> Ludo'.

From 479db2f11837a175598fcc04cc07bee030f17fb1 Mon Sep 17 00:00:00 2001
From: Rutger Helling <[email-masked]>
Date: Fri, 15 Dec 2017 16:08:30 +0100
Subject: [PATCH] gnu: virtualization: Add lookingglass.

* gnu/packages/virtualization.scm (lookingglass): New variable.
---
 gnu/packages/virtualization.scm | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 85563dde6..2fcd9e5a7 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -36,6 +36,7 @@
   #:use-module (gnu packages dns)
   #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
@@ -709,3 +710,46 @@ mainly implemented in user space.")
 incremental backups of running QEMU virtual machines via QMP, the QEMU
 Machine Protocol.")
     (license gpl3+)))
+
+(define-public lookingglass
+  (package
+   (name "lookingglass")
+   (version "a5")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append "https://github.com/gnif/LookingGlass/archive/"
+                         version ".tar.gz"))
+     (file-name (string-append name "-" version))
+     (sha256
+      (base32
+       "0lrb821914fp27xaq0spwhbblssz55phiygvdlvcrkifa138v8pf"))))
+   (build-system gnu-build-system)
+   (inputs `(("fontconfig" ,fontconfig)
+             ("glu" ,glu)
+             ("mesa" ,mesa)
+             ("openssl" ,openssl)
+             ("sdl2" ,sdl2)
+             ("sdl2-ttf" ,sdl2-ttf)
+             ("spice-protocol" ,spice-protocol)))
+   (native-inputs `(("pkg-config", pkg-config)))
+   (arguments
+    `(#:tests? #f ;; No tests are available.
+      #:phases (modify-phases %standard-phases
+                 (replace 'configure
+                   (lambda* (#:key outputs #:allow-other-keys)
+                     (chdir "client")
+                     #t))
+                 (replace 'install
+                   (lambda* (#:key outputs #:allow-other-keys)
+                     (install-file "bin/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
+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.")
+   (license gpl2+)))
-- 
2.15.1