summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/kqemu/kqemu-1.4.0_pre1.ebuild')
-rw-r--r--app-emulation/kqemu/kqemu-1.4.0_pre1.ebuild75
1 files changed, 75 insertions, 0 deletions
diff --git a/app-emulation/kqemu/kqemu-1.4.0_pre1.ebuild b/app-emulation/kqemu/kqemu-1.4.0_pre1.ebuild
new file mode 100644
index 000000000000..4d7421306c82
--- /dev/null
+++ b/app-emulation/kqemu/kqemu-1.4.0_pre1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/kqemu/kqemu-1.4.0_pre1.ebuild,v 1.1 2009/03/06 22:18:01 lu_zero Exp $
+
+inherit eutils flag-o-matic linux-mod toolchain-funcs
+
+MY_PV=${PV/_/}
+MY_P=${PN}-${MY_PV}
+
+DESCRIPTION="Multi-platform & multi-targets cpu emulator and dynamic translator kernel fast execution module"
+HOMEPAGE="http://bellard.org/qemu/"
+SRC_URI="http://bellard.org/qemu/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="strip"
+IUSE=""
+
+S="${WORKDIR}/$MY_P"
+
+DEPEND=""
+RDEPEND=""
+
+pkg_setup() {
+ MODULE_NAMES="kqemu(misc:${S})"
+ linux-mod_pkg_setup
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ sed -i 's:MODULE_PARM(\([^,]*\),"i");:module_param(\1, int, 0);:' kqemu-linux.c
+}
+
+src_compile() {
+ #Let the application set its cflags
+ unset CFLAGS
+
+ # Switch off hardened tech
+ filter-flags -fpie -fstack-protector
+
+ ./configure --kernel-path="${KV_DIR}" \
+ || die "could not configure"
+
+ make
+}
+
+src_install() {
+ linux-mod_src_install
+
+ # udev rule
+ dodir /etc/udev/rules.d/
+ echo 'KERNEL=="kqemu*", NAME="%k", GROUP="qemu", MODE="0660"' > ${D}/etc/udev/rules.d/48-qemu.rules
+
+ # Module doc
+ dodoc "${S}/README"
+ dohtml "${S}/kqemu-doc.html"
+
+ # module params
+ dodir /etc/modules.d
+ echo "options kqemu major=0" > ${D}/etc/modules.d/kqemu
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+ enewgroup qemu
+ elog "Make sure you have the kernel module loaded before running qemu"
+ elog "and your user is in the 'qemu' group"
+ case ${CHOST} in
+ *-darwin*) elog "Just run 'niutil -appendprop / /groups/qemu users <USER>'";;
+ *-freebsd*|*-dragonfly*) elog "Just run 'pw groupmod qemu -m <USER>'";;
+ *) elog "Just run 'gpasswd -a <USER> qemu', then have <USER> re-login.";;
+ esac
+}