summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/bochs/README42
-rw-r--r--system/bochs/bochs.SlackBuild140
-rw-r--r--system/bochs/bochs.info6
3 files changed, 146 insertions, 42 deletions
diff --git a/system/bochs/README b/system/bochs/README
index 90e1e95d40..9d937e215b 100644
--- a/system/bochs/README
+++ b/system/bochs/README
@@ -4,4 +4,44 @@ Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be
compiled to emulate 386, 486, Pentium/Pentium II/Pentium 4 or x86-64
including optional MMX, SSEx and 3DNow! instructions.
-wxPython is an optional dependency.
+You can enable/disable a lot of optional features by passing variables to the script (VAR=yes/no ./bochs.SlackBuild).
+
+IDLE_HACK=yes/no (default: no), works only with x11 and term GUIs
+PLUGINS=yes/no (default: no)
+A20_PIN=yes/no (default: yes)
+x86_64=yes/no (default: yes)
+SMP=yes/no (default: yes)
+CPU_LEVEL=3/4/5/6 (default: 6)
+DEBUGGER=yes/no (default: no)
+DISASM=yes/no (default: no)
+GDB_STUB=yes/no (default: no)
+IODEBUG=yes/no (default: no)
+READLINE=yes/no (default: yes)
+LOGGING=yes/no (default: yes)
+STATS=yes/no (default: yes)
+FPU=yes/no (default: yes)
+VMX=no/1/2 (default: no)
+SVM=yes/no (default: no)
+AVX=yes/no (default: no)
+EVEX=yes/no (default: no)
+PCI=yes/no (default: yes)
+USB=yes/no (default: yes)
+USB_OHCI=yes/no (default: yes)
+USB_XHCI=yes/no (default: yes)
+NE2K=yes/no (default:yes)
+PNIC=yes/no (default: yes)
+E1K=yes/no (default: yes)
+CIRRUS=yes/no (default: yes)
+VOODOO=yes/no (default: yes)
+CDROM=yes/no (default: yes)
+SB16=yes/no (default: yes)
+ES1370=yes/no (default: yes)
+GAMEPORT=yes/no (default: yes)
+BUSMOUSE=yes/no (default: yes)
+TERM=yes/no (default: yes)
+RFB=yes/no (default: yes)
+VNCSRV=yes/no (default: yes)
+X11=yes/no (default: yes)
+WX=yes/no (default: no), requires wxGTK, or wxPython
+SDL=yes/no (default: yes)
+SDL2=yes/no (default:no), requires SDL2, buggy
diff --git a/system/bochs/bochs.SlackBuild b/system/bochs/bochs.SlackBuild
index db6efdc4ea..198edad541 100644
--- a/system/bochs/bochs.SlackBuild
+++ b/system/bochs/bochs.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for Bochs
-# Copyright 2012, 2013, 2014, Bojan Popovic, Belgrade, Serbia
+# Copyright 2012, 2013, 2014, 2015 Bojan Popovic, Belgrade, Serbia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,12 +25,15 @@
# ChangeLog:
#
-# * build 2 (2014-01-29):
+# * 2014-01-29:
# New upstream version (2.6.2). Solved the problem with dynamic
# linking on x86_64.
+# * 2015-08-03:
+# New upstream version (2.6.8). You can now override most of the
+# configure options on the command line.
PRGNAM=bochs
-VERSION=${VERSION:-2.6.2}
+VERSION=${VERSION:-2.6.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -42,6 +45,56 @@ if [ -z "$ARCH" ]; then
esac
fi
+# Fine tuning Bochs features (without experimental features)
+IDLE_HACK=${IDLE_HACK:-no} # Supposedly works only with X11 and term gui
+PLUGINS=${PLUGINS:-yes}
+A20_PIN=${A20_PIN:-yes}
+x86_64=${x86_64:-yes}
+SMP=${SMP:-yes}
+CPU_LEVEL=${CPU_LEVEL:-6} # (3/4/5/6)
+DEBUGGER=${DEBUGGER:-no}
+DISASM=${DISASM:-no}
+GDB_STUB=${GDB_STUB:-no}
+IODEBUG=${IODEBUG:-no}
+READLINE=${READLINE:-yes}
+LOGGING=${LOGGING:-yes}
+STATS=${STATS:-yes}
+FPU=${FPU:-yes}
+VMX=${VMX:-no} # (no/1/2)
+SVM=${SVM:-no}
+AVX=${AVX:-no}
+EVEX=${EVEX:-no}
+PCI=${PCI:-yes}
+USB=${USB:-yes}
+USB_OHCI=${USB_OHCI:-yes}
+USB_XHCI=${USB_XHCI:-yes}
+NE2K=${NE2K:-yes}
+PNIC=${PNIC:-yes}
+E1K=${E1K:-yes}
+CIRRUS=${CIRRUS:-yes}
+VOODOO=${VOODOO:-yes}
+CDROM=${CDROM:-yes}
+SB16=${SB16:-yes}
+ES1370=${ES1370:-yes}
+GAMEPORT=${GAMEPORT:-yes}
+BUSMOUSE=${BUSMOUSE:-yes}
+
+# Frontend interfaces
+TERM=${TERM:-yes}
+RFB=${RFB:-yes}
+VNCSRV=${VNCSRV:-yes}
+X11=${X11:-yes}
+WX=${WX:-no}
+SDL=${SDL:-yes}
+SDL2=${SDL2:-no} # Note: buggy on my machine.
+
+# SDL and SDL2 interfaces are mutually exclusive. SDL interface seems to be
+# more stable, so default to SDL.
+if [ "$SDL" = "yes" -a "$SDL2" = "yes" ]; then
+ echo "Warning: You can't enable both SDL and SDL2. Defaulting to SDL."
+ SDL2=no
+fi
+
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
@@ -63,8 +116,6 @@ else
LIBDIRSUFFIX=""
fi
-if [ $(which wx-config 2>/dev/null) ]; then wx="--with-wx"; else wx=""; fi
-
set -e
rm -rf $PKG
@@ -75,10 +126,10 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# We need this on x86_64 to fix a libtldl problem
libtoolize -c
@@ -94,34 +145,49 @@ CXXFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
- --enable-idle-hack \
- --enable-cdrom \
- --enable-clgd54xx \
- --enable-disasm \
- --enable-e1000 \
- --enable-gameport \
- --enable-iodebug \
- --enable-monitor-mwait \
- --enable-ne2000 \
- --enable-plugins \
- --enable-pci \
- --enable-pcidev \
- --enable-pnic \
- --enable-readline \
- --enable-raw-serial \
- --enable-sb16 \
- --enable-usb \
- --enable-usb-ohci \
- --enable-usb-xhci \
- --with-nogui \
- --with-rfb \
- --with-term \
- --with-x \
- --with-x11 \
- --with-sdl \
- $wx \
+ --enable-idle-hack=${IDLE_HACK} \
+ --enable-plugins=${PLUGINS} \
+ --enable-a20-pin=${A20_PIN} \
+ --enable-x86_64=${x86_64} \
+ --enable-smp=${SMP} \
+ --enable-cpu-level=${CPU_LEVEL} \
+ --enable-debugger=${DEBUGGER} \
+ --enable-disasm=${DISASM} \
+ --enable-gdb-stub=${GDB_STUB} \
+ --enable-iodebug=${IODEBUG} \
+ --enable-readline=${READLINE} \
+ --enable-logging=${LOGGING} \
+ --enable-stats=${STATS} \
+ --enable-fpu=${FPU} \
+ --enable-vmx=${VMX} \
+ --enable-svm=${SVM} \
+ --enable-avx=${AVX} \
+ --enable-evex=${EVE} \
+ --enable-pci=${PCI} \
+ --enable-usb=${USB} \
+ --enable-usb-ohci=${USB_OHCI} \
+ --enable-usb-xhci=${USB_XHCI} \
+ --enable-ne2000=${NE2K} \
+ --enable-pnic=${PNIC} \
+ --enable-e1000=${E1K} \
+ --enable-clgd54xx=${CIRRUS} \
+ --enable-voodoo=${VOODOO} \
+ --enable-cdrom=${CDROM} \
+ --enable-sb16=${SB16} \
+ --enable-es1370=${ES1370} \
+ --enable-gameport=${GAMEPORT} \
+ --enable-busmouse=${BUSMOUSE} \
+ --with-term=${TERM} \
+ --with-rfb=${RFB} \
+ --with-vncsrv=${VNCSRV} \
+ --with-sdl=${SDL} \
+ --with-sdl2=${SDL2} \
+ --with-x11=${X11} \
+ --with-wx=${WX} \
--build=$ARCH-slackware-linux
+
+
make
make install DESTDIR=$PKG
@@ -132,9 +198,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
mkdir -p $PKG/usr/doc
mv $PKG/usr/share/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
rmdir $PKG/usr/share/doc
-cp -a \
- $DOCS \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/bochs/bochs.info b/system/bochs/bochs.info
index 76d3ad0164..93ea47b057 100644
--- a/system/bochs/bochs.info
+++ b/system/bochs/bochs.info
@@ -1,8 +1,8 @@
PRGNAM="bochs"
-VERSION="2.6.2"
+VERSION="2.6.8"
HOMEPAGE="http://bochs.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/bochs/bochs-2.6.2.tar.gz"
-MD5SUM="82ecaff9826d4f29fa46f3062e2957b8"
+DOWNLOAD="http://downloads.sourceforge.net/bochs/bochs-2.6.8.tar.gz"
+MD5SUM="8a243e2b5f7562f32d2b26f3cebbba08"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""