diff options
author | AndersonTorres <torres.anderson.85@gmail.com> | 2017-07-10 07:55:09 -0300 |
---|---|---|
committer | AndersonTorres <torres.anderson.85@gmail.com> | 2017-07-15 08:53:15 -0300 |
commit | a3aa0ba18be43165a76d1e1cc301699cb05152b0 (patch) | |
tree | 3abc3804f35efb0b00b45eaa9ee1eb29f97b095c /pkgs/applications/virtualization/bochs | |
parent | 7383d69514f2ec11f8fab4d7bf04c142a5ab57fd (diff) | |
download | nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.tar nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.tar.gz nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.tar.bz2 nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.tar.lz nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.tar.xz nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.tar.zst nixlib-a3aa0ba18be43165a76d1e1cc301699cb05152b0.zip |
bochs: 2.6.8 -> 2.6.9
Diffstat (limited to 'pkgs/applications/virtualization/bochs')
-rw-r--r-- | pkgs/applications/virtualization/bochs/default.nix | 151 |
1 files changed, 54 insertions, 97 deletions
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix index dfd926855790..211bd2f39e08 100644 --- a/pkgs/applications/virtualization/bochs/default.nix +++ b/pkgs/applications/virtualization/bochs/default.nix @@ -1,11 +1,10 @@ -{ stdenv, fetchurl, config +{ stdenv, fetchurl , pkgconfig, libtool , gtk2, mesa, readline, libX11, libXpm , docbook_xml_dtd_45, docbook_xsl , sdlSupport ? true, SDL2 ? null -, termSupport ? true , ncurses ? null +, termSupport ? true, ncurses ? null , wxSupport ? true, wxGTK ? null -# Optional, undocumented dependencies , wgetSupport ? false, wget ? null , curlSupport ? false, curl ? null }: @@ -16,58 +15,17 @@ assert wxSupport -> (gtk2 != null && wxGTK != null); assert wgetSupport -> (wget != null); assert curlSupport -> (curl != null); +with stdenv.lib; stdenv.mkDerivation rec { name = "bochs-${version}"; - version = "2.6.8"; + version = "2.6.9"; src = fetchurl { url = "mirror://sourceforge/project/bochs/bochs/${version}/${name}.tar.gz"; - sha256 = "1kl5cmbz6qgg33j5vv9898nzdppp1rqgy24r5pv762aaj7q0ww3r"; + sha256 = "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf"; }; - # The huge list of configurable options - # Blatantly based on ffmpeg expressions - - termSupport = config.bochs.termSupport or true; - sdlSupport = config.bochs.sdlSupport or true; - wxSupport = config.bochs.wxSupport or false; - largefile = config.bochs.largefile or true; - idleHack = config.bochs.idleHack or true; - plugins = config.bochs.plugins or false; # Warning! Broken - a20Pin = config.bochs.a20Pin or true; - emulate64Bits = config.bochs.emulate64Bits or false; - smp = config.bochs.smp or false; - largeRamfile = config.bochs.largeRamfile or true; - repeatSpeedups = config.bochs.repeatSpeedups or false; - handlersChaining = config.bochs.handlersChaining or false; - traceLinking = config.bochs.traceLinking or false; - configurableMSRegs = config.bochs.configurableMSRegs or false; - showIPS = config.bochs.showIPS or true; - debugger = config.bochs.debugger or false; - disasm = config.bochs.disasm or false; - debuggerGui = config.bochs.debuggerGui or false; - gdbStub = config.bochs.gdbStub or false; - IODebug = config.Bochs.IODebug or false; - fpu = config.bochs.fpu or true; - svm = config.bochs.svm or false; - avx = config.bochs.avx or false; - evex = config.bochs.evex or false; - x86Debugger = config.bochs.x86Debugger or false; - pci = config.bochs.pci or true; - uhci = config.bochs.uhci or false; - ohci = config.bochs.ohci or false; - ne2k = config.bochs.ne2k or true; - pNIC = config.bochs.pNIC or true; - e1000 = config.bochs.e1000 or true; - clgd54xx = config.bochs.clgd54xx or true; - voodoo = config.bochs.voodoo or true; - cdrom = config.bochs.cdrom or true; - sb16 = config.bochs.sb16 or true; - es1370 = config.bochs.es1370 or true; - gameport = config.bochs.gameport or true; - busMouse = config.bochs.busMouse or false; - buildInputs = with stdenv.lib; [ pkgconfig libtool gtk2 mesa readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ] ++ optionals termSupport [ ncurses ] @@ -83,7 +41,6 @@ stdenv.mkDerivation rec { "--with-rfb=no" "--with-vncsrv=no" "--with-svga=no" # it doesn't compile on NixOS - "--with-wx=no" # These will always be "yes" on NixOS "--enable-ltdl-install=yes" @@ -100,69 +57,69 @@ stdenv.mkDerivation rec { # Dangerous options - they are marked as "incomplete/experimental" on Bochs documentation "--enable-3dnow=no" - "--enable-usb-xhci=no" "--enable-monitor-mwait=no" "--enable-raw-serial=no" ] # Boolean flags - ++ stdenv.lib.optional termSupport "--with-term" - ++ stdenv.lib.optional sdlSupport "--with-sdl2" - ++ stdenv.lib.optional wxSupport "--with-wx" - ++ stdenv.lib.optional largefile "--enable-largefile" - ++ stdenv.lib.optional idleHack "--enable-idle-hack" - ++ stdenv.lib.optional plugins "--enable-plugins" - ++ stdenv.lib.optional a20Pin "--enable-a20-pin" - ++ stdenv.lib.optional emulate64Bits "--enable-x86-64" - ++ stdenv.lib.optional smp "--enable-smp" - ++ stdenv.lib.optional largeRamfile "--enable-large-ramfile" - ++ stdenv.lib.optional repeatSpeedups "--enable-repeat-speedups" - ++ stdenv.lib.optional handlersChaining "--enable-handlers-chaining" - ++ stdenv.lib.optional traceLinking "--enable-trace-linking" - ++ stdenv.lib.optional configurableMSRegs "--enable-configurable-msrs" - ++ stdenv.lib.optional showIPS "--enable-show-ips" - ++ stdenv.lib.optional debugger "--enable-debugger" - ++ stdenv.lib.optional disasm "--enable-disasm" - ++ stdenv.lib.optional debuggerGui "--enable-debugger-gui" - ++ stdenv.lib.optional gdbStub "--enable-gdb-stub" - ++ stdenv.lib.optional IODebug "--enable-iodebug" - ++ stdenv.lib.optional fpu "--enable-fpu" - ++ stdenv.lib.optional svm "--enable-svm" - ++ stdenv.lib.optional avx "--enable-avx" - ++ stdenv.lib.optional evex "--enable-evex" - ++ stdenv.lib.optional x86Debugger "--enable-x86-debugger" - ++ stdenv.lib.optional pci "--enable-pci" - ++ stdenv.lib.optional uhci "--enable-usb" - ++ stdenv.lib.optional ohci "--enable-usb-ohci" - ++ stdenv.lib.optional ne2k "--enable-ne2000" - ++ stdenv.lib.optional pNIC "--enable-pnic" - ++ stdenv.lib.optional e1000 "--enable-e1000" - ++ stdenv.lib.optional clgd54xx "--enable-clgd54xx" - ++ stdenv.lib.optional voodoo "--enable-voodoo" - ++ stdenv.lib.optional cdrom "--enable-cdrom" - ++ stdenv.lib.optional sb16 "--enable-sb16" - ++ stdenv.lib.optional es1370 "--enable-es1370" - ++ stdenv.lib.optional busMouse "--enable-busmouse" - ; + ++ optionals termSupport [ "--with-term" ] + ++ optionals sdlSupport [ "--with-sdl2" ] + ++ optionals wxSupport [ "--with-wx" ] + # These are completely configurable, and they don't depend of external tools + ++ [ "--enable-cpu-level=6" # from 3 to 6 + "--enable-largefile" + "--enable-idle-hack" + "--enable-plugins=no" # Plugins are a bit buggy in Bochs + "--enable-a20-pin" + "--enable-x86-64" + "--enable-smp" + "--enable-large-ramfile" + "--enable-repeat-speedups" + "--enable-handlers-chaining" + "--enable-trace-linking" + "--enable-configurable-msrs" + "--enable-show-ips" + "--enable-debugger" #conflicts with gdb-stub option + "--enable-disasm" + "--enable-debugger-gui" + "--enable-gdb-stub=no" # conflicts with debugger option + "--enable-iodebug" + "--enable-fpu" + "--enable-svm" + "--enable-avx" + "--enable-evex" + "--enable-x86-debugger" + "--enable-pci" + "--enable-usb" + "--enable-usb-ohci" + "--enable-usb-ehci" + "--enable-usb-xhci" + "--enable-ne2000" + "--enable-pnic" + "--enable-e1000" + "--enable-clgd54xx" + "--enable-voodoo" + "--enable-cdrom" + "--enable-sb16" + "--enable-es1370" + "--enable-busmouse" ]; NIX_CFLAGS_COMPILE="-I${gtk2.dev}/include/gtk-2.0/ -I${libtool}/include/"; NIX_LDFLAGS="-L${libtool.lib}/lib"; hardeningDisable = [ "format" ]; - meta = with stdenv.lib; { + meta = { 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. + 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 = [ maintainers.AndersonTorres ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } - -# TODO: study config.bochs.* implementation (like config.ffmpeg.* options) -# TODO: investigate the wxWidgets problem (maybe upstream devteam didn't update wxGTK GUI) -# TODO: investigate svga support - the Bochs sources explicitly cite /usr/include/svga.h +# TODO: plugins +# TODO: svga support - the Bochs sources explicitly cite /usr/include/vga.h +# TODO: a better way to organize the options |