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