# Maintainer: Kyle Keen <keenerd@gmail.com>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
# Contributor: Kevin Piche <kevin@archlinux.org>

pkgname=bochs
pkgver=3.0
pkgrel=1
pkgdesc="A portable x86 PC emulation software package, including GUI debugger"
arch=('x86_64' 'pentium4' 'i686' 'i486')
url="http://bochs.sourceforge.net/"
license=('LGPL-2.1-or-later')
depends=('libxrandr' 'libxpm' 'gtk2')
source=("https://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz")
sha256sums=('cb6f542b51f35a2cc9206b2a980db5602b7cd1b7cf2e4ed4f116acd5507781aa')

prepare() {
	cd "${pkgname}-${pkgver}/"
	# 4.X kernel is basically 3.20
	sed -i 's/2\.6\*|3\.\*)/2.6*|3.*|4.*)/' configure*
}

build() {
	cd "${pkgname}-${pkgver}/"

	./configure \
		--prefix=/usr \
		--without-wx \
		--with-x11 \
		--with-x \
		--with-term \
		--disable-docbook \
		--enable-cpu-level=6 \
		--enable-fpu \
		--enable-3dnow \
		--enable-disasm \
		--enable-smp \
		--enable-x86-64 \
		--enable-avx \
		--enable-evex \
		--enable-long-phy-address \
		--enable-disasm \
		--enable-pcidev \
		--enable-usb \
		--enable-debugger
	#   --with-sdl
	#   --enable-x86-debugger
	#   --enable-all-optimizations
	#   --enable-plugins

	sed -i 's/^LIBS = /LIBS = -lpthread/g' Makefile
	make
}

package() {
	cd "${pkgname}-${pkgver}/"
	make DESTDIR="${pkgdir}" install
	install -Dm644 .bochsrc "${pkgdir}/etc/bochsrc-sample.txt"
}

# disable host PCI device mapping, not supported for newer kernels in Bochs itself
if [ "${CARCH}" = "i486" -o "${CARCH}" = "i686" -o "${CARCH}" = "pentium4" ]; then
	eval "$(
		declare -f build |
			sed '
        s@--enable-pcidev@--disable-pcidev@g
      '
	)"
fi
