From 4942d42a94b8900cf622c802ce83be5e6e2bc1a0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org>
Date: Sat, 23 Nov 2013 18:21:31 +0100
Subject: [PATCH] gnu: qemu: Add GUI version.

* gnu/packages/qemu.scm (qemu): Rename to...
  (qemu-headless): ... this.
  (qemu/smb-shares): Inherit from it.
  (qemu): New variable.
* gnu/packages/grub.scm (qemu-for-tests): Inherit from QEMU-HEADLESS.
---
 gnu/packages/grub.scm |  2 +-
 gnu/packages/qemu.scm | 26 +++++++++++++++++---------
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index ba1fd8fabcf..1a9ca461e78 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -38,7 +38,7 @@ (define qemu-for-tests
   ;; <https://bugs.launchpad.net/bugs/947597> and fixed at
   ;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
   ;; Work around it by using an older QEMU.
-  (package (inherit qemu)
+  (package (inherit qemu-headless)
     (version "1.3.1")
     (source (origin
              (method url-fetch)
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 8efde67595e..406d4d12aff 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -36,12 +36,13 @@ (define-module (gnu packages qemu)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages samba)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages perl))
 
-(define-public qemu
-  ;; Since QEMU 1.3, it incorporates KVM support formerly found in QEMU-KVM.
+(define-public qemu-headless
+  ;; This is QEMU without GUI support.
   (package
-    (name "qemu")
+    (name "qemu-headless")
     (version "1.5.1")
     (source (origin
              (method url-fetch)
@@ -91,8 +92,7 @@ (define-public qemu
                   %standard-phases))))
 
     (inputs                                       ; TODO: Add optional inputs.
-     `(;; ("mesa" ,mesa)
-       ;; ("libaio" ,libaio)
+     `(;; ("libaio" ,libaio)
        ("glib" ,glib)
        ("python" ,python-2) ; incompatible with Python 3 according to error message
        ("ncurses" ,ncurses)
@@ -104,7 +104,6 @@ (define-public qemu
        ;; ("pciutils" ,pciutils)
        ("pkg-config" ,pkg-config)
        ("alsa-lib" ,alsa-lib)
-       ;; ("SDL" ,SDL)
        ("zlib" ,zlib)
        ("attr" ,attr)
        ("samba" ,samba)))                         ; an optional dependency
@@ -112,7 +111,7 @@ (define-public qemu
                      ("perl" ,perl)))
 
     (home-page "http://www.qemu-project.org")
-    (synopsis "Machine emulator and virtualizer")
+    (synopsis "Machine emulator and virtualizer (without GUI)")
     (description
      "QEMU is a generic machine emulator and virtualizer.
 
@@ -132,8 +131,17 @@ (define-public qemu
 (define-public qemu/smb-shares
   ;; A patched QEMU where `-net smb' yields two shares instead of one: one for
   ;; the store, and another one for exchanges with the host.
-  (package (inherit qemu)
+  (package (inherit qemu-headless)
     (name "qemu-with-multiple-smb-shares")
-    (source (origin (inherit (package-source qemu))
+    (source (origin (inherit (package-source qemu-headless))
               (patches
                (list (search-patch "qemu-multiple-smb-shares.patch")))))))
+
+(define-public qemu
+  ;; QEMU with GUI support.
+  (package (inherit qemu-headless)
+    (name "qemu")
+    (synopsis "Machine emulator and virtualizer")
+    (inputs `(("sdl" ,sdl)
+              ("mesa" ,mesa)
+              ,@(package-inputs qemu-headless)))))
-- 
GitLab