pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / by-name / dg / dgen-sdl / package.nix
blob172fb56775334560029317b4a1bb3cc81db4a403
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     (lib.enableFeature (!stdenv.hostPlatform.isDarwin) "sdltest")
24     "--enable-debug-vdp"
25     "--enable-debugger"
26     "--enable-joystick"
27     "--enable-pico" # experimental
28     "--enable-vgmdump"
29     "--with-cyclone=no" # Needs ASM support
30     "--with-cz80"
31     "--with-drz80=no" # Needs ASM support
32     "--with-dz80"
33     "--with-musa"
34     "--with-mz80"
35     "--with-star=no" # Needs ASM support
36   ];
38   env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-reserved-user-defined-literal";
40   meta = with lib; {
41     homepage = "https://dgen.sourceforge.net/";
42     description = "Sega Genesis/Mega Drive emulator";
43     longDescription = ''
44       DGen/SDL is a free, open source emulator for Sega Genesis/Mega Drive
45       systems. DGen was originally written by Dave, then ported to SDL by Joe
46       Groff and Phil K. Hornung in 1998.
48       It features:
50       - Game Genie/Hex codes support
51       - PAL/NTSC, fullscreen modes
52       - Joypad/joystick support
53       - Mouse support
54       - Highly configurable controls
55       - OpenGL textured video output
56       - Portable (64‐bit, endian safe), runs in Windows using MinGW
57       - Screenshots, demos recording and playback
58       - Musashi (generic) and StarScream (x86‐only) CPU cores
59       - Cyclone 68000 and DrZ80 (both ARM‐only) CPU cores
60       - CZ80 (generic) and MZ80 (generic and x86‐only versions)
61       - 16‐bit, 8000 to 48000Hz sound output
62       - Support for 8, 15, 16, 24 and 32 bpp modes
63       - Archived/compressed ROMs support
64       - M68K debugger (contributed by Edd Barrett)
65       - Z80 debugger
66       - hqx and scale2x upscaling filters
67       - VGM dumping
68     '';
69     license = licenses.mit;
70     maintainers = with maintainers; [ AndersonTorres ];
71     platforms = with platforms; unix;
72   };
74 # TODO: implement configure options