From 05efdf7963df9afb1d41e4c22f7ab03a80dd4c15 Mon Sep 17 00:00:00 2001 From: Bojan Popovic Date: Wed, 5 Aug 2015 01:46:01 +0700 Subject: system/bochs: Updated for version 2.6.8. Signed-off-by: Willy Sudiarto Raharjo --- system/bochs/README | 42 ++++++++++++- system/bochs/bochs.SlackBuild | 140 ++++++++++++++++++++++++++++++------------ system/bochs/bochs.info | 6 +- 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="" -- cgit v1.2.3