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:
Ludovic Courtès 2013-08-16 23:55:51 +02:00
parent e928da09c9
commit 50731c51a4
2 changed files with 34 additions and 60 deletions

View file

@ -37,17 +37,18 @@ (define-module (gnu packages qemu)
#: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 @@ (define-public qemu-kvm
(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 @@ (define-public qemu-kvm
(string-append "--smbd=" samba
"/sbin/smbd")))))
%standard-phases)))
(inputs ; TODO: Add optional inputs.
`(;; ("mesa" ,mesa)
;; ("libaio" ,libaio)
@ -86,66 +92,34 @@ (define-public qemu-kvm
("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)))))

View file

@ -44,7 +44,7 @@ (define* (expression->derivation-in-linux-vm store name system exp inputs
#:key
(linux linux-libre)
(initrd qemu-initrd)
(qemu qemu-kvm/smb-shares)
(qemu qemu/smb-shares)
(env-vars '())
(modules '())
(guile-for-build