Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / emulators / dgen-sdl / default.nix
bloba501139ff47bd9baa1e7bb378804a8febcaddf10
1 { lib
2 , stdenv
3 , fetchurl
4 , libarchive
5 , SDL
6 }:
8 stdenv.mkDerivation rec {
9   pname = "dgen-sdl";
10   version = "1.33";
12   src = fetchurl {
13     url = "https://sourceforge.net/projects/dgen/files/dgen/${version}/${pname}-${version}.tar.gz";
14     hash = "sha256-meLAYBfCKHPHf4gYbrzAmGckTrbgQsdjuwlLArje9h4=";
15   };
17   buildInputs = [
18     SDL
19     libarchive
20   ];
22   configureFlags = [
23     "--enable-debug-vdp"
24     "--enable-debugger"
25     "--enable-joystick"
26     "--enable-pico" # experimental
27     "--enable-vgmdump"
28     "--with-cyclone=no" # Needs ASM support
29     "--with-cz80"
30     "--with-drz80=no" # Needs ASM support
31     "--with-dz80"
32     "--with-musa"
33     "--with-mz80"
34     "--with-star=no" # Needs ASM support
35   ];
37   meta = with lib; {
38     homepage = "https://dgen.sourceforge.net/";
39     description = "Sega Genesis/Mega Drive emulator";
40     longDescription = ''
41       DGen/SDL is a free, open source emulator for Sega Genesis/Mega Drive
42       systems. DGen was originally written by Dave, then ported to SDL by Joe
43       Groff and Phil K. Hornung in 1998.
45       It features:
47       - Game Genie/Hex codes support
48       - PAL/NTSC, fullscreen modes
49       - Joypad/joystick support
50       - Mouse support
51       - Highly configurable controls
52       - OpenGL textured video output
53       - Portable (64‐bit, endian safe), runs in Windows using MinGW
54       - Screenshots, demos recording and playback
55       - Musashi (generic) and StarScream (x86‐only) CPU cores
56       - Cyclone 68000 and DrZ80 (both ARM‐only) CPU cores
57       - CZ80 (generic) and MZ80 (generic and x86‐only versions)
58       - 16‐bit, 8000 to 48000Hz sound output
59       - Support for 8, 15, 16, 24 and 32 bpp modes
60       - Archived/compressed ROMs support
61       - M68K debugger (contributed by Edd Barrett)
62       - Z80 debugger
63       - hqx and scale2x upscaling filters
64       - VGM dumping
65     '';
66     license = licenses.mit;
67     maintainers = with maintainers; [ AndersonTorres ];
68     platforms = with platforms; unix;
69   };
71 # TODO: implement configure options