gnu: Remove QEMU-KVM, which is no longer needed.
* gnu/packages/qemu.scm (qemu-kvm): Remove. (qemu): Incorporate parts of QEMU-KVM that used to be inherited. (qemu-kvm/smb-shares): Rename to... (qemu/smb-shares): ... this. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Adjust accordingly.
This commit is contained in:
		
							parent
							
								
									e928da09c9
								
							
						
					
					
						commit
						50731c51a4
					
				
					 2 changed files with 34 additions and 60 deletions
				
			
		| 
						 | 
					@ -37,17 +37,18 @@
 | 
				
			||||||
  #:use-module (gnu packages xorg)
 | 
					  #:use-module (gnu packages xorg)
 | 
				
			||||||
  #:use-module (gnu packages perl))
 | 
					  #:use-module (gnu packages perl))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public qemu-kvm
 | 
					(define-public qemu
 | 
				
			||||||
 | 
					  ;; Since QEMU 1.3, it incorporates KVM support formerly found in QEMU-KVM.
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "qemu-kvm")
 | 
					    (name "qemu")
 | 
				
			||||||
    (version "1.2.0")
 | 
					    (version "1.5.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
             (method url-fetch)
 | 
					             (method url-fetch)
 | 
				
			||||||
             (uri (string-append "mirror://sourceforge/kvm/qemu-kvm/"
 | 
					             (uri (string-append "http://wiki.qemu-project.org/download/qemu-"
 | 
				
			||||||
                                 version "/qemu-kvm-" version ".tar.gz"))
 | 
					                                 version ".tar.bz2"))
 | 
				
			||||||
             (sha256
 | 
					             (sha256
 | 
				
			||||||
              (base32
 | 
					              (base32
 | 
				
			||||||
               "018vb5nmk2fsm143bs2bl2wirhasd4b10d7jchl32zik4inbk2p9"))))
 | 
					               "1s7316pgizpayr472la8p8a4vhv7ymmzd5qlbkmq6y9q5zpa25ac"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases (alist-replace
 | 
					     '(#:phases (alist-replace
 | 
				
			||||||
| 
						 | 
					@ -59,6 +60,10 @@
 | 
				
			||||||
                         (samba (assoc-ref inputs "samba")))
 | 
					                         (samba (assoc-ref inputs "samba")))
 | 
				
			||||||
                     (setenv "SHELL" (which "bash"))
 | 
					                     (setenv "SHELL" (which "bash"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                     ;; While we're at it, patch for tests.
 | 
				
			||||||
 | 
					                     (substitute* "tests/libqtest.c"
 | 
				
			||||||
 | 
					                       (("/bin/sh") (which "sh")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                     ;; The binaries need to be linked against -lrt.
 | 
					                     ;; The binaries need to be linked against -lrt.
 | 
				
			||||||
                     (setenv "LDFLAGS" "-lrt")
 | 
					                     (setenv "LDFLAGS" "-lrt")
 | 
				
			||||||
                     (zero?
 | 
					                     (zero?
 | 
				
			||||||
| 
						 | 
					@ -68,6 +73,7 @@
 | 
				
			||||||
                               (string-append "--smbd=" samba
 | 
					                               (string-append "--smbd=" samba
 | 
				
			||||||
                                              "/sbin/smbd")))))
 | 
					                                              "/sbin/smbd")))))
 | 
				
			||||||
                 %standard-phases)))
 | 
					                 %standard-phases)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (inputs                                       ; TODO: Add optional inputs.
 | 
					    (inputs                                       ; TODO: Add optional inputs.
 | 
				
			||||||
     `(;; ("mesa" ,mesa)
 | 
					     `(;; ("mesa" ,mesa)
 | 
				
			||||||
       ;; ("libaio" ,libaio)
 | 
					       ;; ("libaio" ,libaio)
 | 
				
			||||||
| 
						 | 
					@ -86,66 +92,34 @@
 | 
				
			||||||
       ("zlib" ,zlib)
 | 
					       ("zlib" ,zlib)
 | 
				
			||||||
       ("attr" ,attr)
 | 
					       ("attr" ,attr)
 | 
				
			||||||
       ("samba" ,samba)))                         ; an optional dependency
 | 
					       ("samba" ,samba)))                         ; an optional dependency
 | 
				
			||||||
    (home-page "http://www.linux-kvm.org/")
 | 
					 | 
				
			||||||
    (synopsis
 | 
					 | 
				
			||||||
     "Virtualization for Linux on x86 hardware containing virtualization extensions")
 | 
					 | 
				
			||||||
    (description
 | 
					 | 
				
			||||||
     "KVM (for Kernel-based Virtual Machine) is a full virtualization solution
 | 
					 | 
				
			||||||
for Linux on x86 hardware containing virtualization extensions (Intel VT or
 | 
					 | 
				
			||||||
AMD-V).  It consists of a loadable kernel module, kvm.ko, that provides the
 | 
					 | 
				
			||||||
core virtualization infrastructure and a processor specific module,
 | 
					 | 
				
			||||||
kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is
 | 
					 | 
				
			||||||
underway to get the required changes upstream.")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'.
 | 
					 | 
				
			||||||
    (license gpl2)))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public qemu-kvm/smb-shares
 | 
					 | 
				
			||||||
  ;; A patched QEMU-KVM where `-net smb' yields two shares instead of one: one
 | 
					 | 
				
			||||||
  ;; for the store, and another one for exchanges with the host.
 | 
					 | 
				
			||||||
  (package (inherit qemu-kvm)
 | 
					 | 
				
			||||||
    (name "qemu-kvm-with-multiple-smb-shares")
 | 
					 | 
				
			||||||
    (inputs `(,@(package-inputs qemu-kvm)
 | 
					 | 
				
			||||||
              ("patch/smb-shares"
 | 
					 | 
				
			||||||
               ,(search-patch "qemu-multiple-smb-shares.patch"))))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     `(#:patches (list (assoc-ref %build-inputs "patch/smb-shares"))
 | 
					 | 
				
			||||||
       ,@(package-arguments qemu-kvm)))))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(define-public qemu
 | 
					 | 
				
			||||||
  ;; The real one, with a complete target list.
 | 
					 | 
				
			||||||
  (package (inherit qemu-kvm)
 | 
					 | 
				
			||||||
    (name "qemu")
 | 
					 | 
				
			||||||
    (version "1.5.1")
 | 
					 | 
				
			||||||
    (location (source-properties->location (current-source-location)))
 | 
					 | 
				
			||||||
    (source (origin
 | 
					 | 
				
			||||||
             (method url-fetch)
 | 
					 | 
				
			||||||
             (uri (string-append "http://wiki.qemu-project.org/download/qemu-"
 | 
					 | 
				
			||||||
                                 version ".tar.bz2"))
 | 
					 | 
				
			||||||
             (sha256
 | 
					 | 
				
			||||||
              (base32
 | 
					 | 
				
			||||||
               "1s7316pgizpayr472la8p8a4vhv7ymmzd5qlbkmq6y9q5zpa25ac"))))
 | 
					 | 
				
			||||||
    (arguments
 | 
					 | 
				
			||||||
     (substitute-keyword-arguments (package-arguments qemu-kvm)
 | 
					 | 
				
			||||||
       ((#:phases phases)
 | 
					 | 
				
			||||||
        `(alist-cons-before
 | 
					 | 
				
			||||||
          'build 'pre-build
 | 
					 | 
				
			||||||
          (lambda* (#:key inputs #:allow-other-keys)
 | 
					 | 
				
			||||||
            (substitute* "tests/libqtest.c"
 | 
					 | 
				
			||||||
              (("/bin/sh") (which "sh"))))
 | 
					 | 
				
			||||||
          ,phases))))
 | 
					 | 
				
			||||||
    (native-inputs `(("perl" ,perl)))
 | 
					    (native-inputs `(("perl" ,perl)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (home-page "http://www.qemu-project.org")
 | 
					    (home-page "http://www.qemu-project.org")
 | 
				
			||||||
 | 
					    (synopsis "Machine emulator and virtualizer")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "QEMU is a generic and open source machine emulator and virtualizer.
 | 
					     "QEMU is a generic machine emulator and virtualizer.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
When used as a machine emulator, QEMU can run OSes and programs made for one
 | 
					When used as a machine emulator, QEMU can run OSes and programs made for one
 | 
				
			||||||
machine (e.g. an ARM board) on a different machine
 | 
					machine (e.g. an ARM board) on a different machine---e.g., your own PC.  By
 | 
				
			||||||
(e.g. your own PC).  By using dynamic translation, it achieves very good
 | 
					using dynamic translation, it achieves very good performance.
 | 
				
			||||||
performance.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
When used as a virtualizer, QEMU achieves near native performances by
 | 
					When used as a virtualizer, QEMU achieves near native performances by
 | 
				
			||||||
executing the guest code directly on the host CPU.  QEMU supports
 | 
					executing the guest code directly on the host CPU.  QEMU supports
 | 
				
			||||||
virtualization when executing under the Xen hypervisor or using
 | 
					virtualization when executing under the Xen hypervisor or using
 | 
				
			||||||
the KVM kernel module in Linux.  When using KVM, QEMU can virtualize x86,
 | 
					the KVM kernel module in Linux.  When using KVM, QEMU can virtualize x86,
 | 
				
			||||||
server and embedded PowerPC, and S390 guests.")))
 | 
					server and embedded PowerPC, and S390 guests.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'.
 | 
				
			||||||
 | 
					    (license gpl2)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(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)
 | 
				
			||||||
 | 
					    (name "qemu-with-multiple-smb-shares")
 | 
				
			||||||
 | 
					    (inputs `(,@(package-inputs qemu)
 | 
				
			||||||
 | 
					              ("patch/smb-shares"
 | 
				
			||||||
 | 
					               ,(search-patch "qemu-multiple-smb-shares.patch"))))
 | 
				
			||||||
 | 
					    (arguments
 | 
				
			||||||
 | 
					     `(#:patches (list (assoc-ref %build-inputs "patch/smb-shares"))
 | 
				
			||||||
 | 
					       ,@(package-arguments qemu)))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,7 @@
 | 
				
			||||||
                                             #:key
 | 
					                                             #:key
 | 
				
			||||||
                                             (linux linux-libre)
 | 
					                                             (linux linux-libre)
 | 
				
			||||||
                                             (initrd qemu-initrd)
 | 
					                                             (initrd qemu-initrd)
 | 
				
			||||||
                                             (qemu qemu-kvm/smb-shares)
 | 
					                                             (qemu qemu/smb-shares)
 | 
				
			||||||
                                             (env-vars '())
 | 
					                                             (env-vars '())
 | 
				
			||||||
                                             (modules '())
 | 
					                                             (modules '())
 | 
				
			||||||
                                             (guile-for-build
 | 
					                                             (guile-for-build
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue