# Maintainer: Natanael Copa pkgname=qemu pkgver=1.5.1 pkgrel=0 pkgdesc="QEMU is a generic machine emulator and virtualizer" url="http://qemu,org/" arch="all" license="GPL-2 LGPL-2" makedepends="zlib-dev sdl-dev alsa-lib-dev gnutls-dev ncurses-dev glib-dev libjpeg-turbo-dev libpng-dev vde2-dev spice-dev paxctl curl-dev libcap-dev libcap-ng-dev libaio-dev usbredir-dev util-linux-dev gtk+2.0-dev vte-dev" depends= install="qemu.pre-install" subpackages=" $pkgname-alpha $pkgname-arm $pkgname-cris $pkgname-i386 $pkgname-lm32 $pkgname-m68k $pkgname-microblaze $pkgname-microblazeel $pkgname-mips $pkgname-mips64 $pkgname-mips64el $pkgname-mipsel $pkgname-ppc $pkgname-ppc64 $pkgname-ppcemb $pkgname-sh4 $pkgname-s390x $pkgname-sh4eb $pkgname-sparc $pkgname-sparc64 $pkgname-x86_64 $pkgname-xtensa $pkgname-xtensaeb $pkgname-or32 $pkgname-unicore32 $pkgname-img $pkgname-guest-agent:guest " source="http://wiki.qemu-project.org/download/qemu-$pkgver.tar.bz2 qemu-guest-agent.confd qemu-guest-agent.initd 80-kvm.rules" prepare() { cd "$srcdir"/$pkgname-$pkgver for i in $source; do case $i in *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; esac done # avoid fdt till an updated release appears sed -i -e 's:fdt="yes":fdt="no":' configure # prevent docs to get automatically installed sed -i '/$(DESTDIR)$(docdir)/d' Makefile # Alter target makefiles to accept CFLAGS sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \ Makefile Makefile.target tests/Makefile sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \ Makefile.target } build() { cd "$srcdir"/$pkgname-$pkgver ./configure --prefix=/usr \ --sysconfdir=/etc \ --audio-drv-list=oss,alsa,sdl \ --enable-vde \ --enable-spice \ --enable-virtfs \ --enable-curl \ --enable-cap-ng \ --enable-linux-aio \ --enable-usb-redir \ --enable-guest-agent \ --enable-uuid \ --enable-sdl \ --enable-gtk \ --disable-bsd-user \ --disable-linux-user \ --disable-werror \ --cc="${CC:-gcc}" \ || return 1 make || return 1 # tests fails on x86 # http://lists.gnu.org/archive/html/qemu-devel/2012-11/msg01429.html # http://web.archiveorange.com/archive/v/21oVv8wOfpQGkyy8EK0N # make check || return 1 } package() { cd "$srcdir"/$pkgname-$pkgver make DESTDIR="$pkgdir" install || return 1 install -Dm644 "$srcdir"/80-kvm.rules \ "$pkgdir"/lib/udev/rules.d/80-kvm.rules || return 1 paxctl -c -m "$pkgdir"/usr/bin/qemu-system-* || return 1 } _subsys() { pkgdesc="Qemu $1 system emulator" depends="qemu" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qemu-system-$1 "$subpkgdir"/usr/bin/ } alpha() { _subsys alpha; } arm() { _subsys arm; } cris() { _subsys cris; } i386() { _subsys i386; } lm32() { _subsys lm32; } m68k() { _subsys m68k; } microblaze() { _subsys microblaze; } microblazeel() { _subsys microblazeel; } mips() { _subsys mips; } mips64() { _subsys mips64; } mips64el() { _subsys mips64el; } mipsel() { _subsys mipsel; } ppc() { _subsys ppc; } ppc64() { _subsys ppc64; } ppcemb() { _subsys ppcemb; } s390x() { _subsys s390x; } sh4() { _subsys sh4; } sh4eb() { _subsys sh4eb; } sparc() { _subsys sparc; } sparc64() { _subsys sparc64; } x86_64() { _subsys x86_64; } xtensa() { _subsys xtensa; } xtensaeb() { _subsys xtensaeb; } or32() { _subsys or32; } unicore32() { _subsys unicore32; } img() { pkgdesc="QEMU command line tool for manipulating disk images" replaces="qemu" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qemu-img \ "$pkgdir"/usr/bin/qemu-io \ "$subpkgdir"/usr/bin/ # we exploit the fact that -img subpackage are craeted last # and check that we done have new systems that belongs in # subpackage local _bins= _ret=0 for i in "$pkgdir"/usr/bin/qemu-system-*; do if [ -r "$i" ]; then error "Please create a subpackage for ${i##*/}" _ret=1 fi done return $_err } guest() { pkgdesc="QEMU guest agent" mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qemu-ga "$subpkgdir"/usr/bin/ install -Dm755 "$srcdir"/qemu-guest-agent.initd \ "$subpkgdir"/etc/init.d/qemu-guest-agent || return 1 install -Dm644 "$srcdir"/qemu-guest-agent.confd \ "$subpkgdir"/etc/conf.d/qemu-guest-agent || return 1 } md5sums="b56e73bdcfdb214d5c68e13111aca96f qemu-1.5.1.tar.bz2 1663bc6977f6886a58394155b1bf3676 qemu-guest-agent.confd 2035cd781ea810e94bda250c609d8d90 qemu-guest-agent.initd 66660f143235201249dc0648b39b86ee 80-kvm.rules" sha256sums="4c15a1ee2f387983eb5c1497f66bf567c34d14ba48517148f6eafef8ae09e3e8 qemu-1.5.1.tar.bz2 d84e53a94584f37f3bd1b21f44077b5de0d07094c6729f26ae20ab1f7b9cc298 qemu-guest-agent.confd 982fa8ba67c728405305e4cf5a36a41a780b3d1f388ebd6377e7964c271a1c92 qemu-guest-agent.initd 37f666f1cdb7d8a62171de69b531681dcb0fba74236729dac8b6c019232eba84 80-kvm.rules" sha512sums="ea28434f786bd36d99f7908380f9dcd18def36899d001170edb9c1e6c341d81fab64d7d13b9028b01cb479ecb35f62975fe928767ac585267dd4ef7ffeb7b823 qemu-1.5.1.tar.bz2 d90c034cae3f9097466854ed1a9f32ab4b02089fcdf7320e8f4da13b2b1ff65067233f48809911485e4431d7ec1a22448b934121bc9522a2dc489009e87e2b1f qemu-guest-agent.confd 761b4e2397569dae45ae3bb9e46e28746275297f629af9e9065525497fd26a48b65d8abcf4282727afd35309e338967acf6a1b14c3169577bdc16c1f42e618b3 qemu-guest-agent.initd 9b7a89b20fcf737832cb7b4d5dc7d8301dd88169cbe5339eda69fbb51c2e537d8cb9ec7cf37600899e734209e63410d50d0821bce97e401421db39c294d97be2 80-kvm.rules"