nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at devShellTools-shell 75 lines 2.2 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 libarchive, 6 SDL, 7}: 8 9stdenv.mkDerivation rec { 10 pname = "dgen-sdl"; 11 version = "1.33"; 12 13 src = fetchurl { 14 url = "https://sourceforge.net/projects/dgen/files/dgen/${version}/${pname}-${version}.tar.gz"; 15 hash = "sha256-meLAYBfCKHPHf4gYbrzAmGckTrbgQsdjuwlLArje9h4="; 16 }; 17 18 buildInputs = [ 19 SDL 20 libarchive 21 ]; 22 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 ]; 38 39 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-reserved-user-defined-literal"; 40 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. 48 49 It features: 50 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 (64bit, endian safe), runs in Windows using MinGW 58 - Screenshots, demos recording and playback 59 - Musashi (generic) and StarScream (x86only) CPU cores 60 - Cyclone 68000 and DrZ80 (both ARMonly) CPU cores 61 - CZ80 (generic) and MZ80 (generic and x86only versions) 62 - 16bit, 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; [ ]; 72 platforms = with platforms; unix; 73 }; 74} 75# TODO: implement configure options