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 perl))
 | 
			
		||||
 | 
			
		||||
(define-public qemu-kvm
 | 
			
		||||
(define-public qemu
 | 
			
		||||
  ;; Since QEMU 1.3, it incorporates KVM support formerly found in QEMU-KVM.
 | 
			
		||||
  (package
 | 
			
		||||
    (name "qemu-kvm")
 | 
			
		||||
    (version "1.2.0")
 | 
			
		||||
    (name "qemu")
 | 
			
		||||
    (version "1.5.1")
 | 
			
		||||
    (source (origin
 | 
			
		||||
             (method url-fetch)
 | 
			
		||||
             (uri (string-append "mirror://sourceforge/kvm/qemu-kvm/"
 | 
			
		||||
                                 version "/qemu-kvm-" version ".tar.gz"))
 | 
			
		||||
             (uri (string-append "http://wiki.qemu-project.org/download/qemu-"
 | 
			
		||||
                                 version ".tar.bz2"))
 | 
			
		||||
             (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "018vb5nmk2fsm143bs2bl2wirhasd4b10d7jchl32zik4inbk2p9"))))
 | 
			
		||||
               "1s7316pgizpayr472la8p8a4vhv7ymmzd5qlbkmq6y9q5zpa25ac"))))
 | 
			
		||||
    (build-system gnu-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:phases (alist-replace
 | 
			
		||||
| 
						 | 
				
			
			@ -59,6 +60,10 @@
 | 
			
		|||
                         (samba (assoc-ref inputs "samba")))
 | 
			
		||||
                     (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.
 | 
			
		||||
                     (setenv "LDFLAGS" "-lrt")
 | 
			
		||||
                     (zero?
 | 
			
		||||
| 
						 | 
				
			
			@ -68,6 +73,7 @@
 | 
			
		|||
                               (string-append "--smbd=" samba
 | 
			
		||||
                                              "/sbin/smbd")))))
 | 
			
		||||
                 %standard-phases)))
 | 
			
		||||
 | 
			
		||||
    (inputs                                       ; TODO: Add optional inputs.
 | 
			
		||||
     `(;; ("mesa" ,mesa)
 | 
			
		||||
       ;; ("libaio" ,libaio)
 | 
			
		||||
| 
						 | 
				
			
			@ -86,66 +92,34 @@
 | 
			
		|||
       ("zlib" ,zlib)
 | 
			
		||||
       ("attr" ,attr)
 | 
			
		||||
       ("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)))
 | 
			
		||||
 | 
			
		||||
    (home-page "http://www.qemu-project.org")
 | 
			
		||||
    (synopsis "Machine emulator and virtualizer")
 | 
			
		||||
    (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
 | 
			
		||||
machine (e.g. an ARM board) on a different machine
 | 
			
		||||
(e.g. your own PC).  By using dynamic translation, it achieves very good
 | 
			
		||||
performance.
 | 
			
		||||
machine (e.g. an ARM board) on a different machine---e.g., your own PC.  By
 | 
			
		||||
using dynamic translation, it achieves very good performance.
 | 
			
		||||
 | 
			
		||||
When used as a virtualizer, QEMU achieves near native performances by
 | 
			
		||||
executing the guest code directly on the host CPU.  QEMU supports
 | 
			
		||||
virtualization when executing under the Xen hypervisor or using
 | 
			
		||||
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
 | 
			
		||||
                                             (linux linux-libre)
 | 
			
		||||
                                             (initrd qemu-initrd)
 | 
			
		||||
                                             (qemu qemu-kvm/smb-shares)
 | 
			
		||||
                                             (qemu qemu/smb-shares)
 | 
			
		||||
                                             (env-vars '())
 | 
			
		||||
                                             (modules '())
 | 
			
		||||
                                             (guile-for-build
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue