--- qemu-0.6.2.20050309.ebuild 2005-03-09 21:00:25.000000000 +0000 +++ qemu-0.6.2.20050309-r1.ebuild 2005-04-05 14:43:04.000000000 +0000 @@ -7,12 +7,13 @@ DESCRIPTION="Multi-platform & multi-targets cpu emulator and dynamic translator" HOMEPAGE="http://fabrice.bellard.free.fr/qemu/" SRC_URI="http://dev.gentoo.org/~lu_zero/distfiles/${P}.tar.bz2 - kqemu? ( http://fabrice.bellard.free.fr/qemu/kqemu-${PV%.*}-1.tar.gz ) " + kqemu? ( http://fabrice.bellard.free.fr/qemu/kqemu-${PV%.*}-1.tar.gz ) + qvm86? ( qvm86-20050405.tar.bz2 )" LICENSE="GPL-2 LGPL-2.1 KQEMU" SLOT="0" KEYWORDS="~x86 ~ppc -alpha -sparc ~amd64" -IUSE="softmmu sdl kqemu" # nptl qemu-fast nptlonly" +IUSE="softmmu sdl kqemu qvm86 debug" # nptl qemu-fast nptlonly" RESTRICT="nostrip" DEPEND="virtual/libc @@ -22,7 +23,9 @@ S="${WORKDIR}/${PN}" -MODULE_NAMES="kqemu(misc:${S}/kqemu)" +MODULE_NAMES="" +use kqemu && MODULE_NAMES=$MODULE_NAMES" kqemu(misc:${S}/kqemu)" +use qvm86 && MODULE_NAMES=$MODULE_NAMES" qvm86(misc:${S}/qvm86)" set_target_list() { TARGET_LIST="arm-user armeb-user i386-user ppc-user sparc-user" @@ -32,7 +35,7 @@ } pkg_setup() { - use kqemu && linux-mod_pkg_setup + ( use kqemu || use qvm86 ) && linux-mod_pkg_setup } #RUNTIME_PATH="/emul/gnemul/" @@ -51,9 +54,14 @@ cd ${S}/kqemu epatch ${FILESDIR}/kqemu-sysfs.patch ) + if use qvm86; then + mv ${WORKDIR}/qvm86 ${S} + cd ${S} + epatch qvm86/patch.qvm86 + fi cd ${S} # Alter target makefiles to accept CFLAGS set via flag-o. - sed -i 's/^CFLAGS=/CFLAGS+=/' Makefile Makefile.target + sed -i 's/^CFLAGS=-Wall -O2 -g/CFLAGS+=-Wall/' Makefile Makefile.target # Ensure mprotect restrictions are relaxed for emulator binaries [[ -x /sbin/paxctl ]] && \ sed -i 's/^VL_LDFLAGS=$/VL_LDFLAGS=-Wl,-z,execheap/' \ @@ -63,10 +71,15 @@ } src_compile() { - # Force disable ANY cflag. - unset CFLAGS + # sse is currently broken + strip-flags + replace-cpu-flags pentium3 pentium4 i586 + if use debug; then + append-flags -g + fi + myconf="" - use kqemu || myconf="${myconf} --disable-kqemu" + use kqemu || use qvm86 || myconf="${myconf} --disable-kqemu" set_target_list # --interp-prefix=${RUNTIME_PATH}/qemu-%M ./configure \ @@ -89,12 +102,12 @@ chmod -x ${D}/usr/share/man/*/* - if use kqemu; then + if use kqemu || use qvm86; then linux-mod_src_install - + fi + if use kqemu; then # Module doc dodoc ${S}/kqemu/README - fi } @@ -117,4 +130,9 @@ einfo "make sure you have the /dev/kqemu device generated" einfo "and the kernel module loaded before running qemu" fi + if use qvm86; then + linux-mod_pkg_postinst + einfo "make sure you have the /dev/qvm86 device generated" + einfo "and the kernel module loaded before running qemu" + fi }