# Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils wxwidgets autotools 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="3dnow acpi all-optimizations apic cdrom cirrus debugger debugger-gui gameport gdb iodebug mmx ncurses ne2000 nogui pci pcidev pnic readline sdl smp soundblaster sse sse2 sse3 sse4 svga usb usb-ohci vmx vnc wxwindows X" RDEPEND="X? ( x11-libs/libICE x11-libs/libSM x11-libs/libX11 x11-libs/libXpm ) sdl? ( media-libs/libsdl ) svga? ( media-libs/svgalib ) wxwindows? ( =x11-libs/wxGTK-2.6* ) 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}" epatch ${FILESDIR}/${P}-lpthread.patch # 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" # Make sure wxwindows 2.6 is used in case both 2.6 and 2.4 are installed sed -i -e "s:wx-config:wx-config-2.6:" configure.in eautoconf } src_compile() { export WX_GTK_VER=2.6 use wxwindows && \ need-wxwidgets gtk2 sse_ver="0" use sse && sse_ver="1" use sse2 && sse_ver="2" use sse3 && sse_ver="3" use sse4 && sse_ver="4" sse="--enable-sse=${sse_ver}" econf \ --prefix=/usr \ $(use_with X x11) \ $(use_with nogui) \ $(use_with ncurses term) \ $(use_with vnc rfb) \ $(use_with sdl) \ $(use_with svga) \ $(use_with wxwindows wx) \ --enable-idle-hack \ $(use_enable amd64 x86-64) \ $(use_enable smp) \ --enable-cpu-level=6 \ $(use_enable apic) \ $(use_enable ne2000) \ $(use_enable acpi) \ $(use_enable pci) \ $(use_enable pcidev) \ $(use_enable usb) \ $(use_enable usb-ohci) \ $(use_enable pnic) \ --enable-large-pages \ --enable-pae \ --enable-global-pages \ --enable-mtrr \ --enable-configurable-msrs \ --enable-ignore-bad-msr \ $(use_enable debugger) \ --enable-disasm \ $(use_enable debugger-gui) \ $(use_enable all-optimizations) \ $(use_enable readline) \ --enable-logging \ --enable-vbe \ $(use_enable cirrus clgd54xx) \ --enable-fpu \ --enable-vme \ $(use_enable vmx) \ $(use_enable mmx) \ $(use_enable 3dnow) \ ${sse} \ --enable-xsave \ --enable-aes \ --enable-alignment-check \ --enable-sep \ --enable-monitor-mwait \ $(use_enable cdrom) \ $(use_enable soundblaster sb16) \ $(use_enable gameport) \ $(use_enable gdb gdb-stub) \ $(use_enable iodebug) \ || 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 wxwindows ] then dodoc README-wxWindows || die "dodoc failed" fi }