system/bochs: Updated for version 2.6.8.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Bojan Popovic 2015-08-05 01:46:01 +07:00 committed by Willy Sudiarto Raharjo
parent e451fcd40b
commit 05efdf7963
3 changed files with 146 additions and 42 deletions

View file

@ -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

View file

@ -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

View file

@ -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=""