aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app-emulation/bochs/Manifest4
-rw-r--r--app-emulation/bochs/bochs-2.4.5.ebuild136
-rw-r--r--app-emulation/bochs/files/linux-3.patch32
3 files changed, 172 insertions, 0 deletions
diff --git a/app-emulation/bochs/Manifest b/app-emulation/bochs/Manifest
new file mode 100644
index 0000000..b4cba67
--- /dev/null
+++ b/app-emulation/bochs/Manifest
@@ -0,0 +1,4 @@
+AUX linux-3.patch 1045 RMD160 4bcb7b205ab9b8649c97a0365dd9ec2f0a33cbe2 SHA1 53042a7f62a8c7e05761631bacb352a75768e7bc SHA256 109baf78a6cc090f91a1d17bcfe6e0cbc5ee0a772fd05db9d624dc90d61d1dfc
+DIST bochs-2.4.5.tar.gz 4059598 RMD160 a5a52d8f58b8ad7b1d544d4f89043244d99fa242 SHA1 e334d31efd79c80454018c9cdafaa0eb75cb018a SHA256 b948622a364c2e7da4221a6a4640ba2efa68422e1411ac377c69d37f46f67616
+DIST dlxlinux4.tar.gz 1504868 RMD160 29fd31dd0f77edacecabd9f053206a486635e7f1 SHA1 b3f441cd71c54c71a8c21aa405e949bde02c1783 SHA256 68b35f850ce69f4050ed85064e15d756245d57e84ddc1d52678b0e2a97dbf73e
+EBUILD bochs-2.4.5.ebuild 2949 RMD160 a1e1055abe7d127df002427898d6a10e83a1f99c SHA1 cdbf4cf4e2bcd64e5deecf7ca9b13774781c5947 SHA256 4c99077ab4c72d5e6bb676518bd1e03b3b11273772baa71477ae70861fad38d5
diff --git a/app-emulation/bochs/bochs-2.4.5.ebuild b/app-emulation/bochs/bochs-2.4.5.ebuild
new file mode 100644
index 0000000..3491c70
--- /dev/null
+++ b/app-emulation/bochs/bochs-2.4.5.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/bochs/bochs-2.4.5.ebuild,v 1.1 2010/09/04 09:22:32 lu_zero Exp $
+
+inherit eutils wxwidgets
+
+DESCRIPTION="a LGPL-ed pc emulator"
+HOMEPAGE="http://bochs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/bochs/${P}.tar.gz
+ http://bochs.sourceforge.net/guestos/dlxlinux4.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+IUSE="X debugger readline usb wxwidgets svga sdl ncurses vnc acpi"
+
+RDEPEND="X? ( x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXpm )
+ sdl? ( media-libs/libsdl )
+ svga? ( media-libs/svgalib )
+ wxwidgets? ( =x11-libs/wxGTK-2.8* )
+ readline? ( sys-libs/readline )
+ ncurses? ( sys-libs/ncurses )"
+
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xproto )
+ >=sys-apps/sed-4
+ >=app-text/opensp-1.5"
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ cd "${S}"
+
+ # we already downloaded dlxlinux4.tar.gz so let the Makefile cp it instead
+ # of downloading it again
+ sed -i \
+ -e "s:\$(WGET) \$(DLXLINUX_TAR_URL):cp ${DISTDIR}/dlxlinux4.tar.gz .:" \
+ Makefile.in || \
+ die "sed Makefile.in failed"
+ epatch "${FILESDIR}"/linux-3.patch
+}
+
+src_compile() {
+ WX_GTK_VER=2.8
+
+ use wxwidgets && \
+ need-wxwidgets unicode
+
+ use x86 && \
+ myconf="--enable-idle-hack --enable-fast-function-calls"
+
+ use amd64 && \
+ myconf="--enable-x86-64"
+
+ use wxwidgets && \
+ myconf="${myconf} --with-wx"
+ use wxwidgets || \
+ myconf="${myconf} --without-wx"
+
+ use vnc && \
+ myconf="${myconf} --with-rfb"
+
+ use X && \
+ myconf="${myconf} --with-x11"
+
+ use ncurses && \
+ myconf="${myconf} --with-term"
+
+ # --enable-all-optimizations causes bus error on sparc :(
+ use sparc || \
+ myconf="${myconf} --enable-all-optimizations"
+
+ econf \
+ --enable-repeat-speedups \
+ --enable-trace-cache \
+ --enable-fast-function-calls \
+ --enable-disasm \
+ --enable-logging \
+ --enable-raw-serial \
+ --enable-vbe \
+ --enable-clgd54xx \
+ --enable-alignment-check \
+ --enable-monitor-mwait \
+ --enable-gameport \
+ --enable-iodebug \
+ --prefix=/usr \
+ --enable-ne2000 \
+ --enable-sb16=linux \
+ --enable-plugins \
+ --enable-cdrom \
+ --enable-pci \
+ --enable-pcidev \
+ --enable-pnic \
+ --enable-cpu-level=6 \
+ --enable-smp \
+ --with-nogui \
+ $(use_enable usb) \
+ $(use_enable readline) \
+ $(use_enable debugger) \
+ $(use_with X) \
+ $(use_with sdl) \
+ $(use_with svga) \
+ $(use_enable acpi) \
+ ${myconf} || \
+ die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install unpack_dlx || die "make install failed"
+
+ # workaround
+ make prefix="${D}/usr" install_dlx
+
+ dodoc \
+ CHANGES \
+ PARAM_TREE.txt \
+ README \
+ README-plugins \
+ TESTFORM.txt \
+ TODO || \
+ die "doco failed"
+
+ if [ use vnc ]
+ then
+ dodoc README.rfb || die "dodoc failed"
+ fi
+
+ if [ use wxwidgets ]
+ then
+ dodoc README-wxWindows || die "dodoc failed"
+ fi
+}
diff --git a/app-emulation/bochs/files/linux-3.patch b/app-emulation/bochs/files/linux-3.patch
new file mode 100644
index 0000000..998222b
--- /dev/null
+++ b/app-emulation/bochs/files/linux-3.patch
@@ -0,0 +1,32 @@
+--- a/configure.in 2010-04-25 09:57:19.000000000 +0200
++++ b/configure.in 2011-10-23 14:00:04.000000000 +0200
+@@ -699,8 +699,12 @@
+ PCIDEV_MODULE_MAKE_ALL="all-kernel26"
+ KERNEL_MODULE_SUFFIX="ko"
+ ;;
++ 3*)
++ PCIDEV_MODULE_MAKE_ALL="all-kernel26"
++ KERNEL_MODULE_SUFFIX="ko"
++ ;;
+ *)
+- AC_MSG_ERROR([Linux kernel 2.4 or 2.6 is required])
++ AC_MSG_ERROR([Linux kernel 2.4, 2.6 or 3 is required])
+ ;;
+ esac
+ KERNELDIR="/lib/modules/$linux_version/build"
+--- a/configure 2010-04-25 09:58:15.000000000 +0200
++++ b/configure 2011-10-23 14:09:40.000000000 +0200
+@@ -33561,8 +33561,12 @@
+ PCIDEV_MODULE_MAKE_ALL="all-kernel26"
+ KERNEL_MODULE_SUFFIX="ko"
+ ;;
++ 3*)
++ PCIDEV_MODULE_MAKE_ALL="all-kernel26"
++ KERNEL_MODULE_SUFFIX="ko"
++ ;;
+ *)
+- { { echo "$as_me:$LINENO: error: Linux kernel 2.4 or 2.6 is required" >&5
++ { { echo "$as_me:$LINENO: error: Linux kernel 2.4, 2.6 or 3 is required" >&5
+ echo "$as_me: error: Linux kernel 2.4 or 2.6 is required" >&2;}
+ { (exit 1); exit 1; }; }
+ ;;