diff -bur bochs.orig/Portfile bochs/Portfile
--- bochs.orig/Portfile	2017-03-01 14:24:03.000000000 +0100
+++ bochs/Portfile	2017-03-01 15:36:25.000000000 +0100
@@ -1,16 +1,15 @@
 PortSystem          1.0
 
 name                bochs
-version             2.4.5
-revision            4
+version             2.6.8
 categories          emulators
 license             LGPL-2.1+
 platforms           darwin
 maintainers         @Nax
 
-description         cross platform ia-32 emulator
+description         cross platform x86 and x86_64 emulator
 
-long_description    Bochs is a highly portable open source IA-32 (x86) \
+long_description    Bochs is a highly portable open source x86 and x86_64 \
                     PC emulator written in C++, that runs on most popular \
                     platforms. It emulates the Intel x86 CPU, common I/O \
                     devices, and a custom BIOS.
@@ -18,36 +17,75 @@
 homepage            http://bochs.sourceforge.net/
 master_sites        sourceforge
 
-checksums           md5     fda7eadcd9590934d2901f8439631463 \
-                    sha1    e334d31efd79c80454018c9cdafaa0eb75cb018a \
-                    rmd160  a5a52d8f58b8ad7b1d544d4f89043244d99fa242
+checksums           sha256  79700ef0914a0973f62d9908ff700ef7def62d4a28ed5de418ef61f3576585ce \
+                    rmd160  cf6f9a427559c79e18c208a89e7146b6e9798ea5
 
 patchfiles          patch-.bochsrc.diff
 
-depends_lib         port:xorg-libX11 \
-                    port:xorg-libsm \
-                    port:xpm \
-                    port:gettext
+depends_lib         port:gettext \
+                    port:readline
 
 configure.args      --exec-prefix=${prefix} \
                     --bindir=${prefix}/bin \
                     --mandir=${prefix}/share/man \
+                    --enable-cpu-level=6 \
                     --enable-all-optimizations \
+                    --enable-x86-64 \
+                    --enable-pci \
                     --enable-vbe \
+                    --enable-clgd54xx \
+                    --enable-voodoo \
+                    --enable-ne2000 \
+                    --enable-e1000 \
+                    --enable-usb \
+                    --enable-usb-ohci \
+                    --enable-usb-xhci \
                     --enable-cdrom \
-                    --with-x11
+                    --enable-logging \
+                    --enable-plugins \
+                    --enable-readline \
+                    --with-nogui
 
-# Disable sound support, see ticket #23938
-#configure.args-append --enable-sb16=osx
+variant debugger description {Enable bochs internal debugger} conflicts gdbstub {
+    configure.args-append --enable-debugger --enable-disasm
+}
 
 variant smp description {Enable symmetric multi-processor support} conflicts gdbstub {
-    configure.args-append --enable-smp --enable-cpu-level=6
+    configure.args-append --enable-smp
 }
 
-variant gdbstub description {Enable GDB stub debugging} conflicts smp {
+variant gdbstub description {Enable GDB stub debugging} conflicts smp debugger {
     configure.args-append --enable-gdb-stub
 }
 
+variant avx description {Enable AVX support} {
+    configure.args-append --enable-avx --enable-evex
+}
+
+variant x11 {
+    configure.args-append   --with-x11
+    depends_lib-append      port:xorg-libX11 \
+                            port:xorg-libsm \
+                            port:xpm
+}
+
+variant sdl description {Enable SDL GUI} {
+    configure.args-append   --with-sdl
+    depends_lib-append      port:libsdl
+}
+
+variant sdl2 description {Enable SDL2 GUI} {
+    configure.args-append   --with-sdl2
+    depends_lib-append      port:libsdl2
+}
+
+variant term description {Enable text-mode GUI} {
+    configure.args-append   --with-term
+    depends_lib-append      port:ncurses
+}
+
+default_variants +smp +avx +sdl2 +term
+
 post-destroot {
     reinplace "s|\$BXSHARE/|${prefix}/share/bochs/|g" \
         ${destroot}${prefix}/share/doc/bochs/bochsrc-sample.txt
diff -bur bochs.orig/files/patch-.bochsrc.diff bochs/files/patch-.bochsrc.diff
--- bochs.orig/files/patch-.bochsrc.diff	2017-03-01 14:24:03.000000000 +0100
+++ bochs/files/patch-.bochsrc.diff	2017-03-01 14:19:28.000000000 +0100
@@ -1,29 +1,29 @@
---- .bochsrc.orig	2010-04-24 04:36:03.000000000 -0500
-+++ .bochsrc	2010-04-27 23:47:57.000000000 -0500
-@@ -276,7 +276,7 @@
- # The parameter 'type' can be used to enable the floppy drive without media
- # and status specified. Usually the drive type is set up based on the media type.
+--- .bochsrc.orig	2017-03-01 14:04:04.000000000 +0100
++++ .bochsrc	2017-03-01 14:06:18.000000000 +0100
+@@ -623,7 +623,7 @@
+ # The optional parameter 'write_protected' can be used to control the media
+ # write protect switch. By default it is turned off.
  #=======================================================================
 -floppya: 1_44=/dev/fd0, status=inserted
 +#floppya: 1_44=/dev/fd0, status=inserted
  #floppya: image=../1.44, status=inserted
  #floppya: 1_44=/dev/fd0H1440, status=inserted
  #floppya: 1_2=../1_2, status=inserted
-@@ -553,7 +553,7 @@
- #   parport2: enabled=1, file="/dev/lp0"
- #   parport1: enabled=0
+@@ -711,7 +711,7 @@
+ #   ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63
+ #   ata3-slave:  type=cdrom, path=iso.sample, status=inserted
  #=======================================================================
--parport1: enabled=1, file="parport.out"
-+#parport1: enabled=1, file="parport.out"
- 
- #=======================================================================
- # SB16:
-@@ -591,7 +591,7 @@
- #   sb16: midimode=1, midi="", wavemode=1, wave=""           # win32
- #   sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA
+-ata0-master: type=disk, mode=flat, path="30M.sample"
++#ata0-master: type=disk, mode=flat, path="30M.sample"
+ #ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17
+ #ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect
+ #ata0-slave: type=disk, mode=vvfat, path=/bochs/images/vvfat, journal=vvfat.redolog
+@@ -904,7 +904,7 @@
+ # Example for different drivers:
+ #   sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
  #=======================================================================
--#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000
-+sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000
+-sound: driver=default, waveout=/dev/dsp. wavein=, midiout=
++#sound: driver=default, waveout=/dev/dsp. wavein=, midiout=
  
  #=======================================================================
- # VGA_UPDATE_INTERVAL:
+ # SPEAKER:
Only in bochs: work
