anchor.diff:  
     enableParallelBuilding = true;
   
  -  meta = {
  +  meta = with lib; {
  +    homepage = "http://bochs.sourceforge.io/";
       description = "An open-source IA-32 (x86) PC emulator";
       longDescription = ''
         Bochs is an open-source (LGPL), highly portable IA-32 PC emulator, written
         in C++, that runs on most popular platforms. It includes emulation of the
         Intel x86 CPU, common I/O devices, and a custom BIOS.
       '';
  -    homepage = "http://bochs.sourceforge.net/";
       license = licenses.lgpl2Plus;
       maintainers = with maintainers; [ AndersonTorres ];
       platforms = platforms.unix;
     };
   }
   # TODO: plugins
  -# TODO: svga support - the Bochs sources explicitly cite /usr/include/vga.h
   # TODO: a better way to organize the options
  
positive.code:   };
  
    patches = [
      ./bochs-2.6.11-glibc-2.26.patch
      ./fix-build-smp.patch
      ./bochs_fix_narrowing_conv_warning.patch
    ];
  
    buildInputs =
    [ pkg-config libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
    ++ optionals termSupport [ ncurses ]
    ++ optionals sdlSupport [ SDL2 ]
    ++ optionals wxSupport [ wxGTK ]
    ++ optionals wgetSupport [ wget ]
    ++ optionals curlSupport [ curl ];
  
    configureFlags = [
      "--with-x=yes"
  
negative.code:     # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation
      "--enable-3dnow=no"
      "--enable-monitor-mwait=no"
      "--enable-raw-serial=no"
  
      # These are completely configurable, and they don't depend of external tools
      "--enable-a20-pin"
      "--enable-avx"
      "--enable-busmouse"
      "--enable-cdrom"
      "--enable-clgd54xx"
      "--enable-configurable-msrs"
      "--enable-cpu-level=6" # from 3 to 6
      "--enable-debugger" #conflicts with gdb-stub option
      "--enable-debugger-gui"
      "--enable-disasm"
      "--enable-e1000"
      "--enable-es1370"
      "--enable-evex"
      "--enable-fpu"
      "--enable-gdb-stub=no" # conflicts with debugger option
      "--enable-handlers-chaining"
      "--enable-idle-hack"
      "--enable-iodebug"
      "--enable-large-ramfile"
      "--enable-largefile"
      "--enable-ne2000"
      "--enable-pci"
      "--enable-plugins=no" # Plugins are a bit buggy in Bochs
      "--enable-pnic"
      "--enable-repeat-speedups"
      "--enable-sb16"
      "--enable-show-ips"
      "--enable-smp"
      "--enable-svm"
      "--enable-trace-linking"
      "--enable-usb"
      "--enable-usb-ehci"
      "--enable-usb-ohci"
      "--enable-usb-xhci"
      "--enable-voodoo"
      "--enable-x86-64"
      "--enable-x86-debugger"
    ]
    # Boolean flags
    ++ lib.optionals (SDL2 != null) [ "--with-sdl2" ]
    ++ lib.optionals (ncurses != null) [ "--with-term" ]
    ++ lib.optionals (gtk2 != null && wxGTK != null) [ "--with-wx" ];
  
    NIX_CFLAGS_COMPILE="-I${gtk2.dev}/include/gtk-2.0/ -I${libtool}/include/";
    NIX_LDFLAGS="-L${libtool.lib}/lib";
  