summaryrefslogtreecommitdiff
path: root/games-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/advancemame/Manifest7
-rw-r--r--games-emulation/advancemame/advancemame-1.2.ebuild91
-rw-r--r--games-emulation/advancemame/files/advancemame-1.2-pic.patch13
-rw-r--r--games-emulation/advancemame/files/advancemame-1.2-verboselog.patch42
-rw-r--r--games-emulation/advancemame/metadata.xml24
-rw-r--r--games-emulation/advancemenu/Manifest7
-rw-r--r--games-emulation/advancemenu/advancemenu-2.7.ebuild85
-rw-r--r--games-emulation/advancemenu/files/advancemenu-2.7-alsa-pkg-config.patch20
-rw-r--r--games-emulation/advancemenu/files/advancemenu-2.7-pic.patch13
-rw-r--r--games-emulation/advancemenu/metadata.xml11
-rw-r--r--games-emulation/advancescan/Manifest7
-rw-r--r--games-emulation/advancescan/advancescan-1.16-r1.ebuild36
-rw-r--r--games-emulation/advancescan/files/advancescan-1.16-gcc6.patch520
-rw-r--r--games-emulation/advancescan/files/advancescan-1.16-sys-expat.patch77
-rw-r--r--games-emulation/advancescan/metadata.xml11
-rw-r--r--games-emulation/atari800/Manifest8
-rw-r--r--games-emulation/atari800/atari800-3.1.0.ebuild94
-rw-r--r--games-emulation/atari800/files/atari800-3.1.0-tgetent-detection.patch12
-rw-r--r--games-emulation/atari800/files/atari800.cfg24
-rw-r--r--games-emulation/atari800/metadata.xml29
-rw-r--r--games-emulation/caps/Manifest8
-rw-r--r--games-emulation/caps/caps-20071115.ebuild67
-rw-r--r--games-emulation/caps/metadata.xml15
-rw-r--r--games-emulation/daphne/Manifest12
-rw-r--r--games-emulation/daphne/daphne-1.0.ebuild89
-rw-r--r--games-emulation/daphne/files/daphne-1.0-gcc43.patch12
-rw-r--r--games-emulation/daphne/files/daphne-1.0-ldflags.patch22
-rw-r--r--games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch41
-rw-r--r--games-emulation/daphne/files/daphne-1.0-typefix.patch47
-rw-r--r--games-emulation/daphne/files/daphne-1.0-underlink.patch8
-rw-r--r--games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch14
-rw-r--r--games-emulation/daphne/files/daphne-1.0-zlib.patch13
-rw-r--r--games-emulation/daphne/metadata.xml8
-rw-r--r--games-emulation/dboxfe/Manifest7
-rw-r--r--games-emulation/dboxfe/dboxfe-0.1.3-r1.ebuild29
-rw-r--r--games-emulation/dboxfe/dboxfe-0.1.3.ebuild35
-rw-r--r--games-emulation/dboxfe/files/dboxfe-0.1.3-ldflags.patch20
-rw-r--r--games-emulation/dboxfe/metadata.xml15
-rw-r--r--games-emulation/desmume/Manifest15
-rw-r--r--games-emulation/desmume/desmume-0.9.10.ebuild39
-rw-r--r--games-emulation/desmume/desmume-0.9.11-r1.ebuild34
-rw-r--r--games-emulation/desmume/desmume-0.9.11.ebuild35
-rw-r--r--games-emulation/desmume/desmume-0.9.8.ebuild35
-rw-r--r--games-emulation/desmume/desmume-0.9.9.ebuild35
-rw-r--r--games-emulation/desmume/files/desmume-0.9.11-fix-pointer-conversion-warning.diff11
-rw-r--r--games-emulation/desmume/files/desmume-0.9.11-gcc6.patch47
-rw-r--r--games-emulation/desmume/files/desmume-fix-function-type.patch22
-rw-r--r--games-emulation/desmume/metadata.xml14
-rw-r--r--games-emulation/dgen-sdl/Manifest6
-rw-r--r--games-emulation/dgen-sdl/dgen-sdl-1.33.ebuild42
-rw-r--r--games-emulation/dgen-sdl/files/dgen-sdl-1.33-joystick.patch18
-rw-r--r--games-emulation/dgen-sdl/metadata.xml11
-rw-r--r--games-emulation/dolphin/Manifest6
-rw-r--r--games-emulation/dolphin/dolphin-5.0.ebuild191
-rw-r--r--games-emulation/dolphin/dolphin-9999.ebuild198
-rw-r--r--games-emulation/dolphin/metadata.xml22
-rw-r--r--games-emulation/dosbox/Manifest9
-rw-r--r--games-emulation/dosbox/dosbox-0.74_p20160629-r1.ebuild69
-rw-r--r--games-emulation/dosbox/dosbox-0.74_p20160629.ebuild51
-rw-r--r--games-emulation/dosbox/dosbox-9999.ebuild74
-rw-r--r--games-emulation/dosbox/files/dosbox-0.74-gcc46.patch10
-rw-r--r--games-emulation/dosbox/metadata.xml22
-rw-r--r--games-emulation/emutos/Manifest10
-rw-r--r--games-emulation/emutos/emutos-0.9.3.ebuild27
-rw-r--r--games-emulation/emutos/emutos-0.9.4.ebuild27
-rw-r--r--games-emulation/emutos/metadata.xml14
-rw-r--r--games-emulation/fakenes/Manifest7
-rw-r--r--games-emulation/fakenes/fakenes-0.5.8-r2.ebuild78
-rw-r--r--games-emulation/fakenes/files/fakenes-0.5.8-underlink.patch8
-rw-r--r--games-emulation/fakenes/files/fakenes-0.5.8-zlib.patch170
-rw-r--r--games-emulation/fakenes/metadata.xml11
-rw-r--r--games-emulation/fbzx/Manifest10
-rw-r--r--games-emulation/fbzx/fbzx-2.10.0.ebuild37
-rw-r--r--games-emulation/fbzx/fbzx-3.0.0.ebuild35
-rw-r--r--games-emulation/fbzx/files/fbzx-2.10.0-build.patch12
-rw-r--r--games-emulation/fbzx/files/fbzx-2.10.0-keyboard.patch11
-rw-r--r--games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch118
-rw-r--r--games-emulation/fbzx/metadata.xml15
-rw-r--r--games-emulation/fceux/Manifest6
-rw-r--r--games-emulation/fceux/fceux-2.2.2-r1.ebuild50
-rw-r--r--games-emulation/fceux/files/fceux-2.2.2-warnings.patch33
-rw-r--r--games-emulation/fceux/metadata.xml14
-rw-r--r--games-emulation/gambatte/Manifest5
-rw-r--r--games-emulation/gambatte/gambatte-0.5.0_p20131102.ebuild97
-rw-r--r--games-emulation/gambatte/metadata.xml11
-rw-r--r--games-emulation/gcube/Manifest8
-rw-r--r--games-emulation/gcube/files/gcube-0.4-gcc47.patch10
-rw-r--r--games-emulation/gcube/files/gcube-0.4-ldflags.patch30
-rw-r--r--games-emulation/gcube/files/gcube-0.4-underlink.patch10
-rw-r--r--games-emulation/gcube/gcube-0.4-r1.ebuild43
-rw-r--r--games-emulation/gcube/metadata.xml8
-rw-r--r--games-emulation/generator/Manifest7
-rw-r--r--games-emulation/generator/files/generator-0.35_p4-configure.patch94
-rw-r--r--games-emulation/generator/files/generator-0.35_p4-underlink.patch11
-rw-r--r--games-emulation/generator/generator-0.35_p4.ebuild51
-rw-r--r--games-emulation/generator/metadata.xml11
-rw-r--r--games-emulation/gens/Manifest9
-rw-r--r--games-emulation/gens/files/gens-2.15.5-as-needed.patch11
-rw-r--r--games-emulation/gens/files/gens-2.15.5-gcc34.patch46
-rw-r--r--games-emulation/gens/files/gens-2.15.5-ovflfix.patch13
-rw-r--r--games-emulation/gens/files/gens-2.15.5-romsdir.patch13
-rw-r--r--games-emulation/gens/gens-2.15.5.ebuild44
-rw-r--r--games-emulation/gens/metadata.xml11
-rw-r--r--games-emulation/gfceux/Manifest5
-rw-r--r--games-emulation/gfceux/gfceux-2.1.1-r1.ebuild70
-rw-r--r--games-emulation/gfceux/metadata.xml11
-rw-r--r--games-emulation/gngb/Manifest6
-rw-r--r--games-emulation/gngb/files/gngb-20060309-ovflfix.patch17
-rw-r--r--games-emulation/gngb/gngb-20060309.ebuild35
-rw-r--r--games-emulation/gngb/metadata.xml8
-rw-r--r--games-emulation/gngeo/Manifest9
-rw-r--r--games-emulation/gngeo/files/gngeo-0.8-cflags.patch41
-rw-r--r--games-emulation/gngeo/files/gngeo-0.8-concurrentMake.patch16
-rw-r--r--games-emulation/gngeo/files/gngeo-0.8-execstacks.patch105
-rw-r--r--games-emulation/gngeo/files/gngeo-0.8-zlib.patch9
-rw-r--r--games-emulation/gngeo/gngeo-0.8.ebuild47
-rw-r--r--games-emulation/gngeo/metadata.xml8
-rw-r--r--games-emulation/gnuboy/Manifest8
-rw-r--r--games-emulation/gnuboy/files/gnuboy-1.0.3-exec-stack.patch27
-rw-r--r--games-emulation/gnuboy/files/gnuboy-1.0.3-include.patch14
-rw-r--r--games-emulation/gnuboy/files/gnuboy-1.0.3-linux-headers.patch93
-rw-r--r--games-emulation/gnuboy/gnuboy-1.0.3-r1.ebuild57
-rw-r--r--games-emulation/gnuboy/metadata.xml11
-rw-r--r--games-emulation/gxmame/Manifest7
-rw-r--r--games-emulation/gxmame/files/gxmame-0.35_beta2-glib-single-include.patch13
-rw-r--r--games-emulation/gxmame/files/gxmame-0.35_beta2-ovflfix.patch29
-rw-r--r--games-emulation/gxmame/gxmame-0.35_beta2.ebuild66
-rw-r--r--games-emulation/gxmame/metadata.xml11
-rw-r--r--games-emulation/hatari/Manifest7
-rw-r--r--games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch13
-rw-r--r--games-emulation/hatari/files/hatari-1.8.0-gentoo.patch112
-rw-r--r--games-emulation/hatari/hatari-1.8.0.ebuild84
-rw-r--r--games-emulation/hatari/metadata.xml8
-rw-r--r--games-emulation/higan/Manifest10
-rw-r--r--games-emulation/higan/files/higan-094-QA.patch90
-rw-r--r--games-emulation/higan/files/higan-099-QA.patch79
-rw-r--r--games-emulation/higan/files/higan-wrapper7
-rw-r--r--games-emulation/higan/higan-094.ebuild154
-rw-r--r--games-emulation/higan/higan-099.ebuild149
-rw-r--r--games-emulation/higan/metadata.xml18
-rw-r--r--games-emulation/hugo/Manifest6
-rw-r--r--games-emulation/hugo/files/hugo-2.12-gcc41.patch11
-rw-r--r--games-emulation/hugo/hugo-2.12.ebuild35
-rw-r--r--games-emulation/hugo/metadata.xml8
-rw-r--r--games-emulation/kigb/Manifest6
-rw-r--r--games-emulation/kigb/files/kigb15
-rw-r--r--games-emulation/kigb/kigb-2.02.ebuild40
-rw-r--r--games-emulation/kigb/metadata.xml8
-rw-r--r--games-emulation/lxdream/Manifest6
-rw-r--r--games-emulation/lxdream/files/lxdream-0.9.1-glib-single-include.patch395
-rw-r--r--games-emulation/lxdream/lxdream-0.9.1-r2.ebuild63
-rw-r--r--games-emulation/lxdream/metadata.xml12
-rw-r--r--games-emulation/m64py/Manifest5
-rw-r--r--games-emulation/m64py/m64py-0.2.3-r2.ebuild66
-rw-r--r--games-emulation/m64py/metadata.xml11
-rw-r--r--games-emulation/mamory/Manifest5
-rw-r--r--games-emulation/mamory/mamory-0.2.25.ebuild48
-rw-r--r--games-emulation/mamory/metadata.xml11
-rw-r--r--games-emulation/mastergear-bin/Manifest5
-rw-r--r--games-emulation/mastergear-bin/mastergear-bin-2.0.ebuild28
-rw-r--r--games-emulation/mastergear-bin/metadata.xml8
-rw-r--r--games-emulation/mednafen/Manifest13
-rw-r--r--games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch57
-rw-r--r--games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch30
-rw-r--r--games-emulation/mednafen/mednafen-0.9.41.ebuild70
-rw-r--r--games-emulation/mednafen/mednafen-0.9.45.1.ebuild109
-rw-r--r--games-emulation/mednafen/mednafen-0.9.45.ebuild109
-rw-r--r--games-emulation/mednafen/mednafen-0.9.46.ebuild115
-rw-r--r--games-emulation/mednafen/metadata.xml15
-rw-r--r--games-emulation/mednaffe/Manifest4
-rw-r--r--games-emulation/mednaffe/mednaffe-0.8.ebuild50
-rw-r--r--games-emulation/mednaffe/metadata.xml11
-rw-r--r--games-emulation/mekanix/Manifest6
-rw-r--r--games-emulation/mekanix/mekanix-070-r1.ebuild33
-rw-r--r--games-emulation/mekanix/mekanix-070.ebuild29
-rw-r--r--games-emulation/mekanix/metadata.xml8
-rw-r--r--games-emulation/metadata.xml35
-rw-r--r--games-emulation/mgba/Manifest9
-rw-r--r--games-emulation/mgba/files/mgba-0.5.2-imagemagick7.patch59
-rw-r--r--games-emulation/mgba/metadata.xml11
-rw-r--r--games-emulation/mgba/mgba-0.5.2.ebuild104
-rw-r--r--games-emulation/mgba/mgba-0.6.0.ebuild115
-rw-r--r--games-emulation/mgba/mgba-0.6.1.ebuild115
-rw-r--r--games-emulation/mupen64plus-audio-sdl/Manifest7
-rw-r--r--games-emulation/mupen64plus-audio-sdl/metadata.xml11
-rw-r--r--games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.0-r1.ebuild82
-rw-r--r--games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.5.ebuild84
-rw-r--r--games-emulation/mupen64plus-core/Manifest5
-rw-r--r--games-emulation/mupen64plus-core/metadata.xml20
-rw-r--r--games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild111
-rw-r--r--games-emulation/mupen64plus-input-sdl/Manifest7
-rw-r--r--games-emulation/mupen64plus-input-sdl/metadata.xml11
-rw-r--r--games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.0-r1.ebuild76
-rw-r--r--games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.5.ebuild76
-rw-r--r--games-emulation/mupen64plus-rsp-hle/Manifest7
-rw-r--r--games-emulation/mupen64plus-rsp-hle/metadata.xml11
-rw-r--r--games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.0-r1.ebuild68
-rw-r--r--games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.5.ebuild68
-rw-r--r--games-emulation/mupen64plus-ui-console/Manifest7
-rw-r--r--games-emulation/mupen64plus-ui-console/metadata.xml11
-rw-r--r--games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.0-r1.ebuild77
-rw-r--r--games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.5.ebuild77
-rw-r--r--games-emulation/mupen64plus-video-glide64mk2/Manifest7
-rw-r--r--games-emulation/mupen64plus-video-glide64mk2/metadata.xml15
-rw-r--r--games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.0-r1.ebuild83
-rw-r--r--games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.5.ebuild88
-rw-r--r--games-emulation/mupen64plus-video-rice/Manifest7
-rw-r--r--games-emulation/mupen64plus-video-rice/metadata.xml14
-rw-r--r--games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.0-r1.ebuild80
-rw-r--r--games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.5.ebuild81
-rw-r--r--games-emulation/mupen64plus/Manifest16
-rw-r--r--games-emulation/mupen64plus/files/README.gentoo-patches-2009112355
-rw-r--r--games-emulation/mupen64plus/files/README.gentoo-patches-2010050759
-rw-r--r--games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch27
-rw-r--r--games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch11
-rw-r--r--games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch34
-rw-r--r--games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch35
-rw-r--r--games-emulation/mupen64plus/metadata.xml24
-rw-r--r--games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild129
-rw-r--r--games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild137
-rw-r--r--games-emulation/mupen64plus/mupen64plus-2.0.ebuild22
-rw-r--r--games-emulation/mupen64plus/mupen64plus-2.5.ebuild22
-rw-r--r--games-emulation/nestopia/Manifest7
-rw-r--r--games-emulation/nestopia/files/nestopia-1.46.2-format.patch11
-rw-r--r--games-emulation/nestopia/metadata.xml15
-rw-r--r--games-emulation/nestopia/nestopia-1.47_p20170105.ebuild53
-rw-r--r--games-emulation/nestopia/nestopia-9999.ebuild53
-rw-r--r--games-emulation/nestra/Manifest8
-rw-r--r--games-emulation/nestra/files/nestra-0.66-exec-stack.patch10
-rw-r--r--games-emulation/nestra/files/nestra-0.66-include.patch73
-rw-r--r--games-emulation/nestra/metadata.xml8
-rw-r--r--games-emulation/nestra/nestra-0.66-r2.ebuild48
-rw-r--r--games-emulation/openmsx/Manifest6
-rw-r--r--games-emulation/openmsx/files/openmsx-0.9.1-verbose.patch14
-rw-r--r--games-emulation/openmsx/metadata.xml11
-rw-r--r--games-emulation/openmsx/openmsx-0.9.1.ebuild64
-rw-r--r--games-emulation/pcsx2/Manifest6
-rw-r--r--games-emulation/pcsx2/files/pcsx2-1.4.0-gcc5.patch26
-rw-r--r--games-emulation/pcsx2/metadata.xml16
-rw-r--r--games-emulation/pcsx2/pcsx2-1.4.0.ebuild107
-rw-r--r--games-emulation/pcsx2/pcsx2-9999.ebuild102
-rw-r--r--games-emulation/pcsxr/Manifest9
-rw-r--r--games-emulation/pcsxr/files/pcsxr-1.9.94-disable-sdl2.patch28
-rw-r--r--games-emulation/pcsxr/files/pcsxr-1.9.94-ffmpeg3.patch62
-rw-r--r--games-emulation/pcsxr/files/pcsxr-1.9.94-zlib-uncompress2.patch47
-rw-r--r--games-emulation/pcsxr/metadata.xml12
-rw-r--r--games-emulation/pcsxr/pcsxr-1.9.94-r1.ebuild111
-rw-r--r--games-emulation/pcsxr/pcsxr-1.9.94-r2.ebuild115
-rw-r--r--games-emulation/ppsspp/Manifest15
-rw-r--r--games-emulation/ppsspp/files/ppsspp-1.4-O2.patch32
-rw-r--r--games-emulation/ppsspp/files/ppsspp-1.4-assets-lookup.patch13
-rw-r--r--games-emulation/ppsspp/metadata.xml24
-rw-r--r--games-emulation/ppsspp/ppsspp-1.4.ebuild107
-rw-r--r--games-emulation/ppsspp/ppsspp-9999.ebuild90
-rw-r--r--games-emulation/raine/Manifest8
-rw-r--r--games-emulation/raine/files/raine-0.51.9-ldflags.patch11
-rw-r--r--games-emulation/raine/files/raine-0.51.9-libpng15.patch13
-rw-r--r--games-emulation/raine/files/raine-0.51.9-underlink.patch11
-rw-r--r--games-emulation/raine/metadata.xml8
-rw-r--r--games-emulation/raine/raine-0.51.9.ebuild57
-rw-r--r--games-emulation/sdlmame/Manifest10
-rw-r--r--games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch28
-rw-r--r--games-emulation/sdlmame/files/sdlmame-0.174-qt.patch29
-rw-r--r--games-emulation/sdlmame/files/vector.ini9
-rw-r--r--games-emulation/sdlmame/metadata.xml30
-rw-r--r--games-emulation/sdlmame/sdlmame-0.168.ebuild232
-rw-r--r--games-emulation/sdlmame/sdlmame-0.174.ebuild234
-rw-r--r--games-emulation/snes9x/Manifest11
-rw-r--r--games-emulation/snes9x/files/snes9x-1.53-build.patch70
-rw-r--r--games-emulation/snes9x/files/snes9x-1.53-cross-compile.patch38
-rw-r--r--games-emulation/snes9x/files/snes9x-1.54.1-build.patch55
-rw-r--r--games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch307
-rw-r--r--games-emulation/snes9x/metadata.xml16
-rw-r--r--games-emulation/snes9x/snes9x-1.53.ebuild119
-rw-r--r--games-emulation/snes9x/snes9x-1.54.1.ebuild123
-rw-r--r--games-emulation/stella/Manifest7
-rw-r--r--games-emulation/stella/metadata.xml11
-rw-r--r--games-emulation/stella/stella-4.0.ebuild68
-rw-r--r--games-emulation/stella/stella-4.7.2.ebuild69
-rw-r--r--games-emulation/vbam/Manifest16
-rw-r--r--games-emulation/vbam/files/vbam-2.0.0_beta2-fix-install-path-bin.patch10
-rw-r--r--games-emulation/vbam/files/vbam-2.0.0_beta2-fix-zlib-macros.patch7
-rw-r--r--games-emulation/vbam/files/vbam-2.0.0_beta2-remove-hardcoded-flags.patch187
-rw-r--r--games-emulation/vbam/files/vbam-2.0.0_pre1507-man.patch13
-rw-r--r--games-emulation/vbam/metadata.xml15
-rw-r--r--games-emulation/vbam/vbam-2.0.0_beta2_p20161211-r1.ebuild100
-rw-r--r--games-emulation/vbam/vbam-2.0.0_beta2_pre1507-r1.ebuild129
-rw-r--r--games-emulation/vbam/vbam-9999.ebuild105
-rw-r--r--games-emulation/vgba/Manifest5
-rw-r--r--games-emulation/vgba/metadata.xml8
-rw-r--r--games-emulation/vgba/vgba-4.8.ebuild29
-rw-r--r--games-emulation/virtualjaguar/Manifest7
-rw-r--r--games-emulation/virtualjaguar/files/virtualjaguar35
-rw-r--r--games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch316
-rw-r--r--games-emulation/virtualjaguar/metadata.xml12
-rw-r--r--games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild70
-rw-r--r--games-emulation/xe/Manifest8
-rw-r--r--games-emulation/xe/files/xe-2.16.210
-rw-r--r--games-emulation/xe/files/xe-2.16.2-gentoo.patch16
-rw-r--r--games-emulation/xe/metadata.xml8
-rw-r--r--games-emulation/xe/xe-2.16.2.ebuild53
-rw-r--r--games-emulation/yabause/Manifest7
-rw-r--r--games-emulation/yabause/files/yabause-0.9.14-RWX.patch24
-rw-r--r--games-emulation/yabause/files/yabause-0.9.14-cmake.patch51
-rw-r--r--games-emulation/yabause/metadata.xml14
-rw-r--r--games-emulation/yabause/yabause-0.9.14.ebuild69
-rw-r--r--games-emulation/zinc/Manifest5
-rw-r--r--games-emulation/zinc/metadata.xml8
-rw-r--r--games-emulation/zinc/zinc-1.1.ebuild30
-rw-r--r--games-emulation/zsnes/Manifest17
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch20
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-arch.patch77
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch502
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-buffer.patch85
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-cross-compile.patch34
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-depbuild.patch24
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-gcc43.patch48
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-gcc47.patch15
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch25
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-libpng.patch33
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-libpng15.patch12
-rw-r--r--games-emulation/zsnes/files/zsnes-1.51-stack-align.patch15
-rw-r--r--games-emulation/zsnes/metadata.xml15
-rw-r--r--games-emulation/zsnes/zsnes-1.51-r4.ebuild112
324 files changed, 14238 insertions, 0 deletions
diff --git a/games-emulation/advancemame/Manifest b/games-emulation/advancemame/Manifest
new file mode 100644
index 000000000000..7b069a825705
--- /dev/null
+++ b/games-emulation/advancemame/Manifest
@@ -0,0 +1,7 @@
+AUX advancemame-1.2-pic.patch 344 SHA256 d76016c2d6ef7c283d4fc6c4061e2cd4a6b1b094a4f30a9fa704f6c435c52a92 SHA512 5ae1a76a5e08e65efece7b295af7e177e8da7d65c7de9a03529d8a6909d38c6510d8c3e122bc4bc542760bc2cdf2e26a1edf56d27bcfa6b1fe25ea9c0f467360 WHIRLPOOL e150633bc3182831f04cd7b0136682379edc30ae938ee8324d6c2a5df6d8a2a890a288d364de9ffeb21ed4a633ce3ab0e45746bd4308684fa51a0f01ff968d4d
+AUX advancemame-1.2-verboselog.patch 838 SHA256 7ce94bba10ebbc0a094df74efeec29ddaf3a324b3aed218f806336b155eb45df SHA512 d34ff98ff2971a01dd46a66b322507afec4930f89afd2141e753233efeccdc582644dbf576eae08300c8e3be0336e09e56609983bcd602a69a47985ecd954e6e WHIRLPOOL b0be73de7646fde3202fdea6b32c84b7c14b556be44cdbf90019c858be6d263cdfd7e722213db1966e6970829e6447b4536c0b1f71cb840f2c9c8bd767170084
+DIST advancemame-1.2.tar.gz 17508670 SHA256 eaf46e54f0cb5fa1d99f55604a4a3f8a065c1cf5e70ac4abc67391b0450ce439 SHA512 6d9cf7ce0553ea6bc60c91bff7d55f282ebd671c5a48ebb25a8b0a41c575b3a8f0446f8f39ca0bccf93493ef28b331d4661987eb1f8adc5bd2c911674d1be583 WHIRLPOOL 9871fc39063f0f944830fe7c3d25a8370379dc80a37ff00f11039af73511cbb9c59ee2215346e1f4475d9cd4fdaeedce0b8c81c46135ab79925e3ec62114847e
+EBUILD advancemame-1.2.ebuild 1840 SHA256 a2618ff4013a023436b022788a6b4dc6015b6b061d83f920bf2b90297cb756d7 SHA512 2c828c9030925d451ff1e96857694487edf4a04fc9d2ed9fcd4f4760fc520ab026cb081de32ead89b253b9917bb258502d39f1396baeea1ab08a5a3af763496a WHIRLPOOL ec06ee8ea85c8899b6ed564095c7f01ad37d05984016492ae0393e2ba9fe3c072a1382816741cd2787e89a13db68b9c7d16500109df1d3031bee1c40c83423a3
+MISC ChangeLog 2519 SHA256 1144cb764c3477223adbb591eb45a252725473917e01ebf35cc58367d79460c7 SHA512 fb6f4735060defa59171242c8d6fbb0dc14dcf0ab9ee10013dfa8f35b4f0f77ed665a2414da0df589cafe6fab4d8c6e55b0ba49baaac6e6dd176f3cedb905f98 WHIRLPOOL 447d594e3807e1d474094f1d4f8a721f39d99999688819afade6b3d7c4db53915abe3a2475c4af35b965261ffd5c8e38377d90a1f148ce39aac33ef1f28932cf
+MISC ChangeLog-2015 9155 SHA256 421056071d5ebcc5ae2a929b57886b91042a0cdd56caa983728f310dd95d7c6b SHA512 890b6b2c146caa60b71bb1f4b99d400bf558461fbe4fe99160380d0cc49f9f6eafcc2abf651f3f8bb5759e226f92215bbd453295a2669d1355850652199a1168 WHIRLPOOL fd72290a2c3d30b463b94fa33b50f882ee1f3f351c659c27c6fbfed0701c8ade1f7c3c33f2aa3ee953d15063c3e25685ee15f5b43137d8711993f84b86c4368d
+MISC metadata.xml 1139 SHA256 91a753d98b232711a444f9f37264174055bd7984c3b23d671cae70816ac5edd1 SHA512 a9a85b10cfbf6c7a75c317db8d242d29655d14d9891b897171161af613221fe93ad776ddb53fcddd14f08295d1e02c3c3fbccdce027e2a0d1c434fe60e49f349 WHIRLPOOL c0c226a4e3e052bcb18ac9456611a19fdf12bf602244a232ef4381c00873498793a7e743e61f857a2fee23c95b543e7a16936168dab89917fe352cc4458e3aee
diff --git a/games-emulation/advancemame/advancemame-1.2.ebuild b/games-emulation/advancemame/advancemame-1.2.ebuild
new file mode 100644
index 000000000000..d0002597fec5
--- /dev/null
+++ b/games-emulation/advancemame/advancemame-1.2.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic games
+
+DESCRIPTION="GNU/Linux port of the MAME emulator with GUI menu"
+HOMEPAGE="http://advancemame.sourceforge.net/"
+SRC_URI="mirror://sourceforge/advancemame/${P}.tar.gz"
+
+LICENSE="GPL-2 XMAME"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="alsa fbcon oss truetype"
+
+# sdl is required (bug #158417)
+RDEPEND="app-arch/unzip
+ app-arch/zip
+ dev-libs/expat
+ media-libs/libsdl
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ truetype? ( media-libs/freetype )"
+DEPEND="${RDEPEND}
+ virtual/os-headers
+ x86? ( >=dev-lang/nasm-0.98 )"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-pic.patch" \
+ "${FILESDIR}"/${P}-verboselog.patch
+
+ sed -i \
+ -e 's/"-s"//' \
+ configure || die "sed failed"
+
+ use x86 &&
+ ln -s $(type -P nasm) "${T}/${CHOST}-nasm"
+ ln -s $(type -P sdl-config) "${T}/${CHOST}-sdl-config"
+ use truetype &&
+ ln -s $(type -P freetype-config) "${T}/${CHOST}-freetype-config"
+}
+
+src_configure() {
+ # Fix for bug #78030
+ if use ppc; then
+ append-ldflags "-Wl,--relax"
+ fi
+
+ PATH="${PATH}:${T}"
+ egamesconf \
+ --enable-expat \
+ --enable-sdl \
+ --enable-zlib \
+ --disable-slang \
+ --disable-svgalib \
+ --disable-static \
+ $(use_enable alsa) \
+ $(use_enable fbcon fb) \
+ $(use_enable oss) \
+ $(use_enable truetype freetype) \
+ $(use_enable x86 asm) \
+ --with-emu=${PN/advance}
+}
+
+src_compile() {
+ STRIPPROG=true emake
+}
+
+src_install() {
+ local f
+
+ for f in adv* ; do
+ if [[ -L "${f}" ]] ; then
+ dogamesbin "${f}"
+ fi
+ done
+
+ insinto "${GAMES_DATADIR}/advance"
+ doins support/event.dat
+ keepdir "${GAMES_DATADIR}/advance/"{artwork,diff,image,rom,sample,snap}
+
+ dodoc HISTORY README RELEASE
+ cd doc
+ dodoc *.txt
+ dohtml *.html
+ for f in *.1 ; do
+ newman ${f} ${f/1/6}
+ done
+
+ prepgamesdirs
+}
diff --git a/games-emulation/advancemame/files/advancemame-1.2-pic.patch b/games-emulation/advancemame/files/advancemame-1.2-pic.patch
new file mode 100644
index 000000000000..049befbfac2c
--- /dev/null
+++ b/games-emulation/advancemame/files/advancemame-1.2-pic.patch
@@ -0,0 +1,13 @@
+--- ./advance/blit/blit.c.orig 2004-12-19 01:01:46.039956536 -0500
++++ ./advance/blit/blit.c 2004-12-19 01:01:19.566981040 -0500
+@@ -28,6 +28,10 @@
+ * do so, delete this exception statement from your version.
+ */
+
++#if defined(USE_ASM_INLINE) && defined(__PIC__)
++# undef USE_ASM_INLINE
++#endif
++
+ #include "portable.h"
+
+ #include "blit.h"
diff --git a/games-emulation/advancemame/files/advancemame-1.2-verboselog.patch b/games-emulation/advancemame/files/advancemame-1.2-verboselog.patch
new file mode 100644
index 000000000000..b72c1224e75f
--- /dev/null
+++ b/games-emulation/advancemame/files/advancemame-1.2-verboselog.patch
@@ -0,0 +1,42 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Feb 17 03:39:55 UTC 2013
+Subject: build system
+
+ make build log verbose
+
+--- advancemame-1.2/Makefile.in
++++ advancemame-1.2/Makefile.in
+@@ -77,21 +77,21 @@
+ srcdir=@srcdir@
+ # Don't add the prefix @. This command must be used also in a shell script
+ INSTALL=@INSTALL@
+-CC=@@CC@
+-CXX=@@CXX@
+-LD=@@CC@
+-LDXX=@@CXX@
+-AR=@@AR@
+-ASM=@@ASM@
+-RC=@@RC@
++CC=@CC@
++CXX=@CXX@
++LD=@CC@
++LDXX=@CXX@
++AR=@AR@
++ASM=@ASM@
++RC=@RC@
+ LN_S=@@LN_S@
+ MD=-@@MKDIR@ -p
+ RM=@@RM@ -f
+ ECHO=@@ECHO@
+-CC_FOR_BUILD=@@CC_FOR_BUILD@
+-LD_FOR_BUILD=@@CC_FOR_BUILD@
+-CXX_FOR_BUILD=@@CXX_FOR_BUILD@
+-LDXX_FOR_BUILD=@@CXX_FOR_BUILD@
++CC_FOR_BUILD=@CC_FOR_BUILD@
++LD_FOR_BUILD=@CC_FOR_BUILD@
++CXX_FOR_BUILD=@CXX_FOR_BUILD@
++LDXX_FOR_BUILD=@CXX_FOR_BUILD@
+ EXE=@EXE@
+ EXE_FOR_BUILD=@EXE_FOR_BUILD@
+ SDLCFLAGS=@SDLCFLAGS@
+
diff --git a/games-emulation/advancemame/metadata.xml b/games-emulation/advancemame/metadata.xml
new file mode 100644
index 000000000000..7583d81c6809
--- /dev/null
+++ b/games-emulation/advancemame/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+AdvanceMAME and AdvanceMESS are unofficial MAME and MESS versions with an advanced video support for
+helping the use with TVs, Arcade Monitors, Fixed Frequencies Monitors and also for PC Monitors.
+
+They run in GNU/Linux, Mac OS X, DOS, Windows and in all the other platforms supported by the SDL library.
+
+The main difference compared with the official emulators is that the Advance versions program directly the
+video board to always get a video mode with the correct size and frequency.
+
+Generally the Advance emulators are able to use a video mode which doesn't require any stretching or other
+unneeded effects to match the original arcade display. When the stretching is required by hardware
+limitations you can anyway choice from different types of stretch.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">advancemame</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/advancemenu/Manifest b/games-emulation/advancemenu/Manifest
new file mode 100644
index 000000000000..47847ccadb43
--- /dev/null
+++ b/games-emulation/advancemenu/Manifest
@@ -0,0 +1,7 @@
+AUX advancemenu-2.7-alsa-pkg-config.patch 458 SHA256 4b907b76b98e1a4173ad76bde43ee6bdfdb17c321f3d9b39c47653f4c36d02ac SHA512 d1a97d71ea9e5e412db22925a613f59848486586f5635a60fb0acce376b8c6217ef09a6228dfc39b604294b99e3136a849cb9124b55606e32d9e10c48cb9111e WHIRLPOOL e6c59fd9d99f04d88bf231f5fc619a280190ed55899618871a24a331b811b645bf6b9e93222610ca5e1e6e0f167818ec1f9579048a38671568249da12df3570f
+AUX advancemenu-2.7-pic.patch 272 SHA256 3f480e282526b28264662892072ab5266b699b5f3fe8d63e1bc4a5462dcef913 SHA512 600ac7607374ab2e7654303b8205ac737c7b7aae41c23ea1bd005943361df5579207a91658ec4f3ab9f5f802d87d65336efed71894e2e87c0ce19200c769df9b WHIRLPOOL 790e33bb8a8db8e21ae7524dc183b1c220788e8e23ffceda14490d8673fd7cd102dcc067452c0f75899d56f1600146bc881e59a85fad2cd78ee79e2f0f3e715b
+DIST advancemenu-2.7.tar.gz 2371297 SHA256 e635f8d236b08e40587344daa33ef78d50d14e01fb6a7ef74eb6fdb3e80cb224 SHA512 72aa75b189e4507ce0fe1c5203476833fd04ec9238102631061ed82c2894890044ae40c82154a76533b6ba0a255c42cdfe2ab5c0f497d595783fa13ea32c71bb WHIRLPOOL f27c1a766601a65ed415794fbe650e2530f3447b80ffb98fb86ed0f9ede4946c0e9cb3b3c72d986f4adbc4e19bb38f6bcb4e34c77b512ba791b61f58594baff4
+EBUILD advancemenu-2.7.ebuild 2292 SHA256 dbb2e0cbe9ed0b0c66e86c5dff79ae5c5a9e848f049d29c52e31492850910e82 SHA512 aac5d93cc04477e68673bdc52162b9587224d9ecc9255b584797606e36e514488ebf9c9db5310539257f674e09245df8a07a67bd18009068089bdf6aa64581b5 WHIRLPOOL 209f051d0b80bb6ec64bf150b7dc9196d89462b5e43daacd3e759d06543d6195d0927a0cefb26752c65bbc2ffe1a4ffae75dcef4c62bed678abb981230ae8476
+MISC ChangeLog 2675 SHA256 54a3abb78106c0860844720fe93bb5d40dbb96c6232a36f7416e8a65d5f865c8 SHA512 511aeab02b734eb8ad206c48dac8c576a1867a1f9c92f1c8f582feb915fabf794425d585c6d840364893f9caa5ca09e313afe3efcafc338ca8adb624d026ba4a WHIRLPOOL 9e4cb533b064137c6ea29e6f79094b1dc8198b27b4d7bb31003ab2f76b2ab3e62bfb9ce8aac1ba31c90c91b1cf41c516a06fedd085266b9f38e1bbb1d42f01a6
+MISC ChangeLog-2015 6109 SHA256 f783dfc26897d363f0e5a3d4a511803d4069642764c82f0ebc5d56324b833adb SHA512 0e32a4cfc09e7aa204189bcb44d47eb622271f209a7c435cd93f25a529df41d052b59322e0c924a0f498c1a3be2bb21241edf5d88fe1e7e408707afbf9174f03 WHIRLPOOL 6f9f07011d4d2cdd6790adc455a2ab283ffd2b4501d6c37e66da15ddacc93474aa8f838c42faa336aabf1aba56c69e438299e30dd16373f17a93dc20288a3c00
+MISC metadata.xml 334 SHA256 c52f691031d592ec6e327348b9a6379caf95b75b6c7568a1860560f71302e901 SHA512 18cabfd831489b32b4449794c06a28425d91dab0c2868038fb48c94728fc16ccca268ae93a4f4a51be01c5901591582e6df2523460ba4ba98719436944577e1f WHIRLPOOL 270e5a9b19fedb5a8955ef159064b8617794dde7a818efa599980eda5ff09844049f7224df48737780f9d9b16712146724f0077a5f703a8767cc3d42124e396d
diff --git a/games-emulation/advancemenu/advancemenu-2.7.ebuild b/games-emulation/advancemenu/advancemenu-2.7.ebuild
new file mode 100644
index 000000000000..92229ef3ef35
--- /dev/null
+++ b/games-emulation/advancemenu/advancemenu-2.7.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils games
+
+DESCRIPTION="Frontend for AdvanceMAME, MAME, MESS, RAINE and any other emulator"
+HOMEPAGE="http://advancemame.sourceforge.net/menu-readme.html"
+SRC_URI="mirror://sourceforge/advancemame/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="alsa debug fbcon ncurses oss sdl slang truetype"
+
+RDEPEND="dev-libs/expat
+ alsa? ( media-libs/alsa-lib )
+ ncurses? ( sys-libs/ncurses:0 )
+ sdl? ( media-libs/libsdl )
+ slang? ( >=sys-libs/slang-1.4 )
+ !sdl? ( ( !fbcon? ( media-libs/libsdl ) ) )
+ truetype? ( >=media-libs/freetype-2 )"
+DEPEND="${RDEPEND}
+ x86? ( >=dev-lang/nasm-0.98 )
+ fbcon? ( virtual/os-headers )"
+
+src_prepare() {
+ # pic patch - bug #142021
+ epatch \
+ "${FILESDIR}"/${P}-alsa-pkg-config.patch \
+ "${FILESDIR}"/${P}-pic.patch
+ sed -i -e 's/"-s"//' configure.ac || die
+
+ use x86 && ln -s $(type -P nasm) "${T}/${CHOST}-nasm"
+ use sdl && ln -s $(type -P sdl-config) "${T}/${CHOST}-sdl-config"
+ use !sdl && use !fbcon && ln -s $(type -P sdl-config) "${T}/${CHOST}-sdl-config"
+ use truetype && ln -s $(type -P freetype-config) "${T}/${CHOST}-freetype-config"
+ eautoreconf
+}
+
+src_configure() {
+ export PATH="${PATH}:${T}"
+ egamesconf \
+ --enable-expat \
+ --enable-zlib \
+ --disable-svgalib \
+ --disable-static \
+ $(use_enable alsa) \
+ $(use_enable debug) \
+ $(use_enable fbcon fb) \
+ $(use_enable ncurses) \
+ $(use_enable truetype freetype) \
+ $(use_enable oss) \
+ $(use_enable sdl) \
+ $(use_enable slang) \
+ $(use !sdl && use !fbcon && echo --enable-sdl) \
+ $(use_enable x86 asm)
+}
+
+src_compile() {
+ STRIPPROG=true emake
+}
+
+src_install() {
+ dogamesbin advmenu
+ dodoc HISTORY README RELEASE doc/*.txt
+ doman doc/{advmenu,advdev}.1
+ dohtml doc/*.html
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ elog "Execute:"
+ elog " advmenu -default"
+ elog "to generate a config file"
+ elog
+ elog "An example emulator config found in advmenu.rc:"
+ elog " emulator \"snes9x\" generic \"${GAMES_BINDIR}/snes9x\" \"%f\""
+ elog " emulator_roms \"snes9x\" \"/home/user/myroms\""
+ elog " emulator_roms_filter \"snes9x\" \"*.smc;*.sfc\""
+ elog
+ elog "For more information, see the advmenu man page."
+}
diff --git a/games-emulation/advancemenu/files/advancemenu-2.7-alsa-pkg-config.patch b/games-emulation/advancemenu/files/advancemenu-2.7-alsa-pkg-config.patch
new file mode 100644
index 000000000000..1b0f8a8df9cb
--- /dev/null
+++ b/games-emulation/advancemenu/files/advancemenu-2.7-alsa-pkg-config.patch
@@ -0,0 +1,20 @@
+--- advancemenu-2.6.orig/configure.ac
++++ advancemenu-2.6/configure.ac
+@@ -512,7 +512,7 @@
+ [snd_pcm_open],
+ [ac_lib_alsa=yes],
+ [ac_lib_alsa=no],
+- [-lm]
++ [`pkg-config alsa --libs`]
+ )
+ if test $ac_lib_alsa = yes; then
+ AC_MSG_CHECKING([for ALSA])
+@@ -531,7 +531,7 @@
+ [snd_pcm_open],
+ [],
+ [AC_MSG_ERROR([the ALSA library is missing])],
+- [-lm]
++ [`pkg-config alsa --libs`]
+ )
+ AC_MSG_CHECKING([for ALSA version])
+ AC_TRY_COMPILE([
diff --git a/games-emulation/advancemenu/files/advancemenu-2.7-pic.patch b/games-emulation/advancemenu/files/advancemenu-2.7-pic.patch
new file mode 100644
index 000000000000..62f073bed83b
--- /dev/null
+++ b/games-emulation/advancemenu/files/advancemenu-2.7-pic.patch
@@ -0,0 +1,13 @@
+--- ./advance/blit/blit.c.orig
++++ ./advance/blit/blit.c
+@@ -28,6 +28,10 @@
+ * do so, delete this exception statement from your version.
+ */
+
++#if defined(USE_ASM_INLINE) && defined(__PIC__)
++# undef USE_ASM_INLINE
++#endif
++
+ #include "portable.h"
+
+ #include "blit.h"
diff --git a/games-emulation/advancemenu/metadata.xml b/games-emulation/advancemenu/metadata.xml
new file mode 100644
index 000000000000..879ee3497adc
--- /dev/null
+++ b/games-emulation/advancemenu/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">advancemame</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/advancescan/Manifest b/games-emulation/advancescan/Manifest
new file mode 100644
index 000000000000..322d130c05e8
--- /dev/null
+++ b/games-emulation/advancescan/Manifest
@@ -0,0 +1,7 @@
+AUX advancescan-1.16-gcc6.patch 24440 SHA256 c68f4953f0082fafab5e3ecfe41aa9b3ceea908cfdee159c24c964f160024038 SHA512 e758ba7d900f1ca5fd6f32c3572fbf4c2a7cf77877f926511bd724ec5ec8ddb9697244f5a582eeb5275188ae2c8a14e8388cac93365ac348e9cc60835884a499 WHIRLPOOL bafb7f949f1b7c98342248cdb36997e80d540425647b5f056a55db22d8ecc4ebb9c9c702cabb38280287759c781dfdbd6f85e5e80bdf3a1821f813cc1f48425e
+AUX advancescan-1.16-sys-expat.patch 1543 SHA256 f1d28657a957b537c21f47950b0ed102ff1717c196438575cccb8321fadd57b3 SHA512 a9dc80b75a8b9dbad3fe6c156c4de0cafee171d820845ea7ff2f042b7f73fd6cd10d710c60fb8bf4cfdea139f527008958b445d01838a8fdf6c96d3e76c530f4 WHIRLPOOL 8edd5da10b0a12138b086dad4bc0c0ab5f3a1397f1de406895e5294fdc283589cd41511e83281025049b73eefe60aa3effc75cd815d021d2ec8a30e2747c9e7e
+DIST advancescan-1.16.tar.gz 316895 SHA256 2fe238442f82bdb2b45704898183b7ae3297bf9d75a4d33dbbd8cacec0c70fc2 SHA512 6d359c160d54a0a1cd13db10f5fc9986fae4f1151e205024e40c21b0f933723351907156faec22a92561ad523151e3b7d4ff70a6eebbb6152bd3767063a31031 WHIRLPOOL 8772c7e0d8fc3fbeb333fd2bf79191e745c1f979d9ac2d798419448b844c15d5e926fc30cc6d4353a119142f9657816d749ab11eb4e7c1d85a0e0ccee4ea403f
+EBUILD advancescan-1.16-r1.ebuild 750 SHA256 e7aecb421ea58ca60b42227f7f932d4dce7a88e8cb11fec6fdce15fce1da8407 SHA512 74bcc736e123b4912b054e74c6823136ef520e692e52918b289ed2e730b4f00f53f1e2a13b046b9d9ad244af29a936a62faa7a5ea30b45c65b48d1a418bf2004 WHIRLPOOL 2ca8ff1f7f0248a71df4bd83334ec52a4e934dd2d64dea43b2d138d7d3ab5e66700a6343f47781ef6fa15737dc90b3da9f0cb2083fb6bc14f525da4835d8bb90
+MISC ChangeLog 2485 SHA256 05867a80692692dedd7118bbba0111f47655f9f345868ad014f528439afad920 SHA512 675eefbc21af11ffd6655237c9b3b32dc2f3b9652848a1ee3122e6008bddd990e8cf783441055ac79fd37206156637f54a00c7999d276f6bce4404f48e070c62 WHIRLPOOL 53ff43f53a8ef123655fc233abb411d1a0c71aee0d251970b073c866b4fcd0495cde9d940235d966e3d9394d7279ebc9a0616e35823c86c503c1592022edc064
+MISC ChangeLog-2015 1604 SHA256 692d32beaa19c58e347f83e973e2c32069d21df0bffdd7b7efb86fc8f6164a26 SHA512 07c1b6fb4e42df99789196c28d130a2691a155a3c45b40b5deb83738581c0ee64dfb63dbacac4264a69cdc5fc753d9f9ddf6f5acfbc2c18354233ddf28c2cdfd WHIRLPOOL 1fb56de09bae0a8452c070efc9570e62b861a3cb1359873e24fbf37dbe635bdf045a5cf3ee292d2349490f8a0bc55331dc368b53374960f42bf0eea5f6279bf8
+MISC metadata.xml 334 SHA256 c52f691031d592ec6e327348b9a6379caf95b75b6c7568a1860560f71302e901 SHA512 18cabfd831489b32b4449794c06a28425d91dab0c2868038fb48c94728fc16ccca268ae93a4f4a51be01c5901591582e6df2523460ba4ba98719436944577e1f WHIRLPOOL 270e5a9b19fedb5a8955ef159064b8617794dde7a818efa599980eda5ff09844049f7224df48737780f9d9b16712146724f0077a5f703a8767cc3d42124e396d
diff --git a/games-emulation/advancescan/advancescan-1.16-r1.ebuild b/games-emulation/advancescan/advancescan-1.16-r1.ebuild
new file mode 100644
index 000000000000..0422576279bf
--- /dev/null
+++ b/games-emulation/advancescan/advancescan-1.16-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils
+
+DESCRIPTION="A command line rom manager for MAME, MESS, AdvanceMAME, AdvanceMESS and Raine"
+HOMEPAGE="http://advancemame.sourceforge.net/scan-readme.html"
+SRC_URI="mirror://sourceforge/advancemame/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-libs/expat
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-sys-expat.patch
+ "${FILESDIR}"/${P}-gcc6.patch
+)
+
+src_prepare() {
+ rm -rf expat
+ default
+ eautoreconf
+}
+
+src_install() {
+ dobin advscan advdiff
+ dodoc AUTHORS HISTORY README doc/*.txt advscan.rc.linux
+ doman doc/{advscan,advdiff}.1
+ dohtml doc/*.html
+}
diff --git a/games-emulation/advancescan/files/advancescan-1.16-gcc6.patch b/games-emulation/advancescan/files/advancescan-1.16-gcc6.patch
new file mode 100644
index 000000000000..1f9c73f6db60
--- /dev/null
+++ b/games-emulation/advancescan/files/advancescan-1.16-gcc6.patch
@@ -0,0 +1,520 @@
+--- advancescan-1.16/analyze.cc.old 2016-09-25 19:17:21.698171287 -0400
++++ advancescan-1.16/analyze.cc 2016-09-25 19:22:12.027465540 -0400
+@@ -33,467 +33,6 @@
+ { 0, 0, 0 }
+ };
+
+-char MAMEDK_DATA[] = {
+- 0x2e, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2e, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5f, 0x20,
+- 0x5f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x5f, 0x20, 0x5f, 0x5f, 0x20, 0x5f,
+- 0x5f, 0x5f, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x20,
+- 0x5f, 0x20, 0x5f, 0x20, 0x5f, 0x5f, 0x20, 0x5f,
+- 0x5f, 0x5f, 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x5f,
+- 0x20, 0x20, 0x20, 0x5f, 0x5f, 0x7c, 0x20, 0x7c,
+- 0x20, 0x7c, 0x20, 0x5f, 0x5f, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x7c, 0x20, 0x27, 0x5f, 0x20, 0x60, 0x20,
+- 0x5f, 0x20, 0x5c, 0x20, 0x2f, 0x20, 0x5f, 0x60,
+- 0x20, 0x7c, 0x20, 0x27, 0x5f, 0x20, 0x60, 0x20,
+- 0x5f, 0x20, 0x5c, 0x20, 0x2f, 0x20, 0x5f, 0x20,
+- 0x5c, 0x20, 0x2f, 0x20, 0x5f, 0x60, 0x20, 0x7c,
+- 0x20, 0x7c, 0x2f, 0x20, 0x2f, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c,
+- 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x28, 0x5f, 0x7c,
+- 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x7c,
+- 0x20, 0x7c, 0x20, 0x7c, 0x20, 0x20, 0x5f, 0x5f,
+- 0x2f, 0x7c, 0x20, 0x28, 0x5f, 0x7c, 0x20, 0x7c,
+- 0x20, 0x20, 0x20, 0x3c, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x7c, 0x5f, 0x7c, 0x20, 0x7c, 0x5f, 0x7c,
+- 0x20, 0x7c, 0x5f, 0x7c, 0x5c, 0x5f, 0x5f, 0x2c,
+- 0x5f, 0x7c, 0x5f, 0x7c, 0x20, 0x7c, 0x5f, 0x7c,
+- 0x20, 0x7c, 0x5f, 0x7c, 0x5c, 0x5f, 0x5f, 0x5f,
+- 0x28, 0x5f, 0x29, 0x5f, 0x5f, 0x2c, 0x5f, 0x7c,
+- 0x5f, 0x7c, 0x5c, 0x5f, 0x5c, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x74,
+- 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
+- 0x2e, 0x6d, 0x61, 0x6d, 0x65, 0x2e, 0x64, 0x6b,
+- 0x2f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x3e, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x3c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x70, 0x72, 0x6f, 0x75, 0x64, 0x6c, 0x79,
+- 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+- 0x73, 0x20, 0x72, 0x61, 0x66, 0x6c, 0x65, 0x73,
+- 0x69, 0x61, 0x2e, 0x7a, 0x69, 0x70, 0x20, 0x66,
+- 0x6f, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20,
+- 0x6d, 0x61, 0x6d, 0x65, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x22, 0x52, 0x61, 0x66, 0x66, 0x6c, 0x65,
+- 0x73, 0x69, 0x61, 0x22, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x73,
+- 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67,
+- 0x68, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x72,
+- 0x65, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x2f, 0x20,
+- 0x53, 0x65, 0x67, 0x61, 0x20, 0x31, 0x39, 0x38,
+- 0x36, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x3e, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x3c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x59, 0x6f,
+- 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61,
+- 0x76, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+- 0x67, 0x61, 0x6d, 0x65, 0x20, 0x52, 0x4f, 0x4d,
+- 0x20, 0x4f, 0x4e, 0x4c, 0x59, 0x20, 0x69, 0x66,
+- 0x20, 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65,
+- 0x20, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6c, 0x79,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c, 0x65,
+- 0x64, 0x20, 0x73, 0x6f, 0x2e, 0x20, 0x42, 0x79,
+- 0x20, 0x22, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x6c,
+- 0x79, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x6c,
+- 0x65, 0x64, 0x22, 0x20, 0x77, 0x65, 0x20, 0x6d,
+- 0x65, 0x61, 0x6e, 0x3a, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x59, 0x6f,
+- 0x75, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x68,
+- 0x65, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c,
+- 0x20, 0x61, 0x72, 0x63, 0x61, 0x64, 0x65, 0x20,
+- 0x6f, 0x72, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x70,
+- 0x61, 0x6b, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20,
+- 0x52, 0x4f, 0x4d, 0x20, 0x79, 0x6f, 0x75, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61,
+- 0x72, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
+- 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x20,
+- 0x55, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68,
+- 0x65, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x72, 0x69,
+- 0x67, 0x68, 0x74, 0x20, 0x6c, 0x61, 0x77, 0x73,
+- 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x55, 0x2e, 0x53, 0x2e, 0x2c, 0x20, 0x79, 0x6f,
+- 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x65, 0x6e,
+- 0x74, 0x69, 0x74, 0x6c, 0x65, 0x64, 0x20, 0x74,
+- 0x6f, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x20,
+- 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x20, 0x6f,
+- 0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73,
+- 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20,
+- 0x79, 0x6f, 0x75, 0x20, 0x68, 0x61, 0x76, 0x65,
+- 0x20, 0x70, 0x61, 0x69, 0x64, 0x20, 0x66, 0x6f,
+- 0x72, 0x2e, 0x20, 0x53, 0x69, 0x6e, 0x63, 0x65,
+- 0x20, 0x52, 0x4f, 0x4d, 0x53, 0x20, 0x63, 0x61,
+- 0x6e, 0x27, 0x74, 0x20, 0x62, 0x65, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
+- 0x65, 0x64, 0x20, 0x28, 0x6e, 0x6f, 0x74, 0x20,
+- 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20,
+- 0x73, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x20,
+- 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65,
+- 0x29, 0x2c, 0x20, 0x52, 0x4f, 0x4d, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69,
+- 0x6d, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, 0x72,
+- 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64,
+- 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68,
+- 0x65, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
+- 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x65,
+- 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x52, 0x65, 0x6d,
+- 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x74,
+- 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, 0x70, 0x6f,
+- 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e,
+- 0x20, 0x65, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f,
+- 0x72, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20,
+- 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x61,
+- 0x6d, 0x65, 0x73, 0x20, 0x28, 0x73, 0x6f, 0x20,
+- 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65,
+- 0x79, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20,
+- 0x64, 0x69, 0x73, 0x73, 0x61, 0x70, 0x70, 0x65,
+- 0x61, 0x72, 0x29, 0x2c, 0x20, 0x74, 0x6f, 0x20,
+- 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c, 0x6c,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x79, 0x6f, 0x75,
+- 0x72, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x20,
+- 0x6f, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20,
+- 0x50, 0x43, 0x20, 0x28, 0x73, 0x6f, 0x20, 0x74,
+- 0x68, 0x61, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20,
+- 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x74, 0x69,
+- 0x65, 0x20, 0x75, 0x70, 0x20, 0x74, 0x68, 0x65,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x66, 0x61, 0x6d,
+- 0x69, 0x6c, 0x79, 0x20, 0x54, 0x56, 0x29, 0x20,
+- 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6b,
+- 0x65, 0x65, 0x70, 0x20, 0x61, 0x20, 0x62, 0x61,
+- 0x63, 0x6b, 0x75, 0x70, 0x20, 0x6f, 0x66, 0x20,
+- 0x67, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x79, 0x6f,
+- 0x75, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x69, 0x6e,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
+- 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,
+- 0x67, 0x61, 0x6d, 0x65, 0x20, 0x28, 0x6f, 0x72,
+- 0x20, 0x61, 0x72, 0x63, 0x61, 0x64, 0x65, 0x2f,
+- 0x68, 0x6f, 0x6d, 0x65, 0x20, 0x63, 0x6f, 0x6e,
+- 0x73, 0x6f, 0x6c, 0x65, 0x29, 0x20, 0x66, 0x61,
+- 0x69, 0x6c, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x61, 0x76,
+- 0x65, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64,
+- 0x79, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
+- 0x2e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x49, 0x74, 0x27, 0x73,
+- 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x64, 0x75,
+- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+- 0x20, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65,
+- 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x28,
+- 0x69, 0x6e, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20,
+- 0x79, 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20,
+- 0x61, 0x6e, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x65, 0x6d, 0x75, 0x6c,
+- 0x61, 0x74, 0x6f, 0x72, 0x20, 0x70, 0x72, 0x6f,
+- 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x29,
+- 0x2e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x59, 0x6f, 0x75,
+- 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x4e, 0x45,
+- 0x56, 0x45, 0x52, 0x20, 0x73, 0x65, 0x6c, 0x6c,
+- 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x52,
+- 0x4f, 0x4d, 0x53, 0x20, 0x66, 0x6f, 0x72, 0x20,
+- 0x70, 0x72, 0x6f, 0x66, 0x69, 0x74, 0x2e, 0x20,
+- 0x4d, 0x6f, 0x73, 0x74, 0x20, 0x67, 0x61, 0x6d,
+- 0x65, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6d, 0x70,
+- 0x61, 0x6e, 0x69, 0x65, 0x73, 0x20, 0x64, 0x6f,
+- 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x69, 0x6e, 0x64,
+- 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x73,
+- 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f,
+- 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
+- 0x69, 0x72, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x27,
+- 0x73, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52,
+- 0x4f, 0x4d, 0x53, 0x20, 0x62, 0x65, 0x63, 0x61,
+- 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79,
+- 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x6f, 0x6e, 0x67,
+- 0x65, 0x72, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74,
+- 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68,
+- 0x65, 0x79, 0x20, 0x57, 0x49, 0x4c, 0x4c, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x6d, 0x69, 0x6e, 0x64, 0x20, 0x69, 0x66,
+- 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x6f, 0x6e, 0x65,
+- 0x20, 0x73, 0x65, 0x6c, 0x6c, 0x73, 0x20, 0x74,
+- 0x68, 0x65, 0x6d, 0x2e, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x59, 0x6f, 0x75,
+- 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x4e, 0x4f,
+- 0x54, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
+- 0x62, 0x75, 0x74, 0x65, 0x20, 0x52, 0x4f, 0x4d,
+- 0x53, 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68,
+- 0x65, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
+- 0x65, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x6f, 0x72,
+- 0x73, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x20,
+- 0x61, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67,
+- 0x65, 0x2e, 0x20, 0x41, 0x6e, 0x64, 0x20, 0x61,
+- 0x67, 0x61, 0x69, 0x6e, 0x2c, 0x20, 0x4e, 0x4f,
+- 0x20, 0x73, 0x65, 0x6c, 0x6c, 0x69, 0x6e, 0x67,
+- 0x2e, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x59, 0x6f,
+- 0x75, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x4e,
+- 0x45, 0x56, 0x45, 0x52, 0x20, 0x68, 0x6f, 0x6c,
+- 0x64, 0x20, 0x6d, 0x61, 0x6d, 0x65, 0x2e, 0x64,
+- 0x6b, 0x20, 0x28, 0x69, 0x6e, 0x63, 0x6c, 0x75,
+- 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x74, 0x73,
+- 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63,
+- 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x79, 0x2c, 0x20,
+- 0x77, 0x65, 0x62, 0x6d, 0x61, 0x73, 0x74, 0x65,
+- 0x72, 0x73, 0x2c, 0x20, 0x65, 0x6d, 0x70, 0x6c,
+- 0x6f, 0x79, 0x65, 0x65, 0x73, 0x2c, 0x20, 0x73,
+- 0x74, 0x61, 0x66, 0x66, 0x20, 0x6f, 0x72, 0x20,
+- 0x61, 0x6e, 0x79, 0x62, 0x6f, 0x64, 0x79, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x65, 0x6c, 0x73, 0x65, 0x20, 0x72, 0x65, 0x6c,
+- 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
+- 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x65, 0x62,
+- 0x73, 0x69, 0x74, 0x65, 0x29, 0x20, 0x6f, 0x72,
+- 0x20, 0x6f, 0x75, 0x72, 0x20, 0x77, 0x65, 0x62,
+- 0x68, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65,
+- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x69, 0x62, 0x6c,
+- 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e,
+- 0x79, 0x20, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65,
+- 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20,
+- 0x74, 0x6f, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20,
+- 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2c, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
+- 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6c,
+- 0x65, 0x67, 0x61, 0x6c, 0x20, 0x61, 0x63, 0x74,
+- 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x61, 0x6b,
+- 0x65, 0x6e, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e,
+- 0x73, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x66,
+- 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x6f, 0x62, 0x65, 0x79, 0x69,
+- 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61,
+- 0x62, 0x6f, 0x76, 0x65, 0x20, 0x73, 0x74, 0x61,
+- 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65,
+- 0x73, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x6f,
+- 0x72, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x74,
+- 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, 0x61, 0x73,
+- 0x6f, 0x6e, 0x2e, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d,
+- 0x61, 0x6d, 0x65, 0x2e, 0x64, 0x6b, 0x20, 0x68,
+- 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x64,
+- 0x75, 0x6d, 0x70, 0x65, 0x64, 0x20, 0x74, 0x68,
+- 0x65, 0x20, 0x52, 0x4f, 0x4d, 0x53, 0x20, 0x6f,
+- 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77,
+- 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2c, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x75, 0x72, 0x20,
+- 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x20,
+- 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72,
+- 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x61, 0x20,
+- 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20,
+- 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x49,
+- 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20,
+- 0x61, 0x6e, 0x64, 0x20, 0x67, 0x61, 0x6d, 0x69,
+- 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x75,
+- 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x20, 0x4e, 0x6f,
+- 0x20, 0x68, 0x61, 0x72, 0x6d, 0x20, 0x69, 0x73,
+- 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x64, 0x6f, 0x6e, 0x65, 0x20, 0x74, 0x6f,
+- 0x20, 0x67, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6f,
+- 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73, 0x2c,
+- 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
+- 0x52, 0x4f, 0x4d, 0x53, 0x20, 0x6f, 0x6e, 0x20,
+- 0x74, 0x68, 0x69, 0x73, 0x20, 0x20, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x65,
+- 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x61, 0x72,
+- 0x65, 0x20, 0x6f, 0x66, 0x20, 0x67, 0x61, 0x6d,
+- 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
+- 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x20, 0x6c,
+- 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x66, 0x6f,
+- 0x72, 0x20, 0x73, 0x61, 0x6c, 0x65, 0x2c, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66,
+- 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x69, 0x63,
+- 0x68, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x20, 0x63,
+- 0x6f, 0x6d, 0x70, 0x61, 0x6e, 0x69, 0x65, 0x73,
+- 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6e, 0x6f, 0x20,
+- 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x20, 0x70,
+- 0x72, 0x6f, 0x66, 0x69, 0x74, 0x2e, 0x20, 0x20,
+- 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x0d, 0x0a,
+- 0x60, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d,
+- 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0xb4, 0x0d, 0x0a
+-};
+-
+-#define MAMEDK_SIZE 3648
+-
+ analyze_entry::analyze_entry(const string& Aname, unsigned Asize, unsigned Acrc)
+ : name(Aname), size(Asize), crc(Acrc) {
+ }
+@@ -576,49 +115,12 @@
+ return true;
+ }
+
+-static void sset(char* dst, unsigned w, const char* s)
+-{
+- unsigned l = strlen(s);
+- if (l > w)
+- l = w;
+- unsigned b = (w - l) / 2;
+-
+- memset(dst, ' ', w);
+- memcpy(dst + b, s, l);
+-}
+-
+ analyze::analyze(const gamearchive& gar)
+ {
+ // insert some standard crc
+ for(analyze_entry_static* i=GARBAGE;i->size;++i) {
+ garbage.insert(*i);
+ }
+-
+- // insert the MAMEDK crc for the current info
+- for(game_by_name_set::const_iterator i=gar.begin();i!=gar.end();++i) {
+- char t0[128];
+- char t1[128];
+- char t2[128];
+- char name[64];
+-
+- snprintf(t0, sizeof(t0), "proudly presents %s.zip for your mame", i->name_get().c_str());
+- snprintf(t1, sizeof(t1), "\"%s\"", i->description_get().c_str());
+- snprintf(t2, sizeof(t2), "%s %s", i->manufacturer_get().c_str(), i->year_get().c_str());
+-
+- sset(MAMEDK_DATA + 64*9 + 1, 60, t0);
+- sset(MAMEDK_DATA + 64*11 + 1, 60, t1);
+- sset(MAMEDK_DATA + 64*13 + 1, 60, t2);
+-
+- analyze_entry_static e;
+-
+- snprintf(name, sizeof(name), "%s.txt", i->name_get().c_str());
+-
+- e.name = name;
+- e.size = MAMEDK_SIZE;
+- e.crc = crc_compute(MAMEDK_DATA, MAMEDK_SIZE);
+-
+- garbage.insert(e);
+- }
+ }
+
+ analyze_type analyze::operator()(const string& name, unsigned size, unsigned crc) const
diff --git a/games-emulation/advancescan/files/advancescan-1.16-sys-expat.patch b/games-emulation/advancescan/files/advancescan-1.16-sys-expat.patch
new file mode 100644
index 000000000000..0648a0cf068c
--- /dev/null
+++ b/games-emulation/advancescan/files/advancescan-1.16-sys-expat.patch
@@ -0,0 +1,77 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -30,6 +30,7 @@
+
+ # Checks for libraries.
+ AC_CHECK_LIB([z], [adler32], [], [AC_MSG_ERROR([the libz library is missing])])
++AC_CHECK_LIB([expat], [XML_Parse], [], [AC_MSG_ERROR([the expat library is missing])])
+
+ # Checks for header files.
+ AC_HEADER_STDC
+--- a/gamexml.cc
++++ b/gamexml.cc
+@@ -22,7 +22,7 @@
+
+ #include "game.h"
+ #include "strcov.h"
+-#include "expat/expat.h"
++#include <expat.h>
+
+ #include <string>
+ #include <iostream>
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -18,10 +18,7 @@
+ siglock.cc \
+ getopt.c \
+ snprintf.c \
+- lib/readinfo.c \
+- expat/xmlrole.c \
+- expat/xmlparse.c \
+- expat/xmltok.c
++ lib/readinfo.c
+
+ advscan_SOURCES = \
+ scan.cc \
+@@ -43,10 +40,7 @@
+ siglock.cc \
+ getopt.c \
+ snprintf.c \
+- lib/readinfo.c \
+- expat/xmlrole.c \
+- expat/xmlparse.c \
+- expat/xmltok.c
++ lib/readinfo.c
+
+ EXTRA_DIST = advscan.rc.linux advscan.rc.dos \
+ README AUTHORS HISTORY INSTALL COPYING \
+@@ -82,28 +76,7 @@
+ portable.h \
+ lib/readinfo.h \
+ lib/endianrw.h \
+- lib/extra.h \
+- expat/COPYING \
+- expat/README \
+- expat/ascii.h \
+- expat/asciitab.h \
+- expat/expat-1.95.8.diff \
+- expat/expat.h \
+- expat/iasciitab.h \
+- expat/expatcfg.h \
+- expat/expat_external.h \
+- expat/internal.h \
+- expat/latin1tab.h \
+- expat/nametab.h \
+- expat/utf8tab.h \
+- expat/xmlparse.c \
+- expat/xmlrole.c \
+- expat/xmlrole.h \
+- expat/xmltok.c \
+- expat/xmltok.h \
+- expat/xmltok_impl.c \
+- expat/xmltok_impl.h \
+- expat/xmltok_ns.c
++ lib/extra.h
+
+ man_MANS = doc/advscan.1 doc/advdiff.1
+
diff --git a/games-emulation/advancescan/metadata.xml b/games-emulation/advancescan/metadata.xml
new file mode 100644
index 000000000000..879ee3497adc
--- /dev/null
+++ b/games-emulation/advancescan/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">advancemame</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/atari800/Manifest b/games-emulation/atari800/Manifest
new file mode 100644
index 000000000000..cb9b301b7273
--- /dev/null
+++ b/games-emulation/atari800/Manifest
@@ -0,0 +1,8 @@
+AUX atari800-3.1.0-tgetent-detection.patch 690 SHA256 18dea42114b5a9ee787d79155eacd4a2f60fa501f52a3b6182fe52491250c43f SHA512 dc045dc72b011fe2fab1b440a5fc50c3a34dcb4cd867efa9a8276cc770f21778732adf6c59e5a3daec0cd37364a83f877c739d1120d468af9372d088895850e5 WHIRLPOOL 8747fca6976eb1a4744c079481b374ad38623680d50cc19f237dc0cf7d6b2ed3f90723005e183455ae64dd1a92ea00cce1a916c4134d5791165208d3c93e96b0
+AUX atari800.cfg 467 SHA256 562981fd5d3e1e028c3da484ca18bbe5c0a7f5a01eb8740cff14c4a18e05a3e7 SHA512 17f43f9f1b8dcf1513eefc8b89e94ecdaeb3f4e324a669e09c1f8b180e3c545b474164f73bc4c319dde27dda8effa1f2786957854ade81d161221e081c87d358 WHIRLPOOL a6a26be88faf3515a110f8396009b40448e35fdeb806f7bf213658a1d469e35981cb4838179c3a551e9878b2f29133990bd3415a8c80fc77b89ee850d018e6ff
+DIST atari800-3.1.0.tar.gz 1492289 SHA256 901b02cce92ddb0b614f8034e6211f24cbfc2f8fb1c6581ba0097b1e68f91e0c SHA512 c8f035c9be000c67dd854a14a236d165e6e2d30b5138f8772c6ea5c5290b0410525570e3ed9dcb2f9bcb129f97a36e6eef5993f0a5ad3cc993c6b59b127bcabe WHIRLPOOL e635a16fc8b2af8257f6f8d0e67fd155e98aee0d2c2831ca6c847561b1131f13b75c24a6ed68f089f0e1b04eaaa9d1e2239d53608875337fffce37d16a3ae5f4
+DIST xf25.zip 188942 SHA256 98ae0ad10413dd6f35ed80f5662dba6d790def70c7829046e52012a03b574b8a SHA512 306612fc2af41ed10d76103af83e141cfd8bd3ba2ea3cbd1d0b81d4d5b0108c06948a5c626648c8a2424536757a42a3f8b9af1fb63fa3c31096447ffed0f9923 WHIRLPOOL 58a77afd803b740b2be5038223bac173dc1ccd8e062d0e8e71355c496e113d1d486b1d8fc2e06e0ee58bb8a34948fe6be41312107bd311bdd54ae173ac850f5f
+EBUILD atari800-3.1.0.ebuild 2055 SHA256 01246d7d596e823a3d76738778d2c0528ed3839f4b453343a133621210ec351d SHA512 ce70a4dc0ac9ee68929a6e3aa98740e658d2028c8832163cfbd8387c7cb3739dee8587bac9fc954ecd145285b5d8f93e97eebcb7ad67dd6db82a74069003d0ee WHIRLPOOL b33a9f7033fae4492a7206b926807976940facf50b5d413bcde2f99bc93dd0d8bfca524efd43ca622ecec4778687a48a7fa3f4165175166cbf6435ee5f902607
+MISC ChangeLog 2807 SHA256 2c1b99613cfc3919046cc99346d0aca5c881159eb0aad52cb8f10bca22f831b0 SHA512 6a4d9f234654929164abdf631988cc2e7cb08d199f73de50a69ddb95e51fcbffd6984794d3752f0ef8df06e52ab67d1e70f349e7d2429f930f99be00746e9859 WHIRLPOOL ad435a4f4507c121062d1eef6418bfbaa9fdad7863e569efaff314c5f7d285bee16f67c2789ab58b67682c2ede24b2cc03e148ccf0d35ea26b8fe55dd6d229e6
+MISC ChangeLog-2015 6234 SHA256 d723207d6d36d01e33f5ee6aa2a1d8eace97b6e50e77e090d437e5c6fbd31af8 SHA512 5af0db238caf1f0c6ad7a2ff8488ca40ecc950f2b71d2334b349c1ade00957409ee63861e95fba62205e5b20fc0ee0fa20f90076fd2f84e773e5daec73ef9e86 WHIRLPOOL 68b6cb536ddddf46bd09bb490a3867fd2c1b9e4952958a224f9b449ca6c699496c747c84108827ae3989aa2a0d6dfd364a6b60a216fe9c5b486b446673dbcf7b
+MISC metadata.xml 961 SHA256 e0728ff8bd7bc52a8496a2003100a2b2275c35c7939c00e3fbc17ca205371d8c SHA512 f31b0309a14446c07f11c72be8bb0cda851e5e0f424211f7a26eb5030935119a31eccfc1d81d80987cf6a6ef22d56e74edd258eba13d2635cccd584fadaaf123 WHIRLPOOL 16f27a4e3099717a23c12b993da1cf8e827e7f7766c53815cce42b98ca77cc6839a1c3045b1922ee05eb7b3d56de0aba3c3fcf5ba925c1a9343aa8457e4502ca
diff --git a/games-emulation/atari800/atari800-3.1.0.ebuild b/games-emulation/atari800/atari800-3.1.0.ebuild
new file mode 100644
index 000000000000..d225ee4ea3ec
--- /dev/null
+++ b/games-emulation/atari800/atari800-3.1.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games autotools eutils
+
+DESCRIPTION="Atari 800 emulator"
+HOMEPAGE="http://atari800.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz
+ mirror://sourceforge/${PN}/xf25.zip"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ncurses oss opengl readline +sdl +sound"
+
+NOTSDL_DEPS="
+ sys-libs/ncurses:0
+ sound? (
+ !oss? ( media-libs/libsdl[sound] )
+ )"
+RDEPEND="sdl? ( >=media-libs/libsdl-1.2.0[opengl?,sound?,video] )
+ ncurses? ( ${NOTSDL_DEPS} )
+ !sdl? ( !ncurses? ( ${NOTSDL_DEPS} ) )
+ readline? ( sys-libs/readline:0
+ sys-libs/ncurses:0 )
+ media-libs/libpng:0
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+src_prepare() {
+ # remove some not-so-interesting ones
+ rm -f DOC/{INSTALL.*,*.in,CHANGES.OLD} || die
+ sed -i \
+ -e '1s/ 1 / 6 /' \
+ src/atari800.man || die
+ sed -i \
+ -e "/SYSTEM_WIDE_CFG_FILE/s:/etc:${GAMES_SYSCONFDIR}:" \
+ src/cfg.c || die
+ sed -i \
+ -e "/share/s:/usr/share:${GAMES_DATADIR}:" \
+ src/atari.c || die
+ sed "s:/usr/share/games:${GAMES_DATADIR}:" \
+ "${FILESDIR}"/atari800.cfg > "${T}"/atari800.cfg || die
+
+ # Bug 544608
+ epatch "${FILESDIR}/${P}-tgetent-detection.patch"
+ pushd src > /dev/null && eautoreconf
+ popd > /dev/null
+}
+
+src_configure() {
+ local video="ncurses"
+ local sound=no
+
+ use sdl && video="sdl"
+ if use sound ; then
+ if use sdl ; then
+ sound=sdl
+ elif use oss ; then
+ sound=oss
+ else
+ echo
+ elog "Sound requested but neither sdl nor oss specified."
+ elog "Disabling sound suport."
+ fi
+ fi
+
+ echo
+ elog "Building ${PN} with ${video} video and ${sound} sound"
+ echo
+
+ cd src && \
+ egamesconf \
+ $(use_with readline) \
+ --with-video=${video} \
+ --with-sound=${sound}
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_install () {
+ dogamesbin src/atari800
+ newman src/atari800.man atari800.6
+ dodoc README.1ST DOC/*
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins "${WORKDIR}/"*.ROM
+ insinto "${GAMES_SYSCONFDIR}"
+ doins "${T}"/atari800.cfg
+ prepgamesdirs
+}
diff --git a/games-emulation/atari800/files/atari800-3.1.0-tgetent-detection.patch b/games-emulation/atari800/files/atari800-3.1.0-tgetent-detection.patch
new file mode 100644
index 000000000000..018e423af6b4
--- /dev/null
+++ b/games-emulation/atari800/files/atari800-3.1.0-tgetent-detection.patch
@@ -0,0 +1,12 @@
+diff -ruN atari800-3.1.0/src/configure.ac new/src/configure.ac
+--- atari800-3.1.0/src/configure.ac 2014-04-12 15:58:16.000000000 +0200
++++ new/src/configure.ac 2015-03-26 23:36:24.419178078 +0100
+@@ -982,7 +982,7 @@
+ dnl existence of the tgetent symbol in readline. If not, we search for tgetent
+ dnl in a few other libraries. All done with a single AC_SEARCH_LIBS statement.
+ have_readline=no
+- AC_SEARCH_LIBS(tgetent, [readline termcap ncursesw ncurses curses], [
++ AC_SEARCH_LIBS(tgetent, [readline termcap tinfow ncursesw ncurses curses], [
+ AC_SEARCH_LIBS(readline, readline, [
+ AC_CHECK_HEADER([readline/readline.h], [
+ have_readline=yes
diff --git a/games-emulation/atari800/files/atari800.cfg b/games-emulation/atari800/files/atari800.cfg
new file mode 100644
index 000000000000..b31c67de0958
--- /dev/null
+++ b/games-emulation/atari800/files/atari800.cfg
@@ -0,0 +1,24 @@
+Atari 800 Emulator, Version 1.2.2
+OS/A_ROM=atariosa.rom
+OS/B_ROM=/usr/share/games/atari800/ATARIOSB.ROM
+XL/XE_ROM=/usr/share/games/atari800/ATARIXL.ROM
+BASIC_ROM=/usr/share/games/atari800/ATARIBAS.ROM
+5200_ROM=
+DISK_DIR=
+ROM_DIR=
+H1_DIR=
+H2_DIR=
+H3_DIR=
+H4_DIR=
+HD_READ_ONLY=1
+EXE_DIR=
+STATE_DIR=
+PRINT_COMMAND=lpr %s
+SCREEN_REFRESH_RATIO=1
+MACHINE_TYPE=Atari OS/B
+RAM_SIZE=48
+DEFAULT_TV_MODE=NTSC
+DISABLE_BASIC=1
+ENABLE_SIO_PATCH=1
+ENABLE_H_PATCH=1
+ENABLE_P_PATCH=1
diff --git a/games-emulation/atari800/metadata.xml b/games-emulation/atari800/metadata.xml
new file mode 100644
index 000000000000..6489dd5ca137
--- /dev/null
+++ b/games-emulation/atari800/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+Atari800 is an Atari 800, 800XL, 130XE and 5200 emulator for Unix, Amiga, MS-DOS, Atari
+TT/Falcon, SDL and WinCE. Our main objective is to create a freely distributable portable
+emulator (i.e. with source code available). It can be configured to run in the following
+ways :
+
+ * BASIC mode
+ * CURSES mode
+ * SVGALIB for Linux Systems
+ * X Window + Optional XVIEW or MOTIF User Interface
+ * CBM Amiga
+ * MS-DOS
+ * TOS (Atari Falcon030/TT030 and compatible)
+ * MS Windows (DirectX)
+ * SDL (many different platforms and systems)
+ * WinCE
+ * MacOS X
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">atari800</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/caps/Manifest b/games-emulation/caps/Manifest
new file mode 100644
index 000000000000..472922e29563
--- /dev/null
+++ b/games-emulation/caps/Manifest
@@ -0,0 +1,8 @@
+DIST config_uae_ocs13_512c-512s.zip 1613 SHA256 972e43dea9b4a14f60fb97eebca9711e3610ea0027807b22dfc01ddc01d24574 SHA512 38aa65030f874756780239191e08c7dbf41a241b44a82a58d8adef8dd94879d3db221c26e860d980a602fd89734f4ce8053e7c7037a8889e9a6f69a1d2dc4d8e WHIRLPOOL 294bdc15eb9809d6ac466edf1e22f40c5a8e6c755c6478da68f9dbb4f8c1e8595510fb9ada83cb21e75776d790d2389778cd69254b5a393cccf28654325f6613
+DIST ipfdevlib_linux-20060612.tgz 60265 SHA256 29b436da18b42e23362bb346a2b870ae6ff3c0bd1fa7875610c12484bfe7af83 SHA512 6d01b35850af9f5f4a45f8ee7f9c9b7a02ffaf3830588c46cf718c5007316baac49c1c7c928f0fc78e9014e3f094cb6a2d6e842c1440a7b8e34e6c31899699d7 WHIRLPOOL 0b9f5f98fdeeef35954645bb58a3978833682bdd1d4982e6cce5aa658d2e6d9d0bc2fd8c5677f719720f4521414e9a9b4d0998a690aa7b1e37aed5b39049ffa9
+DIST ipfdoc102a.zip 264258 SHA256 7d434bb032b054eaaf256cb4fe1ff82038d839c566918860a2bdc3a2493692d3 SHA512 f4b34349c65a5cffc6fad8370959ea0c2516087f46cbb43770b45cf14c573062e03abd77350cf4c8f690dc6a1d461dd0613a03ab70c1f8a72a3a43b9085730f0 WHIRLPOOL 8b99770f712b560dfd37cbc22acf94e97130779bd2b68c6017f369ed98f2038d87e23ec0aa57ef17f7c918c1602a63cdb2912a07d4338d53ee04a606fb6c38e9
+DIST ipflib_linux-amd64-20071115.tgz 24278 SHA256 0cb6af9038faf91d7b3d8bc628ce2a3b4348eaefc5c24a48447e37d287ffe297 SHA512 f306503a0aed7fd781bb6aea22a94fe72a5de952e3e26bb923d551ec5f165aa3fced4014df6a50f20b0f4526710b7e8643aa47a4de85f09bb2f3fe040d0b0f70 WHIRLPOOL ec5c747f2c87267845eebfd945d9c12cad244f7bcd3f5ed80601fc5c97e6b21257fdb917281099415e414467a4a1a79ec5b56dcc41642be74efc269fe7f3e413
+EBUILD caps-20071115.ebuild 1576 SHA256 1a4f55ef122a6677cfbc98a2c77c70d6b81c51b161e1a0f0b85f41bfd33bf5a1 SHA512 d69b1f358b15bcfc7d8597deff21c084214be170ff9e366602fcb053b5c1999383e5bc63b81cf65f338666b1a920c9529486bd5caa256ce228bf515b606be706 WHIRLPOOL 507a242510d9bc40b90b2d1883acea997168dfd84a7dae4e67860ad5966bd6524d4ab498951aa733a966184c42a86e38b987f66137214589af69f29af37ecd5a
+MISC ChangeLog 2431 SHA256 5a04559c16855aeb01050585c1139138c17adb47d8136cbeaa1b5f5ebb9efe38 SHA512 a9249aa7273cfd95d355e7a7641265e30fbb03fa84a3fb58e3a1ff0b3504416bc3a54d99a76a39303206a1e6c8b6021656ab0a18b92b6967ca47cef34a9d6095 WHIRLPOOL 7d014e6cd3c77b26dda165b2baf673952eb3564d3f22595e5448c9ff1ee2e73a525b9e8378c63a9d1aa36e907a454dbeca99812ee1e8108f5671ce94226fe66d
+MISC ChangeLog-2015 2587 SHA256 ea393888d032bac3143b4973db8ca85fabdac16ec4239ce265bc41eaeedb5c05 SHA512 88d10dd9ad7b756a228929ac60103ba9a953ff7d48cbedccd7a9e6b9356910c66577ac1fee00e06c788b44b3c2a7c58bee5681172395c696b6484a942ee59315 WHIRLPOOL 1e3de0ed9ab2a66d080bc436c6281f31d3ba59cd554d5ee63801c766eee139018eb18a353f63800793f01986518d448d4b699740d67f1b4a9e4614b3bd50b427
+MISC metadata.xml 603 SHA256 fc98a4e2dd18aae73289441da2b9bd381b536e0bce6b5702848066944a38e31f SHA512 fedf1973e487ee47ad0ee6552e3867b2b9732084dae90cec32168bfea54dd8d6b25fedf3c7336205706a14b72a7c14cb4653a4b18293f7eb6661c3edb781e3b5 WHIRLPOOL 6cebe94c7ed8d16646e7bf8aaa1dfbc32e9f57e6f627c7c680fb0aa5d1c90ba26e24b44647d82c724906bd2dcf091af0729e5cedf53efb1d9ace98d9d82ad314
diff --git a/games-emulation/caps/caps-20071115.ebuild b/games-emulation/caps/caps-20071115.ebuild
new file mode 100644
index 000000000000..287a1bf2a02a
--- /dev/null
+++ b/games-emulation/caps/caps-20071115.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils multilib
+
+DESCRIPTION="Support library that allows third party applications access and use C.A.P.S. images"
+HOMEPAGE="http://www.softpres.org/"
+SRC_URI="mirror://gentoo/ipfdevlib_linux-20060612.tgz
+ amd64? ( mirror://gentoo/ipflib_linux-amd64-${PV}.tgz )
+ doc? ( mirror://gentoo/ipfdoc102a.zip )
+ mirror://gentoo/config_uae_ocs13_512c-512s.zip"
+
+LICENSE="CAPS"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+RESTRICT="strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND=""
+
+S=${WORKDIR}
+
+QA_PREBUILT="usr/lib*/libcapsimage.so* usr/bin/ipfinfo"
+
+src_install() {
+ insinto /usr/include/caps
+ doins ipfdevlib_linux/include/caps/capsimage.h
+
+ case ${ARCH} in
+ ppc)
+ dolib.so ipfdevlib_linux/lib/ppc/libcapsimage.so.2.0
+ dobin ipfdevlib_linux/examples/ppc/ipfinfo
+ ;;
+ x86)
+ dolib.so ipfdevlib_linux/lib/i686/libcapsimage.so.2.0
+ dobin ipfdevlib_linux/examples/i686/ipfinfo
+ ;;
+ amd64)
+ dolib.so ipflib_linux-amd64/libcapsimage.so.2.3
+ dobin ipflib_linux-amd64/ipfinfo
+ ;;
+ *)
+ eerror "Unsupported platform"
+ ;;
+ esac
+
+ case ${ARCH} in
+ ppc|x86)
+ dosym libcapsimage.so.2.0 \
+ /usr/$(get_libdir)/libcapsimage.so.2
+ dodoc ipfdevlib_linux/{HISTORY,README}
+ ;;
+ amd64)
+ dosym libcapsimage.so.2.3 \
+ /usr/$(get_libdir)/libcapsimage.so.2
+ dodoc ipflib_linux-amd64/{HISTORY,README}
+ ;;
+ esac
+
+ insinto /usr/share/${PN}
+ doins OCS_13_1Mb_800_600.uae
+ doins ipfdevlib_linux/examples/ipfinfo.c
+
+ use doc && dodoc CAPSLib102a-40.pdf
+}
diff --git a/games-emulation/caps/metadata.xml b/games-emulation/caps/metadata.xml
new file mode 100644
index 000000000000..927538501fc1
--- /dev/null
+++ b/games-emulation/caps/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ C.A.P.S., the Classic Amiga Preservation Society, as the name implies,
+ dedicates itself to the preservation of classic Amiga software for the
+ future, namely classic Amiga games. This is the C.A.P.S. support
+ library that allows third party applications access to and use of
+ C.A.P.S. images.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-emulation/daphne/Manifest b/games-emulation/daphne/Manifest
new file mode 100644
index 000000000000..25bb02303992
--- /dev/null
+++ b/games-emulation/daphne/Manifest
@@ -0,0 +1,12 @@
+AUX daphne-1.0-gcc43.patch 482 SHA256 a13e0f8490bd099dd70874ff7a8c3906fe7673f7921042f928acb0e258cac929 SHA512 1346714f3fce3e7d73a4bfb00ff379d798c241d61f008116f283ee206bcd9952913eac98565b6acf1d8ba79b9c2f1095a7368c28c78e496615e37567a6352e77 WHIRLPOOL f50fbcf94494fd7da0e64b76114d24c10febc78074f185269a40bc4a8b086162ba9352541de7dd7bf53283a3e15196d9ae68a42bb3ae83a9de49d89216c839c4
+AUX daphne-1.0-ldflags.patch 612 SHA256 f5d6cdb9d2f357a721806ede353d0a7fba3c3dce28f270a430d856e5b6fad9c1 SHA512 05176cff73a06e83df644854551e688f64f1d9fb82387847fc61735d9dea1eeda0d2cf1930350dfcc2dd98aebc9352f9e61b3d3aaca736fd62de6282154c98b4 WHIRLPOOL 79185165ead4522e4766560699465e9b0a538121c203106dba52d3f8118733c73414c8f38b74aff43fa913174a03c96ee5992629cd830b5ba144d05a00631bae
+AUX daphne-1.0-system-lmpeg2.patch 1607 SHA256 e0ee0e82cd03d5b3d1b8e70f926fc01c808b0143c7f6961fe43a0db444537c79 SHA512 92a4d60db095deb8ddcdca23e89f82196f912d9c14202070b039443d328e436dd20714fac90db5ae20f88e955c2cef6f4d339b45d4fdf44115c619e7d5e8bb64 WHIRLPOOL a00c2402e60085367bda07790899225c7afad78efe0802bc3a9bd66bb5be74f0f3216bf27a5085c53b84f973b1565f52a05733e80536997d6f40a255b3dd3b70
+AUX daphne-1.0-typefix.patch 1993 SHA256 7a1b62c4ae890d65cba232272148046e0da5c9215a7163de09c4020db8c3c3fa SHA512 d8d084d1ef19526a49ed1a0a6e1c03a79bf4f90a6b1fcf99a4ec9b3137401b4a4aacdcaa9d166857dda649ece865e26c8538681822f19845b6c15a91618adb63 WHIRLPOOL 1e5c5dd17603c4b8aa3979a122c3fd009c67bc4fe823d7836ff669bb8c4d71530d98d9df0e20652236c901fbd631bf434602e0f8b44bdee09e75d739823583fd
+AUX daphne-1.0-underlink.patch 403 SHA256 42651692b7243af89851eafc32f57e5146a686ea59fc2eee143c79068e6201b3 SHA512 752bc994977e7b8a179c1763cda6c89ffe0bad8bf35414de99d9d412ff82e6f6f8ce05856feca728654cb12d770b59bb5ac204ce86371f2515073c89a5c75962 WHIRLPOOL faff322fd2fb428cd21936afc59f5a6af4bd1f0728a9a05dcc3f748b628377f1fa0f96ff3a6649e145f2702872fbd852a35ab06052b747de450dd2fe37934f63
+AUX daphne-1.0-vorbisfilefix.patch 521 SHA256 3f59e8ca9859f6069c1956751ba7963649f9e75a015bc747eccad2c2b251a6fa SHA512 fb0bd9d56536b5e2688b3398738ccb267ff76ebbe2baec52d80ae2246a1de63e95a85b7bfeb918a827c7fbc0ffa0c735b02d5f523337fc1f0107f1799de436f1 WHIRLPOOL 5d7893173d9842260ad11c3f579fb1a8a7c82acd469e9ee2df0404a097cecc2372795a29b2cad1f5218ce858402e92ad6e5998a1c83558d0351169c6159e05c2
+AUX daphne-1.0-zlib.patch 356 SHA256 3a0b13be874de8c3441ee88047fdc3c1dfd05ada596b54f697b752671cb7f2d6 SHA512 56c64a616791734fdb77b3e3e22aa53285a9a2a241e6b1237edb486674182d16992b3d6fb36b7b5705c9b7acdd5da398638ca384f72f52862dedd85c4449ef6f WHIRLPOOL 545b4ac1dcca23eede51a9c1e79b05dfbb048046f4919c55054fd7dd28975272e0781156ad65089612e8e8b3e5666c835b27cbd79ff51ae74747a1a1c529ab67
+DIST daphne-1.0-src.tar.gz 4316387 SHA256 b3df3cbb49b3b0d1c2d9f8ab9ae22ef39b1627db09b67a4d10122d754443a588 SHA512 e15e3e86cd03b8eea410eedb667c878f9e2fb044a9bf2cc54e54db641f1c2c6fd99e889cfab308bf972336b577059e13d6cf2a353016ded8e28dae9ddedc0ad4 WHIRLPOOL 6e6be7bcd6beb472881870044d7df36c1493585fd2decdaa70b083fa93338a23b07c93be0fa9634df5c84709d5736579684e5fd663f4122b87f9c0317306948c
+EBUILD daphne-1.0.ebuild 1962 SHA256 8ec90121c3f0f1005fae8ec312de5637696879fe58fc261fe59d62a6b85057a2 SHA512 a337ba37e25cb4792202cec770a76db6475c3a4626a51963d5ceda1bb539c20606f7f35c64cbe0030373c93b0bb9586c3446cba33a8660bd32c91be988ac235c WHIRLPOOL c5916bb87213f8be2f8af8673403051bcf83171fe4edf64cd5bb5bac27f5ea28af221526713f3cc437bdefe86e62769cb2a64372c3134c62a7295e042c707ac5
+MISC ChangeLog 2673 SHA256 a8a7eef1b72c98313c49925971f2c9a458436f0e943956427c6ff8240aec6023 SHA512 c8ef8493b3101b9772558b341252a1297920fb4522b15d0edd7537eae119185701fa657e6aeabe84f64111d3bc45f82cc2f9c7ccc2bb0401d10d0ba7c5a17f4f WHIRLPOOL c9307eb4129fe602d30237d2d5e0c1daac44ef450866ac80ad9ba5a15134f5c9c304bed6d83c878994d0b19c64340ba73ce3302a7d8c8cf96beea3f7731ccca2
+MISC ChangeLog-2015 3099 SHA256 8d1053bd899fc090b9c683b95501d042336d1b5562c3a4bd89d41292ea914478 SHA512 d5ab1fdad48c4c00776a416999ce6cdf3a4f5650d57ef116ae3caad15287f41aaf74424ae7451dcee1c9835efea9be2d04cd294b0e05a5e4fb249b4752128b44 WHIRLPOOL b7464a051cb86372645cdd313b1c5fe5efeb3446477ab5054fc288be31e92c1c32a067e345b68f80572494e21d19ac60683a2752de2e2f3b1749bc8830c2022b
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/daphne/daphne-1.0.ebuild b/games-emulation/daphne/daphne-1.0.ebuild
new file mode 100644
index 000000000000..871b5b4ac8a1
--- /dev/null
+++ b/games-emulation/daphne/daphne-1.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="Laserdisc Arcade Game Emulator"
+HOMEPAGE="http://www.daphne-emu.com/"
+SRC_URI="http://www.daphne-emu.com/download/${P}-src.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="media-libs/libogg
+ media-libs/libvorbis
+ sys-libs/zlib
+ media-libs/libsdl[joystick,video]
+ media-libs/sdl-mixer
+ media-libs/libmpeg2
+ virtual/opengl
+ media-libs/glew"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/v_1_0/src
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-vorbisfilefix.patch \
+ "${FILESDIR}"/${P}-typefix.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-zlib.patch \
+ "${FILESDIR}"/${P}-underlink.patch \
+ "${FILESDIR}"/${P}-system-lmpeg2.patch
+
+ sed -i "/m_appdir =/s:\.:${GAMES_DATADIR}/${PN}:" \
+ io/homedir.cpp || die
+ sed -i "s:pics/:${GAMES_DATADIR}/${PN}/&:" \
+ video/video.cpp || die
+ sed -i "s:sound/:${GAMES_DATADIR}/${PN}/&:" \
+ sound/sound.cpp || die
+ sed -i "s:./lib:$(games_get_libdir)/${PN}/lib:" \
+ io/dll.h || die
+
+ sed \
+ -e "s:-DNATIVE_CPU_X86::" \
+ -e "s:-DUSE_MMX::" \
+ -e '/export USE_MMX = 1/s:^:# :' \
+ Makefile.vars.linux_x86 >Makefile.vars || die
+}
+
+src_configure() {
+ cd vldp2
+ egamesconf --disable-accel-detect
+}
+
+src_compile() {
+ local archflags
+
+ if use x86; then
+ archflags="-DNATIVE_CPU_X86 -DMMX_RGB2YUV -DUSE_MMX"
+ export USE_MMX=1
+ else
+ # -fPIC is needed on amd64 but fails on x86.
+ archflags="-fPIC"
+ fi
+
+ emake \
+ CXX=$(tc-getCXX) \
+ DFLAGS="${CXXFLAGS} ${archflags}"
+ emake -C vldp2 \
+ -f Makefile.linux \
+ CC=$(tc-getCC) \
+ DFLAGS="${CFLAGS} ${archflags}"
+}
+
+src_install() {
+ cd ..
+ newgamesbin daphne.bin daphne
+ exeinto "$(games_get_libdir)"/${PN}
+ doexe libvldp2.so
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r pics roms sound
+ dodoc doc/*.{ini,txt}
+ dohtml -r doc/*
+ prepgamesdirs
+}
diff --git a/games-emulation/daphne/files/daphne-1.0-gcc43.patch b/games-emulation/daphne/files/daphne-1.0-gcc43.patch
new file mode 100644
index 000000000000..289757d4a50c
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-gcc43.patch
@@ -0,0 +1,12 @@
+--- Makefile.old 2009-01-19 16:22:07.000000000 +0100
++++ Makefile 2009-01-19 16:22:17.000000000 +0100
+@@ -33,7 +33,7 @@
+ endif
+
+ # Platform specific cflags defined in the Makefile.vars file
+-export CFLAGS = ${PFLAGS} ${DEFINE_STATIC_VLDP} -Wall -Winline -Werror
++export CFLAGS = ${PFLAGS} ${DEFINE_STATIC_VLDP} -Wall -Winline
+
+ OBJS = ldp-out/*.o cpu/*.o game/*.o io/*.o timer/*.o ldp-in/*.o video/*.o \
+ sound/*.o daphne.o cpu/x86/*.o scoreboard/*.o ${VLDP_OBJS}
+
diff --git a/games-emulation/daphne/files/daphne-1.0-ldflags.patch b/games-emulation/daphne/files/daphne-1.0-ldflags.patch
new file mode 100644
index 000000000000..a5096a5b3927
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-ldflags.patch
@@ -0,0 +1,22 @@
+--- Makefile.old 2010-10-05 08:48:46.000000000 +0200
++++ Makefile 2010-10-05 08:49:10.000000000 +0200
+@@ -43,7 +43,7 @@
+ .SUFFIXES: .cpp
+
+ all: ${LOCAL_OBJS} sub
+- ${CXX} ${DFLAGS} ${OBJS} -o ${EXE} ${LIBS}
++ ${CXX} $(LDFLAGS) ${DFLAGS} ${OBJS} -o ${EXE} ${LIBS}
+
+ sub:
+ cd ldp-out && $(MAKE)
+--- vldp2/Makefile.linux.old 2010-10-05 09:29:52.000000000 +0200
++++ vldp2/Makefile.linux 2010-10-05 09:30:13.000000000 +0200
+@@ -33,7 +33,7 @@
+ all: vldp2
+
+ vldp2: ${OBJS}
+- ${CC} -shared -o ${LIBNAME} ${OBJS} ${LIBS}
++ ${CC} $(LDFLAGS) -shared -o ${LIBNAME} ${OBJS} ${LIBS}
+ cp ${LIBNAME} ../../.
+
+ clean:
diff --git a/games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch b/games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch
new file mode 100644
index 000000000000..7eed630d13f7
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-system-lmpeg2.patch
@@ -0,0 +1,41 @@
+diff -ur v_1_0.old/src/vldp2/Makefile.am v_1_0/src/vldp2/Makefile.am
+--- v_1_0.old/src/vldp2/Makefile.am 2009-12-29 18:04:15.000000000 +0200
++++ v_1_0/src/vldp2/Makefile.am 2009-12-29 18:10:42.000000000 +0200
+@@ -1,3 +1,3 @@
+-SUBDIRS = autotools include libmpeg2 libvo doc src vc++ test
++SUBDIRS = autotools
+
+ EXTRA_DIST = bootstrap
+diff -ur v_1_0.old/src/vldp2/Makefile.in v_1_0/src/vldp2/Makefile.in
+--- v_1_0.old/src/vldp2/Makefile.in 2009-12-29 18:04:15.000000000 +0200
++++ v_1_0/src/vldp2/Makefile.in 2009-12-29 18:10:51.000000000 +0200
+@@ -128,7 +128,7 @@
+ sharedstatedir = @sharedstatedir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+-SUBDIRS = autotools include libmpeg2 libvo doc src vc++ test
++SUBDIRS = autotools
+
+ EXTRA_DIST = bootstrap
+ subdir = .
+diff -ur v_1_0.old/src/vldp2/Makefile.linux v_1_0/src/vldp2/Makefile.linux
+--- v_1_0.old/src/vldp2/Makefile.linux 2009-12-29 18:04:15.000000000 +0200
++++ v_1_0/src/vldp2/Makefile.linux 2009-12-29 18:13:12.000000000 +0200
+@@ -14,14 +14,9 @@
+ DFLAGS = -O3 -march=i686 -fomit-frame-pointer -funroll-loops
+
+ CFLAGS = ${DFLAGS} `sdl-config --cflags` -I./include
+-LIBS = `sdl-config --libs`
++LIBS = `sdl-config --libs` -lmpeg2
+
+-OBJS = vldp/vldp.o vldp/vldp_internal.o vldp/mpegscan.o \
+- libmpeg2/cpu_accel.o libmpeg2/alloc.o libmpeg2/cpu_state.o \
+- libmpeg2/decode.o libmpeg2/header.o libmpeg2/motion_comp.o \
+- libmpeg2/idct.o libmpeg2/idct_mmx.o libmpeg2/motion_comp_mmx.o \
+- libmpeg2/slice.o \
+- libvo/video_out.o libvo/video_out_null.o
++OBJS = vldp/vldp.o vldp/vldp_internal.o vldp/mpegscan.o
+
+ LIBNAME = libvldp2.so
+
+
diff --git a/games-emulation/daphne/files/daphne-1.0-typefix.patch b/games-emulation/daphne/files/daphne-1.0-typefix.patch
new file mode 100644
index 000000000000..f47511a0cd03
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-typefix.patch
@@ -0,0 +1,47 @@
+amd64 does not like int pointers
+
+diff -ruN v_1_0.orig/src/ldp-in/ldv1000.cpp v_1_0/src/ldp-in/ldv1000.cpp
+--- v_1_0.orig/src/ldp-in/ldv1000.cpp 2008-01-29 18:04:34.000000000 +0100
++++ v_1_0/src/ldp-in/ldv1000.cpp 2008-09-19 14:29:40.000000000 +0200
+@@ -607,9 +607,9 @@
+
+ void ldv1000_event_callback(void *eventType)
+ {
+- g_ldv1000_last_event = (unsigned int) eventType;
++ g_ldv1000_last_event = (unsigned long) eventType;
+
+- switch ((unsigned int) eventType)
++ switch ((unsigned long) eventType)
+ {
+ case LDV1000_EVENT_VSYNC_END:
+ #ifdef DEBUG
+diff -ruN v_1_0.orig/src/vldp2/libvo/video_out_null.c v_1_0/src/vldp2/libvo/video_out_null.c
+--- v_1_0.orig/src/vldp2/libvo/video_out_null.c 2008-01-29 18:04:43.000000000 +0100
++++ v_1_0/src/vldp2/libvo/video_out_null.c 2008-09-19 14:30:03.000000000 +0200
+@@ -82,7 +82,7 @@
+ // this is the potentially expensive callback that gets the hardware overlay
+ // ready to be displayed, so we do this before we sleep
+ // NOTE : if this callback fails, we don't want to display the frame due to double buffering considerations
+- if (g_in_info->prepare_frame(&g_yuv_buf[(int) id]))
++ if (g_in_info->prepare_frame(&g_yuv_buf[(long) id]))
+ {
+ #ifndef VLDP_BENCHMARK
+
+@@ -133,7 +133,7 @@
+ #endif
+ // draw the frame
+ // we are using the pointer 'id' as an index, kind of risky, but convenient :)
+- g_in_info->display_frame(&g_yuv_buf[(int) id]);
++ g_in_info->display_frame(&g_yuv_buf[(long) id]);
+ #ifndef VLDP_BENCHMARK
+ } // end if we didn't get a new command to interrupt the frame being displayed
+ #endif
+@@ -272,7 +272,7 @@
+ uint8_t ** buf, void ** id)
+ {
+ static buffer_index = 0;
+- *id = (int *) buffer_index; // THIS IS A LITTLE TRICKY
++ *id = (long *) buffer_index; // THIS IS A LITTLE TRICKY
+ // We are setting an integer value to a pointer ...
+ // Because it is convenient to let the pointer hold the value of this integer for us
+ // Hopefully it doesn't cause any trouble later ;)
diff --git a/games-emulation/daphne/files/daphne-1.0-underlink.patch b/games-emulation/daphne/files/daphne-1.0-underlink.patch
new file mode 100644
index 000000000000..f04f3f6c5fd1
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-underlink.patch
@@ -0,0 +1,8 @@
+--- Makefile.vars.linux_x86.old 2011-09-21 12:27:42.480566742 +0200
++++ Makefile.vars.linux_x86 2011-09-21 12:27:57.490564959 +0200
+@@ -24,4 +24,4 @@
+ -DUSE_MMX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DUSE_OPENGL
+
+ # platform-specific lib flags
+-LIBS = `sdl-config --libs` -ldl -lz -logg -lvorbis -lvorbisfile -lGLEW
++LIBS = `sdl-config --libs` -ldl -lz -logg -lvorbis -lvorbisfile -lGLEW -lGL -lm
diff --git a/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch b/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch
new file mode 100644
index 000000000000..49eb1aaab62d
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-vorbisfilefix.patch
@@ -0,0 +1,14 @@
+Fix no sound issue with >=media-libs/libvorbis-1.2.0
+
+diff -ruN v_1_0.orig/src/ldp-out/ldp-vldp-audio.cpp v_1_0/src/ldp-out/ldp-vldp-audio.cpp
+--- v_1_0.orig/src/ldp-out/ldp-vldp-audio.cpp 2008-01-29 18:04:07.000000000 +0100
++++ v_1_0/src/ldp-out/ldp-vldp-audio.cpp 2008-09-19 13:43:10.000000000 +0200
+@@ -146,7 +146,7 @@
+ switch (whence)
+ {
+ case SEEK_SET:
+- if (offset < g_audio_filesize)
++ if (offset <= g_audio_filesize)
+ {
+ // make sure offset is positive so we don't get into trouble
+ if (offset >= 0)
diff --git a/games-emulation/daphne/files/daphne-1.0-zlib.patch b/games-emulation/daphne/files/daphne-1.0-zlib.patch
new file mode 100644
index 000000000000..dbae7b31fe9c
--- /dev/null
+++ b/games-emulation/daphne/files/daphne-1.0-zlib.patch
@@ -0,0 +1,13 @@
+--- io/unzip.h.old 2011-09-21 12:13:28.911668053 +0200
++++ io/unzip.h 2011-09-21 12:14:53.074658064 +0200
+@@ -57,6 +57,10 @@
+ #include "zlib.h"
+ #endif
+
++#ifndef OF
++#define OF _Z_OF
++#endif
++
+ #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
+ /* like the STRICT of WIN32, we define a pointer that cannot be converted
+ from (void*) without cast */
diff --git a/games-emulation/daphne/metadata.xml b/games-emulation/daphne/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/daphne/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/dboxfe/Manifest b/games-emulation/dboxfe/Manifest
new file mode 100644
index 000000000000..a8eb0dc22169
--- /dev/null
+++ b/games-emulation/dboxfe/Manifest
@@ -0,0 +1,7 @@
+AUX dboxfe-0.1.3-ldflags.patch 636 SHA256 d39d883da0ad951badfdd3e7acc83d6fd0b6663ce4208700d1333aefb2344274 SHA512 b441765fc8a570375e477eecd3a9ab91739ec80fc0e28d02fea92096044d7d75d3b241b6c2245f85424fd35da5d72e1823afd104a4141c008deb65bc6bf3a37a WHIRLPOOL 6876aaae37d14ad16119127d96575b64f5d12ed1e3a728e43e045d3f03f0ad4f457100971c70a5f542ea774bb7d1315093ad7677f2945b962dd96f65b0ad55f8
+DIST dboxfe-0.1.3.tar.bz2 260934 SHA256 a1e8e2fa1b3221f3e7dc14c065e93eede3b9d744d94047118cc730207eb52c5c SHA512 2c4f56b03daa4701b1c28c6082c89cb5e737c2d808215ea994ecbaf18d7e02a5616291b229768a86e4ff272e4d84fffaf4ec3350efad72b4f6aa6195804a7ad2 WHIRLPOOL 77e49f802912a67e07f3c9e81ff5d352f9a9c53741e711e9774acb98fb3cd4075dea5eac317c8b10bde941e6fd6d53ae17ceaf2115d35e28a37f953ae41757a0
+EBUILD dboxfe-0.1.3-r1.ebuild 616 SHA256 baef4ce515b9ef5c4a238d73132c73b314b7e59d52d31e4d13c933801ab0146f SHA512 1e1242877b5b0b1d468c3718a2a43c72ecd9722c9bde13cb7b7baf36b3eacaa035c552a46c2e256c7494127be5d60c52a92fbc1f631bbaf1e3d6e5553176f1c4 WHIRLPOOL 40bdd72375aae585ba80842ade6543abcb0adb3ab5f212b554f3f422d6713621be98c077529b3091adfb1d853f168d240a3a190a2c8e77e035ba555d50433075
+EBUILD dboxfe-0.1.3.ebuild 731 SHA256 409876945c0114ae90ab999bbb4f048ffefea52ae9fe8219a1f16818f5b118ab SHA512 d35c569e4b25e985a1bdf3bcc89d55556f7e05753106bbf5f606745c892a641552a88f3f04fb9965dee1bb4e87abf650cb6b9bb6c58c424eac08923a4bc916eb WHIRLPOOL 8e553ad269552ce195ffe389010295f1f9fdcb23665654c3101599868c27d10159284f447f26691fac8e73eb41a3990990d3db12ade2ea67a6f97b861b7a7b4e
+MISC ChangeLog 3039 SHA256 5fa7f73f01161b55a7feb9ac0185297a1c3122f747e682cd055426bb5e85a9c0 SHA512 b27b6444eba65aef46e62c564ec6667bf9e54b9ed76e8884dbf20754334be3e3599f99c699e2881f35b3918d072b3d531c5e4ce82e9452c74c8682b4d30f1332 WHIRLPOOL 18a4714546548be0f829f072b3728c1ae1f8fd26e2d65920d7c01d22a86927b898bb5c52634148697ad2f2054765236a5749af94a39f9f5ec26ece5d1205bd6f
+MISC ChangeLog-2015 2349 SHA256 b80636cdb79d91c0b35fcdadc9b6c1b5f3ea38843bca8d07a9a61b6946472305 SHA512 b56d68a2f3c1a3dff1aad0ca0d4f09132a62560960bf22353d8ad79ec20d4df9d56418d66f72682120d90635cfb7d3d083ffe099f31634be464dc8ebb931501b WHIRLPOOL a2f7af047c9d9ec3573aa5988f0086c4875983a7fd6b9b072342936407e6190a8aab52780902fa6d5e27f7a5d7249def567c9efe954efd009730aed683d781fc
+MISC metadata.xml 449 SHA256 3ee01ce341b4471fc1de3add02686c1408938bb6c728c7cb49ea68fd2c8d816c SHA512 adca5c3e992eac7a3f8ba7d81932ddb8b90455b1ad8930abbb779253a416f61349fd61aa749bbdb6c7ec2c6a7e2dd0931168b9fd68ef9a5a03cd9ab537be9884 WHIRLPOOL e2dd1f8564acc297b2444eddbaf0fd086e9c0cb2013e5037e7586c844bb9f82e932881327b6b0b6e2517ca9086496675d4de4075213d5258747a09429b544b99
diff --git a/games-emulation/dboxfe/dboxfe-0.1.3-r1.ebuild b/games-emulation/dboxfe/dboxfe-0.1.3-r1.ebuild
new file mode 100644
index 000000000000..5ada0d983da2
--- /dev/null
+++ b/games-emulation/dboxfe/dboxfe-0.1.3-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Creates and manages configuration files for DOSBox"
+HOMEPAGE="https://sourceforge.net/projects/dboxfe.berlios/"
+SRC_URI="mirror://sourceforge/dboxfe.berlios/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-qt/qtgui:4
+ dev-qt/qtcore:4"
+RDEPEND="${DEPEND}
+ >=games-emulation/dosbox-0.65"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ldflags.patch
+)
+
+src_install() {
+ default
+ dobin bin/dboxfe
+ newicon res/default.png ${PN}.png
+ make_desktop_entry dboxfe "DosBoxFE"
+}
diff --git a/games-emulation/dboxfe/dboxfe-0.1.3.ebuild b/games-emulation/dboxfe/dboxfe-0.1.3.ebuild
new file mode 100644
index 000000000000..d42ef9114591
--- /dev/null
+++ b/games-emulation/dboxfe/dboxfe-0.1.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils qt4-r2 games
+
+DESCRIPTION="Creates and manages configuration files for DOSBox"
+HOMEPAGE="https://sourceforge.net/projects/dboxfe.berlios/"
+SRC_URI="mirror://sourceforge/dboxfe.berlios/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-qt/qtgui:4
+ dev-qt/qtcore:4"
+RDEPEND="${DEPEND}
+ >=games-emulation/dosbox-0.65"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-ldflags.patch
+}
+
+src_configure() {
+ qt4-r2_src_configure
+}
+
+src_install() {
+ dogamesbin bin/dboxfe
+ dodoc TODO ChangeLog
+ newicon res/default.png ${PN}.png
+ make_desktop_entry dboxfe "DosBoxFE"
+ prepgamesdirs
+}
diff --git a/games-emulation/dboxfe/files/dboxfe-0.1.3-ldflags.patch b/games-emulation/dboxfe/files/dboxfe-0.1.3-ldflags.patch
new file mode 100644
index 000000000000..b5927823d0cf
--- /dev/null
+++ b/games-emulation/dboxfe/files/dboxfe-0.1.3-ldflags.patch
@@ -0,0 +1,20 @@
+--- a/dboxfe.pro 2010-09-29 23:53:38.000000000 +0200
++++ b/dboxfe.pro 2010-09-29 23:54:11.000000000 +0200
+@@ -83,6 +83,7 @@
+ # Unix/Linux settings
+ unix{
+ TARGET = dboxfe
++ QMAKE_LFLAGS += $(LDFLAGS)
+ #QMAKE_POST_LINK = strip -s bin/dboxfe
+ RCC_DIR = .unix/rcc
+ MOC_DIR += .unix/moc
+--- a/dboxfetray/dboxfetray.pro 2010-09-29 23:55:31.000000000 +0200
++++ b/dboxfetray/dboxfetray.pro 2010-09-29 23:56:12.000000000 +0200
+@@ -56,6 +56,7 @@
+ # Unix/Linux settings
+ unix{
+ TARGET = dboxfetray
++ QMAKE_LFLAGS += $(LDFLAGS)
+ #QMAKE_POST_LINK = strip -s bin/dboxfetray
+ RCC_DIR = .unix/rcc
+ MOC_DIR += .unix/moc
diff --git a/games-emulation/dboxfe/metadata.xml b/games-emulation/dboxfe/metadata.xml
new file mode 100644
index 000000000000..fb66d2dcbef0
--- /dev/null
+++ b/games-emulation/dboxfe/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>wine@gentoo.org</email>
+ <name>Gentoo Wine Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">dboxfe.berlios</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/desmume/Manifest b/games-emulation/desmume/Manifest
new file mode 100644
index 000000000000..36ff1f4c6f83
--- /dev/null
+++ b/games-emulation/desmume/Manifest
@@ -0,0 +1,15 @@
+AUX desmume-0.9.11-fix-pointer-conversion-warning.diff 370 SHA256 b94c54c85b7fdbd7213ba43224d5f301a975173341ae23b080ef902e96fe012d SHA512 f7d5f4ac4d96f244aa6ee81a90f64e754aceebf075f1c4ff84dde2d1d2beaf617631569c5aa9a8afb40ae4499067e2233ba00a4b9d606a9608915714766d0bff WHIRLPOOL 4a960c581b01541e69dc357129d9ce54a8163dca67189522c5fd9040327cceeb914fb75080fdd149eb41481d2288c8687ef289151d05a1ccb63160a903dbdbfd
+AUX desmume-0.9.11-gcc6.patch 1991 SHA256 10ec573eb3e0463201ccff2f3b2a80702dd3b891a33d6797702a742b1e666007 SHA512 e9249a613f1bf3b6d72dcce47cbc39daeadb1b4f7b9be2748b537ec3389a61f46b5f15f5a10d55bc4b1dbd69dd87526b5ce79e58b539cf432679da9bc803e0cd WHIRLPOOL f4f0649d2100934e61dec4e78e836c2f3cfd87737a55db2b7a2e35f636e96e99022cf40474a37e274483adc3ef9b02211731c170239142f0be92fe3d5100d0a8
+AUX desmume-fix-function-type.patch 677 SHA256 e2ce07fc99ebcb51c749269c08fd88a6db7cae336cc8ea9b8c2af86de30b567d SHA512 2601a9b159ab9c03e38fb6d66635c8f4e1266100d4c29c46785c07346c584d795ffc20d076cf9bbfff505d7a388df8865fe9841d2456198d6e9a99c4695a7a58 WHIRLPOOL 00e8c590ea5360ac2257ca16cce7bc036ca9148f2bdd6d9e75c1234cbbf53fcda1c1a5d81f2b3966dcc84bf6ff718d898498d7a8791a4b19cae0f3c20e269610
+DIST desmume-0.9.10.tar.gz 4141586 SHA256 8900a7a1fc849fdd33b014748dd97a6cda4c32548b8d2e06511e6ed8d5ba7445 SHA512 a9151f1d8b08ce64a837ae2447221f5c0003286d4c75b9416d5f151627755aafb09a5120c39b8ee39a04b99d9e8c49ac7dcc0ccd083507aab7e4801269468012 WHIRLPOOL e924adf532db2b10691cb01640f1dbf54045b0dbe6c5daf59c0150a2b254c86cd8d384bc364fdb756168599319a1ef81ce751f09cd5d5e5b79980fb26b9a4e72
+DIST desmume-0.9.11.tar.gz 5359305 SHA256 3ab34ba6cc009566245025c1dd94bf449b6a1b416d24387cb42e183c78e38896 SHA512 160cb6ec0ede04ad1fbddde2b7b04aa41fa464c8338d7eb9d7536196a82d8d716889b40be4fb831a22e3fe8532b947f7f0b41311601b6842be2516dff7cae46c WHIRLPOOL 71736765288f4e01424a56a65b17efa090cceeaa30bdf759b0f05638c01546b712762444122bb4531a6b5ad88e2f39ac6013d06702109a0d1ef29559d1f16cde
+DIST desmume-0.9.8.tar.gz 3677290 SHA256 78363468a2d5efba95de57739a9c81a3757ecd76c2a183ec68336e30d47a5e01 SHA512 b739292f1327ec83b1afcb1c6db45365cf0977fb571256b637a7c6f1c1e57add5b9c0f34820f020c1788c481cbf15755a034e69f14fbf92e3c31dc01594171dd WHIRLPOOL 0bd50d135aad85652dc233c69c94607400820682d60d7bc35b0e1366d7b6fee1fac9f7091074c21940a80826b50bccc8f14ba0e3770687b54b4d30323c8cf84d
+DIST desmume-0.9.9.tar.gz 4107513 SHA256 cd2ad70cdde1236eba5a4ff8cea838f42b7dc470e32ac938263f49f12a55d754 SHA512 ba5a965102559f048cd57718b4c50e6b2bd39eca4a5990e4cdf068bfa752fccb52d71911ea48da769c5ec18bb740f6b09e6c856ccc78b1e1adf23fd701d1fe31 WHIRLPOOL 055594100216e4ffd046119716e9acc018e7631f96f2be4e830495f88462382180c3955841bfcc3ec494227a606bc820820342907e2b1b2b61a8a65f9b1949b4
+EBUILD desmume-0.9.10.ebuild 725 SHA256 e36efd25c76368f8b7d8f58f6a7cb1d25b93e1281e006f2e8bfe1e7bc4d298c3 SHA512 1491c41a1fed19dea7165a62d7a2b0ca85828638c3a6aa576d994344bfb1778881c5607f46eded508c8440a8e67ab0332f7223a21143bf968605711d851e6451 WHIRLPOOL 5d0555b9641de0e04dd5c49d7f4bc09457c46ee4a5e0109f8a481527351577a1b2580f4f0d7a33cfffdfcbde8ec4df96d2ec2aa299dff525916d7041a7dc8566
+EBUILD desmume-0.9.11-r1.ebuild 754 SHA256 d444ea186c080554a98c5c9aa0d01502a8163fc44f939bf08e02dd2e50ef27bd SHA512 dd0b758b2d8ff5baf3bad5fd6497c8cd2d5f0421726cf1d80326cb5919d271b404be3e79b6cc373ef593e4b9ccc8f0967c3d77997bf01780cdb40786e7fca82e WHIRLPOOL 95de36786ed9162284b49e532c0bfff80b1e6f0ad45cabcaab595965e800ef1d090901491764875c2900ae46f12c5ee0f5fe7592f5a3c7656b7ef32f569ab6b3
+EBUILD desmume-0.9.11.ebuild 667 SHA256 834ae12600e618d7e2f6a996afb57f4befa099d28938dbcc2e6095e1e8d9ae96 SHA512 51d4a18d856f10dedd6a199a393cc58725812f6ece882e6ac30e479921a8a19307d4868a63467368d407f739489f58605eef90c2465fc5a3ca786e4dfb23df33 WHIRLPOOL 538a4a646449d70315ee60fd9048c365713539c591ec76d1a9759b376be4577ca798cadec02b65ace561dcdcd4b8ad7347b221f1a0382826e815c3919afa5f8a
+EBUILD desmume-0.9.8.ebuild 703 SHA256 02e2c5540d9c6b59e0ffc76519ba1b17daab8aed20bd196a9aedf637e174960a SHA512 234c5b44a4598e1957aed0a724d31524e6ca8ca634e802ae012f480a5cfb696c6807e08cc5fee43a2046de0fd1dc930d626a037505da72a7fa17da91dd47ddbe WHIRLPOOL 56941a88917b3c7368197a4a252c20958b55c1cccc7543c17c8b965e285242b67c6394b559b4cd203b1bd745be12fb5f45b65239a8b78f075a3db4999843d247
+EBUILD desmume-0.9.9.ebuild 703 SHA256 a05643612945839535aeb0d4e43b4f946f0dbdffd56d2c5fc67232f0b72de8d0 SHA512 c30858193011b8ae8fa5749304ba941f6408a22af0870b488656f2ba945d3c27e5e8231f7a82deb588e0a857a67c58fafbc852d8a380740349f03322e26e73d2 WHIRLPOOL 300acdee38d6268a7ac7c362814c1a81ad1f5d537ff45e6597e7c52021a59a45b5029674a83f98999eb20fdcab0ac520490d892a93fc189738fe6c9f1bab4bae
+MISC ChangeLog 3152 SHA256 5bbc900dbe73188e1c73028b0a3796307f6d5e7cef76b613777d832aa391986b SHA512 d29ceb0ca5700f36a1bbf3573c8ba9ff3c7baf30c1d1aa7e4bef4f977b459e71c5f99e46de73a0d0385738972817d96fcb64d4d3138dceae336a7422fd4e250a WHIRLPOOL b4f9c35446ad418e387fc7f28d7971a7a6be3859feb155e09cf35948fd1285404daf43f9fac36cc2fd590fe9c0d90c34611eae6bfd99ae0698b6c8f22dce9052
+MISC ChangeLog-2015 3634 SHA256 7721d972e92bfd9d0cc3415783465b787cb88fadbfe0d9db06155bf6eddaf8ae SHA512 ffc27a1f94d6eb655fb411bf937230ff5bc63d472f70aaf5175ef9559828085b2c0c1347ed9e2f0963ab1595734ad1480fc3dc1d14a1a4ece82d27a9e3ef3ff6 WHIRLPOOL 887288fa2031064f70ea72de31a3c793b75aebb72a4619256ead678186242343d075124edc6f626f49f5e462d00a50b2adbc747ddbb716804f95e3a8019b879c
+MISC metadata.xml 407 SHA256 0d08b21a20b076bab75f54e8ceb94c1b0cbe125a5b8bbed1d82c24a369fc6fe0 SHA512 89d3a5b608525bfa1f05503017619520d82c663241668c3d5fa5602e625cbfe02564b04d7bac0e97bbe53ff8eba08a6895fb0e8cd519d0d88efd29a0ca64ac4b WHIRLPOOL 3c821864274f51defcdc14775d46e6c60e334575010fbf73a3ecd215b54c1f88eaaa9b2eda77a6ddbbca951f78371c9ebb73fa6c45332f7794c3ee12a94bada1
diff --git a/games-emulation/desmume/desmume-0.9.10.ebuild b/games-emulation/desmume/desmume-0.9.10.ebuild
new file mode 100644
index 000000000000..e2e63494a337
--- /dev/null
+++ b/games-emulation/desmume/desmume-0.9.10.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit games
+
+DESCRIPTION="Nintendo DS emulator"
+HOMEPAGE="http://desmume.org/"
+SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=x11-libs/gtk+-2.8.0:2
+ gnome-base/libglade
+ x11-libs/gtkglext
+ virtual/opengl
+ sys-libs/zlib
+ dev-libs/zziplib
+ media-libs/libsdl[joystick]
+ x11-libs/agg"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}/desmume-fix-function-type.patch"
+}
+
+src_configure() {
+ egamesconf --datadir=/usr/share
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS ChangeLog README README.LIN
+ prepgamesdirs
+}
diff --git a/games-emulation/desmume/desmume-0.9.11-r1.ebuild b/games-emulation/desmume/desmume-0.9.11-r1.ebuild
new file mode 100644
index 000000000000..cddcc940a314
--- /dev/null
+++ b/games-emulation/desmume/desmume-0.9.11-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="Nintendo DS emulator"
+HOMEPAGE="http://desmume.org/"
+SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=x11-libs/gtk+-2.8.0:2
+ gnome-base/libglade
+ x11-libs/gtkglext
+ virtual/opengl
+ sys-libs/zlib
+ dev-libs/zziplib
+ media-libs/libsdl[joystick,opengl,video]
+ x11-libs/agg"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-util/intltool"
+
+DOCS=( AUTHORS ChangeLog README README.LIN )
+
+# fix QA compiler warning, see
+# https://sourceforge.net/p/desmume/patches/172/
+PATCHES=(
+ "${FILESDIR}/${P}-fix-pointer-conversion-warning.diff"
+ "${FILESDIR}/${P}-gcc6.patch"
+)
diff --git a/games-emulation/desmume/desmume-0.9.11.ebuild b/games-emulation/desmume/desmume-0.9.11.ebuild
new file mode 100644
index 000000000000..1a01dc70dd0e
--- /dev/null
+++ b/games-emulation/desmume/desmume-0.9.11.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="Nintendo DS emulator"
+HOMEPAGE="http://desmume.org/"
+SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=x11-libs/gtk+-2.8.0:2
+ gnome-base/libglade
+ x11-libs/gtkglext
+ virtual/opengl
+ sys-libs/zlib
+ dev-libs/zziplib
+ media-libs/libsdl[joystick,opengl,video]
+ x11-libs/agg"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ egamesconf --datadir=/usr/share
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog README README.LIN" \
+ default
+ prepgamesdirs
+}
diff --git a/games-emulation/desmume/desmume-0.9.8.ebuild b/games-emulation/desmume/desmume-0.9.8.ebuild
new file mode 100644
index 000000000000..cd3d936b2b79
--- /dev/null
+++ b/games-emulation/desmume/desmume-0.9.8.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit games
+
+DESCRIPTION="Nintendo DS emulator"
+HOMEPAGE="http://desmume.org/"
+SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=x11-libs/gtk+-2.8.0:2
+ gnome-base/libglade
+ x11-libs/gtkglext
+ virtual/opengl
+ sys-libs/zlib
+ dev-libs/zziplib
+ media-libs/libsdl[joystick]
+ x11-libs/agg"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ egamesconf --datadir=/usr/share || die "egamesconf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake failed"
+ dodoc AUTHORS ChangeLog README README.LIN
+ prepgamesdirs
+}
diff --git a/games-emulation/desmume/desmume-0.9.9.ebuild b/games-emulation/desmume/desmume-0.9.9.ebuild
new file mode 100644
index 000000000000..1dfb922cb82e
--- /dev/null
+++ b/games-emulation/desmume/desmume-0.9.9.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit games
+
+DESCRIPTION="Nintendo DS emulator"
+HOMEPAGE="http://desmume.org/"
+SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=x11-libs/gtk+-2.8.0:2
+ gnome-base/libglade
+ x11-libs/gtkglext
+ virtual/opengl
+ sys-libs/zlib
+ dev-libs/zziplib
+ media-libs/libsdl[joystick]
+ x11-libs/agg"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ egamesconf --datadir=/usr/share || die "egamesconf failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake failed"
+ dodoc AUTHORS ChangeLog README README.LIN
+ prepgamesdirs
+}
diff --git a/games-emulation/desmume/files/desmume-0.9.11-fix-pointer-conversion-warning.diff b/games-emulation/desmume/files/desmume-0.9.11-fix-pointer-conversion-warning.diff
new file mode 100644
index 000000000000..8975085133ff
--- /dev/null
+++ b/games-emulation/desmume/files/desmume-0.9.11-fix-pointer-conversion-warning.diff
@@ -0,0 +1,11 @@
+--- a/src/path.h 2015-02-14 16:05:26.000000000 +0100
++++ b/src/path.h 2016-07-11 12:09:59.591987169 +0200
+@@ -375,7 +375,7 @@
+ else if (strchr(strftimeArgs, *p))
+ {
+ char tmp[MAX_PATH];
+- char format[] = { '%', *p, NULL };
++ char format[] = { '%', *p, '\0' };
+ strftime(tmp, MAX_PATH, format, time_struct);
+ file.append(tmp);
+ }
diff --git a/games-emulation/desmume/files/desmume-0.9.11-gcc6.patch b/games-emulation/desmume/files/desmume-0.9.11-gcc6.patch
new file mode 100644
index 000000000000..761ccef045cf
--- /dev/null
+++ b/games-emulation/desmume/files/desmume-0.9.11-gcc6.patch
@@ -0,0 +1,47 @@
+--- a/src/wifi.cpp
++++ b/src/wifi.cpp
+@@ -314,9 +314,9 @@
+
+ #if (WIFI_LOGGING_LEVEL >= 1)
+ #if WIFI_LOG_USE_LOGC
+- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
++ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
+ #else
+- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
++ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
+ #endif
+ #else
+ #define WIFI_LOG(level, ...) {}
+--- a/src/MMU_timing.h
++++ b/src/MMU_timing.h
+@@ -155,8 +155,8 @@
+ enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
+ enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
+ enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
+- enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
+- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
++ enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
++ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
+ enum { WORDSIZE = sizeof(u32) };
+ enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
+ enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
+--- a/src/ctrlssdl.cpp
++++ b/src/ctrlssdl.cpp
+@@ -200,7 +200,7 @@
+ break;
+ case SDL_JOYAXISMOTION:
+ /* Dead zone of 50% */
+- if( (abs(event.jaxis.value) >> 14) != 0 )
++ if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
+ {
+ key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
+ if (event.jaxis.value > 0) {
+@@ -370,7 +370,7 @@
+ Note: button constants have a 1bit offset. */
+ case SDL_JOYAXISMOTION:
+ key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
+- if( (abs(event->jaxis.value) >> 14) != 0 )
++ if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
+ {
+ if (event->jaxis.value > 0)
+ key_code |= 1;
diff --git a/games-emulation/desmume/files/desmume-fix-function-type.patch b/games-emulation/desmume/files/desmume-fix-function-type.patch
new file mode 100644
index 000000000000..b370d57912eb
--- /dev/null
+++ b/games-emulation/desmume/files/desmume-fix-function-type.patch
@@ -0,0 +1,22 @@
+diff -Naur a/src/gtk/glx_3Demu.cpp b/src/gtk/glx_3Demu.cpp
+--- a/src/gtk/glx_3Demu.cpp 2014-12-06 21:08:12.628393543 +0100
++++ b/src/gtk/glx_3Demu.cpp 2014-12-06 21:08:26.591393054 +0100
+@@ -31,7 +31,7 @@
+ static GLXContext ctx;
+ static GLXPbuffer pbuf;
+
+-void deinit_glx_3Demu(void)
++int deinit_glx_3Demu(void)
+ {
+ Display *dpy = glXGetCurrentDisplay();
+
+diff -Naur a/src/gtk/glx_3Demu.h b/src/gtk/glx_3Demu.h
+--- a/src/gtk/glx_3Demu.h 2014-12-06 21:08:12.628393543 +0100
++++ b/src/gtk/glx_3Demu.h 2014-12-06 21:08:23.999393145 +0100
+@@ -20,5 +20,5 @@
+
+ #ifdef HAVE_GL_GLX
+ int init_glx_3Demu(void);
+-void deinit_glx_3Demu(void);
++int deinit_glx_3Demu(void);
+ #endif
diff --git a/games-emulation/desmume/metadata.xml b/games-emulation/desmume/metadata.xml
new file mode 100644
index 000000000000..d906b044dcad
--- /dev/null
+++ b/games-emulation/desmume/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>hanno@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">desmume</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/dgen-sdl/Manifest b/games-emulation/dgen-sdl/Manifest
new file mode 100644
index 000000000000..ca3b5b732437
--- /dev/null
+++ b/games-emulation/dgen-sdl/Manifest
@@ -0,0 +1,6 @@
+AUX dgen-sdl-1.33-joystick.patch 402 SHA256 f4ca63080487761a08b44f81943539c58fc7e150963fbf10532b08aeaf2849f5 SHA512 929e3779247bf8e852a129a48044c2e1a4df91811cabc799fd9fb87a8f4f18d0a0ec0c2186ceecf67bad0b6a45a84c41a0030b164d6e5bee942f1832159695f0 WHIRLPOOL 236df3d9b1e149f8c50675bee242805defba1cf11e8c740d4a7cc31c4c75682d52b8f79be058917e31e59feacf0e3e5919d0f872205ad67eb8ab23eeb243ef56
+DIST dgen-sdl-1.33.tar.gz 939297 SHA256 99e2c06017c22873c77f88186ebcc09867244eb6e042c763bb094b02b8def61e SHA512 c98ab8cdced62a5d26fd677ad36b031e756620114c946ac067599e84ae6ebcfab731554dd4337b6314c3b5db4601c8a6cc67c285d2aad136e659b9973c01a749 WHIRLPOOL 09c22244983ca960b03a25f633e9885698787a57d3a4e5be2e6af571d71a38d166dbf18aac280e8980ec4e7db2f4eaac6927dd529641c3bd1758a9984e64a211
+EBUILD dgen-sdl-1.33.ebuild 909 SHA256 9899df4312ffce016f6f860da528121d8bc80f7ad094d80f61b83993dfdc9089 SHA512 f742ba5293b7a053bb07131e5863df7c3e2df9bd94e48981fc4b1778951c15ecfa0b3834b2b71d77f43d2c8a735e6b23a3d9612732b89c780016553aabe6e276 WHIRLPOOL df0b0ac297d64cc71728272de41178f0e473354582fb597ee15ed1ac505b22ddceaf3cef92e2fd3a84c6760593403ddd323361379f2538405b9352a9e6827db1
+MISC ChangeLog 2472 SHA256 76607fe615d182fd1377021076ca7aaebf7424f65211a8c7cd5d79b85567a84c SHA512 662a522fdc85f3993959052b932320e78ebc85bef07ccb5ed2a497fee5ad5da8fe1d32a7318b14a9293f33c5b6b8db83a3172e17d580ecfc80f6f3cade11723b WHIRLPOOL 3e851693129ed319a450b8f1cf09418dddbb03d17c26e9acfdd97abcb1942026bc3438b295363933f85a3e0113269ebb5909cafb2b3e5630f80ee25cae2bbde7
+MISC ChangeLog-2015 3835 SHA256 cceeb697309ff0e3eac8f398eb5679a3db97d16ef8eec3ab94f9118f19610145 SHA512 ccb0330e25c7712f40f0f82bfe88f5adc38cbe5dfeeba5841635d5b558e142aa758957b6b741988b8c6b9d882d6eacd87e42c563bdcb81b07b60f5331712edcd WHIRLPOOL f92eb16850231e6753ba4f72887b74472fba648be03f0145f80ab68363f534312e77cf8be0267e15d60ccda9349dab5fa35b55fa17db17145e05353b8215f6d8
+MISC metadata.xml 327 SHA256 b88ef93a6a1415b7882363ad8f64117d4a3e5431f37a6d6b469ddf80fb34d308 SHA512 17031a8025df3d06c71dfb85bf2870eac32e84e86797296aa4a7e7cd24ac579a7305a7664d05e2054e4ad11da6c683011e8132dce0e6ea7dab0b8f70dc984a9b WHIRLPOOL 63a7ce4dd925f3390c3449f1926ce465ae72ef911a2e0b0c8d79c024f1d011dad1a6b92729837ba0ab8ec38b1929c9ed788f507d5d697d0c44d0e2ad72d544d8
diff --git a/games-emulation/dgen-sdl/dgen-sdl-1.33.ebuild b/games-emulation/dgen-sdl/dgen-sdl-1.33.ebuild
new file mode 100644
index 000000000000..2f8e6bcab81a
--- /dev/null
+++ b/games-emulation/dgen-sdl/dgen-sdl-1.33.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A Linux/SDL-Port of the famous DGen MegaDrive/Genesis-Emulator"
+HOMEPAGE="http://dgen.sourceforge.net/"
+SRC_URI="mirror://sourceforge/dgen/files/${P}.tar.gz"
+
+LICENSE="dgen-sdl BSD BSD-2 free-noncomm LGPL-2.1+ GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="joystick opengl"
+
+RDEPEND="media-libs/libsdl[joystick?,opengl?]
+ app-arch/libarchive
+ opengl? ( virtual/opengl )"
+DEPEND="${RDEPEND}
+ x86? ( dev-lang/nasm )"
+
+src_prepare() {
+ # fix building with USE=-joystick
+ epatch "${FILESDIR}"/${P}-joystick.patch
+}
+
+src_configure() {
+ egamesconf \
+ $(use_enable x86 asm) \
+ $(use_enable joystick) \
+ $(use_enable opengl)
+}
+
+src_compile() {
+ emake -C musa m68kops.h
+ emake
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog README sample.dgenrc" default
+ prepgamesdirs
+}
diff --git a/games-emulation/dgen-sdl/files/dgen-sdl-1.33-joystick.patch b/games-emulation/dgen-sdl/files/dgen-sdl-1.33-joystick.patch
new file mode 100644
index 000000000000..38cb962b690b
--- /dev/null
+++ b/games-emulation/dgen-sdl/files/dgen-sdl-1.33-joystick.patch
@@ -0,0 +1,18 @@
+--- sdl/sdl.cpp.orig
++++ sdl/sdl.cpp
+@@ -6285,6 +6285,7 @@
+ #endif
+ static unsigned long hide_mouse_when;
+ static bool hide_mouse;
++ bool pressed;
+ #ifdef WITH_JOYSTICK
+ static uint32_t const axis_value[][3] = {
+ // { pressed, [implicitly released ...] }
+@@ -6301,7 +6302,6 @@
+ };
+ unsigned int hat_value_map;
+ intptr_t joypad;
+- bool pressed;
+ #endif
+ uint32_t plist[8];
+ uint32_t rlist[8];
diff --git a/games-emulation/dgen-sdl/metadata.xml b/games-emulation/dgen-sdl/metadata.xml
new file mode 100644
index 000000000000..fc165789cb5e
--- /dev/null
+++ b/games-emulation/dgen-sdl/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">dgen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest
new file mode 100644
index 000000000000..ce501f8b6ad4
--- /dev/null
+++ b/games-emulation/dolphin/Manifest
@@ -0,0 +1,6 @@
+DIST dolphin-5.0.zip 41802909 SHA256 f8c26bdea7a8329873bd2c485676ba5cbc1670faad3fef98f1d516254b4dd3a1 SHA512 36c4f371e066537331a9a8ec4a17befa278465cdebe258e1cbf1157752ba69bff9c1b8a6e8698bbb650aa257bd48b6b42ee9f61357904b09fd01738af8223d3a WHIRLPOOL 401d569e1b45a8873a2f7879a5d9c931228767be909c9ddde43d49394a79580c2ae0eccc29757f471565ad0554cd20e57c371393526d68b2c79f8570a2e2bd5c
+EBUILD dolphin-5.0.ebuild 4663 SHA256 1aefc9ed28afd0c8ee384163d34c5c81fb77fa5a352cb8cb778174c39d3abcda SHA512 7ad78f21fc2bb0b9e1fe5a26f0568f068729da61ea2d531fb8f92b18ee4bdd0572b42a41baeac300f62a731ce41259d878390f3c9bb6ba6ff62c0ca90b05a74e WHIRLPOOL ffc4da5fd7e6d86101461e59dd359505b50ec24ae941e1c4dbd4b6632a9e7a579e2230dff3c2ec693afccfeee107fd521ab4c23e4b794081f51d90be0a67595e
+EBUILD dolphin-9999.ebuild 4788 SHA256 f2368823f39cd855cb2ab00c10e84bf5e09792638ef9b0391d876eb12aa51228 SHA512 45bcc0bfbe7b1db17713f94a89be5df7146b720457ce4fe1f881ac981b4757c5e0125f9079b3fa10d4f313443919c469c790bfb095acbd107078fc2d6933f988 WHIRLPOOL 14bb65073b7c03fac6f6a302e964bfe16b7e3342b022d40e263630a0506e68d50000729e0a192aaa21e193a44ba1e00228904ad4863bdde061a2fbc5ffe39960
+MISC ChangeLog 5842 SHA256 f46477e7e0a6e1e2fe1e35567b56b366be9a10269c301eac30281c338a823067 SHA512 6017479eef9fb16a42142fe2ca868b1995ab3fe1d14e3591ecf6f838e6ad468aed2c360a902444938c655cbc76611da7fb3f79eb012372ad398e8809f8b33b47 WHIRLPOOL 5b31e2568fdb4b05f1115f82c5f20b34c137331285dc9b083f23c61a7ccfda402b69e12890384ac292ee8cbdfa7250b675eb42ad15c1ead8bc0f95a824054c95
+MISC ChangeLog-2015 7182 SHA256 f2d681450b8b0cc3da0d3b261bf1e8b8d59cc51a26def986b3ea500c8edf42a6 SHA512 e07600efbaeb4807d0ed6e804c70ad5747e2105ff5e55cd59960d54daad964e6856b12f2b2b4eb395abd8ba5a93fa58f42389fb9999cc0536ec18b4f14ebfb28 WHIRLPOOL f250ace5502a939104823c1f280dc5e2feb8edc40380729eb88b8b092dd441cc6b94de5494674c885fa49e64b02c6029277d8e2861912fc07cbbd8ff48354a6e
+MISC metadata.xml 836 SHA256 ea856b6b9bb21e6d438fe204aab503a2d2965371d009adec134687799eb72c21 SHA512 7bdcb2ba2f3a1fa247080a08da495274bea1f61bec1a88e824ebd44fb7e21e74e7ef52855c1c6fba07f12b278df19c0014ba98a5b6ec50f62c08b0ee31e5fc6b WHIRLPOOL a00d300fa3325d96afac87af953cae5ea735d7efbd60f25044105e7a965c3840546c3c8bc422abf61bc82a0bbf079cb8f9df12b92fbbd53fe8ede808c25d5a18
diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild
new file mode 100644
index 000000000000..66b0fe9c7dab
--- /dev/null
+++ b/games-emulation/dolphin/dolphin-5.0.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PLOCALES="ar ca cs da_DK de el en es fa fr hr hu it ja ko ms_MY nb nl pl pt pt_BR ro_RO ru sr sv tr zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+WX_GTK_VER="3.0"
+
+inherit cmake-utils eutils l10n pax-utils toolchain-funcs versionator wxwidgets
+
+SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.zip -> ${P}.zip"
+KEYWORDS="amd64"
+
+DESCRIPTION="Gamecube and Wii game emulator"
+HOMEPAGE="https://www.dolphin-emu.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="alsa ao bluetooth doc egl +evdev ffmpeg llvm log lto openal +pch portaudio profile pulseaudio qt5 sdl upnp +wxwidgets"
+
+RDEPEND=">=media-libs/libsfml-2.1
+ >net-libs/enet-1.3.7
+ >=net-libs/mbedtls-2.1.1
+ dev-libs/lzo
+ media-libs/libpng:=
+ sys-libs/glibc
+ sys-libs/readline:=
+ sys-libs/zlib
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ virtual/libusb:1
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ ao? ( media-libs/libao )
+ bluetooth? ( net-wireless/bluez )
+ egl? ( media-libs/mesa[egl] )
+ evdev? (
+ dev-libs/libevdev
+ virtual/udev
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ llvm? ( sys-devel/llvm )
+ openal? (
+ media-libs/openal
+ media-libs/libsoundtouch
+ )
+ portaudio? ( media-libs/portaudio )
+ profile? ( dev-util/oprofile )
+ pulseaudio? ( media-sound/pulseaudio )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sdl? ( media-libs/libsdl2[haptic,joystick] )
+ upnp? ( >=net-libs/miniupnpc-1.7 )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ x11-libs/wxGTK:${WX_GTK_VER}[opengl,X]
+ )
+ "
+DEPEND="${RDEPEND}
+ >=dev-util/cmake-2.8.8
+ >=sys-devel/gcc-4.9.0
+ app-arch/zip
+ media-libs/freetype
+ sys-devel/gettext
+ virtual/pkgconfig
+ "
+
+pkg_pretend() {
+
+ local ver=4.9.0
+ local msg="${PN} needs at least GCC ${ver} set to compile."
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! version_is_at_least ${ver} $(gcc-fullversion); then
+ eerror ${msg}
+ die ${msg}
+ fi
+ fi
+
+}
+
+src_prepare() {
+
+ # Remove automatic dependencies to prevent building without flags enabled.
+ if use !alsa; then
+ sed -i -e '/include(FindALSA/d' CMakeLists.txt || die
+ fi
+ if use !ao; then
+ sed -i -e '/check_lib(AO/d' CMakeLists.txt || die
+ fi
+ if use !bluetooth; then
+ sed -i -e '/check_lib(BLUEZ/d' CMakeLists.txt || die
+ fi
+ if use !llvm; then
+ sed -i -e '/include(FindLLVM/d' CMakeLists.txt || die
+ fi
+ if use !openal; then
+ sed -i -e '/include(FindOpenAL/d' CMakeLists.txt || die
+ fi
+ if use !portaudio; then
+ sed -i -e '/CMAKE_REQUIRED_LIBRARIES portaudio/d' CMakeLists.txt || die
+ fi
+ if use !pulseaudio; then
+ sed -i -e '/check_lib(PULSEAUDIO/d' CMakeLists.txt || die
+ fi
+
+ # Remove ALL the bundled libraries, aside from:
+ # - SOIL: The sources are not public.
+ # - Bochs-disasm: Don't know what it is.
+ # - gtest: Their build set up solely relies on the build in gtest.
+ # - xxhash: Not on the tree.
+ mv Externals/SOIL . || die
+ mv Externals/Bochs_disasm . || die
+ mv Externals/gtest . || die
+ mv Externals/xxhash . || die
+ rm -r Externals/* || die "Failed to delete Externals dir."
+ mv Bochs_disasm Externals || die
+ mv SOIL Externals || die
+ mv gtest Externals || die
+ mv xxhash Externals || die
+
+ remove_locale() {
+ # Ensure preservation of the backup locale when no valid LINGUA is set
+ if [[ "${PLOCALE_BACKUP}" == "${1}" ]] && [[ "${PLOCALE_BACKUP}" == "$(l10n_get_locales)" ]]; then
+ return
+ else
+ rm "Languages/po/${1}.po" || die
+ fi
+ }
+
+ l10n_find_plocales_changes "Languages/po/" "" '.po'
+ l10n_for_each_disabled_locale_do remove_locale
+}
+
+src_configure() {
+
+ if use wxwidgets; then
+ need-wxwidgets unicode
+ fi
+
+ local mycmakeargs=(
+ "-DUSE_SHARED_ENET=ON"
+ $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS )
+ $( cmake-utils_use log FASTLOG )
+ $( cmake-utils_use profile OPROFILING )
+ $( cmake-utils_use_disable wxwidgets WX )
+ $( cmake-utils_use_enable evdev EVDEV )
+ $( cmake-utils_use_enable lto LTO )
+ $( cmake-utils_use_enable pch PCH )
+ $( cmake-utils_use_enable qt5 QT2 )
+ $( cmake-utils_use_enable sdl SDL )
+ $( cmake-utils_use_use egl EGL )
+ $( cmake-utils_use_use upnp UPNP )
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+
+ cmake-utils_src_compile
+}
+src_install() {
+
+ cmake-utils_src_install
+
+ dodoc Readme.md
+ if use doc; then
+ dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
+ fi
+
+ doicon -s 48 Data/dolphin-emu.png
+ doicon -s scalable Data/dolphin-emu.svg
+ doicon Data/dolphin-emu.svg
+}
+
+pkg_postinst() {
+ # Add pax markings for hardened systems
+ pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu
+
+ if ! use portaudio; then
+ ewarn "If you want microphone capabilities in dolphin-emu, rebuild with"
+ ewarn "USE=\"portaudio\""
+ fi
+}
diff --git a/games-emulation/dolphin/dolphin-9999.ebuild b/games-emulation/dolphin/dolphin-9999.ebuild
new file mode 100644
index 000000000000..b726d122197e
--- /dev/null
+++ b/games-emulation/dolphin/dolphin-9999.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PLOCALES="ar ca cs da_DK de el en es fa fr hr hu it ja ko ms_MY nb nl pl pt_BR pt ro_RO ru sr sv tr zh_CN zh_TW"
+PLOCALE_BACKUP="en"
+WX_GTK_VER="3.0"
+
+inherit cmake-utils eutils l10n pax-utils toolchain-funcs versionator wxwidgets
+
+if [[ ${PV} == 9999* ]]
+then
+ EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
+ inherit git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.zip -> ${P}.zip"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Gamecube and Wii game emulator"
+HOMEPAGE="https://www.dolphin-emu.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="alsa ao bluetooth doc egl +evdev ffmpeg llvm log lto openal +pch portaudio profile pulseaudio qt5 sdl upnp +wxwidgets"
+
+RDEPEND=">=media-libs/libsfml-2.1
+ >net-libs/enet-1.3.7
+ >=net-libs/mbedtls-2.1.1
+ dev-libs/lzo
+ media-libs/libpng:=
+ sys-libs/glibc
+ sys-libs/readline:=
+ sys-libs/zlib
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ virtual/libusb:1
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ ao? ( media-libs/libao )
+ bluetooth? ( net-wireless/bluez )
+ egl? ( media-libs/mesa[egl] )
+ evdev? (
+ dev-libs/libevdev
+ virtual/udev
+ )
+ ffmpeg? ( virtual/ffmpeg )
+ llvm? ( sys-devel/llvm )
+ openal? (
+ media-libs/openal
+ media-libs/libsoundtouch
+ )
+ portaudio? ( media-libs/portaudio )
+ profile? ( dev-util/oprofile )
+ pulseaudio? ( media-sound/pulseaudio )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sdl? ( media-libs/libsdl2[haptic,joystick] )
+ upnp? ( >=net-libs/miniupnpc-1.7 )
+ wxwidgets? (
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ x11-libs/wxGTK:${WX_GTK_VER}[opengl,X]
+ )
+ "
+DEPEND="${RDEPEND}
+ >=dev-util/cmake-2.8.8
+ >=sys-devel/gcc-4.9.0
+ app-arch/zip
+ media-libs/freetype
+ sys-devel/gettext
+ virtual/pkgconfig
+ "
+
+pkg_pretend() {
+
+ local ver=4.9.0
+ local msg="${PN} needs at least GCC ${ver} set to compile."
+
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if ! version_is_at_least ${ver} $(gcc-fullversion); then
+ eerror ${msg}
+ die ${msg}
+ fi
+ fi
+
+}
+
+src_prepare() {
+
+ # Remove automatic dependencies to prevent building without flags enabled.
+ if use !alsa; then
+ sed -i -e '/include(FindALSA/d' CMakeLists.txt || die
+ fi
+ if use !ao; then
+ sed -i -e '/check_lib(AO/d' CMakeLists.txt || die
+ fi
+ if use !bluetooth; then
+ sed -i -e '/check_lib(BLUEZ/d' CMakeLists.txt || die
+ fi
+ if use !llvm; then
+ sed -i -e '/include(FindLLVM/d' CMakeLists.txt || die
+ fi
+ if use !openal; then
+ sed -i -e '/include(FindOpenAL/d' CMakeLists.txt || die
+ fi
+ if use !portaudio; then
+ sed -i -e '/CMAKE_REQUIRED_LIBRARIES portaudio/d' CMakeLists.txt || die
+ fi
+ if use !pulseaudio; then
+ sed -i -e '/check_lib(PULSEAUDIO/d' CMakeLists.txt || die
+ fi
+
+ # Remove ALL the bundled libraries, aside from:
+ # - SOIL: The sources are not public.
+ # - Bochs-disasm: Don't know what it is.
+ # - gtest: Their build set up solely relies on the build in gtest.
+ # - xxhash: Not on the tree.
+ mv Externals/SOIL . || die
+ mv Externals/Bochs_disasm . || die
+ mv Externals/gtest . || die
+ mv Externals/xxhash . || die
+ rm -r Externals/* || die "Failed to delete Externals dir."
+ mv Bochs_disasm Externals || die
+ mv SOIL Externals || die
+ mv gtest Externals || die
+ mv xxhash Externals || die
+
+ remove_locale() {
+ # Ensure preservation of the backup locale when no valid LINGUA is set
+ if [[ "${PLOCALE_BACKUP}" == "${1}" ]] && [[ "${PLOCALE_BACKUP}" == "$(l10n_get_locales)" ]]; then
+ return
+ else
+ rm "Languages/po/${1}.po" || die
+ fi
+ }
+
+ l10n_find_plocales_changes "Languages/po/" "" '.po'
+ l10n_for_each_disabled_locale_do remove_locale
+}
+
+src_configure() {
+
+ if use wxwidgets; then
+ need-wxwidgets unicode
+ fi
+
+ local mycmakeargs=(
+ "-DUSE_SHARED_ENET=ON"
+ $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS )
+ $( cmake-utils_use log FASTLOG )
+ $( cmake-utils_use profile OPROFILING )
+ $( cmake-utils_use_disable wxwidgets WX )
+ $( cmake-utils_use_enable evdev EVDEV )
+ $( cmake-utils_use_enable lto LTO )
+ $( cmake-utils_use_enable pch PCH )
+ $( cmake-utils_use_enable qt5 QT2 )
+ $( cmake-utils_use_enable sdl SDL )
+ $( cmake-utils_use_use egl EGL )
+ $( cmake-utils_use_use upnp UPNP )
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+
+ cmake-utils_src_compile
+}
+src_install() {
+
+ cmake-utils_src_install
+
+ dodoc Readme.md
+ if use doc; then
+ dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
+ fi
+
+ doicon -s 48 Data/dolphin-emu.png
+ doicon -s scalable Data/dolphin-emu.svg
+ doicon Data/dolphin-emu.svg
+}
+
+pkg_postinst() {
+ # Add pax markings for hardened systems
+ pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu
+
+ if ! use portaudio; then
+ ewarn "If you want microphone capabilities in dolphin-emu, rebuild with"
+ ewarn "USE=\"portaudio\""
+ fi
+}
diff --git a/games-emulation/dolphin/metadata.xml b/games-emulation/dolphin/metadata.xml
new file mode 100644
index 000000000000..e5f72fa203b6
--- /dev/null
+++ b/games-emulation/dolphin/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="egl">Enable EGL support</flag>
+ <flag name="evdev">Enable evdev input support</flag>
+ <flag name="llvm">Enable the LLVM-based disassembler for debugger mode</flag>
+ <flag name="log">Increase logging output</flag>
+ <flag name="lto">Add support for link-time optimizations.</flag>
+ </use>
+ <longdescription lang="en">
+Dolphin is a Gamecube and Wii emulator. Most games run perfectly or with minor
+bugs. Games are playable at HD quality, with 1080p and more.
+ </longdescription>
+ <maintainer type="person">
+ <email>twitch153@gentoo.org</email>
+ <name>Devan Franchini</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dolphin-emu/dolphin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/dosbox/Manifest b/games-emulation/dosbox/Manifest
new file mode 100644
index 000000000000..d7702214732e
--- /dev/null
+++ b/games-emulation/dosbox/Manifest
@@ -0,0 +1,9 @@
+AUX dosbox-0.74-gcc46.patch 274 SHA256 6177caef093a0d499581b5bb8dfdb99aab941b9d25ad3bb2f04b92f3452a17ae SHA512 3175ba75be568d24286501844073bebbd2ae2e770ca6bdd9d409b290ca7b9f98a8406b5b92b89a9965eeda8045f2ac9634aacf8eb01917cbf02087996de53177 WHIRLPOOL d160c1e54fdb94c8858cce43af1ed52702c111684bf208716fce8d9525105ecef6bb8d33751738624b68806e60c8d01ae4a29b7d8c44bb674fa45f8acfde7dda
+DIST dosbox-code-0-3989-dosbox-trunk.zip 1327592 SHA256 32f2cfff1be9f9bd2b0e246f9c0486f050714fdaba0bc47b66f3983eb7f55965 SHA512 625eacc1a1190d87d56713f7af54e6a7886e7666ba9f7f0b1d553c96a2eb02ec7810ac2da73d014d5ea3b69f2a7658bdd445532abe030e7f6ef85a3c20bdd3c7 WHIRLPOOL 1272c5a8d8480fa0dede2e78941a1cc78938407ab86d3720e18762fe2c749de89eea3db2811426f43eb57efa762a4ff55aa44d8e624c05bcb82b2404dad86f49
+DIST dosbox_glide-3722fc563b737d2d7933df6a771651c2154e6f7b.diff 96346 SHA256 b51b86ca81b1642f50b8c0b0d74e4e230c858dbaf0c193afe15a040481e6d70b SHA512 d2be6ee8bd1f13058c76ccae595b67f15ab87e0e36dab0d938ebbd7fc5d379f6f054d30c32ef4723b9fcdbbcea7bf0e1aa2c8b1aab1737f1d0e4d2a2df0f7714 WHIRLPOOL 2bf74a6a6d7afccbd1d6002b48ab04c00672342829607c99ef4efd9ad8e3186c08aff971b52c6e4357c2e94e85cf08e049eb593d0a9f2253935f7e3cbe8b2a8a
+EBUILD dosbox-0.74_p20160629-r1.ebuild 1787 SHA256 9bc253f7aba70810aaa36e3be40a311ccb4998728e94f6a8fa77ba06f0c1fc0f SHA512 f4e67047d01f2ca91fa446136ec2829c589c37f2cca664e1ff1292a5ec78fa8a44f78defcdfd23e556ffa2a2d3b2f9a403e4178f3dca36b5ea58307ca1c52889 WHIRLPOOL f442d849e192e485440d7e7c2174b0623cee20ea28004e6e52b4caccec1e8a3f8c8e938e74ad6415bdc5498e102401bfdf6c2899fec31205341467f3f4011567
+EBUILD dosbox-0.74_p20160629.ebuild 1074 SHA256 bba826950f03fa8d216786cd9354fca32923632bd73e0f99cd10fccf13bc2b19 SHA512 00edfb8cf1fa3b1f7bee6ef96b5dee033cf1ca48737e9f00a4ddbe09b29c717cf2ae1f10577ca29fa4b886ec7a28f2131e1e12dc41fed5a4c5831b0194ce58b8 WHIRLPOOL bf932dfa840216af07d7528b96cb385c007d9eaec635770dbbdd9cde280d4309ed667dc25357ce0a1edac778a94f586c6a62d74f77d06d1ff9d9d5d4a13c2fc9
+EBUILD dosbox-9999.ebuild 1884 SHA256 01975883f711b42d27901c2c9d09379486252dec13503d9cd63653315bf68c83 SHA512 33a434777efbd8a9e272a8206d6feb2da01a2e423774b54017bd716340ef3b4d349dff455e02d34055ac844ef66e49a2bd7397b027fcb2d4354fc4de83b05ce0 WHIRLPOOL 09e6793daa66c08d7a9d5f2e7cf22b99a1a0529cb8d5116849b45dad408f7ca5d13ffc8a754b52c9dd7033a2dba05c63b177cd178911c057cc7679c621e62557
+MISC ChangeLog 6645 SHA256 2c36dfa71160006bf693af1475af653f8e2bd24a5d874d303344b4b9f7f5d197 SHA512 c327d0767f006a0d788a79b8c7daa2b2715f2a5922d9972c00a074ab064b8f21af68b78fcfae28f85d8777cdbe12c76d78e78072daf8a987eebd5690427ab21e WHIRLPOOL c29179aa0621df33bfda1bf2b773413448b8550f9597fd63252d73e741cc97be2d5b87e6339c1cd69eadc16922ef955edcb95f9c0be5412118af4f7895881f90
+MISC ChangeLog-2015 8857 SHA256 f89d9a261864bb8c7a8b5200905c79204873982758f5dd684f21dcaee32706bc SHA512 3c76a4621f99d4f01bbb47112c1b81478e84383ba7626996ce75f92aa370d1f478d0448b5ffa81bde0ef3bf68f1be979d1c954ff1e02d938a70de85b41c1d177 WHIRLPOOL 1cf88b590a9960e9764565192d35bd71bae2a00af5690a93cb258daf2465b4385f585375028537f80e978e3693abc9905d0ba5227da9336832ec0c42ef92996c
+MISC metadata.xml 726 SHA256 1497e1598c7a21e5dcc48bcd08f8190014e888036928fa569d7cadfae8011ac7 SHA512 4961374cd8b2e7e083faa80f78c2cd45eb571ef9c4b3cb29cb6f08cad1ee0cc6c5783511646a6bd2e2298517a5906e0fa7dfe0c5d9ff0c4a36f81e31dc2989e1 WHIRLPOOL 7b08c8f25cbce8e77aa580077d2fd7aa29ec722c787ee7fc200c1b225340f4ae442529a72cf0ff364de15d0f16eb085aed49354dc7d0d8cd286f8d219d7d28b7
diff --git a/games-emulation/dosbox/dosbox-0.74_p20160629-r1.ebuild b/games-emulation/dosbox/dosbox-0.74_p20160629-r1.ebuild
new file mode 100644
index 000000000000..f622d980d347
--- /dev/null
+++ b/games-emulation/dosbox/dosbox-0.74_p20160629-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic
+
+PATCH=3989
+GLIDE_PATCH=3722fc563b737d2d7933df6a771651c2154e6f7b
+
+DESCRIPTION="DOS emulator"
+HOMEPAGE="http://dosbox.sourceforge.net/"
+SRC_URI="mirror://gentoo/dosbox-code-0-${PATCH}-dosbox-trunk.zip
+ glide? ( https://raw.githubusercontent.com/voyageur/openglide/${GLIDE_PATCH}/platform/dosbox/dosbox_glide.diff -> dosbox_glide-${GLIDE_PATCH}.diff )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+IUSE="alsa debug glide hardened opengl"
+
+RDEPEND="alsa? ( media-libs/alsa-lib )
+ glide? ( media-libs/openglide )
+ opengl? ( virtual/glu virtual/opengl )
+ debug? ( sys-libs/ncurses:0 )
+ media-libs/libpng:0
+ media-libs/libsdl[joystick,video,X]
+ media-libs/sdl-net
+ media-libs/sdl-sound"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S=${WORKDIR}/${PN}-code-0-${PATCH}-dosbox-trunk
+
+PATCHES=(
+"${FILESDIR}"/dosbox-0.74-gcc46.patch
+)
+
+src_prepare() {
+ use glide && eapply "${DISTDIR}"/dosbox_glide-${GLIDE_PATCH}.diff
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use glide && append-cppflags -I"${EPREFIX}"/usr/include/openglide
+
+ econf \
+ $(use_enable alsa alsa-midi) \
+ $(use_enable !hardened dynamic-core) \
+ $(use_enable !hardened dynamic-x86) \
+ $(use_enable debug) \
+ $(use_enable opengl)
+}
+
+src_install() {
+ default
+ make_desktop_entry dosbox DOSBox /usr/share/pixmaps/dosbox.ico
+ doicon src/dosbox.ico
+}
+
+pkg_postinst() {
+ if use glide; then
+ elog "You have enabled unofficial Glide emulation. To use this, symlink"
+ elog "or copy ${EPREFIX}/usr/share/openglide/glide2x-dosbox.ovl to your game's"
+ elog "directory and add the following to your DOSBox configuration."
+ elog ""
+ elog "[glide]"
+ elog "glide=true"
+ fi
+}
diff --git a/games-emulation/dosbox/dosbox-0.74_p20160629.ebuild b/games-emulation/dosbox/dosbox-0.74_p20160629.ebuild
new file mode 100644
index 000000000000..45b0b0fdb711
--- /dev/null
+++ b/games-emulation/dosbox/dosbox-0.74_p20160629.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils
+
+PATCH=3989
+DESCRIPTION="DOS emulator"
+HOMEPAGE="http://dosbox.sourceforge.net/"
+SRC_URI="mirror://gentoo/dosbox-code-0-${PATCH}-dosbox-trunk.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc64 x86"
+IUSE="alsa debug hardened opengl"
+
+RDEPEND="alsa? ( media-libs/alsa-lib )
+ opengl? ( virtual/glu virtual/opengl )
+ debug? ( sys-libs/ncurses:0 )
+ media-libs/libpng:0
+ media-libs/libsdl[joystick,video,X]
+ media-libs/sdl-net
+ media-libs/sdl-sound"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S=${WORKDIR}/${PN}-code-0-${PATCH}-dosbox-trunk
+
+PATCHES=(
+"${FILESDIR}"/dosbox-0.74-gcc46.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable alsa alsa-midi) \
+ $(use_enable !hardened dynamic-core) \
+ $(use_enable !hardened dynamic-x86) \
+ $(use_enable debug) \
+ $(use_enable opengl)
+}
+
+src_install() {
+ default
+ make_desktop_entry dosbox DOSBox /usr/share/pixmaps/dosbox.ico
+ doicon src/dosbox.ico
+}
diff --git a/games-emulation/dosbox/dosbox-9999.ebuild b/games-emulation/dosbox/dosbox-9999.ebuild
new file mode 100644
index 000000000000..82456d41531c
--- /dev/null
+++ b/games-emulation/dosbox/dosbox-9999.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+GLIDE_PATCH=3722fc563b737d2d7933df6a771651c2154e6f7b
+SRC_URI="glide? ( https://raw.githubusercontent.com/voyageur/openglide/${GLIDE_PATCH}/platform/dosbox/dosbox_glide.diff -> dosbox_glide-${GLIDE_PATCH}.diff )"
+
+if [[ ${PV} = 9999 ]]; then
+ ESVN_REPO_URI="https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk"
+ inherit subversion
+else
+ SRC_URI+=" mirror://sourceforge/dosbox/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
+fi
+
+inherit autotools eutils flag-o-matic
+
+DESCRIPTION="DOS emulator"
+HOMEPAGE="http://dosbox.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="alsa debug glide hardened opengl"
+
+DEPEND="alsa? ( media-libs/alsa-lib )
+ glide? ( media-libs/openglide )
+ opengl? ( virtual/glu virtual/opengl )
+ debug? ( sys-libs/ncurses:0 )
+ media-libs/libpng:0
+ media-libs/libsdl[joystick,video,X]
+ media-libs/sdl-net
+ media-libs/sdl-sound"
+RDEPEND=${DEPEND}
+
+if [[ ${PV} = 9999 ]]; then
+ S=${WORKDIR}/${PN}
+fi
+
+PATCHES=( "${FILESDIR}/${PN}-0.74-gcc46.patch" )
+
+src_prepare() {
+ use glide && eapply "${DISTDIR}"/dosbox_glide-${GLIDE_PATCH}.diff
+ default
+ eautoreconf
+}
+
+src_configure() {
+ use glide && append-cppflags -I"${EPREFIX}"/usr/include/openglide
+
+ econf \
+ $(use_enable alsa alsa-midi) \
+ $(use_enable !hardened dynamic-core) \
+ $(use_enable !hardened dynamic-x86) \
+ $(use_enable debug) \
+ $(use_enable opengl)
+}
+
+src_install() {
+ default
+ make_desktop_entry dosbox DOSBox /usr/share/pixmaps/dosbox.ico
+ doicon src/dosbox.ico
+}
+
+pkg_postinst() {
+ if use glide; then
+ elog "You have enabled unofficial Glide emulation. To use this, symlink"
+ elog "or copy ${EPREFIX}/usr/share/openglide/glide2x-dosbox.ovl to your game's"
+ elog "directory and add the following to your DOSBox configuration."
+ elog ""
+ elog "[glide]"
+ elog "glide=true"
+ fi
+}
diff --git a/games-emulation/dosbox/files/dosbox-0.74-gcc46.patch b/games-emulation/dosbox/files/dosbox-0.74-gcc46.patch
new file mode 100644
index 000000000000..98b4508f519f
--- /dev/null
+++ b/games-emulation/dosbox/files/dosbox-0.74-gcc46.patch
@@ -0,0 +1,10 @@
+--- a/include/dos_inc.h 2011-04-28 08:46:04.505011354 +0200
++++ b/include/dos_inc.h 2011-04-28 08:46:27.104408178 +0200
+@@ -21,6 +21,7 @@
+ #ifndef DOSBOX_DOS_INC_H
+ #define DOSBOX_DOS_INC_H
+
++#include <cstddef>
+ #ifndef DOSBOX_DOS_SYSTEM_H
+ #include "dos_system.h"
+ #endif
diff --git a/games-emulation/dosbox/metadata.xml b/games-emulation/dosbox/metadata.xml
new file mode 100644
index 000000000000..ef87777ce4a5
--- /dev/null
+++ b/games-emulation/dosbox/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mr_bones_@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>wine@gentoo.org</email>
+ <name>Gentoo Wine Project</name>
+ <description>Should be cc'ed for issues with dosbox-0.74-_p* snapshot versions</description>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">dosbox</remote-id>
+ </upstream>
+ <use>
+ <flag name="glide">Enable unofficial Glide emulation via media-libs/openglide</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-emulation/emutos/Manifest b/games-emulation/emutos/Manifest
new file mode 100644
index 000000000000..1fe6bc9fdcdf
--- /dev/null
+++ b/games-emulation/emutos/Manifest
@@ -0,0 +1,10 @@
+DIST emutos-256k-0.9.3.zip 1573051 SHA256 1345274293ef8dc749e90652e085c34d87417c74aa1b94dc7b537d299a19600a SHA512 f5ad9223169b713d932ee3f5f986eef127f3f5d7d6a54ad272738034fda8436b69055937edbce335256edafef44466c4e34e932f2807c25fa099ce07f3410dde WHIRLPOOL 6a634a35f0850d0e76a696d3f3d70d30ae76a4b95fc3efdc1aa6c2a49756cc22863b6034a46efb1e0c4e079af75b375eb58d405f19b1029e407e6dedd4269790
+DIST emutos-256k-0.9.4.zip 1600186 SHA256 c788da706e82a5514f6d2faf11043a8998adca090fcce46f8f32ea209ffd81f4 SHA512 ce7ce9e53c82f7861752ee454a4e3ce616bca73ce580e2b803deea22497de06e5ab49a69af6507ce98ab337312dbb879d258ba2acdf868443f406761caa69404 WHIRLPOOL 55563daa1187e65d13be9d1426488246cf9acf80ba73dd303cb917ce7fe8120a7fe2ea7b5234657676114a6b8148a439fc9c84c8777552c93796164aa46569d9
+DIST emutos-512k-0.9.3.zip 289576 SHA256 2220abe4b75e6f0709327446a5ac553d8365e2e22cc0c57d755085f272fbf5f0 SHA512 5f99f817813e90b65c19753b2cc68a1f1c8652e9a9dbe0d6241503bae2d196c04ef775a68c728e654860772cac8258ae839fa0204657d56d55a112d2a91386de WHIRLPOOL 2a32f2d968a166da64d57518e40cfb228b357a16e9d0ca44750c9e6043de828dd2721e4aec2338d3c1fa19928c56a9730c9aaf29a55d5c060bb8f0b7ee3b54c6
+DIST emutos-512k-0.9.4.zip 314877 SHA256 a8445ce74bf642fecf237953a20641a2e97b74feaadc7fb7149e8221634f4218 SHA512 00c8718f364712f5d346859dc40ed83c1792521c9600520aacf199f7d6b24d5cf7a3e2533e1e343d6aa9e77ed3056f8636713bb7c3e9739254e0658c921a78a8 WHIRLPOOL c5cb35824b4cf5ffa19c27295c9566cfaac65810dcce6791405198b61fb703ed49c6986dbd63eb79a0dfcc8b4b4cb6be64cbd79076d9a2bd1c60a3d469d98add
+DIST emutos-src-0.9.3.tar.gz 935570 SHA256 a22098e732e59d979a34c1131a87bca9701bd26a616df20329286cdcb9c9ed8c SHA512 45e19a9f8ebbd1675059a78d1416d0571bc54c3979b36c684f2394f508f48f6f1dae10f4eb966e1757ff10698644302c788ee3e51bf42fe10d131d87508d9824 WHIRLPOOL 07e2d054c4dd395594e264ebccecacb44479e9981b3f162025b2ebfaa9b5c0c83475bd751c4423f6a7d60bc6701d8205a7898a40f7b8f09dbba0ee0b6c889d05
+EBUILD emutos-0.9.3.ebuild 672 SHA256 53bc409e5dd81a5d90f77523d990c72ea53452506019f412f2127d803b94399a SHA512 933a3d8382ab30ef7f1bb43af29a428b3e1f3a229f0939e93583b5b8b910adea06f47cfb496176a28a31c85cd0de76b2e0c8db4a2af82be91de955be707277ab WHIRLPOOL 4885e9efa85e65872d17d0771c34cc35d31a389e17590eb360fc4ade44c281ed927db37c21681ce3ff659fc651a4d4b802d1237f312d1f72b8de2640896ce19b
+EBUILD emutos-0.9.4.ebuild 672 SHA256 53bc409e5dd81a5d90f77523d990c72ea53452506019f412f2127d803b94399a SHA512 933a3d8382ab30ef7f1bb43af29a428b3e1f3a229f0939e93583b5b8b910adea06f47cfb496176a28a31c85cd0de76b2e0c8db4a2af82be91de955be707277ab WHIRLPOOL 4885e9efa85e65872d17d0771c34cc35d31a389e17590eb360fc4ade44c281ed927db37c21681ce3ff659fc651a4d4b802d1237f312d1f72b8de2640896ce19b
+MISC ChangeLog 2481 SHA256 9a931e9201c64b9aeddafa579f47e6c9697762c564e78bd335983379dee6ed1e SHA512 af608de2941b91f81de64a10b1a4982c6263c404f7f01683d0ae0db2909c81a9326ee2ea5effeadbd2ab636a4fa3e22f437a4acec7e332f35d7a351101d7f652 WHIRLPOOL 809cb6d154f65d2e737ccc1acdee02d0895a6c3cd67159da0a4c49655bf6377bd7fec6406d8537de989e37233a2ab3ff388b2967160c5d1e79ae9a963f4887f5
+MISC ChangeLog-2015 3144 SHA256 b8552f4f0645da2a180606e9f45d41ebb37a9340d554edc26fa8f352ae30fc1a SHA512 5bc85006ef05d6b5790dde9f77d27778748d19151b95a1f12aa82310c27b2d507deb010942059c17deb2edb131d3db4a465dee04e785943a8dff45fed903a2bb WHIRLPOOL e01f361ff744857396e652a1487cb14e958a91f4054edbd528d570254e5dcfa4efaf8f925e00d57ca87b75d6423319d0eba1e9353a40435d6897d7f478886fc8
+MISC metadata.xml 410 SHA256 e6d18a1b46b94dea0e06c16eed5e73a743b28f5318b8a5527dff1c07fa2df4e4 SHA512 bde8bb4378eee574f36d4d8ed50d949b4ed278cce6cc2ba5d325d5e828903376d95f666c44be7de998d032076adf21cf1731f39e52f440cdfe898246ad0390b4 WHIRLPOOL e0a067f918e317eb9ce648300f77a776a8cd7ee5b71ece89eb3f062ded76655221208352c388250697d7dac7b9c34f210e7925e1646f458b859e6ec5cb481dc5
diff --git a/games-emulation/emutos/emutos-0.9.3.ebuild b/games-emulation/emutos/emutos-0.9.3.ebuild
new file mode 100644
index 000000000000..5f79914539c9
--- /dev/null
+++ b/games-emulation/emutos/emutos-0.9.3.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="a single-user single-tasking operating system for 32 bit Atari computer emulators"
+HOMEPAGE="http://emutos.sourceforge.net"
+SRC_URI="mirror://sourceforge/emutos/emutos-src-0.9.3.tar.gz
+ mirror://sourceforge/emutos/emutos-512k-${PV}.zip
+ mirror://sourceforge/emutos/emutos-256k-${PV}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}
+
+src_install() {
+ dogameslib */*.img
+ dodoc emutos-512k-${PV}/{readme.txt,doc/{announce,authors,changelog,status}.txt}
+ prepgamesdirs
+}
diff --git a/games-emulation/emutos/emutos-0.9.4.ebuild b/games-emulation/emutos/emutos-0.9.4.ebuild
new file mode 100644
index 000000000000..5f79914539c9
--- /dev/null
+++ b/games-emulation/emutos/emutos-0.9.4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="a single-user single-tasking operating system for 32 bit Atari computer emulators"
+HOMEPAGE="http://emutos.sourceforge.net"
+SRC_URI="mirror://sourceforge/emutos/emutos-src-0.9.3.tar.gz
+ mirror://sourceforge/emutos/emutos-512k-${PV}.zip
+ mirror://sourceforge/emutos/emutos-256k-${PV}.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}
+
+src_install() {
+ dogameslib */*.img
+ dodoc emutos-512k-${PV}/{readme.txt,doc/{announce,authors,changelog,status}.txt}
+ prepgamesdirs
+}
diff --git a/games-emulation/emutos/metadata.xml b/games-emulation/emutos/metadata.xml
new file mode 100644
index 000000000000..e031f58fb1e9
--- /dev/null
+++ b/games-emulation/emutos/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mr_bones_@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">emutos</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/fakenes/Manifest b/games-emulation/fakenes/Manifest
new file mode 100644
index 000000000000..eab34adec033
--- /dev/null
+++ b/games-emulation/fakenes/Manifest
@@ -0,0 +1,7 @@
+AUX fakenes-0.5.8-underlink.patch 190 SHA256 baced7cfdad03fd9cf958268b4088a7c777d7bfb67592bce857e78b5d04c4bbb SHA512 8017f0a76ee7a529e8c63ddda68545fe9bdace91353061682d2cbc98eb76a316558ce538e9954d945196fcb7c34ad270f1072712cc137110fb110b4b5c23afdc WHIRLPOOL 9ee88c39dffc91a293adfd3ebc229bdc96a6fe925a19c9214cf41a62c8e14149449fb0a9d4b64c276c20fc689e9a48f0e3bf65cbe41c531d60ec6ceff1776f8b
+AUX fakenes-0.5.8-zlib.patch 6297 SHA256 5bc8da11ee2949b077a0ea3733dfe01827e216169ab72d95617975e2001d9d11 SHA512 a152e8edffafb36b891bf1ee83ce9fd3c9248a82910d09019d4025c5c7fb77fe6c70cfc22b66e9b15da21081d6d14fcc175f051025c35730ba06fac0bb87556f WHIRLPOOL 014cf73d7ca3aebbebafef21586f73dd353dab61d92a05853c3b842fa9e06d5bf3faf993031cd4481ee3df3c4526bd2feee0b029964d3b4b7b10e4136d05b92e
+DIST fakenes-0.5.8.tar.bz2 274503 SHA256 0ffe0ddd05bc6b23fc85892d11aef5e1ccb8be4469eafaa859fb19dd34bcca54 SHA512 2a22c51cf7171661a92584e083c3dfd69d009b586c22f8b5a4b4022065309ae4d6370a81997c035a9e19ff225e87d92e1b572b313585f2e05776cbf7c1c971aa WHIRLPOOL 8d3bc785be76c29ababf162fe53608dedd55d9fddc8954189388131334a21a5850067fe04b4c5dfc66f418a61e7c823d2fad6756c4d189d32c160bd93194e70c
+EBUILD fakenes-0.5.8-r2.ebuild 1638 SHA256 50b74d939dff879eac8ea6f4506bb11d83bcc7a79e41072ec8dc42812015e2bc SHA512 a0c7694065a657cceedc6c9534ef0879414c9ab346ee8f07b57cc6b608254a3bd241d63ba64b84a6f668390275db718ff18cdd858dd03a60321ee24b5fb43a0d WHIRLPOOL f549640aeb5fd01d166255522d8ed0f03ce069346ee5b758be19e93642791a3967fdf33188e5c175d60af7e9522b58d1e2d1b7e498870f226f6417b2022c4177
+MISC ChangeLog 2513 SHA256 745be8d37be196ffd3291968eca7544d96b3ec2d432746e32f85cbb7ddb3134b SHA512 cfd1a06b70a27997df9297ef18bb181919b58fb77f7c31376eccaca4f6b793a62e539bad77682ec5b1952a5a8fe59963ef86e71007055b569e31f745e98f5937 WHIRLPOOL 229308dfb21edc1cf57e0e24b3212a61311f87c29d02837d524e196aaceeac9ab650e0325a547d2f3d4638483af7f060a9bf8ba8579eaf31cbbbf81a057910ae
+MISC ChangeLog-2015 3441 SHA256 6444f846c71d5575fc24f2e8775354e718530a3fbe33fd642a297460d8aa02ad SHA512 d94a1156376ffdb09e811e7160c19818dfb0a4178fbb32b2ecc747ee426d68e598746b1a0d8ddad538589fe5e0ad0fc5fda099488f6fd305d762f4b9a2ef342e WHIRLPOOL 34a191562f6ff65280dea4d9cef34d0f591c36942a9b60169dd5c3402b39dcf6b14a2b794c5fdc8bb563135b66cd8ee1d1f245d3bb76adf9ea2ab825e23eb833
+MISC metadata.xml 330 SHA256 b02a7ef1cae5b4e31eef7cd7a6c4e6e410e58f5cc8ca77eb6cc88f81043d3ba7 SHA512 40a9b0382052203f7855ddedfed71e9db3fd128ab5ec0c45b6e6ea4170f919f1ffb3f285b0f708e80f9a37b7af53a584d1ee915ad1f776e99b816bcceb756753 WHIRLPOOL 0517f3fe0287dd6732c19b238fba81d4e2db9458d28fae94997042d27140a542c1c5c3d5a1aacd9721746fe20b6b41adae1eb59ac99346eab1571b4e48f6ab50
diff --git a/games-emulation/fakenes/fakenes-0.5.8-r2.ebuild b/games-emulation/fakenes/fakenes-0.5.8-r2.ebuild
new file mode 100644
index 000000000000..99c01a284fe6
--- /dev/null
+++ b/games-emulation/fakenes/fakenes-0.5.8-r2.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils flag-o-matic toolchain-funcs gnome2-utils games
+
+DESCRIPTION="portable, Open Source NES emulator which is written mostly in C"
+HOMEPAGE="http://fakenes.sourceforge.net/"
+SRC_URI="mirror://sourceforge/fakenes/${P}.tar.bz2"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="openal opengl zlib"
+
+RDEPEND=">=media-libs/allegro-4.4.1.1:0[opengl?]
+ dev-games/hawknl
+ openal? (
+ media-libs/openal
+ media-libs/freealut
+ )
+ zlib? ( sys-libs/zlib )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i \
+ -e "s:openal-config:pkg-config openal:" \
+ build/openal.cbd || die
+
+ sed -i \
+ -e "s:LIBAGL = agl:LIBAGL = alleggl:" \
+ build/alleggl.cbd || die
+ epatch "${FILESDIR}"/${P}-{underlink,zlib}.patch
+}
+
+src_compile() {
+ local myconf
+
+ append-ldflags -Wl,-z,noexecstack
+
+ echo "$(tc-getBUILD_CC) cbuild.c -o cbuild"
+ $(tc-getBUILD_CC) cbuild.c -o cbuild || die "cbuild build failed"
+
+ use openal || myconf="$myconf -openal"
+ use opengl || myconf="$myconf -alleggl"
+ use zlib || myconf="$myconf -zlib"
+
+ LD="$(tc-getCC) ${CFLAGS}" ./cbuild ${myconf} --verbose || die "cbuild failed"
+}
+
+src_install() {
+ dogamesbin fakenes
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins support/*
+ dodoc docs/{CHANGES,README}
+ dohtml docs/faq.html
+
+ newicon -s 32 support/icon-32x32.png ${PN}.png
+ make_desktop_entry ${PN} "FakeNES"
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/fakenes/files/fakenes-0.5.8-underlink.patch b/games-emulation/fakenes/files/fakenes-0.5.8-underlink.patch
new file mode 100644
index 000000000000..a5f6f699fc7c
--- /dev/null
+++ b/games-emulation/fakenes/files/fakenes-0.5.8-underlink.patch
@@ -0,0 +1,8 @@
+--- build/hawknl.cbd.old 2011-06-22 17:28:16.733408930 +0200
++++ build/hawknl.cbd 2011-06-22 17:28:29.217203187 +0200
+@@ -22,4 +22,4 @@
+
+ # --
+
+-LDFLAGS += ' -lNL'
++LDFLAGS += ' -lNL -lm'
diff --git a/games-emulation/fakenes/files/fakenes-0.5.8-zlib.patch b/games-emulation/fakenes/files/fakenes-0.5.8-zlib.patch
new file mode 100644
index 000000000000..15549051a6a5
--- /dev/null
+++ b/games-emulation/fakenes/files/fakenes-0.5.8-zlib.patch
@@ -0,0 +1,170 @@
+diff -ur fakenes-0.5.8-old/src/include/unzip.h fakenes-0.5.8/src/include/unzip.h
+--- fakenes-0.5.8-old/src/include/unzip.h 2012-08-22 20:51:45.310735240 +0200
++++ fakenes-0.5.8/src/include/unzip.h 2012-08-22 20:56:40.737069700 +0200
+@@ -119,9 +119,9 @@
+ tm_unz tmu_date;
+ } unz_file_info;
+
+-extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
++extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,
+ const char* fileName2,
+- int iCaseSensitivity));
++ int iCaseSensitivity);
+ /*
+ Compare two filename (fileName1,fileName2).
+ If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
+@@ -132,7 +132,7 @@
+ */
+
+
+-extern unzFile ZEXPORT unzOpen OF((const char *path));
++extern unzFile ZEXPORT unzOpen (const char *path);
+ /*
+ Open a Zip file. path contain the full pathname (by example,
+ on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer
+@@ -143,24 +143,24 @@
+ of this unzip package.
+ */
+
+-extern int ZEXPORT unzClose OF((unzFile file));
++extern int ZEXPORT unzClose (unzFile file);
+ /*
+ Close a ZipFile opened with unzipOpen.
+ If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
+ these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
+ return UNZ_OK if there is no problem. */
+
+-extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
+- unz_global_info *pglobal_info));
++extern int ZEXPORT unzGetGlobalInfo (unzFile file,
++ unz_global_info *pglobal_info);
+ /*
+ Write info about the ZipFile in the *pglobal_info structure.
+ No preparation of the structure is needed
+ return UNZ_OK if there is no problem. */
+
+
+-extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
++extern int ZEXPORT unzGetGlobalComment (unzFile file,
+ char *szComment,
+- uLong uSizeBuf));
++ uLong uSizeBuf);
+ /*
+ Get the global comment string of the ZipFile, in the szComment buffer.
+ uSizeBuf is the size of the szComment buffer.
+@@ -171,22 +171,22 @@
+ /***************************************************************************/
+ /* Unzip package allow you browse the directory of the zipfile */
+
+-extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
++extern int ZEXPORT unzGoToFirstFile (unzFile file);
+ /*
+ Set the current file of the zipfile to the first file.
+ return UNZ_OK if there is no problem
+ */
+
+-extern int ZEXPORT unzGoToNextFile OF((unzFile file));
++extern int ZEXPORT unzGoToNextFile (unzFile file);
+ /*
+ Set the current file of the zipfile to the next file.
+ return UNZ_OK if there is no problem
+ return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
+ */
+
+-extern int ZEXPORT unzLocateFile OF((unzFile file,
++extern int ZEXPORT unzLocateFile (unzFile file,
+ const char *szFileName,
+- int iCaseSensitivity));
++ int iCaseSensitivity);
+ /*
+ Try locate the file szFileName in the zipfile.
+ For the iCaseSensitivity signification, see unzStringFileNameCompare
+@@ -197,14 +197,14 @@
+ */
+
+
+-extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
++extern int ZEXPORT unzGetCurrentFileInfo (unzFile file,
+ unz_file_info *pfile_info,
+ char *szFileName,
+ uLong fileNameBufferSize,
+ void *extraField,
+ uLong extraFieldBufferSize,
+ char *szComment,
+- uLong commentBufferSize));
++ uLong commentBufferSize);
+ /*
+ Get Info about the current file
+ if pfile_info!=NULL, the *pfile_info structure will contain somes info about
+@@ -223,22 +223,22 @@
+ from it, and close it (you can close it before reading all the file)
+ */
+
+-extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
++extern int ZEXPORT unzOpenCurrentFile (unzFile file);
+ /*
+ Open for reading data the current file in the zipfile.
+ If there is no error, the return value is UNZ_OK.
+ */
+
+-extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
++extern int ZEXPORT unzCloseCurrentFile (unzFile file);
+ /*
+ Close the file in zip opened with unzOpenCurrentFile
+ Return UNZ_CRCERROR if all the file was read but the CRC is not good
+ */
+
+
+-extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
++extern int ZEXPORT unzReadCurrentFile (unzFile file,
+ voidp buf,
+- unsigned len));
++ unsigned len);
+ /*
+ Read bytes from the current file (opened by unzOpenCurrentFile)
+ buf contain buffer where data must be copied
+@@ -250,19 +250,19 @@
+ (UNZ_ERRNO for IO error, or zLib error for uncompress error)
+ */
+
+-extern z_off_t ZEXPORT unztell OF((unzFile file));
++extern z_off_t ZEXPORT unztell (unzFile file);
+ /*
+ Give the current position in uncompressed data
+ */
+
+-extern int ZEXPORT unzeof OF((unzFile file));
++extern int ZEXPORT unzeof (unzFile file);
+ /*
+ return 1 if the end of file was reached, 0 elsewhere
+ */
+
+-extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
++extern int ZEXPORT unzGetLocalExtrafield (unzFile file,
+ voidp buf,
+- unsigned len));
++ unsigned len);
+ /*
+ Read extra field from the current file (opened by unzOpenCurrentFile)
+ This is the local-header version of the extra field (sometimes, there is
+diff -ur fakenes-0.5.8-old/src/unzip.c fakenes-0.5.8/src/unzip.c
+--- fakenes-0.5.8-old/src/unzip.c 2012-08-22 20:51:45.300735366 +0200
++++ fakenes-0.5.8/src/unzip.c 2012-08-22 20:57:42.596243769 +0200
+@@ -500,7 +500,7 @@
+ /*
+ Get Info about the current file in the zipfile, with internal only info
+ */
+-local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file,
++local int unzlocal_GetCurrentFileInfoInternal (unzFile file,
+ unz_file_info *pfile_info,
+ unz_file_info_internal
+ *pfile_info_internal,
+@@ -509,7 +509,7 @@
+ void *extraField,
+ uLong extraFieldBufferSize,
+ char *szComment,
+- uLong commentBufferSize));
++ uLong commentBufferSize);
+
+ local int unzlocal_GetCurrentFileInfoInternal (file,
+ pfile_info,
diff --git a/games-emulation/fakenes/metadata.xml b/games-emulation/fakenes/metadata.xml
new file mode 100644
index 000000000000..b669d82dff83
--- /dev/null
+++ b/games-emulation/fakenes/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">fakenes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/fbzx/Manifest b/games-emulation/fbzx/Manifest
new file mode 100644
index 000000000000..eb69ba61e61b
--- /dev/null
+++ b/games-emulation/fbzx/Manifest
@@ -0,0 +1,10 @@
+AUX fbzx-2.10.0-build.patch 795 SHA256 0d919995a702d842678e18949657676ef339c84cc4d5297b2b71d8fd7f14f9ef SHA512 feee59ef0905cfc01a0dbb5b4a6d52a5c1d5774657664d61c68480536f5ee673f78cb8619b4161e580b9c3700eef8f570bcc3a555ee35ebf259dc6a99a290a7f WHIRLPOOL 13f638acc8c830a6a23d9e8d381acda4dbccb227fc37fc06ac16dcdf4a6585d35c9e26dbcc7faabe4635580ccb8554b53aed19518200ccf60194fea652b1d23c
+AUX fbzx-2.10.0-keyboard.patch 284 SHA256 9a96d19ff9ba6687bca48309826ff83f7f1bd86edbb8037be423483a93455280 SHA512 803a607f264fcb74c13e77216773f2653ea12a1a5ff7de2d5cc96a531a1e35c6b3a61be9ec1ea52c104d35961c1aafe79140764ef04999768ca0ea5098e1c570 WHIRLPOOL 6f457fb8515583218d12958d1096bce047872dc4d8dd3681aa7d0776a1ef93b50b0e81e2ac9605fcb9e7bc7b5adef315be4f710349d90cdd76cb0a9a82e45a11
+AUX fbzx-3.0.0-gentoo.patch 6372 SHA256 7dc1cd1f8d48d25618d105c6970859dd14e12326f1e4cfd4961a1b5a2df9e2ab SHA512 4de9830dcfe015833939c1795f016d37afa0d364b94de2cc64b941f8d4df2acbe7220be951fa403bab6eba0db4882a8c15c376eac108fe6331e67708515b876e WHIRLPOOL 66a6f071147d130dec287f00cce5ecda86b5ae5264a09e67c38563b32dedd8b6a0ea18ae0c48477928fabbd08bac3e4ab007e99cdfbe252e03e2f859d57c2ca5
+DIST fbzx-2.10.0.tar.bz2 326352 SHA256 deed3d37247e4154bb10325d014461c8caf0c55ca23a611c62035e491a4f960f SHA512 b96ae4029e4ef73d15c851a54c8e057131ba6e0acf03820222aa4d4bc91e8ad497556cce41c5faef230939f1c88423e09e435f9ce91c0e0f183f6eac7843bb36 WHIRLPOOL 97bb0fcbb9d1c5921b7c6f9d4873fd620d2219b71abbaece2453f4417bace91c1b1fab44382f2d63b5aa8c3225f5f865150b51ce534a228712a39543912ea908
+DIST fbzx-3.0.0.tar.gz 435239 SHA256 8c739edd3de599943daea0078220b5c7774fc04b62a24a7a33854e5ee24056f3 SHA512 cf2a01a1dde62da03c1f04e91f226859ae4cf06d099597dc1a1554c4ff9782dd287f9d924083829eee40cf0450c053d818f963f68381f9e16e0e61ca1f3d3083 WHIRLPOOL d56d7c54458f75de135b4e675bc7980ca72bebebbd0461c52db5d9be34faae1000c9d7e52dea6a5a199133edb2a5b9974979ee27dc30d811235c90fca83c908f
+EBUILD fbzx-2.10.0.ebuild 916 SHA256 903dff0620a0bf980c57a4ecbbe32d6608a31e482e58bc6ee9e9ea5ca56b60d0 SHA512 912f09e1d06528980c032921a2cd2b32de00d15051cfd4f61cde693389d7c70f1fa043401f86901e9546fd15c2648a4a035aa161a3a15468293f8c64a1392ad0 WHIRLPOOL aafd40418004e51ea0503165722da11b507f4b8e40c7b844211b387a69e2e2f37ce915b050b58f37498c0a5054ec840516c29b0ba9f3ace26ec091ad8415074f
+EBUILD fbzx-3.0.0.ebuild 919 SHA256 cd0bbcc37b478dd543e759c95a654b1b3a3c86d6cd0b937cbb0c89849082820c SHA512 011bd844f9809aebb9113e73f1d37d469e9d05d97ca8fc70356126f0bd43e5eee07f2c3226e2345b0f130d3b80673bf0da9d4f09ed007832c70fcf9bc2a62c12 WHIRLPOOL 84d008edaf84bbe0cccfbe8a46c9653e3c0300655485c1218972c0bed0f05d16655b19066c9f433ad7e43be266a711f3bc85096dd66f96a8e35aaae8b6213caa
+MISC ChangeLog 3139 SHA256 d68327210438d00defe84bf9804c22625d25af5257b54a42674d0dbbcd4bb8c6 SHA512 2360867184c27602c21ccc056583973cf3fd910184b15322708c94e3886a42a32bf103e8a58e86dc05c2abcd45adf4f5f1edfab4040d2c64621ffad2c31315dc WHIRLPOOL fbc2ffd616ab623377e3f644b57be811940905673269367523c24204db3ec812b6da202c8937881c7e909eb615c9b497f1bbfe5fab9710b293408846e6b7175a
+MISC ChangeLog-2015 3746 SHA256 53934a524cc53b103e8f2b65ec8b1b4075719e987234e271b6a9f441550b06ec SHA512 7ba4ee53bce75cd26460ea3a584dbd1a60fd20178c3cf92a4a81e085f0ff73cb0255a877354699613a498aa67d3ece2b1986e80589e96d2388164c3b486b3152 WHIRLPOOL 140a03f43db5d53376bd5e7a3683a5e0d04590fdddbcd185fdacab8557926083cb483891e7a3bde7f98e77d30ddb748ea94a8fd3ff77873e12706c028f2abbfd
+MISC metadata.xml 469 SHA256 c9003d9301b12bebfada790f6ff4e2198960122c66f1d4b8d8efde9cc577d3b6 SHA512 72d484a764834cd1691665dea6904f154af7a4a6f4c8dc43eaeafe71ec775c8bf0b62ffe42d3cf244829292ff4d0f8a677eccce1902110b94e6f1fdd31219a25 WHIRLPOOL f1e37a3f47965bbaf25372f06eed717e6d3cfccd799846fb9b44cb0b7952e16127db06c26aaaea0d346808bff154e58aa5f24d643bd1a94301915c08b034a90f
diff --git a/games-emulation/fbzx/fbzx-2.10.0.ebuild b/games-emulation/fbzx/fbzx-2.10.0.ebuild
new file mode 100644
index 000000000000..105a1fc627d5
--- /dev/null
+++ b/games-emulation/fbzx/fbzx-2.10.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A Sinclair Spectrum emulator, designed to work at full screen using the FrameBuffer"
+HOMEPAGE="http://www.rastersoft.com/fbzx.html"
+SRC_URI="http://www.rastersoft.com/descargas/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[video]
+ media-sound/pulseaudio
+ media-libs/alsa-lib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i -e "s|/usr/share/|${GAMES_DATADIR}/${PN}/|g" emulator.c || die
+ epatch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${P}-keyboard.patch
+}
+
+src_install() {
+ dogamesbin fbzx
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r keymap.bmp spectrum-roms
+ dodoc AMSTRAD CAPABILITIES FAQ PORTING README* TODO VERSIONS
+ doicon fbzx.svg
+ make_desktop_entry fbzx FBZX
+ prepgamesdirs
+}
diff --git a/games-emulation/fbzx/fbzx-3.0.0.ebuild b/games-emulation/fbzx/fbzx-3.0.0.ebuild
new file mode 100644
index 000000000000..257a97eb1774
--- /dev/null
+++ b/games-emulation/fbzx/fbzx-3.0.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A Sinclair Spectrum emulator, designed to work at full screen using the FrameBuffer"
+HOMEPAGE="https://github.com/rastersoft/fbzx"
+SRC_URI="https://github.com/rastersoft/fbzx/archive/3.0.0.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[video]
+ media-sound/pulseaudio
+ media-libs/alsa-lib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i -e "s|/usr/share/|${GAMES_DATADIR}/${PN}/|g" src/llscreen.cpp || die
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_install() {
+ dogamesbin src/fbzx
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r data/{keymap.bmp,spectrum-roms}
+ dodoc AMSTRAD CAPABILITIES FAQ PORTING README* TODO VERSIONS
+ doicon data/fbzx.svg
+ make_desktop_entry fbzx FBZX
+ prepgamesdirs
+}
diff --git a/games-emulation/fbzx/files/fbzx-2.10.0-build.patch b/games-emulation/fbzx/files/fbzx-2.10.0-build.patch
new file mode 100644
index 000000000000..191e7f09ac1e
--- /dev/null
+++ b/games-emulation/fbzx/files/fbzx-2.10.0-build.patch
@@ -0,0 +1,12 @@
+diff -ru fbzx-2.10.0.orig/Makefile fbzx-2.10.0/Makefile
+--- fbzx-2.10.0.orig/Makefile 2012-06-22 19:44:32.000000000 -0400
++++ fbzx-2.10.0/Makefile 2012-08-11 03:08:12.761127099 -0400
+@@ -4,7 +4,7 @@
+ PREFIX2=/usr/local
+ endif
+
+-CFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -O2 -Wno-pointer-sign -Wall -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
++CFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -Wno-pointer-sign -Wall -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
+ LDFLAGS += `pkg-config --libs sdl libpulse-simple alsa`
+
+ fbzx: computer.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o emulator.o cargador.o characters.o menus.o sound.o tape.o spk_ay.o microdrive.o
diff --git a/games-emulation/fbzx/files/fbzx-2.10.0-keyboard.patch b/games-emulation/fbzx/files/fbzx-2.10.0-keyboard.patch
new file mode 100644
index 000000000000..3920748c07e9
--- /dev/null
+++ b/games-emulation/fbzx/files/fbzx-2.10.0-keyboard.patch
@@ -0,0 +1,11 @@
+--- menus.c.orig
++++ menus.c
+@@ -1820,7 +1820,7 @@
+ buffer=screen->pixels;
+
+ clean_screen();
+- fichero=myfopen("fbzx/keymap.bmp","r");
++ fichero=myfopen("keymap.bmp","r");
+ if (fichero==NULL) {
+ strcpy(ordenador.osd_text,"Keymap picture not found");
+ ordenador.osd_time=100;
diff --git a/games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch b/games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch
new file mode 100644
index 000000000000..0e1f02337146
--- /dev/null
+++ b/games-emulation/fbzx/files/fbzx-3.0.0-gentoo.patch
@@ -0,0 +1,118 @@
+diff -ru fbzx-3.0.0.orig/src/Makefile fbzx-3.0.0/src/Makefile
+--- fbzx-3.0.0.orig/src/Makefile 2015-04-01 17:22:47.000000000 -0400
++++ fbzx-3.0.0/src/Makefile 2016-04-01 13:15:27.230190807 -0400
+@@ -1,78 +1,74 @@
+-CC=g++ -c -O2
+-CPP=g++ -c -O2
+-LN=g++ -O2
+-
+ CFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
+-CPPFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
++CXXFLAGS += `pkg-config --cflags sdl libpulse-simple alsa` -D D_SOUND_PULSE -D D_SOUND_ALSA -D D_SOUND_OSS
+ LDFLAGS += `pkg-config --libs sdl libpulse-simple alsa`
+
+
+ fbzx: cargador.o cmdline.o computer.o emulator.o keyboard.o llscreen.o llsound.o menus.o microdrive.o osd.o screen.o signals.o spk_ay.o tape.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o
+- $(LN) -o fbzx cargador.o cmdline.o computer.o emulator.o keyboard.o llscreen.o llsound.o menus.o microdrive.o osd.o screen.o signals.o spk_ay.o tape.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o $(LDFLAGS)
++ $(CXX) -o fbzx cargador.o cmdline.o computer.o emulator.o keyboard.o llscreen.o llsound.o menus.o microdrive.o osd.o screen.o signals.o spk_ay.o tape.o Z80free.o Z80free_codes.o Z80free_codesCB.o Z80free_codesED.o Z80free_codesDD.o Z80free_codesFD.o Z80free_codesDDCB.o Z80free_codesFDCB.o $(LDFLAGS)
+
+ Z80free.o: z80free/Z80free.c z80free/Z80free.h
+- $(CC) -o Z80free.o z80free/Z80free.c
++ $(CXX) -c $(CFLAGS) -o Z80free.o z80free/Z80free.c
+
+ Z80free_codes.o: z80free/Z80free_codes.c z80free/Z80free.h
+- $(CC) -o Z80free_codes.o z80free/Z80free_codes.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codes.o z80free/Z80free_codes.c
+
+ Z80free_codesCB.o: z80free/Z80free_codesCB.c z80free/Z80free.h
+- $(CC) -o Z80free_codesCB.o z80free/Z80free_codesCB.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesCB.o z80free/Z80free_codesCB.c
+
+ Z80free_codesED.o: z80free/Z80free_codesED.c z80free/Z80free.h
+- $(CC) -o Z80free_codesED.o z80free/Z80free_codesED.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesED.o z80free/Z80free_codesED.c
+
+ Z80free_codesDD.o: z80free/Z80free_codesDD.c z80free/Z80free.h
+- $(CC) -o Z80free_codesDD.o z80free/Z80free_codesDD.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesDD.o z80free/Z80free_codesDD.c
+
+ Z80free_codesFD.o: z80free/Z80free_codesFD.c z80free/Z80free.h
+- $(CC) -o Z80free_codesFD.o z80free/Z80free_codesFD.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesFD.o z80free/Z80free_codesFD.c
+
+ Z80free_codesDDCB.o: z80free/Z80free_codesDDCB.c z80free/Z80free.h
+- $(CC) -o Z80free_codesDDCB.o z80free/Z80free_codesDDCB.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesDDCB.o z80free/Z80free_codesDDCB.c
+
+ Z80free_codesFDCB.o: z80free/Z80free_codesFDCB.c z80free/Z80free.h
+- $(CC) -o Z80free_codesFDCB.o z80free/Z80free_codesFDCB.c
++ $(CXX) -c $(CFLAGS) -o Z80free_codesFDCB.o z80free/Z80free_codesFDCB.c
+
+ cargador.o: cargador.cpp spk_ay.hh keyboard.hh emulator.hh screen.hh osd.hh z80free/Z80free.h computer.hh signals.hh llscreen.hh tape.hh cargador.hh
+- $(CPP) $(CPPFLAGS) -o cargador.o cargador.cpp
++ $(CXX) -c $(CXXFLAGS) -o cargador.o cargador.cpp
+
+ cmdline.o: cmdline.cpp cmdline.hh
+- $(CPP) $(CPPFLAGS) -o cmdline.o cmdline.cpp
++ $(CXX) -c $(CXXFLAGS) -o cmdline.o cmdline.cpp
+
+ computer.o: computer.cpp z80free/Z80free.h llsound.hh keyboard.hh computer.hh screen.hh signals.hh llscreen.hh tape.hh emulator.hh osd.hh spk_ay.hh microdrive.hh menus.hh
+- $(CPP) $(CPPFLAGS) -o computer.o computer.cpp
++ $(CXX) -c $(CXXFLAGS) -o computer.o computer.cpp
+
+ emulator.o: emulator.cpp spk_ay.hh keyboard.hh llsound.hh cmdline.hh computer.hh screen.hh signals.hh llscreen.hh z80free/Z80free.h tape.hh emulator.hh osd.hh microdrive.hh menus.hh cargador.hh
+- $(CPP) $(CPPFLAGS) -o emulator.o emulator.cpp
++ $(CXX) -c $(CXXFLAGS) -o emulator.o emulator.cpp
+
+ keyboard.o: keyboard.cpp menus.hh llscreen.hh llsound.hh computer.hh screen.hh signals.hh z80free/Z80free.h tape.hh emulator.hh osd.hh keyboard.hh
+- $(CPP) $(CPPFLAGS) -o keyboard.o keyboard.cpp
++ $(CXX) -c $(CXXFLAGS) -o keyboard.o keyboard.cpp
+
+ llscreen.o: llscreen.cpp osd.hh font.h llscreen.hh
+- $(CPP) $(CPPFLAGS) -o llscreen.o llscreen.cpp
++ $(CXX) -c $(CXXFLAGS) -o llscreen.o llscreen.cpp
+
+ llsound.o: llsound.cpp emulator.hh screen.hh osd.hh z80free/Z80free.h computer.hh signals.hh llscreen.hh tape.hh llsound.hh
+- $(CPP) $(CPPFLAGS) -o llsound.o llsound.cpp
++ $(CXX) -c $(CXXFLAGS) -o llsound.o llsound.cpp
+
+ menus.o: menus.cpp spk_ay.hh microdrive.hh z80free/Z80free.h keyboard.hh llsound.hh llscreen.hh menus.hh tape.hh signals.hh emulator.hh screen.hh osd.hh computer.hh cargador.hh
+- $(CPP) $(CPPFLAGS) -o menus.o menus.cpp
++ $(CXX) -c $(CXXFLAGS) -o menus.o menus.cpp
+
+ microdrive.o: microdrive.cpp osd.hh emulator.hh screen.hh z80free/Z80free.h computer.hh signals.hh llscreen.hh tape.hh microdrive.hh
+- $(CPP) $(CPPFLAGS) -o microdrive.o microdrive.cpp
++ $(CXX) -c $(CXXFLAGS) -o microdrive.o microdrive.cpp
+
+ osd.o: osd.cpp osd.hh
+- $(CPP) $(CPPFLAGS) -o osd.o osd.cpp
++ $(CXX) -c $(CXXFLAGS) -o osd.o osd.cpp
+
+ screen.o: screen.cpp keyboard.hh computer.hh screen.hh signals.hh llscreen.hh z80free/Z80free.h tape.hh emulator.hh osd.hh
+- $(CPP) $(CPPFLAGS) -o screen.o screen.cpp
++ $(CXX) -c $(CXXFLAGS) -o screen.o screen.cpp
+
+ signals.o: signals.cpp signals.hh
+- $(CPP) $(CPPFLAGS) -o signals.o signals.cpp
++ $(CXX) -c $(CXXFLAGS) -o signals.o signals.cpp
+
+ spk_ay.o: spk_ay.cpp spk_ay.hh llsound.hh computer.hh screen.hh signals.hh llscreen.hh z80free/Z80free.h tape.hh emulator.hh osd.hh
+- $(CPP) $(CPPFLAGS) -o spk_ay.o spk_ay.cpp
++ $(CXX) -c $(CXXFLAGS) -o spk_ay.o spk_ay.cpp
+
+ tape.o: tape.cpp z80free/Z80free.h tape.hh signals.hh emulator.hh screen.hh osd.hh computer.hh llscreen.hh
+- $(CPP) $(CPPFLAGS) -o tape.o tape.cpp
++ $(CXX) -c $(CXXFLAGS) -o tape.o tape.cpp
+
+diff -ru fbzx-3.0.0.orig/src/menus.cpp fbzx-3.0.0/src/menus.cpp
+--- fbzx-3.0.0.orig/src/menus.cpp 2015-04-01 17:22:47.000000000 -0400
++++ fbzx-3.0.0/src/menus.cpp 2016-04-01 13:15:33.213974823 -0400
+@@ -1691,7 +1691,7 @@
+
+ void keyboard_menu() {
+
+- llscreen->paint_picture("fbzx/keymap.bmp");
++ llscreen->paint_picture("keymap.bmp");
+ print_copy();
+ wait_key();
+ llscreen->clear_screen();
diff --git a/games-emulation/fbzx/metadata.xml b/games-emulation/fbzx/metadata.xml
new file mode 100644
index 000000000000..375b39e89bcb
--- /dev/null
+++ b/games-emulation/fbzx/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+ FBZX is a Sinclair Spectrum emulator, designed to work at full screen
+ using the FrameBuffer.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">rastersoft/fbzx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/fceux/Manifest b/games-emulation/fceux/Manifest
new file mode 100644
index 000000000000..a334bee83f45
--- /dev/null
+++ b/games-emulation/fceux/Manifest
@@ -0,0 +1,6 @@
+AUX fceux-2.2.2-warnings.patch 1306 SHA256 361bdce807f8fda99879ee6941f2d25ccaf01f5e0b9830260732a3df067b2a41 SHA512 75df61b98e94ce659a1cc9732a491cdcfe6b826ce9d8f9b22e5542217ade6074e86429cdcc326cb770a21fff049cf20760f8172c4b3ce52de1ee404ff5a7193a WHIRLPOOL b60a5180d085424db1c551328ff0c113a3ce6aabafd135bb0ebacef7d34fed3e6a351ea43231a407268f832d95b7a0faf3c42983070deb83fd2e809f4acccaaa
+DIST fceux-2.2.2.src.tar.gz 9249858 SHA256 804d11bdb4a195f3a580ce5d2d01be877582763378637e16186a22459f5fe5e1 SHA512 3d3b11c21232656492d962c21a93097f66e33fbd5adbbce6b771dc004393f30502c369eae83c23d988c7e447b4784740a10dfcb0811252854d4364c4b1face98 WHIRLPOOL 61d12dd5db761d31ae83dcfc3117538313910cf844e502457326503d966ac38ca69e7c90d696da991394dd67a0b115f2b0698c217b5a077ed1c3ec9649508ff8
+EBUILD fceux-2.2.2-r1.ebuild 1194 SHA256 dd86bfacbf6ec3b1ad6d6c94c25901fa791cbd6a9500c8132beaaece214a0d66 SHA512 ac8c388adafd3876b95d109e0a96a9c31dc4bb5dce467ef20120ce7bee7a75822319689f949c18f5e3b13daed727f4fdceea5c432941933dc1259737a90eb1b1 WHIRLPOOL 771ebcc70bb4f62b755874c6b0a5722ba9ee1d459e8320c2453e81f6bbace50af830f4dae7b6609ab5c4b308e9697ff849ee6e7a37d615d7b6f49d697229218a
+MISC ChangeLog 3291 SHA256 1bd989bfdc701ba58eed220f44406bc13ccdfc8e2a47666b01ea57ed63161971 SHA512 006b8945b64af7e88ba50fcd37279ca529ca4f992ff8fa06c9e6300a4699fc27265db0d6b4a4e93ea9a8e7f4e70ae4aa9a40454e11a4dbd3dfcd2657c72f9a0b WHIRLPOOL d626a7230d4e8965f1620fefb0f5f0996878990ddc6254818e761afe4d480ef891f2d03300310985416075b9f01bef92d5771adeb5bdd68ec9ce533f84935dee
+MISC ChangeLog-2015 3359 SHA256 c85d4eece1ac615d05cf182a43074a78f53eaa438233d1ed44099f8e4c6ea61f SHA512 12d4274d1884dc28ddf82a8047b66c12107330605e33143c3f8bcd7e0003091cf1011c0ecacc53f33b96a3ba8c3b127cade9d38889365d3b721a0542fc6c5ddd WHIRLPOOL be850dcfc807a6c4f283cc0e90be6247f677d836ecdf315bbabc9454b7d63e5f0fece393ef0e10d6f3a4a5ecf8f052a515957217d8270d948e66e797795b6e2a
+MISC metadata.xml 432 SHA256 588deeb436f4b5fd544e316298013179c108b03ed8f7d52660356d4f435ccc0d SHA512 f6f073a198d89d195daa4da1c4c8bdf631258db0ff8cc5fefd9d8a6d93beb38081d37a70df0d0f62d7bf79f7595a3456d88ac0c724535d8c453f3096d2256b96 WHIRLPOOL 5c8c9177ab46a2ef05a6071e792a97a5fb6f156b3d211224e4fe840007f8601104308acd1d99cb21b5fe267d4d5d0e5dd7627a103e2212619bfa007da99a2c01
diff --git a/games-emulation/fceux/fceux-2.2.2-r1.ebuild b/games-emulation/fceux/fceux-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..74031cc29a93
--- /dev/null
+++ b/games-emulation/fceux/fceux-2.2.2-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils scons-utils games
+
+DESCRIPTION="A portable Famicom/NES emulator, an evolution of the original FCE Ultra"
+HOMEPAGE="http://fceux.com/"
+SRC_URI="mirror://sourceforge/fceultra/${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gtk logo +lua +opengl"
+
+DEPEND="lua? ( dev-lang/lua:0 )
+ media-libs/libsdl[opengl?,video]
+ logo? ( media-libs/gd[png] )
+ opengl? ( virtual/opengl )
+ gtk? ( x11-libs/gtk+:3 )
+ sys-libs/zlib[minizip]"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-warnings.patch
+}
+
+src_compile() {
+ escons \
+ GTK=0 \
+ CREATE_AVI=1 \
+ SYSTEM_LUA=1 \
+ SYSTEM_MINIZIP=1 \
+ $(use_scons gtk GTK3) \
+ $(use_scons logo LOGO) \
+ $(use_scons opengl OPENGL) \
+ $(use_scons lua LUA)
+}
+
+src_install() {
+ dogamesbin bin/fceux
+
+ doman documentation/fceux.6
+ docompress -x /usr/share/doc/${PF}/documentation /usr/share/doc/${PF}/fceux.chm
+ dodoc -r Authors changelog.txt TODO-SDL bin/fceux.chm documentation
+ rm -f "${D}/usr/share/doc/${PF}/documentation/fceux.6"
+ make_desktop_entry fceux FCEUX
+ doicon fceux.png
+ prepgamesdirs
+}
diff --git a/games-emulation/fceux/files/fceux-2.2.2-warnings.patch b/games-emulation/fceux/files/fceux-2.2.2-warnings.patch
new file mode 100644
index 000000000000..f0af4631abda
--- /dev/null
+++ b/games-emulation/fceux/files/fceux-2.2.2-warnings.patch
@@ -0,0 +1,33 @@
+diff -ru fceux-2.2.2.orig/src/input.cpp fceux-2.2.2/src/input.cpp
+--- fceux-2.2.2.orig/src/input.cpp 2013-06-15 15:44:11.000000000 -0400
++++ fceux-2.2.2/src/input.cpp 2014-12-31 01:32:46.302001912 -0500
+@@ -1161,7 +1161,7 @@
+ // FIXME this will always evaluate to true, should this be
+ // if (*lastSavestateMade...) to check if it holds a string or just
+ // a '\0'?
+- if (lastSavestateMade && (undoSS || redoSS))
++ if (*lastSavestateMade && (undoSS || redoSS))
+ SwapSaveState();
+ }
+
+diff -ru fceux-2.2.2.orig/src/state.cpp fceux-2.2.2/src/state.cpp
+--- fceux-2.2.2.orig/src/state.cpp 2013-09-18 19:03:59.000000000 -0400
++++ fceux-2.2.2/src/state.cpp 2014-12-31 01:33:11.453155054 -0500
+@@ -1048,7 +1048,7 @@
+ //Both files must exist
+ //--------------------------------------------------------------------------------------------
+
+- if (!lastSavestateMade)
++ if (!*lastSavestateMade)
+ {
+ FCEUI_DispMessage("Can't Undo",0);
+ FCEUI_printf("Undo savestate was attempted but unsuccessful because there was not a recently used savestate.\n");
+@@ -1153,7 +1153,7 @@
+ void RedoLoadState()
+ {
+ if (!redoLS) return;
+- if (lastLoadstateMade && redoLS)
++ if (*lastLoadstateMade && redoLS)
+ {
+ FCEUSS_Load(lastLoadstateMade);
+ FCEUI_printf("Redoing %s\n",lastLoadstateMade);
diff --git a/games-emulation/fceux/metadata.xml b/games-emulation/fceux/metadata.xml
new file mode 100644
index 000000000000..a6bb4cbf9bfa
--- /dev/null
+++ b/games-emulation/fceux/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="logo">Enable the ability to add a logo screen when creating AVIs</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">fceultra</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/gambatte/Manifest b/games-emulation/gambatte/Manifest
new file mode 100644
index 000000000000..e82f24a2a42e
--- /dev/null
+++ b/games-emulation/gambatte/Manifest
@@ -0,0 +1,5 @@
+DIST gambatte-0.5.0_p20131102.tar.xz 353212 SHA256 894040f47f3f5cc6e320d7ee9ac5370fb4301261ceee535c5e4ae5550f0e9ff0 SHA512 9f27af85d2fceb128231eb3e5bf2806a1773c575990296f37eb3c0a14bca5c72f7f161cdf77f710f4ff85b2b3266db9ba098e5ef6772bc5bf7b2c97b8281999b WHIRLPOOL 4ec8bc24bc3d5a443b2b938d8ed6d7164770d7788abc5251639b40f12417989185fa8cfa36abadb0c19fae34937411ad63f4fffa17f4ccecd39f37ace4e03c33
+EBUILD gambatte-0.5.0_p20131102.ebuild 2078 SHA256 1bac32cbc6ea8366c76b6f17abc63f269484586ed384d1f87bb8256a1f356cd5 SHA512 cce8a047ae8d7efde460c5986baf4fe3fc50e98cd63df1896b87cccb69bb94bd72d5fc1b7d11cc15a7f925f7fed5c20e9902f58fb0cf641ae708884120813ef7 WHIRLPOOL 9ecf02e44e5a459c3c88140c995106d76356f7f144f3c29951d453dab29b3b872e061ef76a14b7fb990a01c21bed22e671d0b737a47fffcb2009545fad52e6b0
+MISC ChangeLog 3163 SHA256 0dfe4ff512d03181f9e6a1913f2e9dfc0fe96ae6f181c45beebe7f836bbcebff SHA512 52361f748c879ca3b0f92b3704e3cd2f02dd4aa0d149983e417796d2d215debe5e9a0efb65f80d10421bf25fef50d57a24b9343ebd04145127da5eae3b4471cd WHIRLPOOL c5c95cc86f717f46fd346d7f54bfe67404971e8f15f2452793cdff85641bd45d52c5fc20153510ddb0df9107fb54444a7db2d117821832aef89c85d8ee79e5a6
+MISC ChangeLog-2015 1924 SHA256 81f96022e7fe87ddcc944f9400106f858d71cbd2cf2434e02aaae8da63723617 SHA512 e3b11a859facae0df1bcaeb5f676bcb00def95a8c2bfeae77891c1efeb004ebd88300b6f6030ac2ac5928385bc7590eb8dfb2035fa8f52a5d8119dd301fef9ed WHIRLPOOL d5a2dbc143da5f18a71f6a096b6f0ba0e410a087f259df484e89fa3ecb9d85233ad23d52395c62742832ecf6eeca8aab90c929689e5c691ffd959e8dc33de8cd
+MISC metadata.xml 331 SHA256 286c43b7df2c17448b28d57c7df9b031d285feffa3634e0f08665bdf7423cb90 SHA512 c46ee0b944bbf88420eb47c11f60d00a6516fe2bb28b5078e8f11857636f16381969cac9edb98d554d07d0894c224817e12560410092ca532da036e697433b1a WHIRLPOOL b0fb76ea8f28d40f3a199b8546871ee9cfdf2c566fbf6312ea57ac761b503e1ea67bbef4537cbd24b784b7bd72373fc8cf3abfdb1cdedec419710ee837bc3dd2
diff --git a/games-emulation/gambatte/gambatte-0.5.0_p20131102.ebuild b/games-emulation/gambatte/gambatte-0.5.0_p20131102.ebuild
new file mode 100644
index 000000000000..5881cbd1ec78
--- /dev/null
+++ b/games-emulation/gambatte/gambatte-0.5.0_p20131102.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit scons-utils qt4-r2 games
+
+DESCRIPTION="An accuracy-focused Gameboy / Gameboy Color emulator"
+HOMEPAGE="https://sourceforge.net/projects/gambatte"
+SRC_URI="https://dev.gentoo.org/~hasufell/distfiles/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="qt4 +sdl"
+REQUIRED_USE="|| ( qt4 sdl )"
+
+RDEPEND="
+ sys-libs/zlib
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ media-libs/alsa-lib
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXrandr
+ x11-libs/libXv
+ )
+ sdl? ( media-libs/libsdl[X,sound,joystick,video] )"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils"
+
+fix_scons() {
+ local i
+ for i; do
+ cat >> $i << END
+import os
+import SCons.Util
+
+if os.environ.has_key('AR'):
+ env['AR'] = os.environ['AR']
+if os.environ.has_key('RANLIB'):
+ env['RANLIB'] = os.environ['RANLIB']
+if os.environ.has_key('CC'):
+ env['CC'] = os.environ['CC']
+if os.environ.has_key('CFLAGS'):
+ env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+if os.environ.has_key('CXX'):
+ env['CXX'] = os.environ['CXX']
+if os.environ.has_key('CXXFLAGS'):
+ env['CXXFLAGS'] += SCons.Util.CLVar(os.environ['CXXFLAGS'])
+if os.environ.has_key('CPPFLAGS'):
+ env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CPPFLAGS'])
+if os.environ.has_key('LDFLAGS'):
+ env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
+END
+ done
+}
+
+src_prepare() {
+ # Fix zlib/minizip build error
+ sed -i \
+ -e '1i#define OF(x) x' \
+ libgambatte/src/file/unzip/{unzip,ioapi}.h \
+ || die "sed iompi.h failed"
+
+ fix_scons {gambatte_sdl,libgambatte}/SConstruct
+}
+
+src_compile() {
+ # build core library
+ cd "${S}"/libgambatte || die
+ escons
+
+ # build sdl frontend
+ if use sdl; then
+ cd "${S}"/gambatte_sdl || die
+ escons
+ fi
+
+ # build qt frontend
+ if use qt4; then
+ cd "${S}"/gambatte_qt || die
+ eqmake4 ${PN}_qt.pro
+ emake
+ fi
+}
+
+src_install() {
+ use sdl && dogamesbin gambatte_sdl/gambatte_sdl
+ use qt4 && dogamesbin gambatte_qt/bin/gambatte_qt
+
+ dodoc README changelog
+
+ prepgamesdirs
+}
diff --git a/games-emulation/gambatte/metadata.xml b/games-emulation/gambatte/metadata.xml
new file mode 100644
index 000000000000..a2f679865cad
--- /dev/null
+++ b/games-emulation/gambatte/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gambatte</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/gcube/Manifest b/games-emulation/gcube/Manifest
new file mode 100644
index 000000000000..135df7ae06f2
--- /dev/null
+++ b/games-emulation/gcube/Manifest
@@ -0,0 +1,8 @@
+AUX gcube-0.4-gcc47.patch 425 SHA256 f8c3577d291735e53c660ca6294753d85f71a8b47b35139b8eda9ab56c7b0535 SHA512 efff9f47acb46cb406ef61f7125840200e6692fe94d26ed6f8c86cda9aa15fedae2d7cd673035849724bed1bee7d6116cf3467d66df94b322c746db33ac099ac WHIRLPOOL 51dd12f3e37a9ae8fcba0c24ea6b206bbab67192ede56bc781628b19ea686079fa86a9425f2cb82eb9099ac4addea914833c2c1c0e2808e65e1a93b8c927f1ff
+AUX gcube-0.4-ldflags.patch 911 SHA256 a57d1a126f2898d4241e1e3ccd4a2c5283dc6585ca624d43d2170b75c9dcbef5 SHA512 c0ff07a641b1df088313406feac730dbbee74f4451dc1bf4c0c8e9c6e53206d3a93292bbfc09db70f3d791a654523b1ffdde51057f6d101c3b6e9c8e636c851d WHIRLPOOL 013a914bd737f4e070068f4a2330f198af3e9ed38ab6f0a098fe894ad068bbceeb58a4af77cec9f3ddb9d42bac5438e3d9d2b4b65d47acb7323ce82603b1fbcf
+AUX gcube-0.4-underlink.patch 443 SHA256 6640d32dd364930c204fff627743bce2dc75bda7590cbd22366a946ac445975b SHA512 c372ba4447fca9c4f28aab14da05d15780e45e98b061eace8bf1f5494185809f1466890fa0581e001a2886d6a9d34c2365e36ea94f3bc64fe1bdbecde94676e9 WHIRLPOOL 2dc95356c6b26f317dc9ae696909fc6fbe68bdd3eb11466d851b484018020f90c25b6285286fa4a56a836f18ccf648db8018a58290c015291597f31f756b0773
+DIST gcube-0.4-src.tar.bz2 803503 SHA256 e2fe9b198ea627ec6b1be98b06a620d1f32f373c94161ea042319dbf6cb10418 SHA512 f73665386d547322f20ed5e358f4f394b07d74fd90bddbfe1158a7a5d896bff36dabc9833f2d820a7af7673b8c8af62490f7fa07b06a2bbca4df6356a1e3c91a WHIRLPOOL d36dbe8aff85acfdd8ab7faec11c452fff8a74b8aea2c7dbaa824a8308c89474e30d2b49fef20048ea773c0406550808717eeffba1a3c8b13f01931c0365e63f
+EBUILD gcube-0.4-r1.ebuild 945 SHA256 45f3a53a983d86d2f9c118708d51b01834264528f8d1c1af51f1f352e8354b4e SHA512 6b70a345c39ae542a49e7884fb123f28cc90f31fb1c8e7b7d5ed15bf4b0e2c88f345526efbd42fe5c20e27aca4333135c39f051744e8d73fbf0e3f486584f347 WHIRLPOOL a6ed43576d8cc94d5b5fdc321bf279f7c219e5988c8fd71504d500767a8dd014447c8c240ccea511f4580456d92a262133a19c5614a1a3f1e11f0198e8719737
+MISC ChangeLog 2820 SHA256 15af703c372028e82cb04da9f45ccd7d0f42c5a30629a31f6cc08a590c3774bb SHA512 1e8712ed56c02e332f65ac86f7906ce8e2354731e46b760946fa445c7d0f12500c99fd5d28e6ef24e1989a26bc7e4c4ba4f69f028082d222b278b4b4d92d373a WHIRLPOOL 974ff7e024eda4ee789ddff37d2d9ac275639df02873d640ec1830dd98370d867688de3dbcde07e30244343b3179c5045312dafbdf9f0242ccc940187d401b06
+MISC ChangeLog-2015 2181 SHA256 84eec000f6f05a527464998e44923ccef5c278ee720ec97edbfa5b4d75e1e6f3 SHA512 031f69ef70127e40dcaa92a7f3e49e65586c4750322de40b4a1af38dafe42a2b961d535a84aae5ee0926d769a55c76711074790316616d0628b9cdb66a383f09 WHIRLPOOL 9e4434b8c36c71b47364bc21f69ee1bf4544c751f67d1d81c1de15838ef05fd02bb4cfcda29f245245281668f9d433cc3c111c692c25e1e8faad1dd12952c338
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/gcube/files/gcube-0.4-gcc47.patch b/games-emulation/gcube/files/gcube-0.4-gcc47.patch
new file mode 100644
index 000000000000..b459a4e24034
--- /dev/null
+++ b/games-emulation/gcube/files/gcube-0.4-gcc47.patch
@@ -0,0 +1,10 @@
+--- Makefile.rules.old 2012-10-23 14:06:54.417782365 +0200
++++ Makefile.rules 2012-10-23 14:07:11.516377033 +0200
+@@ -1,6 +1,6 @@
+
+ SDL_CONFIG=sdl-config
+-LIBS=`$(SDL_CONFIG) --libs` -mno-windows -mcygwin -lz -l$(OPENGL) -lm
++LIBS=`$(SDL_CONFIG) --libs` -lz -l$(OPENGL) -lm
+
+ PROFLAGS=-g -Wall -pg -fprofile-arcs -ftest-coverage
+ OPTFLAGS=-O3 -fno-strict-aliasing -fomit-frame-pointer -ffast-math -march=$(CPU) $(OPTIMIZE)
diff --git a/games-emulation/gcube/files/gcube-0.4-ldflags.patch b/games-emulation/gcube/files/gcube-0.4-ldflags.patch
new file mode 100644
index 000000000000..169472ee1851
--- /dev/null
+++ b/games-emulation/gcube/files/gcube-0.4-ldflags.patch
@@ -0,0 +1,30 @@
+--- Makefile.rules.old 2010-10-01 07:16:16.000000000 +0200
++++ Makefile.rules 2010-10-01 07:18:04.000000000 +0200
+@@ -88,22 +88,22 @@
+ profiler: default
+
+ gcube: $(OBJECTS) gcube.o
+- $(CC) $(CFLAGS) $^ -o $@ $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $^ -o $@ $(LIBS)
+
+ gcubedbg: $(OBJECTS) gcubedbg.o cpu_dbg.o
+ $(CC) $(CFLAGS) $^ -o $@ $(LIBS)
+
+ bin2dol: bin2dol.c general.o
+- $(CC) $(CFLAGS) $^ -o $@
++ $(CC) $(LDFLAGS) $(CFLAGS) $^ -o $@
+
+ tplx: tplx.o general.o
+- $(CC) $(CFLAGS) $^ -o $@
++ $(CC) $(LDFLAGS) $(CFLAGS) $^ -o $@
+
+ thpview: thpview.o general.o jpeg_tools.o
+- $(CC) $(CFLAGS) `$(SDL_CONFIG) --cflags` $^ -o $@ -ljpeg `$(SDL_CONFIG) --libs`
++ $(CC) $(LDFLAGS) $(CFLAGS) `$(SDL_CONFIG) --cflags` $^ -o $@ -ljpeg `$(SDL_CONFIG) --libs`
+
+ isopack: isopack.o general.o
+- $(CC) $(CFLAGS) $^ -o $@ -lz
++ $(CC) $(LDFLAGS) $(CFLAGS) $^ -o $@ -lz
+
+ ppc_disasm.o: ppc_disasm.c
+ $(CC) -g -c -o $@ $<
diff --git a/games-emulation/gcube/files/gcube-0.4-underlink.patch b/games-emulation/gcube/files/gcube-0.4-underlink.patch
new file mode 100644
index 000000000000..f1cff91cb158
--- /dev/null
+++ b/games-emulation/gcube/files/gcube-0.4-underlink.patch
@@ -0,0 +1,10 @@
+--- Makefile.rules.old 2011-06-10 14:14:08.372105234 +0200
++++ Makefile.rules 2011-06-10 14:14:18.504746649 +0200
+@@ -1,6 +1,6 @@
+
+ SDL_CONFIG=sdl-config
+-LIBS=`$(SDL_CONFIG) --libs` -mno-windows -mcygwin -lz -l$(OPENGL)
++LIBS=`$(SDL_CONFIG) --libs` -mno-windows -mcygwin -lz -l$(OPENGL) -lm
+
+ PROFLAGS=-g -Wall -pg -fprofile-arcs -ftest-coverage
+ OPTFLAGS=-O3 -fno-strict-aliasing -fomit-frame-pointer -ffast-math -march=$(CPU) $(OPTIMIZE)
diff --git a/games-emulation/gcube/gcube-0.4-r1.ebuild b/games-emulation/gcube/gcube-0.4-r1.ebuild
new file mode 100644
index 000000000000..20e4ff5d4358
--- /dev/null
+++ b/games-emulation/gcube/gcube-0.4-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic games
+
+DESCRIPTION="Gamecube emulator"
+HOMEPAGE="http://gcube.exemu.net/"
+SRC_URI="http://gcube.exemu.net/downloads/${P}-src.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ media-libs/libsdl[joystick,opengl,sound,video]
+ virtual/jpeg:0
+ sys-libs/ncurses:0
+ sys-libs/zlib"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${PV}
+
+src_prepare() {
+ sed -i -e '/^CFLAGS=-g/d' Makefile.rules || die
+ epatch "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-underlink.patch \
+ "${FILESDIR}"/${P}-gcc47.patch
+ sed -i -e '/^CC=/d' Makefile || die
+ append-cflags -std=gnu89 # build with gcc5 (bug #570504)
+}
+
+src_install() {
+ local x
+
+ dogamesbin gcmap gcube
+ for x in bin2dol isopack thpview tplx ; do
+ newgamesbin ${x} ${PN}-${x}
+ done
+ dodoc ChangeLog README
+ prepgamesdirs
+}
diff --git a/games-emulation/gcube/metadata.xml b/games-emulation/gcube/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/gcube/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/generator/Manifest b/games-emulation/generator/Manifest
new file mode 100644
index 000000000000..b0abf82b9355
--- /dev/null
+++ b/games-emulation/generator/Manifest
@@ -0,0 +1,7 @@
+AUX generator-0.35_p4-configure.patch 3630 SHA256 229f6624cf3a016124942d5f2a78b425f791e125ddf3aa9cc26473d5e1cdc465 SHA512 ab863e180d8ffc3c57c40f1e99f7230c3894da7afa028205299550b9b8db01d1dc6bac9060e1488ecd48628843acb171260bc39d71a462f518b519139dff3cc5 WHIRLPOOL 1c85baa0e12c5d75b4213776df2c222b183f56bd55b31951f81c384863ce5b3b3f95bdbe77a739d3dbbc28598fb698f218af11244f8b5668ab6bf7c3d92a2fc0
+AUX generator-0.35_p4-underlink.patch 509 SHA256 29f6596eafca13f33f7b8bae3ecd292f3fef96cd4c622e9481b7932d66c8ef44 SHA512 075bd9e588aa9b230d446ece3661ae3236deee2175b0e0d25645c717846b0261341a30f4df239fe3b7092be0db612d26f504d7df6e2969e2889654cdc4decfd3 WHIRLPOOL 7e4d2109e578a105b8c5404bcdc17b1b80437a72eddad00c187d4de68a4ab519dc22e6d32b810bec7bd5c5c1eb8747c9cd056ed537d4a046f792ad538bd4f670
+DIST generator-0.35-cbiere-r4.tar.bz2 435289 SHA256 54f3a94ed441cfd05d66e7730126c65287f3c1503f13987653c6db84739a79b6 SHA512 73fd36d8004135c172025b3eb3385f731e294935413d7ac905672f1a88434ca332325821c5f15d5ae83fb1385fcde9f1e7f32242f8ac175bb96bd535b5d91620 WHIRLPOOL 446345f838f6c79a31434eda2bb29ff8169036dc6fb26ee11b7adcdb4e7932c62f02fdb468c7a5125b0245b1eae6ffad34ec0d239702e5e1d975504efb7d190b
+EBUILD generator-0.35_p4.ebuild 1073 SHA256 946c153cd65f1ab15c4c37334f99cf61d55279e2a657712127d56f7ac9506063 SHA512 2ccb1f0b9e587bee609dab2353cd8e85af73cdb62d5750eb38e2348a85274499d4995d08eb57a54714977607c18e400231aa4e4e8da9543ec3d4b59d2966086f WHIRLPOOL 027d522ab1a721a85682716212ddf9c7cbb77c6034f6cf260674363550a3e38d049d07ac87b4d102c220cca5aa5480005edb597cdbb7afbd3f4a4b51699bf5f4
+MISC ChangeLog 2746 SHA256 d3cda175e398898f20d4224656e938c0689eab36c5125f7067e298f4632ae466 SHA512 265ffe6bf917275b2d08f4fc35f76943ca331ade057660af7eb1b38515e83bb6f1d347c4c4f71786f45451ce53040d2e3db4b1143f8f0c54254b0fd42437bfce WHIRLPOOL 9f935ff5d937098efad80564d153722165426275cf0020370c251e6f46267563e556bb603b9aebb6ebf2b2c1da83a195c74249c3cd8106e520faa2672e17d79f
+MISC ChangeLog-2015 5503 SHA256 d4529c0cd8ee024bc0d8863976459ac767d5f21eaabdfd148f4e8ee2de16acbe SHA512 7d9f3f7d1d9014d283459c7e5f7fb078ef60bb5decfce8a93e25f96fc54fa6baa5d191d28bb628f308b017a4074f8089f41379ebfad1e5a26634cf06fe418d45 WHIRLPOOL da54130d06f663620a002b2b5fc0fd7958d5da93d46f8ebd20a33d94eef1ccfb0540d1cbda036b07d179bc9ba9753122a71b3f6b1810d394c9bd437cde3a641f
+MISC metadata.xml 326 SHA256 a6f3710e0d6e11093194b4640a4f39ac6aaadc7a648100edb61c0e48b85d638a SHA512 10d43e88d746f422d5751b87175a6ec76468d1f829d65aa554acced5075cfa39b6fd0d589a87d71a3127f70a718653e24444710f3e669dab3c0587a6b138ca67 WHIRLPOOL fb7aab2864a69e3eca06c8d1ecc9bf22cb5b752ec354962b57685944fcc2894e19498880c1b30775b519d0103f577835f5bedfecd4f79b2e266c9e1668513f32
diff --git a/games-emulation/generator/files/generator-0.35_p4-configure.patch b/games-emulation/generator/files/generator-0.35_p4-configure.patch
new file mode 100644
index 000000000000..72ed087bd296
--- /dev/null
+++ b/games-emulation/generator/files/generator-0.35_p4-configure.patch
@@ -0,0 +1,94 @@
+--- configure.ac.original 2008-03-17 13:07:48.000000000 -0400
++++ configure.ac 2008-03-17 13:08:03.000000000 -0400
+@@ -28,15 +28,12 @@
+ AC_ARG_WITH(tcltk,
+ AS_HELP_STRING(--with-tcltk,Create tcltk version),
+ MY_PROG="generator-tcltk")
+- AC_ARG_WITH(gtk,
+- AS_HELP_STRING(--with-gtk,Create gtk version),
+- MY_PROG="generator-gtk")
+ AC_ARG_WITH(sdl,
+ AS_HELP_STRING(--with-sdl,Create SDL version),
+ [MY_PROG="generator-sdl"; USE_SDL_AUDIO=yes])
+ if [[ "x$MY_PROG" = "x" ]]; then
+ AC_MSG_ERROR(You must select a user interface type:
+- svgalib allegro tcltk gtk sdl)
++ svgalib allegro tcltk sdl)
+ fi
+ if [[ "x$MY_PROG" = "xgenerator-allegro" ]]; then
+ AC_DEFINE(ALLEGRO, 1, [Allegro version])
+@@ -202,50 +199,6 @@
+ CFLAGS="$CFLAGS -Wstrict-prototypes -Wunused"
+ fi
+ fi
+- if [[ "x$DEBUG" != "xno" ]]; then
+- AC_MSG_RESULT(Turning on debug flags)
+- CFLAGS="$CFLAGS -g -O"
+- optimum=no
+- else
+- if [[ "x$GCCVER" != "xno" ]]; then
+- AC_MSG_RESULT(Turning on gcc optimisations)
+- CFLAGS="$CFLAGS -O3 -fomit-frame-pointer"
+- if [[ "x$GCCVER" = "x3" ]]; then
+- AC_MSG_RESULT(Turning on gcc 3 optimisations)
+- CFLAGS="$CFLAGS -fno-math-errno"
+- fi
+- case "$CFLAGS" in
+- *mcpu*|*march*) AC_MSG_RESULT(Skipping target optimisations)
+- ;;
+- *) case "$target_cpu" in
+- i386) AC_MSG_RESULT(Turning on i386 optimisations)
+- CFLAGS="$CFLAGS -march=i386 -ffast-math"
+- ;;
+- i486) AC_MSG_RESULT(Turning on i486 optimisations)
+- CFLAGS="$CFLAGS -march=i486 -ffast-math"
+- ;;
+- i586) AC_MSG_RESULT(Turning on pentium optimisations)
+- # cannot do malign-double as we link to other libraries and
+- # it would break binary compatibility
+- CFLAGS="$CFLAGS -march=pentium -ffast-math"
+- ;;
+- i?86) AC_MSG_RESULT(Turning on i686 optimisations)
+- # cannot do malign-double as we link to other libraries and
+- # it would break binary compatibility
+- CFLAGS="$CFLAGS -march=i686 -ffast-math"
+- ;;
+- alpha*) AC_MSG_RESULT(Adding -mieee for Alpha)
+- CFLAGS="$CFLAGS -mieee"
+- ;;
+- *) AC_MSG_RESULT(Sorry unknown target CPU)
+- ;;
+- esac
+- esac
+- else
+- AC_MSG_WARN(You did not opt for gcc optimisations!)
+- optimum=no
+- fi
+- fi
+ AC_CHECK_LIB(jpeg, jpeg_start_compress,
+ [ MY_LIBS="-ljpeg $MY_LIBS"; AC_DEFINE(JPEG, 1, [JPEG features]) ])
+
+@@ -272,14 +225,7 @@
+
+ AC_PATH_XTRA
+
+- if [[ "x$MY_PROG" = "xgenerator-gtk" ]]; then
+- MY_SUBDIRS="glade gtkopts $MY_SUBDIRS"
+- AM_PATH_GTK(1.2.10,,AC_MSG_ERROR(Generator needs gtk 1.2.10 or later))
+- AM_PATH_SDL(1.2.6,,AC_MSG_ERROR(Generator needs sdk 1.2.6 or later))
+-
+- MY_LIBS="$MY_LIBS $X_PRE_LIBS $X_LIBS $X_EXTRA_LIBS"
+- CFLAGS="$CFLAGS $X_CFLAGS"
+- elif [[ "x$MY_PROG" = "xgenerator-sdl" ]]; then
++ if [[ "x$MY_PROG" = "xgenerator-sdl" ]]; then
+ MY_SUBDIRS="gtkopts $MY_SUBDIRS"
+ AM_PATH_SDL(1.2.6,,AC_MSG_ERROR(Generator needs sdk 1.2.6 or later))
+
+@@ -305,6 +251,7 @@
+ AC_CHECK_SIZEOF(unsigned long, 4)
+ AC_CHECK_SIZEOF(unsigned long long, 8)
+ AC_CHECK_HEADERS(sys/param.h)
++ AC_CHECK_HEADERS(sys/time.h)
+ AC_CHECK_HEADERS(bzlib.h)
+ AC_CHECK_HEADERS(zlib.h)
+ AC_CHECK_HEADERS(tcl8.0.h)
diff --git a/games-emulation/generator/files/generator-0.35_p4-underlink.patch b/games-emulation/generator/files/generator-0.35_p4-underlink.patch
new file mode 100644
index 000000000000..964a6bea0883
--- /dev/null
+++ b/games-emulation/generator/files/generator-0.35_p4-underlink.patch
@@ -0,0 +1,11 @@
+--- main/Makefile.am.old 2011-06-20 21:35:25.832460030 +0200
++++ main/Makefile.am 2011-06-20 21:36:29.490503981 +0200
+@@ -7,7 +7,7 @@
+ bin_PROGRAMS = @PROGRAM@
+ EXTRA_PROGRAMS = generator-svgalib generator-tcltk generator-allegro \
+ generator-gtk generator-sdl
+-LDADD = ../cpu68k/lib68k.a ../ym2612/libym2612.a @MY_LIBS@ \
++LDADD = ../cpu68k/lib68k.a ../ym2612/libym2612.a @MY_LIBS@ -lm \
+ ../sn76496/libsn76496.a
+
+ ## this should be generator_tcltk_DATA but it won't let me do that
diff --git a/games-emulation/generator/generator-0.35_p4.ebuild b/games-emulation/generator/generator-0.35_p4.ebuild
new file mode 100644
index 000000000000..1cda1f3e23e0
--- /dev/null
+++ b/games-emulation/generator/generator-0.35_p4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils toolchain-funcs games
+
+MY_P=${PN}-${PV/_p/-cbiere-r}
+DESCRIPTION="Sega Genesis / Mega Drive emulator"
+HOMEPAGE="http://www.squish.net/generator/"
+SRC_URI="http://www.squish.net/generator/cbiere/generator/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+sdlaudio"
+
+DEPEND="virtual/jpeg:0
+ media-libs/libsdl[joystick,video]
+ sdlaudio? ( media-libs/libsdl[sound] )"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-configure.patch \
+ "${FILESDIR}"/${P}-underlink.patch
+
+ sed -i -e 's/@GTK_CFLAGS@//g' main/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ --with-cmz80 \
+ --with-sdl \
+ --without-tcltk \
+ --with-gcc=$(gcc-major-version) \
+ $(use_with sdlaudio sdl-audio)
+}
+
+src_compile() {
+ [[ -f Makefile ]] && emake clean
+ emake -j1
+}
+
+src_install() {
+ dogamesbin main/generator-sdl
+ dodoc AUTHORS ChangeLog NEWS README TODO docs/*
+ prepgamesdirs
+}
diff --git a/games-emulation/generator/metadata.xml b/games-emulation/generator/metadata.xml
new file mode 100644
index 000000000000..4f260fbfd598
--- /dev/null
+++ b/games-emulation/generator/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="sdlaudio">Enable SDL Audio</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-emulation/gens/Manifest b/games-emulation/gens/Manifest
new file mode 100644
index 000000000000..9ffe2810e1d3
--- /dev/null
+++ b/games-emulation/gens/Manifest
@@ -0,0 +1,9 @@
+AUX gens-2.15.5-as-needed.patch 363 SHA256 098425ef1bbd9f3c851dcbf709021faf97f25b34688a76e5173007efa47a13fa SHA512 f45c01cd60ac989123a226eb11341d5470dd2b0a4e03057cd4923b1314a08e88a5c2076363d1cb2321a016ae4073d90967b02acc29ca2f1a5e37f7c367efcea4 WHIRLPOOL 02d449d7ef9b914783fc223b541ae9f4837e5d70a2776f4d9824b472fced52cd7648e62595a628a6cdea9b3a51a040c91022c0b224ab0108f722191c0f0c7853
+AUX gens-2.15.5-gcc34.patch 1545 SHA256 3a47a7a75b002feea397e37f2bfe7f7e7dcda70db8f6fb54366308897e2e259f SHA512 8af2946ac09a18adc2d35ea7797acfdb107b86b29b6bf412a87080e4cc66e45bb5a61823095766bde2ca3e95768a1ac243e39b1d06f9bd99f20b7fdec71d1ef0 WHIRLPOOL 24ccea47b9716f744504bd9b206d5dc13e603a2fd1594db41ad86508d617310d9fc1997653353220bf0cb5412b0bccc9118176d64c9060ff712f208ffd87b842
+AUX gens-2.15.5-ovflfix.patch 577 SHA256 bdf0897492eadbbd062595814e61aba542964221c00f0cc24405a36c314e4eb7 SHA512 8c878b929f8a13bd8e33730cd09a4ebab4f47ed07ab02af88815ae8d02fd0d7a64ad44a4e369e2ad086022de207957dc88f99738bca737e50e18e951165f2631 WHIRLPOOL e738d64c49c7771acb7c36965d35a57d0c50e56271183e402076d645dce8f059e49eec995ad92f25fd5598d87f13345b93a06deb699ad860449d000a29d5f820
+AUX gens-2.15.5-romsdir.patch 571 SHA256 f03f74259712ac3d9a2d536e69583d69019d9bce87d699ce831039b1c722f00a SHA512 02dbdb3410ce62fc17469f0e8b2ee4d14025b218c71c4b27af8dfe71d319d51710b111e2104009f06579a3b499971218b72d75a993862e2657388a5194caa73f WHIRLPOOL f339f68111bfe57f3046c81a8e901e120f53f1d8e7dd9f4682d45c9e75e5a609d4058cdbe5289ef39e85a29ce9a35358c2c98e6837005909547941771bca6306
+DIST gens-2.15.5.tar.gz 741852 SHA256 51910d3056da9ffbb2c01cfec064998c9a4cad0cb379d703ec1b93c83dba305a SHA512 7163f6a1e09bac420e0e4aa0f8f3ed255406d9aff3cc7366c40226e7fece78baca5428d0fe87daf0f12f6e10b428477a795b54d008db5e3dcbf7692ed9d9fe7d WHIRLPOOL 282cced72eea63eb01b22612c5c40a4dc412b27d1fa3215a59da33a33541003172d57d442bced4d74cef89c3f3c443d2e7ca8cbd670a559a5cd8a3fc88b74696
+EBUILD gens-2.15.5.ebuild 992 SHA256 41b9621a70ebc857ebed2d280c18b1daeda2dcedab40cfd0a6cf2a642363ef89 SHA512 0deac0c45f3aa39df5602cb824f75eb4bc90ce9be74b73315bd4820a7438fa31307d0a255d3b7246112ce462c14b444ad66d3091f089b5a5f37af2d100951c61 WHIRLPOOL 6abe05c977803bdc5dc6895e45b3eb1bb13c003efabc8cffbf9e8ec10107ff76902628b330344d7f4431a96b8708db3f6e38a5eb90535fdfc884f3c84205f7fb
+MISC ChangeLog 2710 SHA256 8dd7c0445e21304bfcaff7dcc05783388045414fca4d01dc0d8365da349ebb33 SHA512 5de1642d84cfb071f09ed872bab97ba43438048e80f405f90eebd3d48e351206edec6d0b76b1be9cacfc24635c0167b7402225ecb07403d9aef5ebb6764e85bc WHIRLPOOL decc13ba7f84c17b4356c7bb9ba354e4649aa644e1081281376c711ceeebdfd5cf835fc144b43c3ce41686ca14c6d6e90683336dd61fb35e025ec7106bac6fa1
+MISC ChangeLog-2015 3117 SHA256 e60dc4a488fe6bb36dfd11c1a851f31b95dbdcdbfdac9df685a4209d2526fb4e SHA512 560fa568e7fc56b079ea616378015696d3898e3db942f5d2fe0a397c240e1e63a53e27a3c9fcf655803a60174b340d19f6f4029294f5a13d5407335891ffde56 WHIRLPOOL 58d103232ea9993c5d76d344bd042bd3e45becab4fc5515970b2d27715861cacae4d3c503541032d52ad43f80aedf416f336f3c6098b02ae69c7ae0934385db2
+MISC metadata.xml 327 SHA256 58fb7c3e5a7d3badc23cfcffcae94824028e54ff684a1584e60af17ade9ad221 SHA512 651fefa76d513b3f2a0ecf865547bf7046605ef21fa689e620820464a28b3b2e5b288623e7ca71bcae93cc016871240025caf1fdb04a45a0695ec457098434b4 WHIRLPOOL 7bf170f41ce84e579e55eadb27e9da228dea9beaa9e0c47405eb76bc80d7d43e1dbbc75a1430b66f45190b57c25e5baf2d6312d1a75d0e4fef7d32aa3c46d66d
diff --git a/games-emulation/gens/files/gens-2.15.5-as-needed.patch b/games-emulation/gens/files/gens-2.15.5-as-needed.patch
new file mode 100644
index 000000000000..02aed32b802c
--- /dev/null
+++ b/games-emulation/gens/files/gens-2.15.5-as-needed.patch
@@ -0,0 +1,11 @@
+--- configure.old 2009-02-04 14:41:40.000000000 +0100
++++ configure 2009-02-04 14:48:52.000000000 +0100
+@@ -4929,7 +4929,7 @@
+ { echo "$as_me:$LINENO: result: $with_opengl" >&5
+ echo "${ECHO_T}$with_opengl" >&6; }
+ if test x$with_opengl = xyes; then
+- LDFLAGS="$LDFLAGS -lGL"
++ LIBS="$LIBS -lGL"
+
+ fi
+ fi
diff --git a/games-emulation/gens/files/gens-2.15.5-gcc34.patch b/games-emulation/gens/files/gens-2.15.5-gcc34.patch
new file mode 100644
index 000000000000..77acd5c4e970
--- /dev/null
+++ b/games-emulation/gens/files/gens-2.15.5-gcc34.patch
@@ -0,0 +1,46 @@
+from https://sourceforge.net/p/gens/patches/25/
+
+--- gens.orig/src/gens/gens_core/cpu/68k/cpu_68k.c 2004-05-22 09:02:12.000000000 -0700
++++ gens/src/gens/gens_core/cpu/68k/cpu_68k.c 2005-03-21 10:52:24.000000000 -0800
+@@ -24,9 +24,9 @@
+
+ struct STARSCREAM_PROGRAMREGION M68K_Fetch[] = {
+ {0x000000, 0x3FFFFF, (unsigned) 0x000000},
+- {0xFF0000, 0xFFFFFF, (unsigned) &Ram_68k[0] - 0xFF0000},
+- {0xF00000, 0xF0FFFF, (unsigned) &Ram_68k[0] - 0xF00000},
+- {0xEF0000, 0xEFFFFF, (unsigned) &Ram_68k[0] - 0xEF0000},
++ {0xFF0000, 0xFFFFFF, (unsigned) NULL},
++ {0xF00000, 0xF0FFFF, (unsigned) NULL},
++ {0xEF0000, 0xEFFFFF, (unsigned) NULL},
+ {-1, -1, (unsigned) NULL},
+ {-1, -1, (unsigned) NULL},
+ {-1, -1, (unsigned) NULL}
+@@ -60,7 +60,7 @@
+
+
+ struct STARSCREAM_PROGRAMREGION S68K_Fetch[] = {
+- {0x000000, 0x07FFFF, (unsigned) &Ram_Prg[0]},
++ {0x000000, 0x07FFFF, (unsigned) NULL},
+ {-1, -1, (unsigned) NULL},
+ {-1, -1, (unsigned) NULL}
+ };
+@@ -109,6 +109,10 @@
+ int
+ M68K_Init (void)
+ {
++ M68K_Fetch[1].offset=(unsigned) &Ram_68k[0] - 0xFF0000;
++ M68K_Fetch[2].offset=(unsigned) &Ram_68k[0] - 0xF00000;
++ M68K_Fetch[3].offset=(unsigned) &Ram_68k[0] - 0xEF0000;
++
+ memset (&Context_68K, 0, sizeof (Context_68K));
+
+ Context_68K.s_fetch = Context_68K.u_fetch = Context_68K.fetch = M68K_Fetch;
+@@ -134,6 +138,8 @@
+ int
+ S68K_Init (void)
+ {
++ S68K_Fetch[0].offset=(unsigned) &Ram_Prg[0];
++
+ memset (&Context_68K, 0, sizeof (Context_68K));
+
+ Context_68K.s_fetch = Context_68K.u_fetch = Context_68K.fetch = S68K_Fetch;
diff --git a/games-emulation/gens/files/gens-2.15.5-ovflfix.patch b/games-emulation/gens/files/gens-2.15.5-ovflfix.patch
new file mode 100644
index 000000000000..f5b98a54245f
--- /dev/null
+++ b/games-emulation/gens/files/gens-2.15.5-ovflfix.patch
@@ -0,0 +1,13 @@
+--- src/gens/gens_core/cpu/68k/cpu_68k.c.old 2010-10-28 09:34:52.000000000 +0200
++++ src/gens/gens_core/cpu/68k/cpu_68k.c 2010-10-28 09:35:53.000000000 +0200
+@@ -239,8 +239,8 @@
+ memset (Ram_Word_2M, 0, 256 * 1024);
+ memset (Ram_Word_1M, 0, 256 * 1024);
+
+- memset (COMM.Command, 0, 8 * 5);
+- memset (COMM.Status, 0, 8 * 5);
++ memset (COMM.Command, 0, sizeof (COMM.Command));
++ memset (COMM.Status, 0, sizeof (COMM.Status));
+
+ LED_Status = S68K_State = S68K_Mem_WP = S68K_Mem_PM = Ram_Word_State = 0;
+ COMM.Flag = Init_Timer_INT3 = Timer_INT3 = Int_Mask_S68K = 0;
diff --git a/games-emulation/gens/files/gens-2.15.5-romsdir.patch b/games-emulation/gens/files/gens-2.15.5-romsdir.patch
new file mode 100644
index 000000000000..606efe2dd6f9
--- /dev/null
+++ b/games-emulation/gens/files/gens-2.15.5-romsdir.patch
@@ -0,0 +1,13 @@
+diff -ruN gens-rc3.5-opengl/src/gens/util/rom.c gens-rc3.5-opengl-patched/src/gens/util/rom.c
+--- src/gens/util/file/rom.c 2005-01-10 22:24:01.000000000 +0100
++++ src/gens/util/file/rom.c 2006-10-29 14:58:14.000000000 +0100
+@@ -411,6 +411,9 @@
+ create_file_chooser_dialog ("Open Rom", GTK_FILE_CHOOSER_ACTION_OPEN);
+ // fileselection_set_dir (fd.filesel, Rom_Dir);
+ addRomsFilter (widget);
++
++ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget), Rom_Dir);
++
+ res = gtk_dialog_run (GTK_DIALOG (widget));
+ if (res == GTK_RESPONSE_OK)
+ {
diff --git a/games-emulation/gens/gens-2.15.5.ebuild b/games-emulation/gens/gens-2.15.5.ebuild
new file mode 100644
index 000000000000..d683b43a9aa2
--- /dev/null
+++ b/games-emulation/gens/gens-2.15.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic games
+
+DESCRIPTION="A Sega Genesis/CD/32X emulator"
+HOMEPAGE="https://sourceforge.net/projects/gens/"
+SRC_URI="mirror://sourceforge/gens/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+RDEPEND="virtual/opengl
+ >=media-libs/libsdl-1.2[joystick,video]
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ >=dev-lang/nasm-0.98"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-romsdir.patch \
+ "${FILESDIR}"/${P}-as-needed.patch \
+ "${FILESDIR}"/${P}-ovflfix.patch \
+ "${FILESDIR}"/${P}-gcc34.patch
+ sed -i -e '1i#define OF(x) x' src/gens/util/file/unzip.h || die
+ append-ldflags -Wl,-z,noexecstack
+}
+
+src_configure() {
+ egamesconf \
+ --disable-gtktest \
+ --disable-sdltest
+}
+
+src_install() {
+ DOCS="AUTHORS BUGS README gens.txt history.txt" \
+ default
+ newicon pixmaps/gens_small.png ${PN}.png
+ make_desktop_entry "${PN}" "Gens"
+ prepgamesdirs
+}
diff --git a/games-emulation/gens/metadata.xml b/games-emulation/gens/metadata.xml
new file mode 100644
index 000000000000..da30fe35d4bc
--- /dev/null
+++ b/games-emulation/gens/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gens</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/gfceux/Manifest b/games-emulation/gfceux/Manifest
new file mode 100644
index 000000000000..5c72b02294f4
--- /dev/null
+++ b/games-emulation/gfceux/Manifest
@@ -0,0 +1,5 @@
+DIST fceux-2.1.1.src.tar.bz2 3263945 SHA256 5f668de5870e28e4b52fcf8816c17831c0f9597307bd643c226a616a1766bdab SHA512 19a1253a3ff1d88baec5636dbebab287b106e5e114081ab4040f52dfcda28b878af748a759e08dc2fe1381eb8f59e728d36993a9aca9ce184ed8760114cf3149 WHIRLPOOL 198d60dd85064f1a865d710b2da7b7fe883d39a2ec8cc111a407fdff78c43b0f7a0840d2b03717bbff46af8c1ec8aaf91bba3ae44fee6112c956b1a59c7075b7
+EBUILD gfceux-2.1.1-r1.ebuild 1256 SHA256 937f6c16259c05b5dd23fd09e10ec0c0d4193a99cd1123c07eeead9ccc573cbb SHA512 94727eb0f7a19e6be3db993c1f96725accd585b031ea571da6966fae4ed590b18a1d56c8739d903f56f17666f702496afa4dcf211fc8f3e913966a0a0073c8cd WHIRLPOOL e17488b315d9b8fbff56c1b630d271ff0cf1782ddd2c24750e51d3af08080addb7aba79c0cc62425b3fc341c4fe071075c5f2d2cd492032a587d7a3418790c5f
+MISC ChangeLog 2471 SHA256 1d6aed673d0d1e103b1f54799817547c8af002c86fd6044ba4d21ddc894eebbc SHA512 4ee9e7375b806bd0b22826c9a49c226742ed2ac06a81e56c69185616b3945a2a8559900bf579e3575db76e89bd75611398a47abf8c0644bb5a459f10be97612a WHIRLPOOL 4109b66feaab1249f8b962acd9797abcdaa9b2059e2079c1c6a131252e0f72d80342a1704ad691756340cee1a7df383ef13927445764c4da2c38f413a9fcd687
+MISC ChangeLog-2015 1447 SHA256 d09d142ccd1beab968e3dca3aaf375e9ae37f736ab9349590bdb628bbf55ca40 SHA512 092b65b34866c5d4dc00a68e345177fa76fee73af5ba3d283f2ef66e05080d5e396f3aa2d42ff3c601e2d50cc639c5410b60e1d03b2a22cf6cf47611ad0af479 WHIRLPOOL 8f3a18489953c13e29f1d1a9d3b7f1585fefa148f9138862fc2e97c506d347c31d3a021f1024897d437ff1860407acefa66644efe0fb2433786931385bce0e82
+MISC metadata.xml 331 SHA256 de4cfe1913bbfdf3c03de2f9430ea82cec151a4441d377e5432a8b232151187f SHA512 c64be39c5960c471c673a706561fc8962a9badcd31912280acbc999ec6617f72eaf432e0bd6f148fae4967f6c83770d8468c990cd191376f919207ae85037fa7 WHIRLPOOL a162c16d893a3a83ecf97167a2144669c0e5d6e5c24172390388d431878ee41192e3a4a7139511913b86cbe690dcabbe3d5f1383b3427b1aa62afa0f127281ab
diff --git a/games-emulation/gfceux/gfceux-2.1.1-r1.ebuild b/games-emulation/gfceux/gfceux-2.1.1-r1.ebuild
new file mode 100644
index 000000000000..b8cb65bb1707
--- /dev/null
+++ b/games-emulation/gfceux/gfceux-2.1.1-r1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils gnome2-utils distutils-r1 games
+
+DESCRIPTION="A graphical frontend for the FCEUX emulator"
+HOMEPAGE="http://fceux.com"
+SRC_URI="mirror://sourceforge/fceultra/fceux-${PV}.src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-python/pygtk"
+RDEPEND="${DEPEND}
+ games-emulation/fceux"
+
+S=${WORKDIR}/${PN}
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ sed -i \
+ -e "s#data/gfceux.glade#${GAMES_DATADIR}/${PN}/gfceux.glade#" \
+ src/main.py || die
+}
+
+python_install() {
+ distutils-r1_python_install --install-scripts="${GAMES_BINDIR}"
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ distutils-r1_src_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ doicon -s 48 data/${PN}.png
+ newicon -s 128 data/${PN}_big.png ${PN}.png
+
+ # respect games variables
+ dodir "${GAMES_DATADIR}"/${PN}
+ mv "${ED}"/usr/share/${PN}/* "${ED}${GAMES_DATADIR}"/${PN}/ || die
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/gfceux/metadata.xml b/games-emulation/gfceux/metadata.xml
new file mode 100644
index 000000000000..3c71f364aead
--- /dev/null
+++ b/games-emulation/gfceux/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">fceultra</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/gngb/Manifest b/games-emulation/gngb/Manifest
new file mode 100644
index 000000000000..63e80a3eda4c
--- /dev/null
+++ b/games-emulation/gngb/Manifest
@@ -0,0 +1,6 @@
+AUX gngb-20060309-ovflfix.patch 473 SHA256 4d6bcf84fcb5663ef40a320851d928fc17b194ad807af59c7a343592b16b7c63 SHA512 b0d6630aaf693b8cc3f0384641e05125dd8c6cd6c26fd7a3856ff2c23d462c4eed1986108acf1bf9c269e7a008f9367f86eabf148b53064ebe7a4f39f3cdbc74 WHIRLPOOL d2e9a9bf01df21f5e7f2488c48b3b89bb5f3957b1fa508386c895c8a8b4173ffa7870bf2c250d1898a16b974ecd971d9af9b014ac6b4376b90a281b344d8f872
+DIST gngb-20060309.tar.gz 168911 SHA256 49c565002a6e9025c33b13aa0ffcdc456b6bd6360fb966460815a3b4007b4bc8 SHA512 169fdb94eac439240ff15fc2337908cb40e06259338d03c0193a0cb04acb9ee688832fc3157ec56e4e541a8889c4b1a4e7d0efb035b5829ffb856192b60d259f WHIRLPOOL 98c4338825dbf7a2bfa4679041c0aad6fc95ab2f72b293afddbc0ece8c539c3629691150443d18582d767036c1a8d48dff3d04978f94a387894e2290f1f2b090
+EBUILD gngb-20060309.ebuild 738 SHA256 6a6b9476b112ea16134ef276b02ae764246098a2236331ad6c59740d676cdff2 SHA512 b7809a014c46275bd9d9da82838ff6af6488e07de25ecc67298b7748602d5d05b35d627f5b48b2161d050131b248e499ef4bebcec4bfabe319d2079e9f3aca38 WHIRLPOOL 1248e992292d8ecb5cc970dccbde021e00a194fc3b7c5a9c87eb8ed3ce62ec6b43ebfb6ddbaf80fc285e9930455d792031a70cf359ba7ab5389c28258babd38e
+MISC ChangeLog 2594 SHA256 6be974df09470b91b4b5b838c4399b1bb234226965860e8cd07c76dba490223a SHA512 a9bdcd1a2bc65e6cfe1ae0e47842bb71bd198ab92fbdbb5c0379d5f8ac56dc3db5e17a88493bf5033ea322f90ab5a385cff2d03ff49b64d7d0377718508fa64e WHIRLPOOL 94eef53124959918ed648e9e663585c1a082102119890bd68479af30e34648c16c2efcc20effefc7cddbd76a976447a842db3f59a8c6d5f537f3a558ec8a94ef
+MISC ChangeLog-2015 3123 SHA256 91436970818f3ba8c95645f11f4c408994ed13f660a080bca645ae2a8a37931c SHA512 052504be93d9eb3ed09c9f41042a1e339a5446d1a20e957a11a7199a1295767de3729a480c20d903d86f0bd996bc72d6e1e34fc6dca93c3802f17b2de1917923 WHIRLPOOL 152ace6f15a260dfd60565c9f614b460629d0df168a848e1a0dc18157e5bf786fea847e85b38ed7ee23d00c4044b5e2500b82f7c1d93c30741acab1d702531f7
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/gngb/files/gngb-20060309-ovflfix.patch b/games-emulation/gngb/files/gngb-20060309-ovflfix.patch
new file mode 100644
index 000000000000..d4cad523854e
--- /dev/null
+++ b/games-emulation/gngb/files/gngb-20060309-ovflfix.patch
@@ -0,0 +1,17 @@
+--- src/serial.c.old 2010-10-28 14:40:23.000000000 +0200
++++ src/serial.c 2010-10-28 14:41:07.000000000 +0200
+@@ -302,11 +302,11 @@
+ /* Gbserial_read: Read a byte on the serial
+ This is a block function */
+ Uint8 gbserial_read(void) {
+- Uint8 b;
++ Uint8 b[2];
+
+ gbserial.ready2read=0;
+- if ((read(dest_socket,&b,2))<=0) return 0xFF;
+- return b;
++ if ((read(dest_socket,b,2))<=0) return 0xFF;
++ return b[0];
+ }
+
+ /* Gbserial_write: Write a byte on the serial
diff --git a/games-emulation/gngb/gngb-20060309.ebuild b/games-emulation/gngb/gngb-20060309.ebuild
new file mode 100644
index 000000000000..0b7b91bdb6e7
--- /dev/null
+++ b/games-emulation/gngb/gngb-20060309.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils games
+
+DESCRIPTION="Gameboy / Gameboy Color emulator"
+HOMEPAGE="http://m.peponas.free.fr/gngb/"
+SRC_URI="http://m.peponas.free.fr/gngb/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="opengl"
+
+DEPEND="media-libs/libsdl[sound,joystick,video]
+ sys-libs/zlib
+ app-arch/bzip2
+ opengl? ( virtual/opengl )"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-ovflfix.patch
+ sed -i -e '70i#define OF(x) x' src/unzip.h || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf $(use_enable opengl gl)
+}
+
+src_install() {
+ default
+ prepgamesdirs
+}
diff --git a/games-emulation/gngb/metadata.xml b/games-emulation/gngb/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/gngb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/gngeo/Manifest b/games-emulation/gngeo/Manifest
new file mode 100644
index 000000000000..4d452bb95fc7
--- /dev/null
+++ b/games-emulation/gngeo/Manifest
@@ -0,0 +1,9 @@
+AUX gngeo-0.8-cflags.patch 1942 SHA256 c329afeca010d89b88da15ebdb6e26ece7c2dde8a8434272cfde0e6720cea7d4 SHA512 b777cffbdb6539bcf8d5f435dabe989ae29fc02051076ff8d761f2f9b6a8779c5a1666461f873f0b5c7638cf70de7c36f7614c24386ff72736bb4c1353f11f5b WHIRLPOOL 5e5169154ef6cace5853eb59f27e3f36837316fc52a995c33c155c982dd4fc280a960aeb8a7a97897a4b700a5890bbb06a8734ce1bee5fb26ebb119c2f3d938c
+AUX gngeo-0.8-concurrentMake.patch 631 SHA256 8757156a59b4f4583d1063ee6891b49d4d87c35336fcba56d32985e324300713 SHA512 050de6034a799e7dad41ebb2a65fb9a7ad3dd39da96151dac376a2c58862c1eeed19bb8f9b3479ffc2b2248131370d3065a73a37ce0390e5839607a6f8df6c1c WHIRLPOOL 592d82c9b8c54b465cf83307075ce68e452452fb1154deb6367fceb78243d143e153ee76cf9282de26e1887592175b223a9225d470bb36042406f2b30e299775
+AUX gngeo-0.8-execstacks.patch 2465 SHA256 5ddb3327424b6ec92f274e5e0fe38dc90efa1906afd350ab056ba33982dcbf11 SHA512 0717568d9c967a4f314856ba490eb15efb2fe336cb7cf8eae8e918ba3e550d5704f5bca0a4a7163fae7c02257447eb783da80650f7496dd9cf81358287bd92ad WHIRLPOOL cf89268815bdce0efa43d765de3c2ffc5e6520666ddda90d9dcac2467cf0b3cf0c62cdc1ecc3143d21ad7707f30bf73b6813fdb3fe55deac1fb191a35997d0a4
+AUX gngeo-0.8-zlib.patch 335 SHA256 3d6f6a34ca17c8c30988257b0727d2f215913b20128f1dde80e1c4deafa7eb81 SHA512 6f09ebb89173bc172dc035247727d5e046fb36b3b05789d4b8e98648a229a260f3749fa3e2e35065a418e339d8d80830411ca3614171ef7aadeba0147a4f6a70 WHIRLPOOL f15eec2c4b5a912a091c1763e6e6bc7b5c33bb2758c14c69e281c1356856cd5c7c5db02a11395dbf3eb1edca866c5fad886188c4b429e9203e98a99a701256f9
+DIST gngeo-0.8.tar.gz 1043579 SHA256 4955a36a978accbc13cc9d58be3dbbed8864f27c34446b2fea879ee27fd7c4b6 SHA512 4301e0f48afd8686cdc45bd8c3e7b724f4ab7a2482567c7fe99ee8960f652dbcefb00fcdd7071d85b02636a9ae9795d03169ffc79e8ae6f4c5515a5a53c090c7 WHIRLPOOL 46a9faa2ab1ef8fde03a4fa5f1569b4960b75003b09582eed718068eac125d2f3696207a474b8a14f854dad9753e14fd92f78b9778b8658e80f8f4e2b046d5d8
+EBUILD gngeo-0.8.ebuild 1022 SHA256 811724314dc57db2f7b1fd7eb901c6ec9bec94a8c6628a8cf3d9bd84b269eda7 SHA512 360df0e04eb291fe7529a896c0303c121e193b474f41cba792b5c2201a760b045cb11c3993229b4afea46a0513d466fa747fc522803852a2e2bca78aae51998c WHIRLPOOL b80669490cd6aeb2b8d6f60a4bff491ab32da6d6249577bcfd4a9bb16a7fd9bb4c262c42d2705943882a051a2c974df89b90536cbc9e1e7f11f72bb70db524f4
+MISC ChangeLog 3029 SHA256 eca73ac55d8b0499ab7b3346a5aab5b13f3f6b02a3045bbaa9591107107453c4 SHA512 3e2e6c9e49f01061c2ebd40ac508641e0e52d9db719bb5df450f64279fe13f803d2c7d3252fd767f3a2ecf7cf89c901453566ae4b6e9c3bbda631756486814db WHIRLPOOL 52e1ecec96c1dac4610d4b6825b16f44d1c97d68a08c87fadccde88cdada8761032c0f9313bdbe13e4a18ea1c1828285e29ba2222f08a5dd9f857a940a541811
+MISC ChangeLog-2015 3751 SHA256 fa691d4004ea71fc5ad6a5fd7e87282a3719534353f3d69fa45bda607fe8aa6c SHA512 4e61e8a1651f07bc5b7be711038040fc8949e442696458314ff0d2a6ae19c983a2170d925779afb4a394cd20dcff3b093128388b9e4cc22cbda20a2c209dfe26 WHIRLPOOL 44d6366c8bfb925e7e58812ecd69d43ed36eca51aeb96f438235d6b5773ef53805e02e01ce55d42e9f76fbb28ec86179fd7fa6487a351b2e451d642ca6b42f1f
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/gngeo/files/gngeo-0.8-cflags.patch b/games-emulation/gngeo/files/gngeo-0.8-cflags.patch
new file mode 100644
index 000000000000..1a4892abae9e
--- /dev/null
+++ b/games-emulation/gngeo/files/gngeo-0.8-cflags.patch
@@ -0,0 +1,41 @@
+--- configure.in.orig 2016-03-31 04:15:45.913917791 -0400
++++ configure.in 2016-03-31 04:16:23.447607551 -0400
+@@ -236,20 +236,12 @@
+ AC_DEFINE(PROCESSOR_INTEL, 1, [Define if you have an x86 processor])
+ ALIGNLONGS=0
+ proc_i386=true
+- CFLAGS="$CFLAGS -O3 -fstrength-reduce -frerun-loop-opt -Wall -Wno-unused -funroll-loops \
+- -ffast-math -falign-functions=2 -falign-jumps=2 -fexpensive-optimizations \
+- -falign-loops=2 -fschedule-insns2 -malign-double -fomit-frame-pointer -g \
+- -fno-strict-aliasing -pipe -mtune=$target_cpu -DCPU=$target_cpu"
+ ;;
+ x86_64)
+ AC_MSG_RESULT(Turning on x86_64 processor optimisations)
+ AC_DEFINE(PROCESSOR_ADM64, 1, [Define if you have an x86_64 processor])
+ ALIGNLONGS=0
+ proc_x64=true
+- CFLAGS="$CFLAGS -O3 -fstrength-reduce -frerun-loop-opt -Wall -Wno-unused -funroll-loops \
+- -ffast-math -fexpensive-optimizations \
+- -malign-double -fomit-frame-pointer -g \
+- -fno-strict-aliasing -pipe -DCPU=$target_cpu"
+ ;;
+ sparc*) AC_MSG_RESULT(Turning on sparc processor optimisations)
+ AC_DEFINE(PROCESSOR_SPARC, 1, [Define if you have a sparc processor])
+@@ -258,8 +250,6 @@
+ if test $target_cpu = sparc64 && test $CC_MAJOR -ge 3 ; then
+ CFLAGS="$CFLAGS -mcpu=v9"
+ fi
+- CFLAGS="$CFLAGS -O3 -Wall -Wno-unused -funroll-loops \
+- -ffast-math -fomit-frame-pointer -g"
+ ;;
+ arm) AC_MSG_RESULT(Turning on arm processor optimisations)
+ AC_DEFINE(PROCESSOR_ARM, 1, [Define if you have an ARM processor])
+@@ -273,8 +263,6 @@
+ *) AC_MSG_RESULT(Processor type unknown - Use generic optimisations)
+ ALIGNLONGS=1
+ optimum=no
+- CFLAGS="$CFLAGS -O3 -Wall -Wno-unused -funroll-loops \
+- -ffast-math -g"
+ ;;
+ esac
+
diff --git a/games-emulation/gngeo/files/gngeo-0.8-concurrentMake.patch b/games-emulation/gngeo/files/gngeo-0.8-concurrentMake.patch
new file mode 100644
index 000000000000..1afc182c0988
--- /dev/null
+++ b/games-emulation/gngeo/files/gngeo-0.8-concurrentMake.patch
@@ -0,0 +1,16 @@
+--- src/generator68k/Makefile.am.orig 2015-01-23 18:37:37.998723294 -0500
++++ src/generator68k/Makefile.am 2015-01-23 18:38:39.995391133 -0500
+@@ -71,9 +71,12 @@
+
+ #def68k : def68k.c
+ # gcc def68k.c tab68k.c -o def68k -I .. -I ../.. -I . `sdl-config --cflags`
+-def68k.o gen68k.o tab68k2.o : %.o : %.c
++def68k.o tab68k2.o : %.o : %.c
+ $(gcc_build_verbose)$(CC_FOR_BUILD) -c $< -o $@ -I .. -I ../.. -I . `sdl-config --cflags`
+
++gen68k.o: gen68k.c def68k-iibs.h
++ $(CC_FOR_BUILD) -c $< -o $@ -I .. -I ../.. -I . `sdl-config --cflags`
++
+ def68k : def68k.o tab68k2.o
+ $(gcc_build_verbose)$(CC_FOR_BUILD) def68k.o tab68k2.o -o $@
+
diff --git a/games-emulation/gngeo/files/gngeo-0.8-execstacks.patch b/games-emulation/gngeo/files/gngeo-0.8-execstacks.patch
new file mode 100644
index 000000000000..17c576b7d634
--- /dev/null
+++ b/games-emulation/gngeo/files/gngeo-0.8-execstacks.patch
@@ -0,0 +1,105 @@
+--- src/effect/2xsaimmx.asm
++++ src/effect/2xsaimmx.asm
+@@ -2107,3 +2107,7 @@
+ final1b resb 8
+ final2a resb 8
+ final2b resb 8
++
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+--- src/effect/effect_i386.asm
++++ src/effect/effect_i386.asm
+@@ -88,3 +88,7 @@
+ emms
+
+ endproc
++
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+--- src/effect/hq2x16.asm
++++ src/effect/hq2x16.asm
+@@ -1935,3 +1935,7 @@
+ dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
+ dd ..@flag0, ..@flag0, ..@flag0, ..@flag0
+
++
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+--- src/effect/hq3x16.asm
++++ src/effect/hq3x16.asm
+@@ -2520,3 +2520,7 @@
+ dd ..@cross8, ..@flag0, ..@flag0, ..@flag0,
+ dd ..@flag0, ..@flag0, ..@flag0, ..@flag0
+
++
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+--- src/memcpy.S
++++ src/memcpy.S
+@@ -495,4 +495,8 @@
+
+ Lmemcpy_bsrcul1l4:
+ add r1, r1, #1
+-b Lmemcpy_bl4
+\ No newline at end of file
++b Lmemcpy_bl4
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",@progbits
++#endif
+--- src/raze/Makefile.am
++++ src/raze/Makefile.am
+@@ -20,7 +20,7 @@
+ $(srcdir)/strip_ $< $@
+
+ raze2.asm: raze.asmu raze.incu raze.regu
+- nasm -w+orphan-labels -I $(srcdir)/ -e $< -o $@
++ nasm -w+orphan-labels -f elf -I $(srcdir)/ -e $< -o $@
+
+ # This assembles the file, once it's been pre-processed
+ raze.o: raze2.asm
+--- src/raze/raze.asm
++++ src/raze/raze.asm
+@@ -4259,3 +4259,6 @@
+
+ ;- the end ------------------------------------------------------------------;
+
++%ifidn ___OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+--- src/screen_i386.asm
++++ src/screen_i386.asm
+@@ -96,3 +96,6 @@
+ endproc
+
+
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
+--- src/star/star.c
++++ src/star/star.c
+@@ -2431,6 +2431,10 @@
+ */
+ static void suffixes(void) {
+ emit("end\n");
++
++ emit("%%ifidn ___OUTPUT_FORMAT__,elf\n");
++ emit("section .note.GNU-stack noalloc noexec nowrite progbits\n");
++ emit("%%endif\n");
+ }
+
+ /****************************************************************************
+--- src/video_i386.asm
++++ src/video_i386.asm
+@@ -86,3 +86,7 @@
+
+ popa
+ endproc
++
++%ifidn __OUTPUT_FORMAT__,elf
++section .note.GNU-stack noalloc noexec nowrite progbits
++%endif
diff --git a/games-emulation/gngeo/files/gngeo-0.8-zlib.patch b/games-emulation/gngeo/files/gngeo-0.8-zlib.patch
new file mode 100644
index 000000000000..9aa4a6b5f479
--- /dev/null
+++ b/games-emulation/gngeo/files/gngeo-0.8-zlib.patch
@@ -0,0 +1,9 @@
+diff -ru gngeo-0.8.orig/configure.in gngeo-0.8/configure.in
+--- gngeo-0.8.orig/configure.in 2012-11-15 17:57:57.849578009 -0500
++++ gngeo-0.8/configure.in 2012-11-15 18:19:55.305923094 -0500
+@@ -95,6 +95,7 @@
+ #AC_SUBST(LIBOBJS)
+ AC_CHECK_LIB([m], [acos])
+ AC_CHECK_LIB([z], [inflate])
++AC_CHECK_LIB([minizip], [unzReadCurrentFile])
+
diff --git a/games-emulation/gngeo/gngeo-0.8.ebuild b/games-emulation/gngeo/gngeo-0.8.ebuild
new file mode 100644
index 000000000000..ab65329605dd
--- /dev/null
+++ b/games-emulation/gngeo/gngeo-0.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils autotools flag-o-matic games
+
+DESCRIPTION="A NeoGeo emulator"
+HOMEPAGE="https://code.google.com/p/gngeo/"
+SRC_URI="https://gngeo.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ media-libs/libsdl[joystick,opengl,sound,video]
+ sys-libs/zlib[minizip]"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-execstacks.patch \
+ "${FILESDIR}"/${P}-zlib.patch \
+ "${FILESDIR}"/${P}-concurrentMake.patch \
+ "${FILESDIR}"/${P}-cflags.patch
+ mv configure.in configure.ac || die
+ eautoreconf
+ append-cflags -std=gnu89 # build with gcc5 (bug #571056)
+}
+
+src_configure() {
+ egamesconf --disable-i386asm
+}
+
+src_install() {
+ DOCS=( AUTHORS FAQ NEWS README* TODO sample_gngeorc )
+ default
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ elog "A licensed NeoGeo BIOS copy is required to run the emulator."
+ echo
+}
diff --git a/games-emulation/gngeo/metadata.xml b/games-emulation/gngeo/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/gngeo/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/gnuboy/Manifest b/games-emulation/gnuboy/Manifest
new file mode 100644
index 000000000000..716a8a32b701
--- /dev/null
+++ b/games-emulation/gnuboy/Manifest
@@ -0,0 +1,8 @@
+AUX gnuboy-1.0.3-exec-stack.patch 475 SHA256 4c296ec67b0667d6422a961d3bb213c008d2bd33ebb2572aaca2063fbb622cd3 SHA512 801d217cb8dbe4fb6957e6acc31658bbfa90843178a7343cf52d84f1464787da67f6f579f6dcb1ab2c54fef50289d181014f8b179dfcac6c32949ccaeaaca364 WHIRLPOOL a521d00e922bcd380e233eeff67f84d80ecf4511311c00a49483978721b6a1c3b13bea298a36bcc07d98a61c9740c310e26f016e1efae70b04f5658816e29882
+AUX gnuboy-1.0.3-include.patch 350 SHA256 151281d690102f613231a39f8f3702c182af9a2743e958b993be08807f607ef5 SHA512 9815515c39bf0a387b32e0038a050dd7ca51b5b47d539ee39fcb77b1908735890aac9abfd7d1fe03733d7c9359398b1688f401aa2170ac48d0ed6d2d50acf04d WHIRLPOOL b4030664db7db79bf7d8d8988e3c3ff47695f0e265dff2e1986e1550f326ce5860a4634667f6673643ffa56f8f55fa1b7f6794460db9b58851a66d1c687ca33f
+AUX gnuboy-1.0.3-linux-headers.patch 1685 SHA256 c9b8d177c31ce4531dcd3c055c5e4ebd3a0ad65dcf515ce439f143239e77407e SHA512 2cf51c37d7d4cfc230a7ec032c62c22c6fb33c6f05b78e38b8bd033cbcde37b45ab8bef68bfa72374fdcf85139c2504c808516648ae435f7f8f26efa9bd2a56e WHIRLPOOL f6f5db0fc5de6220139750e635f886f2a8d674693b7b2d45ec208427c254e61cb5fc09b03a817218d996223340e1482aa27d061cbda451e31c398d193103d1f9
+DIST gnuboy-1.0.3.tar.gz 187627 SHA256 f0022db824b920054a42690322932cf582e0a9995961124586f054503a0f8072 SHA512 89e8075dac5ec17b375a5739367b46c55130211fb487a052be1cca49a5d86cc1a7f1619b2b2473d744fbe3c51fdb1a11110b15836cc9cc9de588932b91d258e6 WHIRLPOOL e42e4598fef51bbb190a0317767f6faa3dfd49ad701bd44f54b8488fd0d72f2bd6568fceb5baca9079ea18a4f6732333ba3a62d928c11eeb310e305f83d0ea7d
+EBUILD gnuboy-1.0.3-r1.ebuild 1073 SHA256 c11e977b2f9eb434e7b555ee464a341d3bcd7f0d108064e6f7cf8377899fe084 SHA512 e85c05a57383b510759de9a6ca11ed27159a8b08364de8e1df327f82633bb7554ea26f7c960901ed08beda0fe23b32c7beb8a2b0b0924f873d3d33c63b776c7d WHIRLPOOL d06653366811fb9948fc3115765ddbbb3aea8fc360d66f8061efacbbe29b6295a7c387d10e8b0b6bd03e7eae9e3a5b697f2232bfeebab6fbce2475843626b7e1
+MISC ChangeLog 3543 SHA256 cdf92fc53874053db20d860e06919813f1d84c37e8be6f4cd6b643bdcfb178d5 SHA512 6b9ac9eae6f3f388722da165b550fc83e944b7d0133d90928f89a790b7c6c8a77adf28d3d164971a6960de743377fa484563be467f891db90ac3b2df3f49a9d2 WHIRLPOOL a7845c23f0cf23c169d66df31a73b407158f576c9065f2250a78943c5e4842ab2cccc05f33a90ed0937f571446a1a166798692d21b4025422a988d19c1f51837
+MISC ChangeLog-2015 2016 SHA256 b09c5644c4f12eea515a04fddb907459b8c22b704325fb1534af6af0e7f3c53c SHA512 32034c105efbdaa00969314116eee6200481d997b5861e4baa177631affbd7369cc15f226b826896fae2a5793d32c9030a1e49a358dc4bb7fa83dd322ac6a9ba WHIRLPOOL 2cb6c0faf88e30de61f852b002e0215bdedd87ea4528e70c8d5c8dfcc19c4d22c0275b017c00f4e8d2c421ad75f9021f311156ae29c4757e05aed6a533aaead8
+MISC metadata.xml 329 SHA256 f9dff2d3bf5536c41989e490f3033a67878badb6425b9b103ff251b19655a63b SHA512 79c14f0442b618a82acc9b067360ef978d009fb61a44d869d0c6b4df375b005bc721ce8b90ac80be2bdb8e40e95e111b941a5ac9f006470eefc3b41459b52463 WHIRLPOOL d12bd231c524349aedba36a3d1c55741ccf60f9bd9fdcfe9c641adf5e39f72f76ec2d1a862abd43a32169bec4be970945ec7cfa2952d2b6016dd7afac976a9ee
diff --git a/games-emulation/gnuboy/files/gnuboy-1.0.3-exec-stack.patch b/games-emulation/gnuboy/files/gnuboy-1.0.3-exec-stack.patch
new file mode 100644
index 000000000000..b8059f915f6f
--- /dev/null
+++ b/games-emulation/gnuboy/files/gnuboy-1.0.3-exec-stack.patch
@@ -0,0 +1,27 @@
+--- asm/i386/cpu.s
++++ asm/i386/cpu.s
+@@ -2428,3 +2428,6 @@
+
+
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- asm/i386/lcd.s
++++ asm/i386/lcd.s
+@@ -288,3 +288,6 @@
+
+
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- asm/i386/refresh.s
++++ asm/i386/refresh.s
+@@ -283,3 +283,6 @@
+
+
+
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/games-emulation/gnuboy/files/gnuboy-1.0.3-include.patch b/games-emulation/gnuboy/files/gnuboy-1.0.3-include.patch
new file mode 100644
index 000000000000..15573000511e
--- /dev/null
+++ b/games-emulation/gnuboy/files/gnuboy-1.0.3-include.patch
@@ -0,0 +1,14 @@
+diff -ru gnuboy-1.0.3.orig/defs.h gnuboy-1.0.3/defs.h
+--- gnuboy-1.0.3.orig/defs.h 2001-01-23 07:04:22.000000000 -0500
++++ gnuboy-1.0.3/defs.h 2014-07-04 03:56:46.685149736 -0400
+@@ -4,6 +4,10 @@
+ #ifndef __DEFS_H__
+ #define __DEFS_H__
+
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++#include <ctype.h>
+
+
+ #ifdef IS_LITTLE_ENDIAN
diff --git a/games-emulation/gnuboy/files/gnuboy-1.0.3-linux-headers.patch b/games-emulation/gnuboy/files/gnuboy-1.0.3-linux-headers.patch
new file mode 100644
index 000000000000..b0dd24a8e50e
--- /dev/null
+++ b/games-emulation/gnuboy/files/gnuboy-1.0.3-linux-headers.patch
@@ -0,0 +1,93 @@
+# -ansi breaks <linux/joystick.h>
+
+--- configure.in
++++ configure.in
+@@ -133,7 +133,7 @@
+ if test "$enable_warnings" = yes ; then
+ case "$CC" in *gcc*)
+ AC_MSG_RESULT(enabling selected compiler warnings)
+-CFLAGS="$CFLAGS -ansi -pedantic -Wall -Wno-implicit -Wno-long-long" ;;
++CFLAGS="$CFLAGS -Wall -Wno-implicit -Wno-long-long" ;;
+ *)
+ AC_MSG_RESULT(disabling warnings for non-gcc compiler) ;;
+ esac
+--- loader.c
++++ loader.c
+@@ -11,7 +11,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-char *strdup();
+
+ static int mbc_table[256] =
+ {
+--- main.c
++++ main.c
+@@ -8,7 +8,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-char *strdup();
+
+ #include <stdarg.h>
+ #include <signal.h>
+--- path.c
++++ path.c
+@@ -5,7 +5,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-char *strdup();
+
+ #ifdef ALT_PATH_SEP
+ #define SEP ';'
+--- rckeys.c
++++ rckeys.c
+@@ -4,7 +4,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-char *strdup();
+
+ #include "defs.h"
+ #include "rc.h"
+--- rcvars.c
++++ rcvars.c
+@@ -5,7 +5,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-char *strdup();
+
+ #include "defs.h"
+ #include "rc.h"
+--- sys/linux/fbdev.c
++++ sys/linux/fbdev.c
+@@ -10,7 +10,6 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-char *strdup();
+ #include <unistd.h>
+ #include <sys/mman.h>
+ #include <linux/fb.h>
+--- sys/linux/joy.c
++++ sys/linux/joy.c
+@@ -2,7 +2,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+-char *strdup();
+ #include <linux/joystick.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- sys/oss/oss.c
++++ sys/oss/oss.c
+@@ -2,7 +2,6 @@
+
+ #include <stdlib.h>
+ #include <string.h>
+-char *strdup();
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
diff --git a/games-emulation/gnuboy/gnuboy-1.0.3-r1.ebuild b/games-emulation/gnuboy/gnuboy-1.0.3-r1.ebuild
new file mode 100644
index 000000000000..bf9075ce8b7d
--- /dev/null
+++ b/games-emulation/gnuboy/gnuboy-1.0.3-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils games
+
+DESCRIPTION="Gameboy emulator with multiple renderers"
+HOMEPAGE="https://sourceforge.net/projects/gnuboy/"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="X sdl"
+
+RDEPEND="sdl? ( media-libs/libsdl )
+ !X? ( media-libs/libsdl )
+ X? ( x11-libs/libXext )"
+DEPEND="${RDEPEND}
+ X? ( x11-proto/xextproto
+ x11-proto/xproto )"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-exec-stack.patch \
+ "${FILESDIR}"/${P}-linux-headers.patch \
+ "${FILESDIR}"/${P}-include.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if ! use X ; then
+ myconf="--with-sdl"
+ fi
+
+ egamesconf \
+ $(use_with X x) \
+ $(use_with sdl) \
+ $(use_enable x86 asm) \
+ ${myconf} \
+ --disable-arch \
+ --disable-optimize
+}
+
+src_install() {
+ for f in sdlgnuboy xgnuboy
+ do
+ if [[ -f ${f} ]] ; then
+ dogamesbin ${f}
+ fi
+ done
+ dodoc README docs/{CHANGES,CONFIG,CREDITS,FAQ,HACKING,WHATSNEW}
+ prepgamesdirs
+}
diff --git a/games-emulation/gnuboy/metadata.xml b/games-emulation/gnuboy/metadata.xml
new file mode 100644
index 000000000000..3e42cc8d1267
--- /dev/null
+++ b/games-emulation/gnuboy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gnuboy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/gxmame/Manifest b/games-emulation/gxmame/Manifest
new file mode 100644
index 000000000000..6dc99d9bff06
--- /dev/null
+++ b/games-emulation/gxmame/Manifest
@@ -0,0 +1,7 @@
+AUX gxmame-0.35_beta2-glib-single-include.patch 367 SHA256 cb744edee7c68e4dd6105e424b58b7caa1ef8940d770125deb0ea45015a6bb59 SHA512 def963684ed246027dbb2613be4960ad103bd539ac8e8bdccfdea65899198be3052d7f8f89ade363a3d53e184ec0ea0d110f0d988bad5d5ec0cb54e159040319 WHIRLPOOL 4428b612ff7437ea0616ddf5f91b54cf7514ef1d436c6a4079083d2ba205894cd442a6f05be143d1ee4055bc20cd86851967c5e6c4af72fb4a801f56a85c4323
+AUX gxmame-0.35_beta2-ovflfix.patch 1488 SHA256 ff0bfabe24b822fbfa40dc04ca498bc43b0686609fe4fb7fc673ff60923a5b08 SHA512 3c13151fbb1c285dc819413be3e049f089bc246bded77df02aafa950a1822d1f84e24206b07934fda079fd6f5ecc316335daee3b5516f2a8d87791bdd04eab40 WHIRLPOOL 3b7ed9823beb87ec04b6fea761fa6980b844f437a40a10fba6d298cfbe3ff1dbe8edff3c74b939f16aa8f1dbe8c431ab37ffb00dbc741cf31344008e7b2625ba
+DIST gxmame-0.35beta2.tar.gz 697013 SHA256 6d0339bf334f40ff0b972cf5c4df14660c48a2f0bce10f23d6a0feb3d5c83622 SHA512 c2b47c1f3f76d86846302754b31954b81d5b7165f5778153c6e6285bdcc6040c5479009cd70dcf32c86afa245ae8b6fe98af781f0d51acfcb76c8deb76422fe2 WHIRLPOOL 1c9f8d9aca3b8b49edf435f9888dce917992c919c1a869b2da4102fca549bc851ab47ecd4f2b9b2325fa89c6dad8667824ca6bd48ab94da1d8be35d63bb4592e
+EBUILD gxmame-0.35_beta2.ebuild 1827 SHA256 fe907a971d0e80fe7b06853298efbd98d3d1b1dcbd9eb6131e9fdc2b47392d86 SHA512 5fd2490e3f976b93d066876d6dd3ff2e017a9f0c63ad506235f9475299373cf489494684b3a0e331b1280779eb33e32cec4e1ea2e44bb5b08ed9ea15ee82cfc6 WHIRLPOOL f1087f3f2883e55533c7408437d1a76fb98a3f4d0e37aadd4fff383f48b284d95f65afd2e4ee9e3bd7703930951556973a472fa1c27571f2a1f42bbb9944cb3a
+MISC ChangeLog 2820 SHA256 60f3069aad59755017bcb80d9e9269759dcdf3a582ac02f7cb2e17b1018a6f60 SHA512 7d2c3d6897176617f2554c32f3bb1ee47af39b189b60fca1575adf2106d37fc9bee6340c3d5b04d4cc8b2319f81271f100852a8a09f9b5f4b78bd07364c78533 WHIRLPOOL 483390d9d3fd28d0c63eb8574158c35e2ea5b6cf552e288426d87b5adedf3b9a998b914bfbcdef293ffced05516a303d91a6b96d14c7975bdabdbcec3d4f77d8
+MISC ChangeLog-2015 3687 SHA256 093fd907555be2df729ab5a6e86cf22bd667d2222dd360bc45d66c5c2891dc56 SHA512 33816bf3d2d5f44262a9add8ca0e1659906698c812dfb85615a8edfca2f75491334452691885ab1aae6380e8aa491b2c5c50feb2eb1f4b3de8c891f1614c0f60 WHIRLPOOL 587963ea187bec2b3af313dc84b41a0911631c14eb04ee2b79bf67f2ead56a9b53d9188c4554512bc41a698cd93b1758a22b3f0d4cea80be3d9096739b53f4d0
+MISC metadata.xml 329 SHA256 d3f5512942c260cd9b9a51e58d028aef4ea2f93d7c56172fcfeffb45fd51c7e0 SHA512 313bc1d6e61d610abbdd7e7a95826005e6160e5ea7dc4ca3fa58b9811fbd77cf33e33221526871bc2ac383f90d8676f2264629e4898fe92d1d26b5d84c878527 WHIRLPOOL 47808b02bb00eb81e22961453a7855df472a6aea2dd4174351a32af08898be0e39ce64c85f4e06e0345fcfda943040e83ac084f572ae510e1b4aa71e3b4570fd
diff --git a/games-emulation/gxmame/files/gxmame-0.35_beta2-glib-single-include.patch b/games-emulation/gxmame/files/gxmame-0.35_beta2-glib-single-include.patch
new file mode 100644
index 000000000000..83ef4aa075e5
--- /dev/null
+++ b/games-emulation/gxmame/files/gxmame-0.35_beta2-glib-single-include.patch
@@ -0,0 +1,13 @@
+Index: gxmame-0.35beta2/src/gxmame.c
+===================================================================
+--- gxmame-0.35beta2.orig/src/gxmame.c
++++ gxmame-0.35beta2/src/gxmame.c
+@@ -31,7 +31,7 @@
+ #include <unistd.h>
+ #include <signal.h>
+ #include <glib/gprintf.h>
+-#include <glib/gutils.h>
++#include <glib.h>
+ #include <gtk/gtkmain.h>
+ #include <gtk/gtkfilesel.h>
+
diff --git a/games-emulation/gxmame/files/gxmame-0.35_beta2-ovflfix.patch b/games-emulation/gxmame/files/gxmame-0.35_beta2-ovflfix.patch
new file mode 100644
index 000000000000..8831a3e09b61
--- /dev/null
+++ b/games-emulation/gxmame/files/gxmame-0.35_beta2-ovflfix.patch
@@ -0,0 +1,29 @@
+--- src/options.c.old 2010-12-01 10:48:45.000000000 +0100
++++ src/options.c 2010-12-01 10:53:55.000000000 +0100
+@@ -4245,7 +4245,7 @@
+ case XMAME_EXEC_SVGAFX:
+ target->fxgkeepaspect = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (fxgkeepaspect_checkbutton));
+ used_text = gtk_editable_get_chars (GTK_EDITABLE (fx_entry), 0, -1);
+- strncpy (target->resolution, used_text, 20);
++ strncpy (target->resolution, used_text, sizeof(target->resolution));
+ g_free (used_text);
+ break;
+
+@@ -4330,7 +4330,7 @@
+ }
+
+ used_text = gtk_editable_get_chars (GTK_EDITABLE (soundfile_entry), 0, -1);
+- strncpy (target->soundfile, used_text, 50);
++ strncpy (target->soundfile, used_text, sizeof(target->soundfile));
+ g_free (used_text);
+
+ target->timer = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (timer_checkbutton));
+@@ -4465,7 +4465,7 @@
+ target->skip_disclaimer = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (disclaimer_checkbutton));
+ target->skip_gameinfo = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (gameinfo_checkbutton));
+ used_text = gtk_editable_get_chars (GTK_EDITABLE (debug_size_combo_entry), 0, -1);
+- strncpy (target->debug_size, used_text, 20);
++ strncpy (target->debug_size, used_text, sizeof(target->debug_size));
+ g_free (used_text);
+ target->use_additional_options = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (additional_options_checkbutton));
+ /* here I'm using directly the additional option because I don't know its length */
diff --git a/games-emulation/gxmame/gxmame-0.35_beta2.ebuild b/games-emulation/gxmame/gxmame-0.35_beta2.ebuild
new file mode 100644
index 000000000000..d52519f5043f
--- /dev/null
+++ b/games-emulation/gxmame/gxmame-0.35_beta2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils games
+
+MY_P="${PN}-${PV/_beta/beta}"
+DESCRIPTION="frontend for XMame using the GTK library"
+HOMEPAGE="http://gxmame.sourceforge.net/"
+SRC_URI="mirror://sourceforge/gxmame/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="nls joystick"
+
+RDEPEND="dev-libs/expat
+ >=x11-libs/gtk+-2.4:2
+ >=dev-libs/glib-2.4:2
+ x11-themes/gnome-icon-theme
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-glib-single-include.patch \
+ "${FILESDIR}"/${P}-ovflfix.patch
+ sed -i \
+ -e "s:-O2 -fomit-frame-pointer -ffast-math:${CFLAGS}:" \
+ -e "s:-O2:${CFLAGS}:" \
+ configure || die
+ sed -i \
+ -e '/Icon/s/\.png//' \
+ -e '/Categories/s/Application;//' \
+ gxmame.desktop.in || die
+ sed -i \
+ -e 's:COPYING::' \
+ -e "s:^docdir = .*:docdir = /usr/share/doc/${PF}:" \
+ -e "s:^htmldir = .*:htmldir = /usr/share/doc/${PF}/html:" \
+ -e "s:^icondir = .*:icondir = /usr/share/icons:" \
+ -e "s:^pixmapdir = .*:pixmapdir = /usr/share/pixmaps:" \
+ -e "s:^gnulocaledir = .*:gnulocaledir = /usr/share/locale:" \
+ -e "s:^icon2dir = .*:icon2dir = /usr/share/icons/mini:" \
+ -e "s:^Graphicsdir = .*:Graphicsdir = /usr/share/applications:" \
+ -e "/DDATADIR/s:\$(datadir):/usr/share/pixmaps:" \
+ -e "/DPACKAGE_LOCALE_DIR/s:\$(datadir):/usr/share:" \
+ Makefile.in html/Makefile.in src/Makefile.in po/Makefile.in.in || die
+ sed -i -e 's/"gxmame"/""/' src/gui.c || die
+}
+
+src_configure() {
+ egamesconf \
+ --with-xmame-dir="${GAMES_DATADIR}"/xmame \
+ $(use_enable nls) \
+ $(use_enable joystick)
+}
+
+src_install() {
+ DOCS="AUTHORS BUGS ChangeLog NEWS README TODO" \
+ default
+ prepgamesdirs
+}
diff --git a/games-emulation/gxmame/metadata.xml b/games-emulation/gxmame/metadata.xml
new file mode 100644
index 000000000000..e5c3f321f04a
--- /dev/null
+++ b/games-emulation/gxmame/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">gxmame</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/hatari/Manifest b/games-emulation/hatari/Manifest
new file mode 100644
index 000000000000..0e11eec280c6
--- /dev/null
+++ b/games-emulation/hatari/Manifest
@@ -0,0 +1,7 @@
+AUX hatari-1.8.0-gentoo-docdir.patch 583 SHA256 159dd7203fa9feefb33f49b331f237f5d80639bc2d0ca33342c4359648161782 SHA512 95ee37df0b0bca685c2e03f02bcbcced71eb8463c32356956b440cb53248accd970d63a77bbb072d2703201cc7d40de1d13bacab2e8c36370664f4d8e085ebb9 WHIRLPOOL 4a6f7aa067293d9206ed8d4a693ce264d188fec70bc7447e7135a1484419f83ace5e178502aa81ac1e32f145d2d08b178235c5c4d9d42593c29b9c2611d197de
+AUX hatari-1.8.0-gentoo.patch 3174 SHA256 5f64695305cf1076e795ff8c17a903aa9aed4be02960b9491b637a0a93f8c3bc SHA512 d3b0240f657b219d7c770b8b64b0c904020036b71e4ebb7988b3f3f899010667cd4431db672b91f201ee16151ab1f278833e83c59decd9a4ce062930e8fda68e WHIRLPOOL 365d14b2aa87ae9213aac48367728605665cf3dc05ed3c2a12956b446dbba6514f60f6fd1c966cd70c42462dbe1c0605c341b751f1cb36c6d0450b58d920b982
+DIST hatari-1.8.0.tar.bz2 1985358 SHA256 7ecf486ba578e3b4d7a3d3e86ef3e879d5e5611b39c2504e38ccafdaacb5ffeb SHA512 498a6636eef78e85a4715e9df169d928ce97c0548145a95b41aa3aae28817b8e843de1d1390893863be05e4e9981c89236571ab2eb9239faad23b711542e4fa0 WHIRLPOOL 9e62bdf08247da20e451e032355849cbb0c4b683711ed5cea29f03a52cb5b276e996b9ea4fe5c38ecc09456248bd099eb8b1f35d93e6cba5d00b93a456329a01
+EBUILD hatari-1.8.0.ebuild 2396 SHA256 1a7ccdd4a69025e47be2b74a6d8d4d3e73ca032ccde68f4d20be5b419bf150ed SHA512 6a4e5b5afc1b1732b9ccb2176a7e3ebe86902903f9dd739a7afa93076dd45b324ae5e9369b012b08db03549908d90aa04241bbfb090f27e451bf0a209a4ad353 WHIRLPOOL 62a5f3ad511db3837858017a136f6deb77c5632472cc54367f25d3f7c48b7c98a5b5d81589aca2a9923c80a55b54c5eec5a280d5492c7548f532f5fb4e88995e
+MISC ChangeLog 2508 SHA256 8fb13928066d178f0e159a7889bfb8c6da53b6e6ee695f9251f707334134eeb3 SHA512 b3e381faac1b43afe15aaf1557fdea4d2e749eebd453fa03120ae9578d721e8d3cf3cd06eb4fdc6cc69f55cbca48c44667747c752b5ff9b5b3633c8696b889db WHIRLPOOL f6f5235b22a00f377899a4bf6f5019be922e74dccb7c110ca8727cb005ae7ffe48502c86e6215d95d2e90652827d19c0166098c48432bbc900daeec130c7af73
+MISC ChangeLog-2015 7865 SHA256 3361c3826827a4fc169f67ee787a954903fddff4845fd869361c7fbe29fb7ed3 SHA512 978aa4191274708a88c5fd803620ae7b6eff1f566d540410b6b2283f24e2a38066e797cfe0f151e8d196469350aff7da985945d69701185181732b27149f28b2 WHIRLPOOL b9cedbca26d3b5f7c85e13e6c2a6fd3029241075e179c7189b8dee30bdf74906650f3cef04ffc23603ceb261ad9be22c81da810c283561586447602605265310
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch b/games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch
new file mode 100644
index 000000000000..715fb189143f
--- /dev/null
+++ b/games-emulation/hatari/files/hatari-1.8.0-gentoo-docdir.patch
@@ -0,0 +1,13 @@
+--- hatari-1.6.1/python-ui/uihelpers.py
++++ hatari-1.6.1/python-ui/uihelpers.py
+@@ -97,9 +97,7 @@
+ # first try whether there are local Hatari docs in standard place
+ # for this Hatari/UI version
+ sep = os.sep
+- path = self.get_binary_path("hatari")
+- path = sep.join(path.split(sep)[:-2]) # remove "bin/hatari"
+- path = path + sep + "share" + sep + "doc" + sep + "hatari" + sep
++ path = "@DOCDIR@"
+ if os.path.exists(path + "manual.html"):
+ return path
+ # if not, point to latest Hatari HG version docs
diff --git a/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch b/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch
new file mode 100644
index 000000000000..4f10d6d9e3ce
--- /dev/null
+++ b/games-emulation/hatari/files/hatari-1.8.0-gentoo.patch
@@ -0,0 +1,112 @@
+--- hatari-1.4.0.orig/src/paths.c
++++ hatari-1.4.0/src/paths.c
+@@ -109,71 +109,6 @@
+ free(pTmpName);
+ }
+
+-
+-/**
+- * Locate the directory where the hatari executable resides
+- */
+-static char *Paths_InitExecDir(const char *argv0)
+-{
+- char *psExecDir; /* Path string where the hatari executable can be found */
+-
+- /* Allocate memory for storing the path string of the executable */
+- psExecDir = malloc(FILENAME_MAX);
+- if (!psExecDir)
+- {
+- fprintf(stderr, "Out of memory (Paths_Init)\n");
+- exit(-1);
+- }
+-
+- /* Determine the bindir...
+- * Start with empty string, then try to use OS specific functions,
+- * and finally analyze the PATH variable if it has not been found yet. */
+- psExecDir[0] = '\0';
+-
+-#if defined(__linux__)
+- {
+- int i;
+- /* On Linux, we can analyze the symlink /proc/self/exe */
+- i = readlink("/proc/self/exe", psExecDir, FILENAME_MAX);
+- if (i > 0)
+- {
+- char *p;
+- psExecDir[i] = '\0';
+- p = strrchr(psExecDir, '/'); /* Search last slash */
+- if (p)
+- *p = 0; /* Strip file name from path */
+- }
+- }
+-//#elif defined(WIN32) || defined(__CEGCC__)
+-// /* On Windows we can use GetModuleFileName for getting the exe path */
+-// GetModuleFileName(NULL, psExecDir, FILENAME_MAX);
+-#endif
+-
+- /* If we do not have the execdir yet, analyze argv[0] and the PATH: */
+- if (psExecDir[0] == 0)
+- {
+- if (strchr(argv0, PATHSEP) == 0)
+- {
+- /* No separator in argv[0], we have to explore PATH... */
+- Paths_GetExecDirFromPATH(argv0, psExecDir, FILENAME_MAX);
+- }
+- else
+- {
+- /* There was a path separator in argv[0], so let's assume a
+- * relative or absolute path to the current directory in argv[0] */
+- char *p;
+- strncpy(psExecDir, argv0, FILENAME_MAX);
+- psExecDir[FILENAME_MAX-1] = 0;
+- p = strrchr(psExecDir, PATHSEP); /* Search last slash */
+- if (p)
+- *p = 0; /* Strip file name from path */
+- }
+- }
+-
+- return psExecDir;
+-}
+-
+-
+ /**
+ * Initialize the users home directory string
+ * and Hatari's home directory (~/.hatari)
+@@ -226,8 +161,6 @@
+ */
+ void Paths_Init(const char *argv0)
+ {
+- char *psExecDir; /* Path string where the hatari executable can be found */
+-
+ /* Init working directory string */
+ if (getcwd(sWorkingDir, FILENAME_MAX) == NULL)
+ {
+@@ -238,27 +171,11 @@
+ /* Init the user's home directory string */
+ Paths_InitHomeDirs();
+
+- /* Get the directory where the executable resides */
+- psExecDir = Paths_InitExecDir(argv0);
+-
+- /* Now create the datadir path name from the bindir path name: */
+- if (psExecDir && strlen(psExecDir) > 0)
+- {
+- snprintf(sDataDir, sizeof(sDataDir), "%s%c%s",
+- psExecDir, PATHSEP, BIN2DATADIR);
+- }
+- else
+- {
+- /* bindir could not be determined, let's assume datadir is relative
+- * to current working directory... */
+- strcpy(sDataDir, BIN2DATADIR);
+- }
++ strcpy(sDataDir, BIN2DATADIR);
+
+ /* And finally make a proper absolute path out of datadir: */
+ File_MakeAbsoluteName(sDataDir);
+
+- free(psExecDir);
+-
+ /* fprintf(stderr, " WorkingDir = %s\n DataDir = %s\n UserHomeDir = %s\n HatariHomeDir = %s\n",
+ sWorkingDir, sDataDir, sUserHomeDir, sHatariHomeDir); */
+ }
diff --git a/games-emulation/hatari/hatari-1.8.0.ebuild b/games-emulation/hatari/hatari-1.8.0.ebuild
new file mode 100644
index 000000000000..defb5f6da8ce
--- /dev/null
+++ b/games-emulation/hatari/hatari-1.8.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils toolchain-funcs cmake-utils python-single-r1 games
+
+DESCRIPTION="Atari ST emulator"
+HOMEPAGE="http://hatari.tuxfamily.org/"
+SRC_URI="http://download.tuxfamily.org/hatari/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ media-libs/libsdl[X,sound,video]
+ sys-libs/readline:0
+ media-libs/libpng:0
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${RDEPEND}
+ dev-python/pygtk[${PYTHON_USEDEP}]
+ games-emulation/emutos"
+
+pkg_setup() {
+ games_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch \
+ "${FILESDIR}"/${P}-gentoo-docdir.patch
+ # build with newer zlib (bug #387829)
+ sed -i -e '1i#define OF(x) x' src/includes/unzip.h || die
+ sed -i -e '/Encoding/d' ./python-ui/hatariui.desktop || die
+ sed -i -e "s/python/${EPYTHON}/" tools/atari-hd-image.sh || die
+ sed -i \
+ -e "s%conf=.*$%conf=\"${GAMES_SYSCONFDIR}\"%" \
+ -e "s%path=.*$%path=\"${GAMES_DATADIR}/${PN}/hatariui\"%" \
+ python-ui/hatariui || die
+ sed -i -e "s#@DOCDIR@#/usr/share/doc/${PF}/html/#" python-ui/uihelpers.py || die
+ rm -f doc/CMakeLists.txt
+}
+
+src_configure() {
+ mycmakeargs=(
+ "-DCMAKE_VERBOSE_MAKEFILE=TRUE"
+ "-DCMAKE_BUILD_TYPE:STRING=Release"
+ "-DDATADIR=${GAMES_DATADIR}/${PN}"
+ "-DBIN2DATADIR=${GAMES_DATADIR}/${PN}"
+ "-DBINDIR=${GAMES_BINDIR}"
+ "-DICONDIR=/usr/share/pixmaps"
+ "-DDESKTOPDIR=/usr/share/applications"
+ "-DMANDIR=/usr/share/man/man1"
+ "-DDOCDIR=/usr/share/doc/${PF}"
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ DOCS="readme.txt doc/*.txt" cmake-utils_src_install
+ dohtml -r doc/
+ python_fix_shebang "${ED%/}"/usr/share/games/hatari/{hatariui,hconsole}/
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ elog "You need a TOS ROM to run hatari. EmuTOS, a free TOS implementation,"
+ elog "has been installed in $(games_get_libdir) with a .img extension (there"
+ elog "are several from which to choose)."
+ elog
+ elog "Another option is to go to http://www.atari.st/ and get a real TOS:"
+ elog " http://www.atari.st/"
+ elog
+ elog "The first time you run hatari, you should configure it to find the"
+ elog "TOS you prefer to use. Be sure to save your settings."
+ echo
+}
diff --git a/games-emulation/hatari/metadata.xml b/games-emulation/hatari/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/hatari/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/higan/Manifest b/games-emulation/higan/Manifest
new file mode 100644
index 000000000000..b4ad6356c5cb
--- /dev/null
+++ b/games-emulation/higan/Manifest
@@ -0,0 +1,10 @@
+AUX higan-094-QA.patch 2611 SHA256 0da243ec55b2af19ccfc344d735a9c3a8596490de44bbb58a6e53f2b014c1659 SHA512 12ea06fb32af29136965150029f19ba95cf3690cbd8e2531d84b06a31d40083047d96e463d77194d1cc07365f966b6040886bff789ba6401df90dd5687990844 WHIRLPOOL 35143f3728ed1823c6c05315dd50d4f2d8b81a96f0722fddf6891cbbb5ac94e912590620d5af63bb72682ab619a52c9cef13dcf8e8b3d56dc611e813de933211
+AUX higan-099-QA.patch 2597 SHA256 6add96752eb7388fb7ef0ca0db47439caf2b90c8055305fbf36acaeaa814bc2e SHA512 421584e9c26ae66117b5f4d95a7afb3b21674fd112ca33fca7cb0c33e7382f8dda100900536eab3f413a6a3cf0f98cc079644b8cee309f17f50c1bd99604728e WHIRLPOOL e7ce4aa4b573fb0cd5ca836d3f353633607670715c31b2e6d2de6c9b97a6eddf20a38402e30d8270705cb33597fdfab1a556f0a74808a0017247c746329d4aed
+AUX higan-wrapper 124 SHA256 a2640df99434ad820ead4015e071681b05ddd10a44eaed9571d7a28bba4b8def SHA512 af3163d06f3bc14b14ec38cf84d11cc706eb6359727743eea35670b4f1ac120af40102ee5409695eba00ead70fcf964073c24d2f47d6824776391927ebbf3f45 WHIRLPOOL 74e4a9232668dc61c300a49fbe05d654313a5867946497e1e95c46d9d4140634d0eb74eef8969fad5ab38b0d635069698a7e635058809ed2bf8792e89401c81d
+DIST higan_v094-source.tar.xz 882732 SHA256 5e149df9d50c1066eb97c0d66665428d75304da782bba5a87078b87fc311151b SHA512 e7e48c76cdc93d2d66db1fa0c71e64903cf4188571b2d5ecb8066dd4e2172a67da4dee68bed6fd0a532b6fd397fa4f537b97de58cc5043a9e970d48d0b66b0da WHIRLPOOL 42e2b628e83b6cb8d87ce82c2e91105b0be06790a1927aa7d52f0b1a181af5d627f467009d15daffd470e3c38a2bb7d67ba84919fb1aa9c8d06ad88ca3163641
+DIST higan_v099-source.7z 1012348 SHA256 1c62f2f1ec98da9d098c2df5c8b539a192b5a70eff0896c3e27d541fb4d28e86 SHA512 567f0c9841fb3fed1c78f2afcd9865cbfe06d04b995d4dc468269e459249b758daed949b461b5b8645ebab40edc1f4f28a566de5795325dae4f604190ca9eae6 WHIRLPOOL 096b4da32f9f030a402690e81dc64e0a242072fd7cb3aa1520783a3a69bd76ff73d3fbcfb3624ad9cf9396e5123777a9cd4fd13f04191fe7faf9ec385c1a929e
+EBUILD higan-094.ebuild 3594 SHA256 4b1f646f7e8bedede27e86b97cd07893a536b7f0ad4c22eab2283b76ed6b4352 SHA512 de30475eba1dd2826d1795b33fc428b420653611f3e08d39e3a914cb01e96a7f9fcb6b4017dfb27064aa5dd7607acbf9935ce404ccbd2b7a835153e57bc171c4 WHIRLPOOL da216786d2b2b774f2b1aee98571fe1e9675ef69822115138b126a2cc61e6600f4764860d1117819fb0b1bbd58ea2506857f251d91fabca36e21939f0e92fda8
+EBUILD higan-099.ebuild 3321 SHA256 f71305983e895ea8dc68fa130c62e8d5f346d0ad2f5c1ebdb7d97237571df547 SHA512 826e888abda2b7f5340277b0b6d2b470b553449cf36a1e7ff748b559df0ad69079ebff49770155529b8c314429d43ec15a03f3be69c599f407fa9782ddb270ca WHIRLPOOL fde570c54a4ca436c3b0ed05bbac7374c05247fec4c393c4f28ff6b1408e15056454805f7fa9e83b78dfbcbdea7b44065da96cd2c5175b04023ce9af0ddb272c
+MISC ChangeLog 3280 SHA256 bfa403141d184d759fa74989e3a38a3350276aa063a91bb0ba8a9d3b7f28dfca SHA512 ba95dcb38cf48569fe2649e8f12508de778eede9d4982d8dc4db6c00bab9882afc3b30ac5cd5697687e7cbc8d22da8f5b620b420a8bf329457a95991770e86f5 WHIRLPOOL 850977615763a3986411ca0762883b98d2048fb509f78f05c30971bf9cbc81938dbdfbc2b384a79608ab2ecf71aea1c040988e12078f05285943eff412d78235
+MISC ChangeLog-2015 1300 SHA256 660cf2b12ba21c26b26d1c7fa18e6f0e7a908ff7fc0ad9aff4194e6970012843 SHA512 284a48e91eb3058e7bbedda08a58c0effe74313091f76ae2bc0bb8461c7593c277dfb965d6930c4565eab594e72b7aaf3311fb2098eb99b73f27a93d6095a0a6 WHIRLPOOL 6f5731721b907e2e0ccae62d672bbdd013a1adab45a0ee2db2852f57e4bfe861ba79b9f56f6d2f647fcc67bbd1bcbd633279ce8fb295dcfa1905282b540065de
+MISC metadata.xml 636 SHA256 c566d8169f12d492471e65ca8a9bdd7a255b71d27cbafbd883f97eef53d998dd SHA512 a835b9cb4fa482754349eaddee279a6bca17cbc070806c0a59c923502159375bbfb481964faae23bbee8379fdbe7e9f0e070cbc783e3c2e62ddd2d88f511170b WHIRLPOOL 667f7810cd3fb187c024604c697338c3524bc170673120a28a6fce7eb74c1d156bf86bd237c618e90d3b8582a9d17ef20749bd89433965ad76c7cb6a3b37201f
diff --git a/games-emulation/higan/files/higan-094-QA.patch b/games-emulation/higan/files/higan-094-QA.patch
new file mode 100644
index 000000000000..69aaedf3d3de
--- /dev/null
+++ b/games-emulation/higan/files/higan-094-QA.patch
@@ -0,0 +1,90 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Jun 9 10:23:38 UTC 2013
+Subject:
+
+--- a/Makefile
++++ b/Makefile
+@@ -13,8 +13,8 @@
+ # console := true
+
+ # compiler
+-flags += -I. -O3 -fomit-frame-pointer
+-link +=
++flags += -I.
++link += $(LDFLAGS)
+ objects := libco
+
+ # profile-guided optimization mode
+@@ -41,14 +41,12 @@
+ endif
+ link += -s -mthreads -luuid -lkernel32 -luser32 -lgdi32 -lcomctl32 -lcomdlg32 -lshell32 -lole32 -lws2_32
+ link += -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
+-else ifeq ($(platform),macosx)
+- flags += -march=native
+ else ifeq ($(platform),linux)
+- flags += -march=native
+- link += -s -Wl,-export-dynamic -lX11 -lXext -ldl
++ flags +=
++ link += -Wl,-export-dynamic -lX11 -lXext -ldl
+ else ifeq ($(platform),bsd)
+- flags += -march=native
+- link += -s -Wl,-export-dynamic -lX11 -lXext
++ flags +=
++ link += -Wl,-export-dynamic -lX11 -lXext
+ else
+ $(error unsupported platform.)
+ endif
+@@ -59,9 +57,9 @@
+ compile = \
+ $(strip \
+ $(if $(filter %.c,$<), \
+- $(compiler) $(cflags) $(flags) $1 -c $< -o $@, \
++ $(compiler) $(cflags) $(flags) $(CFLAGS) $1 -c $< -o $@, \
+ $(if $(filter %.cpp,$<), \
+- $(compiler) $(cppflags) $(flags) $1 -c $< -o $@ \
++ $(compiler) $(cppflags) $(flags) $(CXXFLAGS) $1 -c $< -o $@ \
+ ) \
+ ) \
+ )
+--- a/target-ethos/Makefile
++++ b/target-ethos/Makefile
+@@ -55,10 +55,10 @@
+ obj/ui-tools.o: $(ui)/tools/tools.cpp $(call rwildcard,$(ui)/)
+
+ obj/ruby.o: ruby/ruby.cpp $(call rwildcard,ruby/*)
+- $(compiler) $(rubyflags) -c $< -o $@
++ $(compiler) $(rubyflags) $(CXXFLAGS) -c $< -o $@
+
+ obj/phoenix.o: phoenix/phoenix.cpp $(call rwildcard,phoenix/*)
+- $(compiler) $(phoenixflags) -c $< -o $@
++ $(compiler) $(phoenixflags) $(CXXFLAGS) -c $< -o $@
+
+ obj/resource.o: $(ui)/resource.rc
+ ifeq ($(arch),win32)
+@@ -82,7 +82,7 @@
+ sips -s format icns data/higan.png --out out/$(name).app/Contents/Resources/higan.icns
+ $(strip $(compiler) -o out/$(name).app/Contents/MacOS/$(name) $(objects) $(link))
+ else
+- $(strip $(compiler) -o out/$(name) $(objects) $(link))
++ $(strip $(CXX) $(CXXFLAGS) -o out/$(name) $(objects) $(link))
+ endif
+
+ resource:
+--- a/nall/Makefile
++++ b/nall/Makefile
+@@ -53,11 +53,11 @@
+ link :=
+ endif
+
+- cflags := -x c -std=c99
+- objcflags := -x objective-c -std=c99
+- cppflags := -x c++ -std=c++11
+- objcppflags := -x objective-c++ -std=c++11
+ endif
++cflags := -x c -std=c99
++objcflags := -x objective-c -std=c99
++cppflags := -x c++ -std=c++11
++objcppflags := -x objective-c++ -std=c++11
+
+ # cross-compilation support
+ ifeq ($(arch),x86)
diff --git a/games-emulation/higan/files/higan-099-QA.patch b/games-emulation/higan/files/higan-099-QA.patch
new file mode 100644
index 000000000000..fd4eb13dd34e
--- /dev/null
+++ b/games-emulation/higan/files/higan-099-QA.patch
@@ -0,0 +1,79 @@
+diff -Naur a/higan/GNUmakefile b/higan/GNUmakefile
+--- a/higan/GNUmakefile 2016-06-17 18:56:06.414883957 +0200
++++ b/higan/GNUmakefile 2016-06-17 18:56:19.075903050 +0200
+@@ -4,7 +4,7 @@
+ # target := loki
+ # console := true
+
+-flags += -I. -I.. -O3
++flags += -I. -I..
+ objects := libco audio video resource
+
+ # profile-guided optimization mode
+@@ -31,7 +31,7 @@
+ else ifeq ($(platform),macosx)
+ flags += -march=native
+ else ifneq ($(filter $(platform),linux bsd),)
+- flags += -march=native -fopenmp
++ flags += -fopenmp
+ link += -fopenmp
+ link += -Wl,-export-dynamic
+ link += -lX11 -lXext
+@@ -42,9 +42,9 @@
+ compile = \
+ $(strip \
+ $(if $(filter %.c,$<), \
+- $(compiler) $(cflags) $(flags) $1 -c $< -o $@, \
++ $(compiler) $(cflags) $(flags) $(CFLAGS) $1 -c $< -o $@, \
+ $(if $(filter %.cpp,$<), \
+- $(compiler) $(cppflags) $(flags) $1 -c $< -o $@ \
++ $(compiler) $(cppflags) $(flags) $(CXXFLAGS) $1 -c $< -o $@ \
+ ) \
+ ) \
+ )
+
+--- a/higan/target-tomoko/GNUmakefile 2016-06-17 19:10:27.729182818 +0200
++++ b/higan/target-tomoko/GNUmakefile 2016-06-17 19:14:34.034554246 +0200
+@@ -45,10 +45,10 @@
+ objects := $(patsubst %,obj/%.o,$(objects))
+
+ obj/ruby.o: ../ruby/ruby.cpp $(call rwildcard,../ruby/)
+- $(compiler) $(rubyflags) -c $< -o $@
++ $(compiler) $(rubyflags) $(CXXFLAGS) -c $< -o $@
+
+ obj/hiro.o: ../hiro/hiro.cpp $(call rwildcard,../hiro/)
+- $(compiler) $(hiroflags) -c $< -o $@
++ $(compiler) $(hiroflags) $(CXXFLAGS) -c $< -o $@
+
+ obj/ui-tomoko.o: $(ui)/tomoko.cpp $(call rwildcard,$(ui)/)
+ obj/ui-program.o: $(ui)/program/program.cpp $(call rwildcard,$(ui)/)
+@@ -64,7 +64,7 @@
+
+ # targets
+ build: $(objects)
+- $(strip $(compiler) -o out/$(name) $(objects) $(link))
++ $(strip $(CXX) $(CXXFLAGS) -o out/$(name) $(objects) $(link))
+ ifeq ($(platform),macosx)
+ @if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
+ mkdir -p out/$(name).app/Contents/MacOS/
+
+--- a/icarus/GNUmakefile 2016-07-05 16:42:09.198091772 +0200
++++ b/icarus/GNUmakefile 2016-07-05 16:48:14.388351427 +0200
+@@ -2,7 +2,7 @@
+ include ../hiro/GNUmakefile
+
+ name := icarus
+-flags += -I.. -O3
++flags += -I.. $(CXXFLAGS)
+ link +=
+
+ ifeq ($(platform),windows)
+@@ -14,7 +14,7 @@
+ objects += $(if $(call streq,$(platform),windows),obj/resource.o)
+
+ all: $(objects)
+- $(call unique,$(compiler) -o out/$(name) $(objects) $(link) $(hirolink))
++ $(call unique,$(compiler) -o out/$(name) $(objects) $(link) $(hirolink) $(LDFLAGS))
+ ifeq ($(platform),macosx)
+ @if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
+ mkdir -p out/$(name).app/Contents/MacOS/
diff --git a/games-emulation/higan/files/higan-wrapper b/games-emulation/higan/files/higan-wrapper
new file mode 100644
index 000000000000..e2d9257a4b65
--- /dev/null
+++ b/games-emulation/higan/files/higan-wrapper
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+[ -e $HOME/.config/ ] || mkdir $HOME/.config/
+
+cp -ru "%GAMES_DATADIR%/higan" $HOME/.config/
+
+exec ${0}.bin "$@"
diff --git a/games-emulation/higan/higan-094.ebuild b/games-emulation/higan/higan-094.ebuild
new file mode 100644
index 000000000000..ed1be748a708
--- /dev/null
+++ b/games-emulation/higan/higan-094.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils gnome2-utils toolchain-funcs qmake-utils games
+
+MY_P=${PN}_v${PV}-source
+
+DESCRIPTION="A Nintendo multi-system emulator formerly known as bsnes"
+HOMEPAGE="http://byuu.org/higan/ https://code.google.com/p/higan/"
+SRC_URI="http://byuu.org/files/${MY_P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="ao +alsa openal opengl oss profile_accuracy +profile_balanced profile_performance pulseaudio qt4 +sdl udev xv"
+REQUIRED_USE="|| ( ao openal alsa pulseaudio oss )
+ || ( xv opengl sdl )
+ || ( profile_accuracy profile_balanced profile_performance )"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ ao? ( media-libs/libao )
+ openal? ( media-libs/openal )
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-sound/pulseaudio )
+ xv? ( x11-libs/libXv )
+ opengl? ( virtual/opengl )
+ sdl? ( media-libs/libsdl[X,joystick,video] )
+ udev? ( virtual/udev )
+ !qt4? ( x11-libs/gtk+:2 )
+ qt4? ( >=dev-qt/qtgui-4.5:4 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+disable_module() {
+ sed -i \
+ -e "s|$1\b||" \
+ "${S}"/target-ethos/Makefile || die
+}
+
+src_prepare() {
+ local i
+
+ epatch "${FILESDIR}"/${P}-QA.patch
+
+ sed -i \
+ -e "/handle/s#/usr/local/lib#/usr/$(get_libdir)#" \
+ nall/dl.hpp || die "fixing libdir failed!"
+
+ # audio modules
+ use ao || disable_module audio.ao
+ use openal || disable_module audio.openal
+ use pulseaudio || { disable_module audio.pulseaudio
+ disable_module audio.pulseaudiosimple ;}
+ use oss || disable_module audio.oss
+ use alsa || disable_module audio.alsa
+
+ # video modules
+ use opengl || disable_module video.glx
+ use xv || disable_module video.xv
+ use sdl || disable_module video.sdl
+
+ # input modules
+ use sdl || disable_module input.sdl
+ use udev || disable_module input.udev
+
+ # regenerate .moc if needed
+ if use qt4; then
+ cd phoenix/qt || die
+ "$(qt4_get_bindir)"/moc -i -I. -o platform.moc platform.moc.hpp || die
+ fi
+
+ for i in profile_accuracy profile_balanced profile_performance ; do
+ if use ${i} ; then
+ cp -dRP "${S}" "${S}_${i}" || die
+ fi
+ done
+}
+
+src_compile() {
+ local mytoolkit i
+
+ if use qt4; then
+ mytoolkit="qt"
+ else
+ mytoolkit="gtk"
+ fi
+
+ for i in profile_accuracy profile_balanced profile_performance ; do
+ if use ${i} ; then
+ cd "${S}_${i}" || die
+ emake \
+ platform="linux" \
+ compiler="$(tc-getCXX)" \
+ profile="${i#profile_}" \
+ phoenix="${mytoolkit}"
+
+ sed \
+ -e "s:%GAMES_DATADIR%:${GAMES_DATADIR}:" \
+ < "${FILESDIR}"/${PN}-wrapper \
+ > out/${PN}-wrapper || die "generating wrapper failed!"
+ fi
+ done
+}
+
+src_install() {
+ local i
+
+ for i in profile_accuracy profile_balanced profile_performance ; do
+ if use ${i} ; then
+ # install higan
+ newgamesbin "${S}_${i}"/out/${PN} ${PN}-${i#profile_}.bin
+ newgamesbin "${S}_${i}"/out/${PN}-wrapper ${PN}-${i#profile_}
+ make_desktop_entry "${PN}-${i#profile_}" "${PN} (${i#profile_})"
+ fi
+ done
+
+ # copy home directory stuff to a global location
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r data/cheats.bml profile/*
+
+ # install shaders
+ if use opengl; then
+ insinto "${GAMES_DATADIR}/${PN}/Video Shaders"
+ doins -r shaders/*.shader
+ fi
+
+ doicon -s 48 data/${PN}.png
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ elog "optional dependencies:"
+ elog " dev-games/higan-ananke (extra rom load options)"
+ elog " games-util/higan-purify (Rom purifier)"
+
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/higan/higan-099.ebuild b/games-emulation/higan/higan-099.ebuild
new file mode 100644
index 000000000000..2a660f3b6e1e
--- /dev/null
+++ b/games-emulation/higan/higan-099.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils gnome2-utils toolchain-funcs qmake-utils games
+
+MY_P=${PN}_v${PV}-source
+
+DESCRIPTION="A Nintendo multi-system emulator formerly known as bsnes"
+HOMEPAGE="http://byuu.org/higan/ https://code.google.com/p/higan/"
+SRC_URI="http://download.byuu.org/${MY_P}.7z"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ao +alsa +icarus openal opengl oss pulseaudio qt4 +sdl udev xv"
+REQUIRED_USE="|| ( ao openal alsa pulseaudio oss )
+ || ( xv opengl sdl )"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ icarus? ( x11-libs/gtksourceview:2.0
+ x11-libs/gtk+:2
+ x11-libs/pango
+ dev-libs/atk
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/freetype
+ )
+ ao? ( media-libs/libao )
+ openal? ( media-libs/openal )
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-sound/pulseaudio )
+ xv? ( x11-libs/libXv )
+ opengl? ( virtual/opengl )
+ sdl? ( media-libs/libsdl[X,joystick,video] )
+ udev? ( virtual/udev )
+ !qt4? ( x11-libs/gtk+:2 )
+ qt4? ( dev-qt/qtcore:4
+ >=dev-qt/qtgui-4.5:4 )"
+DEPEND="${RDEPEND}
+ app-arch/p7zip
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+disable_module() {
+ sed -i \
+ -e "s|$1\b||" \
+ "${S}"/higan/target-tomoko/GNUmakefile || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-QA.patch
+
+ sed -i \
+ -e "/handle/s#/usr/local/lib#/usr/$(get_libdir)#" \
+ nall/dl.hpp || die "fixing libdir failed!"
+
+ # audio modules
+ use ao || disable_module audio.ao
+ use openal || disable_module audio.openal
+ use pulseaudio || { disable_module audio.pulseaudio
+ disable_module audio.pulseaudiosimple ;}
+ use oss || disable_module audio.oss
+ use alsa || disable_module audio.alsa
+
+ # video modules
+ use opengl || disable_module video.glx
+ use xv || disable_module video.xv
+ use sdl || disable_module video.sdl
+
+ # input modules
+ use sdl || disable_module input.sdl
+ use udev || disable_module input.udev
+
+ # regenerate .moc if needed
+ if use qt4; then
+ cd hiro/qt || die
+ "$(qt4_get_bindir)"/moc -i -I. -o qt.moc qt.hpp || die
+ fi
+}
+
+src_compile() {
+ local mytoolkit
+
+ if use qt4; then
+ mytoolkit="qt"
+ else
+ mytoolkit="gtk"
+ fi
+
+ if use icarus; then
+ cd "${S}/icarus" || die
+ emake \
+ platform="linux" \
+ compiler="$(tc-getCXX)"
+ fi
+
+ cd "${S}/higan" || die
+ emake \
+ platform="linux" \
+ compiler="$(tc-getCXX)" \
+ hiro="${mytoolkit}"
+
+ sed \
+ -e "s:%GAMES_DATADIR%:${GAMES_DATADIR}:" \
+ < "${FILESDIR}"/${PN}-wrapper \
+ > out/${PN}-wrapper || die "generating wrapper failed!"
+}
+
+src_install() {
+ if use icarus; then
+ newgamesbin "${S}"/icarus/out/icarus icarus
+ fi
+ newgamesbin "${S}"/higan/out/${PN} ${PN}.bin
+ newgamesbin "${S}"/higan/out/${PN}-wrapper ${PN}
+ make_desktop_entry "${PN}" "${PN}"
+
+ # copy home directory stuff to a global location
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r higan/data/cheats.bml higan/profile/*
+
+ doicon -s 512 higan/data/${PN}.png
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ #elog "optional dependencies:"
+ #elog " dev-games/higan-ananke (extra rom load options)"
+ #elog " games-util/higan-purify (Rom purifier)"
+
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/higan/metadata.xml b/games-emulation/higan/metadata.xml
new file mode 100644
index 000000000000..fad703a696a7
--- /dev/null
+++ b/games-emulation/higan/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="icarus">Build icarus library manager</flag>
+ <flag name="profile_accuracy">
+ Compile a binary optimized for accuracy</flag>
+ <flag name="profile_balanced">
+ Compile a binary with balanced optimization</flag>
+ <flag name="profile_performance">
+ Compile a binary optimized for performance</flag>
+ <flag name="udev">Enable udev based input</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-emulation/hugo/Manifest b/games-emulation/hugo/Manifest
new file mode 100644
index 000000000000..93f9f6334181
--- /dev/null
+++ b/games-emulation/hugo/Manifest
@@ -0,0 +1,6 @@
+AUX hugo-2.12-gcc41.patch 306 SHA256 b22c8a638ce43777c024d0a04672889e181168ed9d68e8c1716a552c14c98658 SHA512 5b8203867dd6f524ef6f6e70f158b02de45f70aa4f0ac5bd85c171580a7def6c14cd93afe98c90717e10a77fa040ee3d613812ebda6b1768149c8621365ff782 WHIRLPOOL 33d24ab3cd04b0a9027ea185f5efb835eef59c27b0d3fcaa7d9754dda72409ab00ed2236f78be0f8578fe42cef0e24523792910242d0107131e8b99d627177ce
+DIST hugo-2.12.tar.gz 456991 SHA256 0bc1d0a6c7d8a0906c25611cbc9fb391afb59770c0cd71a7329b1338c1821b8e SHA512 38342e6e7a130caeac711de4f72138a5159c2a34e443ce5e16bcb7ac02fbefd085fa5c48583550d8089bfe3528785853df1863e7d1b32652a7f88300ad09d21d WHIRLPOOL c2e2881ecd267f95c60b5af2419fbd5172120795233fafa87b34f1219c67fcb676df9c74c83e29b905b45fbeb7f0bae95b4c85174229f9450f2cbba34815aac7
+EBUILD hugo-2.12.ebuild 726 SHA256 11ac3234d3aa1f498660b65726cbc90a753c0766baa3a64049cee7db53677894 SHA512 6d8ed5f04103c88338b245eb87ed0224e9ea2317c19113db823be788040c328ebd79db71eb60f12199bbce5dc2c4c96304086486ebe4750d782d3db6cf9218bb WHIRLPOOL 13c8c0e782a91a4e35043660db187cf0f737dd7605093817b923a721488e6fa1e96b8457a1289a7d87601e90c0d543db362baefd991b88cd5cf56a072c83f528
+MISC ChangeLog 2453 SHA256 71f250e80f18f0ed936edfa57da3b51b68d2e30bc5daa486fd0c629c7f5caf06 SHA512 506edb2d9867f222159dc656fae7d651b373db59a4b547c66e7b185823a20fef9ab3f367a59f0d97c03df2f1999727215b5911c92a79c5f999bb58b6c858daf6 WHIRLPOOL 323fad9c7d183235e9a5f8c670ff5d44cdef5e47535ef2dd0c67d584879255fd02bde26d0af32091a1b7dc5248340fd2a0da7c07da88c5b2894b09477c7f7173
+MISC ChangeLog-2015 1179 SHA256 9d6762628b8c65b284480784cbd9d18b8db46e01e6f4723f3760009ffdfc3b5a SHA512 a7533a8fee75f4bf98d9cbea9b76f44f894ebd1d17575e60fdd7cccef15fca97309786d52fd74538c3345675a6c0c7272b1f7a4d98c9b893673c5f31359cdd69 WHIRLPOOL 30ef214226d83d570b8add3ff620258b59197476dca30f529e485077566f0d840cbce514faf5ef72c976ec213a5343c04dcea43ce9713f5986eaba2f274593db
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/hugo/files/hugo-2.12-gcc41.patch b/games-emulation/hugo/files/hugo-2.12-gcc41.patch
new file mode 100644
index 000000000000..14050cc79f16
--- /dev/null
+++ b/games-emulation/hugo/files/hugo-2.12-gcc41.patch
@@ -0,0 +1,11 @@
+--- pce.h.old 2006-05-02 20:06:13.000000000 +0200
++++ pce.h 2006-05-02 20:06:33.000000000 +0200
+@@ -196,7 +196,7 @@
+ extern UChar language;
+ // the current language
+
+-extern int BaseClock, UPeriod;
++extern int UPeriod;
+
+ extern UChar US_encoded_card;
+ // Do we have to swap even and odd bytes in the rom
diff --git a/games-emulation/hugo/hugo-2.12.ebuild b/games-emulation/hugo/hugo-2.12.ebuild
new file mode 100644
index 000000000000..fcb43d30707c
--- /dev/null
+++ b/games-emulation/hugo/hugo-2.12.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic games
+
+DESCRIPTION="PC-Engine (Turbografx16) emulator for linux"
+HOMEPAGE="http://www.zeograd.com/"
+SRC_URI="http://www.zeograd.com/download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+RDEPEND="x11-libs/gtk+:2
+ media-libs/libsdl[video]
+ media-libs/libvorbis"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}"-gcc41.patch
+ append-cppflags $(pkg-config sdl --cflags)
+
+}
+
+src_install() {
+ dogamesbin hugo
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r pixmaps
+ dodoc AUTHORS ChangeLog NEWS README TODO
+ dohtml doc/*html
+ prepgamesdirs
+}
diff --git a/games-emulation/hugo/metadata.xml b/games-emulation/hugo/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/hugo/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/kigb/Manifest b/games-emulation/kigb/Manifest
new file mode 100644
index 000000000000..298b5ef649fb
--- /dev/null
+++ b/games-emulation/kigb/Manifest
@@ -0,0 +1,6 @@
+AUX kigb 328 SHA256 f60453db500f4d4faf58bbfbf00cac0a2a3dcaff5d78278392d59a7b4e11edae SHA512 4316e4b6ece9ce9d1f8e36a1d69d4a3c33ee635c4758ce8e4a6b85b3a13a1cae703340e2479e6615b655312db33c21d8d7ee84233049e63716e83efed1cc3128 WHIRLPOOL 4f8b2e8025dd47e88a7e9ed60877dc07ef9429911d14099c0d2738af5a0f1aa2829c10814e88ae7c19baafffa2af510df5b2d6f41aa66a47a816781a613b7cd6
+DIST kigb_lin.tar.gz 477324 SHA256 71adb8018ba80b80b7aa454161d47ec447e74c4797ba752b130d46e79ffcf3b3 SHA512 ca8b10cc05884c92157dde2b034c7e95f28ed7eed771d0383265f942f0cacea791284516b551e96ba07a035068a7039c8faa19ec417ee117b6a350692bbff01d WHIRLPOOL 1772c689e28bd7a6095737b7327867624fe381a452fbf8ec984e8becdb06da37aa914cecf45c2ee3059db8a9563f445c33f8b3f30854304fed6e20c3c42a9f01
+EBUILD kigb-2.02.ebuild 862 SHA256 d6457ef42b9ebe52f7b6c67dab81d413dfedf5712cb3088794ab07ae3000c9dc SHA512 9165baaa5347f20fff793f6f4ca2f82dbca3db3053ebe087e3b967a7b6a29a3101e349f81c3423a3250d1757764c1f1b840d2d9192efc26dbf0e84121d29a9f0 WHIRLPOOL a54d7e004e1ab2acecd40a457d5294565c6e664123d905742b50d640a771fc561f0c5a23464d99917c237e6433af6ccd835df587d70ffc3f962d844b546ea901
+MISC ChangeLog 2436 SHA256 c1930f5180d913f707bed442dbe7e9735f0c1a6e69c06acb5f21f7332d121cb7 SHA512 b60690857fb3337f1e53452ba04b2358c6f0752fd02b19abae9bc41289d787df2900703200029ae11eb8dbaeefaf0da3cc58551e831eb7ba8b4b961c26fb17d1 WHIRLPOOL 35fd8bcba4963c958f76dd94065e7f87ab060fc17d4eeb2ecaeacf4df59ad03b56b1c490896ca694fb634b8b11bdcdef5a57c9147e3c7b9158aecd417c1a5ac1
+MISC ChangeLog-2015 2053 SHA256 13d5cb84b8f5db41d070389ec966234e09842e7861793df09a6521098291b6bc SHA512 2aa1e83091aeb0564e2a3c87e30e5a872554af46be7f5e7d711fd17a652f1e1a4e71b8807aafa6060699cfe3b60451fcf75ba8d1af27c12b0ef3f255d18c1c2e WHIRLPOOL 4b2e37032c5ae73b1124e781c1cd309a0e73262a32a25406f3635f541cad2c6ec6faf287c6725bf494b1fcfffe69a81aca3d089faa5f4fc3aa05affccf85518b
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/kigb/files/kigb b/games-emulation/kigb/files/kigb
new file mode 100644
index 000000000000..c07095bb53ee
--- /dev/null
+++ b/games-emulation/kigb/files/kigb
@@ -0,0 +1,15 @@
+#!/bin/bash
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+kigb_dir="${HOME}/.kigb"
+
+if [[ ! -d "${kigb_dir}" ]] ; then
+ mkdir -p "${kigb_dir}"
+ cd "${kigb_dir}"
+ mkdir cfg inp rom save snap state
+ ln -s GENTOODIR/kigb/kigb kigb
+fi
+
+cd "${kigb_dir}"
+exec ./kigb "$@"
diff --git a/games-emulation/kigb/kigb-2.02.ebuild b/games-emulation/kigb/kigb-2.02.ebuild
new file mode 100644
index 000000000000..565a69cb2abf
--- /dev/null
+++ b/games-emulation/kigb/kigb-2.02.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="A Gameboy (GB, SGB, GBA) Emulator for Linux"
+HOMEPAGE="http://kigb.emuunlim.com/"
+SRC_URI="http://kigb.emuunlim.com/${PN}_lin.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* x86"
+IUSE=""
+RESTRICT="mirror bindist strip"
+
+RDEPEND="x11-libs/libXext
+ sys-libs/zlib
+ dev-games/hawknl
+ =virtual/libstdc++-3*"
+
+S=${WORKDIR}
+
+src_prepare() {
+ # use the system version
+ rm -f libNL.so*
+ # wrapper script creates these in the users' home directories.
+ rm -rf cfg inp snap state rom save
+ cp "${FILESDIR}/kigb" "${T}/" || die
+ sed -i \
+ -e "s:GENTOODIR:${GAMES_PREFIX_OPT}:" "${T}/kigb" || die
+}
+
+src_install() {
+ dogamesbin "${T}/kigb"
+ exeinto "${GAMES_PREFIX_OPT}/${PN}"
+ doexe kigb
+ dodoc doc/*
+ prepgamesdirs
+}
diff --git a/games-emulation/kigb/metadata.xml b/games-emulation/kigb/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/kigb/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/lxdream/Manifest b/games-emulation/lxdream/Manifest
new file mode 100644
index 000000000000..0eacfcffb5ba
--- /dev/null
+++ b/games-emulation/lxdream/Manifest
@@ -0,0 +1,6 @@
+AUX lxdream-0.9.1-glib-single-include.patch 10725 SHA256 080e57fd5bbf3de1188ac249e56fc647c21b0fcc60d90d3a9bfea2a7d2073591 SHA512 1e8130ae228799f6b0b53895edb309579d47f93e1f5f7e88387bc9b2e97d201603f43eebc084604e8e5b2b3a93be68daa040c995a7eed59f7b3aaeb903b606dc WHIRLPOOL 68ab2923b4aa10be9f498b0b8be515cfd9f803a8d7c0602ff8d075703fc654436300241b76e974a6d14034a8b494acc985a21d7d3e5b91ac51fc0eaba49ed35e
+DIST lxdream-0.9.1.tar.gz 2556802 SHA256 6ab26f1b5149233301d890f4677e1225aceb148fe2f813449c5568055f10ad70 SHA512 f56119e99f82931bb22cc596938caba09f02da9a7e74b6c8ce79880214e3566a9a8091b31f89d5dc56f0802d00ac485ce22c3468350d44b2e1cf140f22983055 WHIRLPOOL 32c43ce7c4f5e5ecad7ad33a8e707ae0f59885c63f98c17eba24ede138bf5cb5db81c36d10e0b4176dc62fc167e6455a6b8f57151f08074f2fc366ebb9abd8b3
+EBUILD lxdream-0.9.1-r2.ebuild 1451 SHA256 dd75c2ee249874b4886eed1ba790edd91af158e1acd26b73820482d9e4b09eb9 SHA512 d6d140a0e01dcf3ed996eb28efe1678be84f202d32c29a6421852490c8d67a2ff1c7586b8ffc783ca14eda17e6b829393fc546739910c57204001e81866b4ea8 WHIRLPOOL bb63f4002ac0291fffc185b9b370a2f52266e83e6e3edc56d0ecb1c599d7a30f4f3e2ffd761ce0c92c38dc74cd01710745cfd68d65be74f825410a4c1bfc0c35
+MISC ChangeLog 3431 SHA256 8366e9ae39c02e840a53100c13bc49a75159ad97a357211a38e03920e7329af7 SHA512 f229c2313d2682e6b327bfd8b75d4fce91c905d537aa787090346b42b8098b8d2c5eadfd5f19e7eba7c0c7e3ed9cfe96ffc11a8383d02660310302330f0f8a3a WHIRLPOOL 7e0bb5cacb6780a99cc47fa4d2ea829fc78b0c8d05cbd085f692641a36a56d24417c2934d2108539cb0756467c19d05a3f454e24f4dad159f58606dbdd688d71
+MISC ChangeLog-2015 1250 SHA256 c31ceac811cdd48bafc81a11cc4b5ad748c343bf82aa25703aaef6248de3c925 SHA512 e1061be27f32ce6c8eadc564d9a8a1a063f4ecaac8f3ca9d7f7e471ef524541b5df4e0516d711a5a1041c28b8f953618929cafe698c80135cad9fb106e9bece0 WHIRLPOOL c9c228c39e540cc362d019ad40de41764b1a6f97906ca78d134f772dbd6180a7af7cfac9c627782d3bb2477dfedc1ae477b18e772fe2e732b9fd88a9a2696682
+MISC metadata.xml 379 SHA256 bcaf1053a0170d56b29ffc73b12f50bb90815caf1045432bd48860d9e93f3430 SHA512 ec81121ea013b5ee3e2863c317bad1c4e6c324f44d41202be5f105b7d0416f52d8a5144a9ab354dceb8793c947bf7cc85b192aaee65b0e3f44cfae19340e9399 WHIRLPOOL 2c7699db1110a80179a6da2ef375587aa95642396e9f32052d90d1d88fdd064845bd19b14ddde01efac25969f88cb8514364aac886c19c874bb1982b075205b0
diff --git a/games-emulation/lxdream/files/lxdream-0.9.1-glib-single-include.patch b/games-emulation/lxdream/files/lxdream-0.9.1-glib-single-include.patch
new file mode 100644
index 000000000000..7872174ed859
--- /dev/null
+++ b/games-emulation/lxdream/files/lxdream-0.9.1-glib-single-include.patch
@@ -0,0 +1,395 @@
+Index: lxdream-0.9.1/src/aica/audio.c
+===================================================================
+--- lxdream-0.9.1.orig/src/aica/audio.c
++++ lxdream-0.9.1/src/aica/audio.c
+@@ -19,7 +19,7 @@
+
+ #include "aica/aica.h"
+ #include "aica/audio.h"
+-#include <glib/gmem.h>
++#include <glib.h>
+ #include "dream.h"
+ #include <assert.h>
+ #include <string.h>
+Index: lxdream-0.9.1/src/aica/audio.h
+===================================================================
+--- lxdream-0.9.1.orig/src/aica/audio.h
++++ lxdream-0.9.1/src/aica/audio.h
+@@ -20,7 +20,7 @@
+
+ #include <stdint.h>
+ #include <stdio.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include "gettext.h"
+ #include "plugin.h"
+
+Index: lxdream-0.9.1/src/cocoaui/cocoa_ctrl.m
+===================================================================
+--- lxdream-0.9.1.orig/src/cocoaui/cocoa_ctrl.m
++++ lxdream-0.9.1/src/cocoaui/cocoa_ctrl.m
+@@ -23,7 +23,7 @@
+ #include "maple/maple.h"
+ #include "vmu/vmulist.h"
+
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+
+ #define FIRST_SECONDARY_DEVICE MAPLE_PORTS
+
+Index: lxdream-0.9.1/src/cocoaui/paths_osx.m
+===================================================================
+--- lxdream-0.9.1.orig/src/cocoaui/paths_osx.m
++++ lxdream-0.9.1/src/cocoaui/paths_osx.m
+@@ -19,7 +19,7 @@
+ */
+
+ #include <string.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+
+ #include "lxdream.h"
+ #include "lxpaths.h"
+Index: lxdream-0.9.1/src/config.c
+===================================================================
+--- lxdream-0.9.1.orig/src/config.c
++++ lxdream-0.9.1/src/config.c
+@@ -21,8 +21,7 @@
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <string.h>
+-#include <glib/gmem.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include "dream.h"
+Index: lxdream-0.9.1/src/config.h
+===================================================================
+--- lxdream-0.9.1.orig/src/config.h
++++ lxdream-0.9.1/src/config.h
+@@ -19,8 +19,7 @@
+ #ifndef lxdream_config_H
+ #define lxdream_config_H 1
+
+-#include <glib/gtypes.h>
+-#include <glib/glist.h>
++#include <glib.h>
+ #include "gettext.h"
+
+ #ifdef __cplusplus
+Index: lxdream-0.9.1/src/drivers/input_lirc.c
+===================================================================
+--- lxdream-0.9.1.orig/src/drivers/input_lirc.c
++++ lxdream-0.9.1/src/drivers/input_lirc.c
+@@ -28,7 +28,6 @@
+ #include <dirent.h>
+ #include <ctype.h>
+
+-#include <glib/giochannel.h>
+ #include <glib.h>
+
+ #include <lirc/lirc_client.h>
+Index: lxdream-0.9.1/src/drivers/joy_linux.c
+===================================================================
+--- lxdream-0.9.1.orig/src/drivers/joy_linux.c
++++ lxdream-0.9.1/src/drivers/joy_linux.c
+@@ -32,7 +32,6 @@
+ #include <ctype.h>
+
+ #include <linux/joystick.h>
+-#include <glib/giochannel.h>
+ #include <glib.h>
+
+ #include "lxdream.h"
+Index: lxdream-0.9.1/src/drivers/osx_iokit.m
+===================================================================
+--- lxdream-0.9.1.orig/src/drivers/osx_iokit.m
++++ lxdream-0.9.1/src/drivers/osx_iokit.m
+@@ -19,8 +19,7 @@
+ * GNU General Public License for more details.
+ */
+
+-#include <glib/gmem.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <sys/param.h>
+ #include <paths.h>
+ #include <string.h>
+Index: lxdream-0.9.1/src/gdlist.c
+===================================================================
+--- lxdream-0.9.1.orig/src/gdlist.c
++++ lxdream-0.9.1/src/gdlist.c
+@@ -19,7 +19,7 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <libgen.h>
+ #include "gettext.h"
+ #include "gdrom/gdrom.h"
+Index: lxdream-0.9.1/src/gdrom/gddriver.h
+===================================================================
+--- lxdream-0.9.1.orig/src/gdrom/gddriver.h
++++ lxdream-0.9.1/src/gdrom/gddriver.h
+@@ -24,7 +24,7 @@
+ #include <stdio.h>
+ #include "lxdream.h"
+ #include "gdrom/gdrom.h"
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+Index: lxdream-0.9.1/src/gdrom/gdi.c
+===================================================================
+--- lxdream-0.9.1.orig/src/gdrom/gdi.c
++++ lxdream-0.9.1/src/gdrom/gdi.c
+@@ -23,7 +23,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <sys/stat.h>
+-#include <glib/gutils.h>
++#include <glib.h>
+ #include "gdrom/gddriver.h"
+
+
+Index: lxdream-0.9.1/src/gdrom/gdrom.c
+===================================================================
+--- lxdream-0.9.1.orig/src/gdrom/gdrom.c
++++ lxdream-0.9.1/src/gdrom/gdrom.c
+@@ -20,7 +20,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <ctype.h>
+-#include <glib/gutils.h>
++#include <glib.h>
+ #include "gdrom/ide.h"
+ #include "gdrom/gdrom.h"
+ #include "gdrom/gddriver.h"
+Index: lxdream-0.9.1/src/gdrom/gdrom.h
+===================================================================
+--- lxdream-0.9.1.orig/src/gdrom/gdrom.h
++++ lxdream-0.9.1/src/gdrom/gdrom.h
+@@ -22,7 +22,7 @@
+
+ #include "lxdream.h"
+ #include "hook.h"
+-#include <glib/glist.h>
++#include <glib.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+Index: lxdream-0.9.1/src/gdrom/nrg.c
+===================================================================
+--- lxdream-0.9.1.orig/src/gdrom/nrg.c
++++ lxdream-0.9.1/src/gdrom/nrg.c
+@@ -20,7 +20,7 @@
+ #include <assert.h>
+ #include <stdio.h>
+ #include <errno.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include "gdrom/gddriver.h"
+ #include "dream.h"
+
+Index: lxdream-0.9.1/src/gui.h
+===================================================================
+--- lxdream-0.9.1.orig/src/gui.h
++++ lxdream-0.9.1/src/gui.h
+@@ -19,7 +19,7 @@
+ #ifndef lxdream_gui_H
+ #define lxdream_gui_H
+
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+Index: lxdream-0.9.1/src/loader.h
+===================================================================
+--- lxdream-0.9.1.orig/src/loader.h
++++ lxdream-0.9.1/src/loader.h
+@@ -20,7 +20,7 @@
+ #define lxdream_loader_H 1
+
+ #include <stdio.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+Index: lxdream-0.9.1/src/lxdream.h
+===================================================================
+--- lxdream-0.9.1.orig/src/lxdream.h
++++ lxdream-0.9.1/src/lxdream.h
+@@ -20,7 +20,7 @@
+ #define lxdream_lxdream_H 1
+
+ #include <stdint.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ #include "../config.h"
+
+Index: lxdream-0.9.1/src/lxpaths.c
+===================================================================
+--- lxdream-0.9.1.orig/src/lxpaths.c
++++ lxdream-0.9.1/src/lxpaths.c
+@@ -19,8 +19,7 @@
+ #include <ctype.h>
+ #include <unistd.h>
+ #include <wordexp.h>
+-#include <glib/gstrfuncs.h>
+-#include <glib/gutils.h>
++#include <glib.h>
+
+ #include "gui.h"
+ #include "config.h"
+Index: lxdream-0.9.1/src/maple/maple.c
+===================================================================
+--- lxdream-0.9.1.orig/src/maple/maple.c
++++ lxdream-0.9.1/src/maple/maple.c
+@@ -18,7 +18,7 @@
+ #define MODULE maple_module
+
+ #include <assert.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include "dream.h"
+ #include "mem.h"
+ #include "asic.h"
+Index: lxdream-0.9.1/src/mem.c
+===================================================================
+--- lxdream-0.9.1.orig/src/mem.c
++++ lxdream-0.9.1/src/mem.c
+@@ -20,7 +20,7 @@
+ #include <sys/types.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <assert.h>
+ #include <stdint.h>
+ #include <stdlib.h>
+Index: lxdream-0.9.1/src/paths_unix.c
+===================================================================
+--- lxdream-0.9.1.orig/src/paths_unix.c
++++ lxdream-0.9.1/src/paths_unix.c
+@@ -18,7 +18,7 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+
+ #include "lxdream.h"
+ #include "config.h"
+Index: lxdream-0.9.1/src/plugin.c
+===================================================================
+--- lxdream-0.9.1.orig/src/plugin.c
++++ lxdream-0.9.1/src/plugin.c
+@@ -20,8 +20,7 @@
+ #include <dirent.h>
+ #include <dlfcn.h>
+ #include <string.h>
+-#include <glib/gmem.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include "plugin.h"
+ #include "lxpaths.h"
+
+Index: lxdream-0.9.1/src/pvr2/glutil.c
+===================================================================
+--- lxdream-0.9.1.orig/src/pvr2/glutil.c
++++ lxdream-0.9.1/src/pvr2/glutil.c
+@@ -17,7 +17,7 @@
+ */
+
+ #include <string.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include "pvr2/glutil.h"
+
+ gboolean isGLSecondaryColorSupported()
+Index: lxdream-0.9.1/src/sh4/sh4core.h
+===================================================================
+--- lxdream-0.9.1.orig/src/sh4/sh4core.h
++++ lxdream-0.9.1/src/sh4/sh4core.h
+@@ -19,7 +19,7 @@
+ #ifndef lxdream_sh4core_H
+ #define lxdream_sh4core_H 1
+
+-#include <glib/gtypes.h>
++#include <glib.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include "mem.h"
+Index: lxdream-0.9.1/src/syscall.h
+===================================================================
+--- lxdream-0.9.1.orig/src/syscall.h
++++ lxdream-0.9.1/src/syscall.h
+@@ -20,7 +20,7 @@
+ #define lxdream_syscall_H 1
+
+ #include <stdint.h>
+-#include <glib/gtypes.h>
++#include <glib.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+Index: lxdream-0.9.1/src/tools/actparse.c
+===================================================================
+--- lxdream-0.9.1.orig/src/tools/actparse.c
++++ lxdream-0.9.1/src/tools/actparse.c
+@@ -21,7 +21,7 @@
+ #include <string.h>
+ #include <ctype.h>
+ #include <sys/stat.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include "tools/gendec.h"
+
+ static int add_action( struct action *actions, struct ruleset *rules, char *operation, const char *file, int line, char *action )
+Index: lxdream-0.9.1/src/tools/gendec.c
+===================================================================
+--- lxdream-0.9.1.orig/src/tools/gendec.c
++++ lxdream-0.9.1/src/tools/gendec.c
+@@ -23,7 +23,7 @@
+ #include <getopt.h>
+ #include <errno.h>
+ #include <ctype.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <assert.h>
+ #include "tools/gendec.h"
+
+Index: lxdream-0.9.1/src/vmu/vmulist.c
+===================================================================
+--- lxdream-0.9.1.orig/src/vmu/vmulist.c
++++ lxdream-0.9.1/src/vmu/vmulist.c
+@@ -18,8 +18,7 @@
+
+ #include <string.h>
+ #include <stdlib.h>
+-#include <glib/glist.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include "vmulist.h"
+ #include "config.h"
+
+Index: lxdream-0.9.1/src/vmu/vmuvol.c
+===================================================================
+--- lxdream-0.9.1.orig/src/vmu/vmuvol.c
++++ lxdream-0.9.1/src/vmu/vmuvol.c
+@@ -16,8 +16,7 @@
+ * GNU General Public License for more details.
+ */
+
+-#include <glib/gmem.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <stdio.h>
diff --git a/games-emulation/lxdream/lxdream-0.9.1-r2.ebuild b/games-emulation/lxdream/lxdream-0.9.1-r2.ebuild
new file mode 100644
index 000000000000..38a59d36d6a5
--- /dev/null
+++ b/games-emulation/lxdream/lxdream-0.9.1-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils flag-o-matic games
+
+DESCRIPTION="An emulator for the Sega Dreamcast system"
+HOMEPAGE="http://www.lxdream.org/"
+SRC_URI="http://www.lxdream.org/count.php?file=${P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug lirc profile pulseaudio sdl"
+
+RDEPEND="lirc? ( app-misc/lirc )
+ media-libs/alsa-lib
+ media-libs/libpng:0
+ pulseaudio? ( media-sound/pulseaudio )
+ sdl? ( media-libs/libsdl[sound] )
+ virtual/opengl
+ x11-libs/gtk+:2"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ sys-devel/gettext
+ virtual/os-headers
+ !!gnustep-base/gnustep-gui" #377635
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-0.9.1-glib-single-include.patch"
+
+ # Make .desktop file pass desktop-file-validate
+ sed -i \
+ -e '/Encoding/d' \
+ -e '/FilePattern/d' \
+ -e '/Categories/s|$|;|' \
+ ${PN}.desktop || die
+ # Do not override user-specified CFLAGS
+ sed -i \
+ -e s/'CFLAGS=\"-g -fexceptions\"'/'CFLAGS=\"${CFLAGS} -g -fexceptions\"'/ \
+ -e '/CCOPT/d' \
+ -e '/OBJCOPT/d' \
+ configure || die
+ append-libs -lX11 -lm
+}
+
+src_configure() {
+ egamesconf \
+ --datadir="${GAMES_DATADIR_BASE}" \
+ $(use_enable debug trace) \
+ $(use_enable debug watch) \
+ $(use_enable profile profiled) \
+ $(use_with lirc) \
+ $(use_with pulseaudio pulse) \
+ $(use_with sdl) \
+ --without-esd
+}
+
+src_install() {
+ default
+ prepgamesdirs
+}
diff --git a/games-emulation/lxdream/metadata.xml b/games-emulation/lxdream/metadata.xml
new file mode 100644
index 000000000000..4731fb707fd1
--- /dev/null
+++ b/games-emulation/lxdream/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+ </maintainer>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-emulation/m64py/Manifest b/games-emulation/m64py/Manifest
new file mode 100644
index 000000000000..aff4bdfcd160
--- /dev/null
+++ b/games-emulation/m64py/Manifest
@@ -0,0 +1,5 @@
+DIST m64py-0.2.3.tar.gz 304241 SHA256 87dccbad9f27ab1eae3fb9957ef039e23379d264e68f8ef7470ec38a523ef020 SHA512 5471d2ce96007c5cb5492f7ba3bc2a8843455dfea811b114c68862fa5c06a636e6dd6a4304e60bf2273377330b0eb01f2dcdc0340d02ec498ae44cdd2ccc01ff WHIRLPOOL 2d7727c56a67f6ca3901eb846d46dea881cf6361fe1bbcec6ef2d10247320d92d42d2ea9e75f247faef482f715b051a2c6394e814b83fa5f0c71bd5d1aabf8ba
+EBUILD m64py-0.2.3-r2.ebuild 1966 SHA256 a1fd50ce9c2c927b11f2f6b61117b71b7c93db42e39ccff55285545cdcd80d32 SHA512 ab22af067537fae68a9ba4767e4676c64926ec91131d00469b8bca1dabeb76700a3b9a7afecff30f36d60e99c8b2b330965094379a6f234b17c18e0668507fc0 WHIRLPOOL 1b352f5dbfb1d81e3b4b36504b677da9d81843b682274c2f62fa49cb68f762a71a188a852c1fbe200380683c3f5977e7a4ac6088c9de60522c7eb18ffe40014d
+MISC ChangeLog 3718 SHA256 9eba2fe2c0a24e5d3d009244d3ef3b8fcec9c07592b9c06c3d1e6cb8208ac0b9 SHA512 4791d1abad16bd0941b27e20c42544e7a03c0dbebc3bcfaebda8335073c3ebcfdf43f8ea11fdf057f40fb4494169ec9ad05281eed0003e1e6822243ba378e851 WHIRLPOOL abf64c4843f0fef237d781a12fb62e871cad1a051871219eecef64bfcfd13c0e609aa539793c2e5bf9c081f46581599c5d4b81c25c74084fd3dbc8ff82b9fe75
+MISC ChangeLog-2015 1020 SHA256 adbcc4be574325ab7cbcb7818caadda9186a5899bef4fe6683ae3c578aa46d83 SHA512 251433f3cebf9c15485694158c758f1ef338ee80a22f5f92eb48340ef7d4b48cb9429af24bcea4de9703dd39184982c23a6a6b46388410517996b9455ed28feb WHIRLPOOL 757d5b762d8c18f977a800902f3607b2e72259f17671b394754c3d5ec92b1ab69e022cc4417cf9da23d959340a1bb5932f197d03f88851249f219ce16c345824
+MISC metadata.xml 322 SHA256 a58cd7debf987c07936f6d177f194b4f717e34be7016ff1d53c837ce150ff111 SHA512 e05b00f770c010b4d7776a79923b8b683679cdf36a2ab5d995cf907fc1dbeb86f3538753d25a743277937f625d15d9f9d5d2679096e9fa382c1d47b4c240d61c WHIRLPOOL 0956dab8af89f43c17a3a2b2e22b69a1342005e7f4fee305402314fd7a53557ed326fa8c53f812a440ab8a1a599e765bcbca26847b1243e3897300aefa021baa
diff --git a/games-emulation/m64py/m64py-0.2.3-r2.ebuild b/games-emulation/m64py/m64py-0.2.3-r2.ebuild
new file mode 100644
index 000000000000..1354ee993bba
--- /dev/null
+++ b/games-emulation/m64py/m64py-0.2.3-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python3_{4,5} )
+
+inherit distutils-r1 versionator
+
+DESCRIPTION="A frontend for Mupen64Plus"
+HOMEPAGE="http://m64py.sourceforge.net/"
+SRC_URI="mirror://sourceforge/m64py/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3 public-domain GPL-2 BSD CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# SDL & libmupen64plus are through ctypes, so they rely on specific ABI
+RDEPEND="media-libs/libsdl2:0/0[joystick]
+ dev-python/PyQt5[gui,opengl,widgets,${PYTHON_USEDEP}]
+ >=games-emulation/mupen64plus-core-2.5:0/2-sdl2"
+
+python_prepare_all() {
+ # set the correct search path
+ cat >> src/m64py/platform.py <<-_EOF_
+ SEARCH_DIRS = ["/usr/$(get_libdir)/mupen64plus"]
+_EOF_
+
+ # force SDL2 support to match >=mupen64plus-2.5
+ sed -e '/--sdl2/d' \
+ -e '/SDL2/s:=.*$:= True:' \
+ -i src/m64py/opts.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ local vr
+ for vr in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 0.2.1-r1 ${vr}; then
+ ewarn
+ ewarn "Starting with mupen64plus-2.0-r1, the plugin install path has changed."
+ ewarn "In order for m64py to find mupen64plus, you will either need to set"
+ ewarn "new paths in configuration dialog or remove your configuration file."
+ ewarn "The new paths are:"
+ ewarn
+ ewarn " Library file: /usr/$(get_libdir)/libmupen64plus.so.2.0.0"
+ ewarn " Plugins directory: /usr/$(get_libdir)/mupen64plus"
+ ewarn " Data directory: /usr/share/mupen64plus"
+ fi
+ done
+
+ if ! type -P rar >/dev/null && ! type -P unrar >/dev/null; then
+ elog
+ elog "In order to gain RAR archive support, please install either app-arch/rar"
+ elog "or app-arch/unrar."
+ fi
+
+ if ! type -P 7z >/dev/null \
+ && ! has_version "dev-python/pylzma[${PYTHON_USEDEP}]"; then
+ elog
+ elog "In order to gain 7z archive support, please install either app-arch/p7zip"
+ elog "or dev-python/pylzma."
+ fi
+}
diff --git a/games-emulation/m64py/metadata.xml b/games-emulation/m64py/metadata.xml
new file mode 100644
index 000000000000..c8f77563ef65
--- /dev/null
+++ b/games-emulation/m64py/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">m64py</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mamory/Manifest b/games-emulation/mamory/Manifest
new file mode 100644
index 000000000000..ac4e679aaa6f
--- /dev/null
+++ b/games-emulation/mamory/Manifest
@@ -0,0 +1,5 @@
+DIST mamory-0.2.25.tar.gz 437223 SHA256 81593967a4f334d221ff23e066aa71d939c08d9a6e8b953e3912d76700c65e50 SHA512 d59539646fa61a3964e46123e0c8d09170f5561355e57b8c93dc89c11d99af1a2edeb60389e7f42b14f431c9c495c6ce20c70517ac4977ccaef62f0ed47f0d76 WHIRLPOOL 98437d6a4373a2e7cbd81f9183cf3b4be4e35486903e2104294e59a01c607c13630726aa10027fd3b153f99aaa2256b886eff8488da8209f137af289de201be4
+EBUILD mamory-0.2.25.ebuild 997 SHA256 983557f95631b66f846457de019b676ab659daabd6c99ba0deefb246f15a95e0 SHA512 2357c58a77dc9d99ec664a4a94904ac0a6e2f6dd61d516b8ad37cc3b650b5b0bca4497786f39effbe828f814226ba847c81c0e8c24606ee792a4d255f2ee503e WHIRLPOOL 01c5b668c6294fc23498e38e7656acc19fb765486ab0f858cdba67fbe8ca3c95c94b295c02ad9961d34a6fb71436e70ff7d3bb42d9e41ba593e268ca597cabc6
+MISC ChangeLog 2578 SHA256 2279e02dd7b316b5b846a17e79dc593de3eec24ed3c81e2141cc732ec8b93c12 SHA512 8a77008b07e15067b45e17bd1d18c38e011a433db6d19f43acc018a9c32f7e4963d9a5c30207bd003cbb64b38058e26b4abc4168e2771dbf92efb52046c65316 WHIRLPOOL 90bb1017a0f0315747c95a0cc18f6f4f59a373429376260c56fbfe1932ada6513d8e4c012bc584de381cd433be3393bab909d6cb8b5a7188da314934724eadab
+MISC ChangeLog-2015 3394 SHA256 bf090cfda020dc73e15221a8ff9bf4b639acd8cb2c6d32db027a765ecef8aee4 SHA512 d2cdabed0bff439a5c297df034d1a7f760f095f7f917f97a5e8d3c57e654d71271b805218efb79c895a2d3e398c9941e324a53237a3c61c0090130faba8defeb WHIRLPOOL 423e2c2e878185d28f44e9a94b0e01e81f1174c746b9ea9801697b39a03180be1bda66c6765e4fad933532e50158e18b4d9df0e7e59a1800267705f00d323f85
+MISC metadata.xml 329 SHA256 da7e2f9798d580de2f7d24b845478b8e5fcd427a6c3fbfb95958c0e62a9815b8 SHA512 58aa61207f4409bc50a405342e2f68cf5d576e7819def22d5bd2788869225fc7d4d8769f1efebd78b40195a30e8a104e2d4107dca6bb1d11a66291353088a75c WHIRLPOOL ef2f00dd77424051abd29604199e4a0c2f658e35c76b43a01fa805efc96fd98b5a34a823291806365a46dd206e7cb2b25c65eed0972dcda4e5e7b11b8ddacc4a
diff --git a/games-emulation/mamory/mamory-0.2.25.ebuild b/games-emulation/mamory/mamory-0.2.25.ebuild
new file mode 100644
index 000000000000..315a0cd93ba7
--- /dev/null
+++ b/games-emulation/mamory/mamory-0.2.25.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools flag-o-matic games
+
+DESCRIPTION="ROM management tools and library"
+HOMEPAGE="http://mamory.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-libs/expat"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ # Make sure the system expat is used
+ sed -i \
+ -e 's/#ifdef.*SYSEXPAT/#if 1/' \
+ mamory/amlxml.c mamory/amlxml.h || die
+
+ # Remove hardcoded CFLAGS options
+ sed -i \
+ -e '/AC_ARG_ENABLE(debug,/ {N;N;N;d}' \
+ configure.ac || die
+
+ # Make it possible for eautoreconf to fix fPIC etc.
+ sed -i \
+ -e '/libcommon_la_LDFLAGS= -static/d' \
+ common/Makefile.am || die
+
+ AT_M4DIR="config" eautoreconf
+ append-cflags -std=gnu89 # build with gcc5 (bug #570500)
+}
+
+src_configure() {
+ egamesconf \
+ --includedir=/usr/include
+}
+
+src_install() {
+ default
+ dohtml DOCS/mamory.html
+ prepgamesdirs
+}
diff --git a/games-emulation/mamory/metadata.xml b/games-emulation/mamory/metadata.xml
new file mode 100644
index 000000000000..20c41e11778e
--- /dev/null
+++ b/games-emulation/mamory/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">mamory</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mastergear-bin/Manifest b/games-emulation/mastergear-bin/Manifest
new file mode 100644
index 000000000000..3ca4dcb1c4ef
--- /dev/null
+++ b/games-emulation/mastergear-bin/Manifest
@@ -0,0 +1,5 @@
+DIST MG20-Linux-80x86-bin.tar.Z 160293 SHA256 51f0af3e1c865abd2ab236e25ff7923851f22bd23a25481a1de1201adea10f5d SHA512 378d12d0977d773bf3aab0a4f138ea13b8ceff4db198849b8447e35ff1c43f9a997d7ee9b3bd2515fa40d4e462ea4dde3c0c8ef52a3680c67ea88db98889b7b4 WHIRLPOOL e8a08a7e8853fcffe5f3a5fb397c29b61292c6923538d9adba74c36ec5898959743c452e01510f3b6d90a0528ff24055cbe289c4a27ff964b2bc2bed157c1b30
+EBUILD mastergear-bin-2.0.ebuild 564 SHA256 7744a4f5c65fbb18253df406b250c242da9ab8646c628e7905e12b15287006b5 SHA512 13d5081eff499ef0a5e9b3f9da5c29c1e178059445a8948a5b77d1be974d38152a0928d801b4a73d49d1bee15fb4ee3c80e3200c8b6cacfd134af35b1ac5f2f1 WHIRLPOOL d89bde8a48daef221e0fe28583599ecfbfabb36dfba5d2e8b33f25a3e393901bc21146771d39cb9b1137734eef3465b71cdf992665d15ce9b9986e0ebdaaf2d8
+MISC ChangeLog 2451 SHA256 caf0c774ee0ddbaa632853c688374a95933f704520200941806f0a6dbe3af7c2 SHA512 06a2efa621aa8930dc7a7af6b718b2f3e8b76aaa5dff7b133cd6667ae41ea8e070f0ed15252bcf98f7e2e78073b56e4f2dbc945c53d945dc59b604876c07e52b WHIRLPOOL 440d719e890d782d3d80585a895bdbe8af40ab23d82fb6058c5a7c83172eadab514e0557fa924f87d1dab60c23396d92c54696e05cd1e492b476b2cfd556ba00
+MISC ChangeLog-2015 1256 SHA256 d4800ca2a5e779330912783644c513b37f44b3d4f9b5006d5ccdb7e7c479a6fd SHA512 2f6ad867c0deb9d0e209f579b01947acdeb1b5785a0911467f9618f5fa95b2d40825a7e811d88d8da2432c0c4beb33d7c3ba29ab94cf9d316ffe808ca300d9a7 WHIRLPOOL 4bba27fe22efdcb2e1743deaa042323d66b478f84cbfa5790eff4c5478c5a408b7fe357c63fdea15946c66e508b239d2c93f4e53e0e655fc1ca6777a389d4580
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/mastergear-bin/mastergear-bin-2.0.ebuild b/games-emulation/mastergear-bin/mastergear-bin-2.0.ebuild
new file mode 100644
index 000000000000..6c332bc0abe7
--- /dev/null
+++ b/games-emulation/mastergear-bin/mastergear-bin-2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="SEGA Master System / Game Gear emulator"
+HOMEPAGE="http://fms.komkon.org/MG/"
+SRC_URI="http://fms.komkon.org/MG/MG${PV/\./}-Linux-80x86-bin.tar.Z"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+RESTRICT="mirror bindist strip"
+
+RDEPEND="x11-libs/libXext
+ sys-libs/zlib"
+
+S=${WORKDIR}
+
+src_install() {
+ dogamesbin mg
+ insinto /usr/share/doc/${PF}
+ doins CART.ROM SF7000.ROM
+ dohtml MG.html
+ prepgamesdirs
+}
diff --git a/games-emulation/mastergear-bin/metadata.xml b/games-emulation/mastergear-bin/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/mastergear-bin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/mednafen/Manifest b/games-emulation/mednafen/Manifest
new file mode 100644
index 000000000000..fe6ae63b3761
--- /dev/null
+++ b/games-emulation/mednafen/Manifest
@@ -0,0 +1,13 @@
+AUX mednafen-0.9.41-remove-cflags.patch 2398 SHA256 b452e317d68292681651cd6a15cd7aa414b373bed5167dd409969e5a5eb53b26 SHA512 005404787759e088de0059432611354b068a3b13dd0d42580f96550bb48773badaa1176f810924b7ecb29547033f37c6340908ddf9793c949f8428cf7ddabff6 WHIRLPOOL 976c32ee2b11dd57bc3efd5ef175710a883ec6a68d4ba92e6fe40c68530e6e31e962892b04e810e2d6f8efdfc6b67762d2848bbe1706d5b1a058ad4e755e1dbe
+AUX mednafen-0.9.41-zlib.patch 1212 SHA256 1d56702f10ec8b7bbaa09bfc883cc30704702a1d9a65756ec7c28f11f8381882 SHA512 fa8ee911934107a1a4bdcdec599a7239b1a8d64307650c9d070f6b78d0ceadd83e6670b69950e4f38778b5901b33b576a05b04da9874a0b061d69a489596dacd WHIRLPOOL df7f2a6f9c8a499d72a0362d89d429b80e0ae73121167613adc71fc52efcf45ef0a24a85401858d2cfa578ac5cea23d4c33f3e70af9259825eeb4243751bf637
+DIST mednafen-0.9.41.tar.xz 3148348 SHA256 74736b9b52a7ba6270b67ae8e6c876a887e0e26a00a7d96bdd49af17992aac47 SHA512 d3c7707874eabbec41e5b725813d16e599f3ad89ecbd9c8e1264184d74ab2bf7a21a3f6fe177b6bc429f7bd56f9eea17a9a6fefce8e70b82e87a93d75f5d39c9 WHIRLPOOL f754a45f46a5cd18117b1b710dd7fed5ebcfb311bf4ed4b7961c99636c13559db75f83cf7b34122fb403b7794ddeec6af79469bb7743cb60a7840ffe807fa2d7
+DIST mednafen-0.9.45.1.tar.xz 3183380 SHA256 f95f68acc14f9b30b201e15b8205d85ac9dc7e581ea6b61e225e990491f01e69 SHA512 b49b7638166dfb20d43c3278e7084e99e535dc9c2c1e3ecad82ebf41a1dddbeca9350dfcc26eb43d1661cbe5aa3ba4cde3010ca5680ae9398dc160cbe11d6726 WHIRLPOOL b63568d3a6a4aa055c6a1a576ad74d9bdd4ffcb8fdb41a44dedf390a591eb2f21a382d638df7343927b1a95f236ef9ab505cbc7cb0bb2f1c25406730252223bc
+DIST mednafen-0.9.45.tar.xz 3184340 SHA256 49715544a5eb7a678f7f01994f38aa14e2192f00d201684184665665073a600e SHA512 d2d61eef0a5ab2c3109fb3c4fbdb2509504c61ffaab14a51e413204f08a622e47c116c7333866a3406a1fa7ac4bf68349c0212bc9fcb544d4953898b03a2fb71 WHIRLPOOL 3e8466852d8c04207a307ac2d74c5d9b76b51d0f9cd2c0ae16f59d57ae884dec8fd8d62454996c574f25a530ac568f7a2c884657b2f6b85d0810dc1fb51ad9e0
+DIST mednafen-0.9.46.tar.xz 3187988 SHA256 674faf42bdb0ad5649aea65da266b0be3428995caaa7be183fc6d3ed7732467a SHA512 ea624f076922570001393d5d04cc1b20b3d005d31de4095ee5c7a985be2b61e8d3aa5e78c64e751e8233adc89a31be955372caeb2818d0a5cc71ba9380931620 WHIRLPOOL f3e02ea2c4511206987c7c1d500d573ec4e166a03db1c35ae12ddadffb5644ce2e26e336b6c27d3a3a7fc4edbbd5b0c34aa3ce5d941d222afb16ab2601701578
+EBUILD mednafen-0.9.41.ebuild 1471 SHA256 6da821849a3b78a70a433e760e893c47565de7a102d83f5fd320d7e211ae093d SHA512 d9f32e6163c71fcbf177c93da872c8ee3ecf260ed662b9e5ae3753750775f250ebd67429c3ea234595e305d84e655a8adebe8f8b6b176bf5d081de61cfb104bc WHIRLPOOL 97779a4185189c5a86eceb852cc8d871c231f56170649b15487934be7571456f306e1634a84e4cb8bfbde2959910c87d84beea747cbc34cf192d36e18d73f322
+EBUILD mednafen-0.9.45.1.ebuild 3109 SHA256 b5a7593368f1227b966925e03f4c70f601408815232d98c114e1e16b3a82e9d4 SHA512 6b94e1fdd8555df9f4da4ca67688ae15a73712b6053c10b1c4ea1fbabd2c0f6144f0a3503641821988faeb894429faa97c52ac6542114b03f1a5b14c74cf3ca4 WHIRLPOOL 6ab6f94cfa1143d3638437795a24761048240fdadb2fbfd56134a7ac80d434e0bbf2d87e9995b737c3a794a8066f0f177de6b659258fdf4add7113e3a4dfd04a
+EBUILD mednafen-0.9.45.ebuild 3102 SHA256 5bceb8e6c583a8da68e861055b2a12e908f849f028df0a08b338d56934882449 SHA512 b63de103ffa58b2dc67ed6d13fb6d934f5d036b7451d8724361fc41395b7a2b41e2e78e651b9dd1342f03f681960c75560f40fa671a59ebaae46916024f299ad WHIRLPOOL e4f2f555b567844be3f581f67acfa7c953a8c6e5ec79b337e01c9856e0102c95cad5e6205e20300a8b5fd42dc575d15dcdfdba3fea93ce27a5455566ca5004f2
+EBUILD mednafen-0.9.46.ebuild 3367 SHA256 f6ff0fb13b21080ba2073874a032743d34ea1ccfc47a20b837f2c0862377e65c SHA512 3dc665af4a7a96d244d40d01897c53311a55c626f04ace5b1e9db32708613ea816338a042790f4bca5c3d399d8d8f99e857c8f88686210ea0c828d0d70e02a0f WHIRLPOOL 7f8e37cae5af656c8d8905fd9e804047baae3b55f0db28562a581bf46cec72ae9de6a7f14c5812f015ab175e7c88ac370e7f333c596d6055fdb178179c9ba3f3
+MISC ChangeLog 3588 SHA256 70fa63fe5d5f34e2ecd3a95a041c78ccc1a3557b1c914c74face1b470679fb29 SHA512 6ac143787588ab08724f21fa25aa00667c3d74fcf38344a2073a5913075cc514109bd8112dd6d539317bca84fa13a0460c4d43f6fd4149acd1162ce71369e818 WHIRLPOOL ab64a83607629cb2680a52c372d79ad2a96cea276cf5acd63a34c84387d49acf1be85fb7d52295ad98b318878c4ced7bb2361cdc65c487bcd752ccbf306d2a6f
+MISC ChangeLog-2015 9093 SHA256 76b4fae0e9f65a65734422d348703a5440f4f80d9e3b34f2d5e89bad888a2bb6 SHA512 b148eefa5c570c2c7215022d68107d54f16c62227fe51d1cbcfd871a2da546570758f2b852936e064d7d3945a8f92249108f36201d19799b8f8a030136ace5d8 WHIRLPOOL 0be768226fb92ff2fa42f7aefad8ccd71ebd7590c977f174efa0c336a696cea3b33d160be9470f860bac213ca6004c88d8027e9d061f2cdb7d8fbdfe51e04056
+MISC metadata.xml 475 SHA256 17b402797d5cc88773c1c3a757a93ef4585f4e029954ca0d3610bc719c360694 SHA512 d13e5f6522d5150282ed8bfb44bcdef66a30c392abdd8bf142a0c04fa3d2fd9dc09395510c771fb110cc6123e4f738cc28f33f93cf75a8f5538063eef4ce8cc5 WHIRLPOOL 10fa24189b3da52402563edf64afbf12a82a85bfc66176e23e847c23e9ba96f57598e12314ef6533b2641e36c6942adade5ea5916800bb00f229d511d03ba2cb
diff --git a/games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch b/games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch
new file mode 100644
index 000000000000..a0a52997a27b
--- /dev/null
+++ b/games-emulation/mednafen/files/mednafen-0.9.41-remove-cflags.patch
@@ -0,0 +1,57 @@
+Remove flags that subvert user choice in Gentoo
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -88,21 +88,7 @@
+ AC_CHECK_LIB([z], [zlibVersion], ZLIB_LIBS="-lz", AC_MSG_ERROR([*** zlib not found!]))
+ AC_SUBST([ZLIB_LIBS])
+
+-dnl -fno-fast-math and -fno-unsafe-math-optimizations to make sure it's disabled, as the fast-math feature on certain older
+-dnl versions of gcc produces horribly broken code(and even when it's working correctly, it can have somewhat unpredictable effects).
+-dnl
+-dnl -fno-aggressive-loop-optimizations because I don't trust gcc's aggressive loop optimizations, and there miiight be old code
+-dnl in Mednafen that would cause problems.
+-dnl
+-dnl -fomit-frame-pointer is required for some x86 inline assembly to compile.
+-dnl
+ OPTIMIZER_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-fno-fast-math], OPTIMIZER_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-unsafe-math-optimizations], OPTIMIZER_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-aggressive-loop-optimizations], OPTIMIZER_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-ipa-icf], OPTIMIZER_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fomit-frame-pointer], OPTIMIZER_FLAGS)
+-
+ dnl
+ dnl Aggressively try to disable PIC and PIE, as it has a significant performance overhead and will
+ dnl break some code(with compile-time failures or run-time assert()s triggering).
+@@ -110,12 +95,6 @@
+ dnl Use -fwrapv instead of -fno-strict-overflow; -fno-strict-overflow is buggy on gcc and does not work as documented/implied.
+ dnl
+ CODEGEN_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-fno-pic], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-pie], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-PIC], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-PIE], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-nopie], CODEGEN_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-no-pie], CODEGEN_FLAGS)
+ AX_CFLAGS_GCC_OPTION([-fwrapv], CODEGEN_FLAGS)
+ AX_CFLAGS_GCC_OPTION([-fjump-tables], CODEGEN_FLAGS)
+
+@@ -139,9 +118,6 @@
+ # Used as needed in Makefile.am:
+ #
+ NO_STACK_PROTECTOR_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-fno-stack-protector], NO_STACK_PROTECTOR_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-stack-protector-all], NO_STACK_PROTECTOR_FLAGS)
+-AX_CFLAGS_GCC_OPTION([-fno-stack-protector-strong], NO_STACK_PROTECTOR_FLAGS)
+ AC_SUBST(NO_STACK_PROTECTOR_FLAGS)
+
+ # -----------------------------------
+@@ -165,7 +141,6 @@
+ # Begin ss flags
+ #
+ SS_EXTRA_FLAGS=""
+-AX_CFLAGS_GCC_OPTION([-mtune=haswell], SS_EXTRA_FLAGS)
+ AC_SUBST(SS_EXTRA_FLAGS)
+ #
+ # End ss flags
diff --git a/games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch b/games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch
new file mode 100644
index 000000000000..7f78d385d8eb
--- /dev/null
+++ b/games-emulation/mednafen/files/mednafen-0.9.41-zlib.patch
@@ -0,0 +1,30 @@
+Use system minizip instead of bundled one
+
+--- a/include/mednafen/compress/Makefile.am.inc
++++ b/include/mednafen/compress/Makefile.am.inc
+@@ -1 +1 @@
+-mednafen_SOURCES += compress/minilzo.c compress/ioapi.c compress/unzip.c compress/GZFileStream.cpp compress/ZLInflateFilter.cpp
++mednafen_SOURCES += compress/minilzo.c compress/ioapi.c compress/GZFileStream.cpp compress/ZLInflateFilter.cpp
+--- a/include/mednafen/file.cpp
++++ b/include/mednafen/file.cpp
+@@ -29,7 +29,7 @@
+ #include <errno.h>
+ #include <trio/trio.h>
+
+-#include "compress/unzip.h"
++#include <minizip/unzip.h>
+
+ #include "file.h"
+ #include "general.h"
+--- a/include/mednafen/Makefile.am
++++ b/include/mednafen/Makefile.am
+@@ -6,7 +6,7 @@
+ bin_PROGRAMS = mednafen
+
+ mednafen_SOURCES = debug.cpp error.cpp mempatcher.cpp settings.cpp endian.cpp Time.cpp mednafen.cpp git.cpp file.cpp general.cpp memory.cpp netplay.cpp state.cpp state_rewind.cpp movie.cpp player.cpp PSFLoader.cpp SSFLoader.cpp SNSFLoader.cpp SPCReader.cpp tests.cpp qtrecord.cpp Stream.cpp MemoryStream.cpp FileStream.cpp IPSPatcher.cpp
+-mednafen_LDADD = trio/libtrio.a
++mednafen_LDADD = trio/libtrio.a -lminizip
+ mednafen_DEPENDENCIES = trio/libtrio.a
+
+ if HAVE_SDL
+
diff --git a/games-emulation/mednafen/mednafen-0.9.41.ebuild b/games-emulation/mednafen/mednafen-0.9.41.ebuild
new file mode 100644
index 000000000000..197526339d1b
--- /dev/null
+++ b/games-emulation/mednafen/mednafen-0.9.41.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic pax-utils
+
+DESCRIPTION="Argument-driven multi-system emulator utilizing OpenGL and SDL"
+HOMEPAGE="https://mednafen.github.io/"
+SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="alsa altivec cjk debugger jack nls pax_kernel"
+
+RDEPEND="
+ dev-libs/libcdio
+ media-libs/libsdl[sound,joystick,opengl,video]
+ media-libs/libsndfile
+ sys-libs/zlib[minizip]
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ jack? ( media-sound/jack-audio-connection-kit )
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/${PN}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.41-remove-cflags.patch
+ "${FILESDIR}"/${PN}-0.9.41-zlib.patch
+)
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn
+ ewarn "If you experience build failure, try turning off ccache in FEATURES."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # very sensitive code (bug #539992)
+ strip-flags
+ append-flags -fomit-frame-pointer -fwrapv
+ econf \
+ $(use_enable alsa) \
+ $(use_enable altivec) \
+ $(use_enable cjk cjk-fonts) \
+ $(use_enable debugger) \
+ $(use_enable jack) \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+ dodoc Documentation/cheats.txt
+
+ if use pax_kernel; then
+ pax-mark m "${ED%/}"/bin/mednafen || die
+ fi
+}
diff --git a/games-emulation/mednafen/mednafen-0.9.45.1.ebuild b/games-emulation/mednafen/mednafen-0.9.45.1.ebuild
new file mode 100644
index 000000000000..6c135563e0e9
--- /dev/null
+++ b/games-emulation/mednafen/mednafen-0.9.45.1.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic pax-utils
+
+DESCRIPTION="Argument-driven multi-system emulator utilizing OpenGL and SDL"
+HOMEPAGE="https://mednafen.github.io/"
+SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa altivec cjk debugger jack nls pax_kernel"
+
+RDEPEND="
+ dev-libs/libcdio
+ >=dev-libs/lzo-2.10
+ media-libs/libsdl[sound,joystick,opengl,video]
+ media-libs/libsndfile
+ sys-libs/zlib[minizip]
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ jack? ( media-sound/jack-audio-connection-kit )
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/${PN}
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn
+ ewarn "If you experience build failure, try turning off ccache in FEATURES."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Unfortunately, upstream is insane and thinks mucking with CFLAGS is okay, if
+ # it prevents "users who don't understand the consequences of what they're doing".
+ # We use sed's here, as they're more forward-compatible than patches which need to
+ # be constantly rebased. DO NOT REPLACE THEM UNLESS YOU HAVE PERMISSION FROM GAMES.
+ sed -e '/-fno-fast-math/d' \
+ -e '/-fno-unsafe-math-optimizations/d' \
+ -e '/-fno-aggressive-loop-optimizations/d' \
+ -e '/-fno-ipa-icf/d' \
+ -e '/-fno-printf-return-value/d' \
+ -e '/-fomit-frame-pointer/d' \
+ -e '/-fno-pic/d' \
+ -e '/-fno-pie/d' \
+ -e '/-fno-PIC/d' \
+ -e '/-fno-PIE/d' \
+ -e '/-nopie/d' \
+ -e '/-no-pie/d' \
+ -e '/-fno-stack-protector/d' \
+ -e '/-fno-stack-protector-all/d' \
+ -e '/-fno-stack-protector-strong/d' \
+ -e '/-mtune=haswell/d' \
+ -i configure.ac || die
+
+ # Furthermore, upstream is also insane about bundling libraries and considers it
+ # "an aesthetics issue" and is even unwilling to make unbundling optional.
+ # Libs to unbundle: minilzo, minizip
+ sed -e '/PKG_PROG_PKG_CONFIG/a PKG_CHECK_MODULES([LZO], [lzo2])' \
+ -i configure.ac || die
+ sed -e '/bin_PROGRAMS/a mednafen_CPPFLAGS = \$(LZO_CFLAGS)' \
+ -i src/Makefile.am || die
+ sed -e 's:"compress/minilzo.h":<lzo1x.h>:' \
+ -i src/{mednafen,qtrecord}.cpp || die
+ sed -e 's:compress/ioapi.c::' \
+ -e 's:compress/unzip.c::' \
+ -e 's:compress/minilzo.c::' \
+ -i src/compress/Makefile.am.inc || die
+ sed -e 's:"compress/unzip.h":<minizip/unzip.h>:' \
+ -i src/file.cpp || die
+ sed -e 's:\(mednafen_LDADD.*trio/libtrio\.a\):\1 -lminizip \$(LZO_LIBS):' \
+ -i src/Makefile.am || die
+ # delete bundled files just to be sure...
+ rm src/compress/{ioapi.?,*lzo*,unzip.?} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # very sensitive code (bug #539992)
+ strip-flags
+ append-flags -fomit-frame-pointer -fwrapv
+ econf \
+ $(use_enable alsa) \
+ $(use_enable altivec) \
+ $(use_enable cjk cjk-fonts) \
+ $(use_enable debugger) \
+ $(use_enable jack) \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+ dodoc Documentation/cheats.txt
+
+ if use pax_kernel; then
+ pax-mark m "${ED%/}"/usr/bin/mednafen || die
+ fi
+}
diff --git a/games-emulation/mednafen/mednafen-0.9.45.ebuild b/games-emulation/mednafen/mednafen-0.9.45.ebuild
new file mode 100644
index 000000000000..d42600141e76
--- /dev/null
+++ b/games-emulation/mednafen/mednafen-0.9.45.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic pax-utils
+
+DESCRIPTION="Argument-driven multi-system emulator utilizing OpenGL and SDL"
+HOMEPAGE="https://mednafen.github.io/"
+SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa altivec cjk debugger jack nls pax_kernel"
+
+RDEPEND="
+ dev-libs/libcdio
+ dev-libs/lzo
+ media-libs/libsdl[sound,joystick,opengl,video]
+ media-libs/libsndfile
+ sys-libs/zlib[minizip]
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ jack? ( media-sound/jack-audio-connection-kit )
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/${PN}
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn
+ ewarn "If you experience build failure, try turning off ccache in FEATURES."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Unfortunately, upstream is insane and thinks mucking with CFLAGS is okay, if
+ # it prevents "users who don't understand the consequences of what they're doing".
+ # We use sed's here, as they're more forward-compatible than patches which need to
+ # be constantly rebased. DO NOT REPLACE THEM UNLESS YOU HAVE PERMISSION FROM GAMES.
+ sed -e '/-fno-fast-math/d' \
+ -e '/-fno-unsafe-math-optimizations/d' \
+ -e '/-fno-aggressive-loop-optimizations/d' \
+ -e '/-fno-ipa-icf/d' \
+ -e '/-fno-printf-return-value/d' \
+ -e '/-fomit-frame-pointer/d' \
+ -e '/-fno-pic/d' \
+ -e '/-fno-pie/d' \
+ -e '/-fno-PIC/d' \
+ -e '/-fno-PIE/d' \
+ -e '/-nopie/d' \
+ -e '/-no-pie/d' \
+ -e '/-fno-stack-protector/d' \
+ -e '/-fno-stack-protector-all/d' \
+ -e '/-fno-stack-protector-strong/d' \
+ -e '/-mtune=haswell/d' \
+ -i configure.ac || die
+
+ # Furthermore, upstream is also insane about bundling libraries and considers it
+ # "an aesthetics issue" and is even unwilling to make unbundling optional.
+ # Libs to unbundle: minilzo, minizip
+ sed -e '/PKG_PROG_PKG_CONFIG/a PKG_CHECK_MODULES([LZO], [lzo2])' \
+ -i configure.ac || die
+ sed -e '/bin_PROGRAMS/a mednafen_CPPFLAGS = \$(LZO_CFLAGS)' \
+ -i src/Makefile.am || die
+ sed -e 's:"compress/minilzo.h":<lzo1x.h>:' \
+ -i src/{mednafen,qtrecord}.cpp || die
+ sed -e 's:compress/ioapi.c::' \
+ -e 's:compress/unzip.c::' \
+ -e 's:compress/minilzo.c::' \
+ -i src/compress/Makefile.am.inc || die
+ sed -e 's:"compress/unzip.h":<minizip/unzip.h>:' \
+ -i src/file.cpp || die
+ sed -e 's:\(mednafen_LDADD.*trio/libtrio\.a\):\1 -lminizip \$(LZO_LIBS):' \
+ -i src/Makefile.am || die
+ # delete bundled files just to be sure...
+ rm src/compress/{ioapi.?,*lzo*,unzip.?} || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # very sensitive code (bug #539992)
+ strip-flags
+ append-flags -fomit-frame-pointer -fwrapv
+ econf \
+ $(use_enable alsa) \
+ $(use_enable altivec) \
+ $(use_enable cjk cjk-fonts) \
+ $(use_enable debugger) \
+ $(use_enable jack) \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+ dodoc Documentation/cheats.txt
+
+ if use pax_kernel; then
+ pax-mark m "${ED%/}"/usr/bin/mednafen || die
+ fi
+}
diff --git a/games-emulation/mednafen/mednafen-0.9.46.ebuild b/games-emulation/mednafen/mednafen-0.9.46.ebuild
new file mode 100644
index 000000000000..a42d9936b35c
--- /dev/null
+++ b/games-emulation/mednafen/mednafen-0.9.46.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic pax-utils
+
+DESCRIPTION="Argument-driven multi-system emulator utilizing OpenGL and SDL"
+HOMEPAGE="https://mednafen.github.io/"
+SRC_URI="https://mednafen.github.io/releases/files/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa altivec cjk debugger jack nls pax_kernel"
+
+RDEPEND="
+ dev-libs/libcdio
+ >=dev-libs/lzo-2.10
+ media-libs/libsdl[sound,joystick,opengl,video]
+ media-libs/libsndfile
+ sys-libs/zlib[minizip]
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib )
+ jack? ( media-sound/jack-audio-connection-kit )
+ nls? ( virtual/libintl )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )"
+
+S=${WORKDIR}/${PN}
+
+pkg_pretend() {
+ if has ccache ${FEATURES}; then
+ ewarn
+ ewarn "If you experience build failure, try turning off ccache in FEATURES."
+ ewarn
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Unfortunately, upstream is insane and thinks mucking with CFLAGS is okay, if
+ # it prevents "users who don't understand the consequences of what they're doing".
+ # We use sed's here, as they're more forward-compatible than patches which need to
+ # be constantly rebased. DO NOT REPLACE THEM UNLESS YOU HAVE PERMISSION FROM GAMES.
+ sed -e '/-fno-fast-math/d' \
+ -e '/-fno-unsafe-math-optimizations/d' \
+ -e '/-fno-aggressive-loop-optimizations/d' \
+ -e '/-fno-ipa-icf/d' \
+ -e '/-fno-printf-return-value/d' \
+ -e '/-fomit-frame-pointer/d' \
+ -e '/-fno-pic/d' \
+ -e '/-fno-pie/d' \
+ -e '/-fno-PIC/d' \
+ -e '/-fno-PIE/d' \
+ -e '/-nopie/d' \
+ -e '/-no-pie/d' \
+ -e '/-fno-stack-protector/d' \
+ -e '/-fno-stack-protector-all/d' \
+ -e '/-fno-stack-protector-strong/d' \
+ -e '/-mtune=haswell/d' \
+ -i configure.ac || die
+
+ # Furthermore, upstream is also insane about bundling libraries and considers it
+ # "an aesthetics issue" and is even unwilling to make unbundling optional.
+ # Libs to unbundle: minilzo, minizip
+ sed -e '/PKG_PROG_PKG_CONFIG/a PKG_CHECK_MODULES([LZO], [lzo2])' \
+ -i configure.ac || die
+ sed -e '/bin_PROGRAMS/a mednafen_CPPFLAGS = \$(LZO_CFLAGS)' \
+ -i src/Makefile.am || die
+ sed -e 's:"compress/minilzo.h":<lzo1x.h>:' \
+ -i src/{mednafen,qtrecord}.cpp || die
+ sed -e 's:compress/ioapi.c::' \
+ -e 's:compress/unzip.c::' \
+ -e 's:compress/minilzo.c::' \
+ -i src/compress/Makefile.am.inc || die
+ sed -e 's:"compress/unzip.h":<minizip/unzip.h>:' \
+ -i src/file.cpp || die
+ sed -e 's:\(mednafen_LDADD.*trio/libtrio\.a\):\1 -lminizip \$(LZO_LIBS):' \
+ -i src/Makefile.am || die
+ # delete bundled files just to be sure...
+ rm src/compress/{ioapi.?,*lzo*,unzip.?} || die
+
+ # The insanity continues... upstream now believes it needs to
+ # warn users when compiling with -fPIC/-fPIE enabled
+ sed -e '/Compiling with position-independent code generation enabled is not recommended, for performance reasons/d' \
+ -i src/types.h || die
+
+ eautoreconf
+}
+
+src_configure() {
+ # very dodgy code (bug #539992)
+ strip-flags
+ append-flags -fomit-frame-pointer -fwrapv
+
+ econf \
+ $(use_enable alsa) \
+ $(use_enable altivec) \
+ $(use_enable cjk cjk-fonts) \
+ $(use_enable debugger) \
+ $(use_enable jack) \
+ $(use_enable nls)
+}
+
+src_install() {
+ default
+ dodoc Documentation/cheats.txt
+
+ if use pax_kernel; then
+ pax-mark m "${ED%/}"/usr/bin/mednafen || die
+ fi
+}
diff --git a/games-emulation/mednafen/metadata.xml b/games-emulation/mednafen/metadata.xml
new file mode 100644
index 000000000000..0afad2b3f24e
--- /dev/null
+++ b/games-emulation/mednafen/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="debugger">Build with internal debugger</flag>
+ <flag name="pax_kernel">Triggers a paxmarking of the binary</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">mednafen</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mednaffe/Manifest b/games-emulation/mednaffe/Manifest
new file mode 100644
index 000000000000..d9c79b7e8a04
--- /dev/null
+++ b/games-emulation/mednaffe/Manifest
@@ -0,0 +1,4 @@
+DIST mednaffe-0.8.zip 311381 SHA256 ad56e7a856c7b516a47ac45031e5e8bc4f4ce7106422c8676af7477e94003702 SHA512 54747318da956616af2fedba5d9760629d0064140b4aa2bd652208c4fda8cb24dec60d869d6999aaa371d837adcaf0c6761f843277c999c33d98cfdd07bf3776 WHIRLPOOL 80940181c9a2c36012f87a8c0cf7ce234801096db7dff7aedc7c7f13253b6bd3b8c350129cc5010c225452b5a0f355607f4dac7cade22f0fa64ffc20138e27e9
+EBUILD mednaffe-0.8.ebuild 960 SHA256 3d9d6da67b8eee1d07a3fd2ba96f091914869bc22ad5bea7b22f4ccae836939d SHA512 f08f594bae15f7b6fbe1746b1d58dfe92ed3311bf8ef28079b2f6ab3951b8ed802a8665259cfe0770163bd11f27f21e3963ff57e925aecc61b84e85323d83f37 WHIRLPOOL 03cf529b80636031f73625ef467a36bea066befedf0e6bbcada638ff5b24530360ca987fc28300116a0434c3e43c808adbb8c893b83ffdf4291a0ca9b7dc2639
+MISC ChangeLog 1439 SHA256 0460bbe97c4a2a66fe8cfdf6793f9c476e3fafddd218b31db94ec6cdbd978b81 SHA512 416299b16b913c8940a0570856655b71889aede0ea8a91f5fa2ff2366017d01bb0ad57d1185450af7f614f587b9c3e248b45e5ef2b82ca8b9e4217d5d208c4b9 WHIRLPOOL 351a7fe9f9ac99d629107271c0c999657b7a4c6ab606cdf5a42bd5c8b6eda04364b0d81bc50a647f8a241455c1ddb8a09dfbd35d7416f13ce036027bf56f80a2
+MISC metadata.xml 336 SHA256 b26a1d5030199e6ca66640d0d71e1c690dab3da892f8944869673aa7a65e361b SHA512 5d0ade58e84b321f763690314eb9fa4d8aa2f8b06f4470466101e4213828d92ad200565d1cd5324a0a4e9ccd9daa0a13ff14f9574f6d6f639c92d0d9235dacb7 WHIRLPOOL 7175c24f8fe3a81be9c8b80ab78a0cd4f04d3eeafd2339e8f9cdd1767a8bb394f347d42cf5c3c4d6575191bfcd3a87542b9965c97364a7546c159bb16884c931
diff --git a/games-emulation/mednaffe/mednaffe-0.8.ebuild b/games-emulation/mednaffe/mednaffe-0.8.ebuild
new file mode 100644
index 000000000000..e7bac87f3a94
--- /dev/null
+++ b/games-emulation/mednaffe/mednaffe-0.8.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools flag-o-matic gnome2-utils games
+
+DESCRIPTION="A front-end (GUI) for mednafen emulator"
+HOMEPAGE="https://github.com/AmatCoder/mednaffe"
+SRC_URI="https://github.com/AmatCoder/mednaffe/archive/v$PV.zip -> ${P}.zip"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="app-arch/unzip
+ x11-libs/gtk+:3
+ virtual/pkgconfig"
+RDEPEND="x11-libs/gtk+:3
+ games-emulation/mednafen[debugger]"
+
+src_prepare() {
+ append-cflags -Wl,-export-dynamic
+ sed -i -e '/^CFLAGS=/d' configure.ac || die
+ sed -i -e 's:$(datadir):/usr/share:' share/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf --enable-gtk3
+}
+
+src_install() {
+ default
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/mednaffe/metadata.xml b/games-emulation/mednaffe/metadata.xml
new file mode 100644
index 000000000000..d5520fd1401b
--- /dev/null
+++ b/games-emulation/mednaffe/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">AmatCoder/mednaffe</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mekanix/Manifest b/games-emulation/mekanix/Manifest
new file mode 100644
index 000000000000..58f1156f980b
--- /dev/null
+++ b/games-emulation/mekanix/Manifest
@@ -0,0 +1,6 @@
+DIST mekanix070.tgz 759553 SHA256 5ed30cbd87c148923db843b4bbb8fdfbfea514c7e0056bd67f56483cf89d64a3 SHA512 9298d74c0ff7e8d13fbe79f13f2107ea966e6f2602bb3215207a76a433d9f705cd57a33db8295d44cb975e3735a510f23a189d624ea69b83ecfc7ba6509cc3df WHIRLPOOL 16a67f27dacb36c1f1bbfc36f129af54ba95d3dfb8731b201dff021b3fc1b6c5f093df643496ccdc63049104a8bdb3828c420cc9a3cdbbca30cfd9b706438cff
+EBUILD mekanix-070-r1.ebuild 702 SHA256 7bcfae26bdae2cbdb6dfd949beb5ae3c3a6a7f29ad557d59b8fcadbb83211210 SHA512 8f128f5446e4dbba8d0de7a9ddd11276de58731fa277109c1739411a9f4ea5872e7ed1fc5024bca0f9706cd8cff4c53fc0db7921bc423f9e7604cb239166fe7f WHIRLPOOL 2f0e3a2cd2612a9ba955a1f58285b8a619cd318e8ece0acaa4ce9567b1fe4a39cc9f80df94f95c88c1c4ba6f6eea5df0eb187d3db35c4a262a354148e28c5f52
+EBUILD mekanix-070.ebuild 642 SHA256 beed65611836e49613eec528a744203589e845bb195e73220f9b4cb3458a13ff SHA512 fc8b2403a0c96f82bacc61955deb6661d39ac4711751122a16da8e7e77e9a6398ab1b87585b5845c94fe7d92c2860c9e40c8d919614c36368c2062e2fac6d173 WHIRLPOOL 641de388befcf79c375f6b5463b7855f0b8561a2ac470c550c9da4f0311407bb9f202c95f1e1ebc2586759805e620a6a96e82fba9b144b7e6be8cf335fb37bbf
+MISC ChangeLog 2430 SHA256 fb5ea72e572a8fc425ae9de108a233e15d83d1d883fa4e941061d015cc77cdda SHA512 4b7aafd2ad508c8187e4faba52f27fd4d07e97cb3d0c82cf93382c9e6eb2b80cfbb741a3e38128e2e5da824acbf6d1f7db70351e2925bd57f5742604271de3e4 WHIRLPOOL a89a1bd97ce49ec810cdb30511b7da217f01a79f37d94978d69a1f898798b92d7a8882141058b2c4b3ead89913ff52eaf7caa79f63a9c1c2b7fcc8ff6f1e26e0
+MISC ChangeLog-2015 1266 SHA256 06d984a64e4a6d2d69b5450ba9a91c1cdb57457a2ff2d8ff611b487367803368 SHA512 611dc606fc0b0ae91e01e8729402413c4224eafdcfe61b9a7efe1b2cae936d59a62a5a4c9a3e4a72df317a4b4f5a502b41e8016677c4337c6230e040ef8c3ca3 WHIRLPOOL 80841e5a1737344c0646ba000854d4bb4c173db41d371a6cbab66ebe5051ee76680919677864910fc7d36ab5c0f906d44a89ba0b4a5da70593eb675849f77b42
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/mekanix/mekanix-070-r1.ebuild b/games-emulation/mekanix/mekanix-070-r1.ebuild
new file mode 100644
index 000000000000..ee7f2d85c12d
--- /dev/null
+++ b/games-emulation/mekanix/mekanix-070-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils
+
+DESCRIPTION="SG-1000, SC-3000, SF-7000, SSC, SMS, GG, COLECO, and OMV emulator"
+HOMEPAGE="http://www.smspower.org/meka/"
+SRC_URI="http://www.smspower.org/meka/releases/${PN}${PV}.tgz"
+
+LICENSE="mekanix"
+SLOT="0"
+KEYWORDS="~x86"
+RESTRICT="strip"
+IUSE=""
+
+RDEPEND="media-libs/libpng
+ x11-libs/libXpm"
+
+S=${WORKDIR}/${PN}
+
+# file verfies that it's an elf, not win32, binary:
+QA_PREBUILT="opt/${PN}/meka.exe"
+
+src_install() {
+ local dir="/opt/${PN}"
+
+ insinto "${dir}"
+ doins * || die "doins failed"
+ fperms a+x "${dir}/meka.exe"
+ make_wrapper mekanix ./meka.exe "${dir}"
+}
diff --git a/games-emulation/mekanix/mekanix-070.ebuild b/games-emulation/mekanix/mekanix-070.ebuild
new file mode 100644
index 000000000000..b8cf9d7930f1
--- /dev/null
+++ b/games-emulation/mekanix/mekanix-070.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit games
+
+DESCRIPTION="SG-1000, SC-3000, SF-7000, SSC, SMS, GG, COLECO, and OMV emulator"
+HOMEPAGE="http://www.smspower.org/meka/"
+SRC_URI="http://www.smspower.org/meka/releases/${PN}${PV}.tgz"
+
+LICENSE="mekanix"
+SLOT="0"
+KEYWORDS="x86"
+RESTRICT="strip"
+IUSE=""
+
+RDEPEND="media-libs/libpng
+ x11-libs/libXpm"
+
+S=${WORKDIR}/${PN}
+
+src_install() {
+ local dir="${GAMES_PREFIX_OPT}/${PN}"
+
+ insinto "${dir}"
+ doins * || die "doins failed"
+ fperms a+x "${dir}/meka.exe"
+ games_make_wrapper mekanix ./meka.exe "${dir}"
+ prepgamesdirs
+}
diff --git a/games-emulation/mekanix/metadata.xml b/games-emulation/mekanix/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/mekanix/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/metadata.xml b/games-emulation/metadata.xml
new file mode 100644
index 000000000000..5f57686a0828
--- /dev/null
+++ b/games-emulation/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The games-emulation category contains game platform emulators.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie games-emulation enthält Emulatoren für verschiedene
+ Spieleplattformen.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría games-emulation contiene emuladores de juegos de plataforma.
+ </longdescription>
+ <longdescription lang="ja">
+ games-emulationカテゴリーにはプラットフォームをエミュレートしたゲームが
+ 含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De games-emulation categorie bevat emulators voor verschillende spelcomputers.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm games-emulation chứa các bộ mô phỏng nền chơi game.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria games-emulation contiene emulatori di piattaforme di gioco.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria games-emulation contém emuladores de plataformas de
+ jogos.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria games-emulation zawiera emulatory rozmaitych platform dla gier.
+ </longdescription>
+</catmetadata>
+
diff --git a/games-emulation/mgba/Manifest b/games-emulation/mgba/Manifest
new file mode 100644
index 000000000000..9c4cacd40c5c
--- /dev/null
+++ b/games-emulation/mgba/Manifest
@@ -0,0 +1,9 @@
+AUX mgba-0.5.2-imagemagick7.patch 2041 SHA256 7010f2542d1b628484cb76cde06481b094130602fe45e239b0d50c7038daf992 SHA512 628912800231d1c084b55e52b63932e03ac127441cfffe8fb7d822a3abcbb15a038d8e1bfc50b4f36643f106d08c99cb3807c5de3e0d80a76074c82105c70a70 WHIRLPOOL e606d5cfee71b42c267649a411abbc74b2d7970b4807f3f538ef7b23ed1e24b78fba584ba67741d911c059eea175134e153ec89e2a7e5d380f59aa0134b97988
+DIST mgba-0.5.2.tar.gz 5343635 SHA256 3d9fda762e6e0dd26ffbd3cbaa5365dc7ca7ed324cee5c65b7c85eaa3c37c4f3 SHA512 8d3ef901bae9b503f8d5afff63c23be9af4b519f86cc6f3656c51374756107e4852bc0472cb7393cb04c8f0ff2f134367a81e32a5ff3dab8ae0c6cbd7d3858da WHIRLPOOL 977da5589b6e04fd67d32295befccf76988b3f23d13d0d92ab525deb51c58aae18ae1d40d0849b8bd2b3fc9e8c15703367458812404ca797b4f0eedbc26f1272
+DIST mgba-0.6.0.tar.gz 7434157 SHA256 d8cf01befd7f452415a9191b058bc21e47e39c7f2c865257cd93c2780b17fe07 SHA512 24a9c75370465246e467f03498994e2f142bed18435658aa75ee8dc7ad9f8fa649b476b7846c0f3c4be474ca1d3b7c36e34af05b4088fa3a7a11e3edb0074308 WHIRLPOOL 26588a452d9c2ae8456f0f8be63246ae8a637b6d0bce7b90ba2a11813682ae9402652a99b2d4844f8eddd5c07347f63dbbeb857887448cd328bb27e38939da07
+DIST mgba-0.6.1.tar.gz 7437240 SHA256 7c78feb0aa12930b993ca1b220d282ed178e306621559e48bb168623030eb876 SHA512 fb4d2bd490afa052c32d263e4d7b65ff83ccdcad01f5df6572d73c81de3c4e0c268b102ac36cff4a85ab20fc190d2f1a4959a3058e559a528be5e49c4808ce57 WHIRLPOOL 333b663dfff0610cf6701178f68beed2fc3ae6fe21380d96636a9a2ac66c2ed98081d31fae78a97cd14d9c6cbc89e246961cc8d246ea3214bd26dd98dd6a3a66
+EBUILD mgba-0.5.2.ebuild 2054 SHA256 c65273680ea2c9d292cb7e916dac5be1d55a9375f07b0422502f187855594dc2 SHA512 7be10a54c893de9aeef6cb155a078e6a33f04c3bea0f6d261134a33a1558ab369995984950fc41b3b8595159b2271ad2f95f00d6a84a76c3dbd022a5ffa2dc92 WHIRLPOOL cb57ac9167e4d6a0afaca6375883557d8ba5297021ab3ea089c339577dd7222c213ba2b70184c6e4a36667367d9388a74b706fb2c0f373eb6951fd10bac5b328
+EBUILD mgba-0.6.0.ebuild 2358 SHA256 4f4756232fc487e24ebe207c3cc0530dc48e5f45fac7fd814ecf384a0bd67a5b SHA512 263d981a93d88680fb08730a04b1c6ecc729f0d1d9e9baa5c8914a8e7a1bc1d9408a0062d10df8ce5985675b61592c9ccbd8ad11b702be56d46fbc7cd4716601 WHIRLPOOL 1acb9dd2d72e98248c4734ebfa416c15f75bfef2ba3b4c5d7ececa7ad22f4020fdc326a5e14ee841c3892978017ed1e341c6f0c2ebe1a0d01d61757ad921386b
+EBUILD mgba-0.6.1.ebuild 2358 SHA256 4f4756232fc487e24ebe207c3cc0530dc48e5f45fac7fd814ecf384a0bd67a5b SHA512 263d981a93d88680fb08730a04b1c6ecc729f0d1d9e9baa5c8914a8e7a1bc1d9408a0062d10df8ce5985675b61592c9ccbd8ad11b702be56d46fbc7cd4716601 WHIRLPOOL 1acb9dd2d72e98248c4734ebfa416c15f75bfef2ba3b4c5d7ececa7ad22f4020fdc326a5e14ee841c3892978017ed1e341c6f0c2ebe1a0d01d61757ad921386b
+MISC ChangeLog 679 SHA256 073cedf0d8110ad7a1d6b7169d357fdf94bc7007b33d6ade700a31970c99f44a SHA512 73a7f435d382b0ed0a1c7c10b170c992b073c99cbbdb9674d1084992d7084bfc7ae99a1365c1760a732dfc53a411974d96f196f0bbf37be6b7bfe389e7a55df6 WHIRLPOOL c6f3725a19438a47986160f3ec9fd298830cf69fe2250796cacbd81b9da6e931a29639ceff3522cac947059a1bf8c9519291695be949a778f22ce3e7eb512195
+MISC metadata.xml 339 SHA256 df391f543467bfd72a6034ef0d2e6fdd0bf3161722c949f807d80124ff7391ca SHA512 33798a7a9145daff0c4f0e31cbd6ac05e49632edbec02709f51952716af659a7f3e76f378e9432c15e5bda68619816318a1d2fbfa27b4a5ef136970241ebfa03 WHIRLPOOL 3f9cf544a70b137890c6f84b0fbf0bc84bf975feac0e78c8bc9cafa81e21aee9e842dadf8d23007ea172c1e831b4665f66386d482cc46dda5a68271fa0e78a7a
diff --git a/games-emulation/mgba/files/mgba-0.5.2-imagemagick7.patch b/games-emulation/mgba/files/mgba-0.5.2-imagemagick7.patch
new file mode 100644
index 000000000000..965e66466e5c
--- /dev/null
+++ b/games-emulation/mgba/files/mgba-0.5.2-imagemagick7.patch
@@ -0,0 +1,59 @@
+From 2e3daaedc208824c9b8a54480bd614160cdda9e7 Mon Sep 17 00:00:00 2001
+From: Vicki Pfau <vi@endrift.com>
+Date: Wed, 18 Jan 2017 12:51:05 -0800
+Subject: [PATCH] Feature: Support ImageMagick 7
+
+---
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 38120827e..6be159915 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -322,6 +322,7 @@ if(HAVE_UMASK)
+ endif()
+
+ # Feature dependencies
++set(FEATURE_DEFINES)
+ set(FEATURES)
+ if(CMAKE_SYSTEM_NAME MATCHES .*BSD)
+ set(LIBEDIT_LIBRARIES -ledit)
+@@ -431,11 +432,16 @@ if(USE_MAGICK)
+ list(APPEND FEATURE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/imagemagick/imagemagick-gif-encoder.c")
+ list(APPEND DEPENDENCY_LIB ${MAGICKWAND_LIBRARIES})
+ string(REGEX MATCH "^[0-9]+\\.[0-9]+" MAGICKWAND_VERSION_PARTIAL ${MagickWand_VERSION})
++ string(REGEX MATCH "^[0-9]+" MAGICKWAND_VERSION_MAJOR ${MagickWand_VERSION})
+ if(${MAGICKWAND_VERSION_PARTIAL} EQUAL "6.7")
+ set(MAGICKWAND_DEB_VERSION "5")
++ elseif(${MagickWand_VERSION} EQUAL "6.9.7")
++ set(MAGICKWAND_DEB_VERSION "-6.q16-3")
+ else()
+ set(MAGICKWAND_DEB_VERSION "-6.q16-2")
+ endif()
++ list(APPEND FEATURE_DEFINES MAGICKWAND_VERSION_MAJOR=${MAGICKWAND_VERSION_MAJOR})
++
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libmagickwand${MAGICKWAND_DEB_VERSION}")
+ endif()
+
+@@ -595,7 +601,6 @@ if(USE_DEBUGGERS)
+ list(APPEND FEATURES DEBUGGERS)
+ endif()
+
+-set(FEATURE_DEFINES)
+ foreach(FEATURE IN LISTS FEATURES)
+ list(APPEND FEATURE_DEFINES "USE_${FEATURE}")
+ endforeach()
+diff --git a/src/feature/imagemagick/imagemagick-gif-encoder.h b/src/feature/imagemagick/imagemagick-gif-encoder.h
+index 13505e6db..842cad942 100644
+--- a/src/feature/imagemagick/imagemagick-gif-encoder.h
++++ b/src/feature/imagemagick/imagemagick-gif-encoder.h
+@@ -15,7 +15,11 @@ CXX_GUARD_START
+ #define MAGICKCORE_HDRI_ENABLE 0
+ #define MAGICKCORE_QUANTUM_DEPTH 8
+
++#if MAGICKWAND_VERSION_MAJOR >= 7
++#include <MagickWand/MagickWand.h>
++#else
+ #include <wand/MagickWand.h>
++#endif
+
+ struct ImageMagickGIFEncoder {
+ struct mAVStream d;
diff --git a/games-emulation/mgba/metadata.xml b/games-emulation/mgba/metadata.xml
new file mode 100644
index 000000000000..e4c99df19a2a
--- /dev/null
+++ b/games-emulation/mgba/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>polynomial-c@gentoo.org</email>
+ <name>Lars Wendler</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mgba-emu/mgba</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mgba/mgba-0.5.2.ebuild b/games-emulation/mgba/mgba-0.5.2.ebuild
new file mode 100644
index 000000000000..98352dd40e10
--- /dev/null
+++ b/games-emulation/mgba/mgba-0.5.2.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit fdo-mime gnome2-utils cmake-utils
+
+DESCRIPTION="A new Game Boy Advance emulator written in C."
+HOMEPAGE="https://mgba.io"
+SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="ffmpeg imagemagick opengl qt5 +sdl"
+REQUIRED_USE="|| ( qt5 sdl )
+ qt5? ( opengl )"
+
+RDEPEND="
+ media-libs/libpng:0=
+ sys-libs/zlib[minizip]
+ ffmpeg? ( virtual/ffmpeg )
+ imagemagick? ( media-gfx/imagemagick:= )
+ opengl? ( virtual/opengl )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtwidgets:5
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )"
+DEPEND="${RDEPEND}
+ >=dev-util/cmake-3.2.2"
+
+PATCHES=(
+ "${FILESDIR}/${P}-imagemagick7.patch"
+)
+
+src_prepare() {
+ default
+
+ # Get rid of any bundled stuff we don't want
+ for pkg in libpng lzma zlib ; do
+ rm -r "${S}"/src/third-party/${pkg} || die
+ done
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GL="$(usex opengl)"
+ -DBUILD_QT="$(usex qt5)"
+ -DBUILD_SDL="$(usex sdl)"
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_MAGICK="$(usex imagemagick)"
+ -DUSE_EPOXY=OFF
+ -DUSE_LIBZIP=OFF
+ -DUSE_LZMA=OFF
+ -DUSE_MINIZIP=ON
+ -DM_CORE_GB=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ if use qt5 ; then
+ for size in 16 24 32 48 64 96 128 256; do
+ newicon -s ${size} res/${PN}-${size}.png ${PN}.png
+ done
+ doman doc/${PN}-qt.6
+ domenu res/${PN}-qt.desktop
+ dobin ../${P}_build/qt/${PN}-qt
+ fi
+ if use sdl ; then
+ doman doc/${PN}.6
+ newbin ../${P}_build/sdl/${PN} ${PN}-sdl
+ fi
+
+ dolib.so ../${P}_build/lib${PN}.so*
+}
+
+pkg_preinst() {
+ if use qt5 ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ if use qt5 ; then
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+ fi
+}
+
+pkg_postrm() {
+ if use qt5 ; then
+ fdo-mime_desktop_database_update
+ gnome2_icon_cache_update
+ fi
+}
diff --git a/games-emulation/mgba/mgba-0.6.0.ebuild b/games-emulation/mgba/mgba-0.6.0.ebuild
new file mode 100644
index 000000000000..7ba7da1f8956
--- /dev/null
+++ b/games-emulation/mgba/mgba-0.6.0.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils gnome2-utils xdg-utils
+
+DESCRIPTION="A new Game Boy Advance emulator written in C."
+HOMEPAGE="https://mgba.io"
+SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug ffmpeg imagemagick opengl qt5 +sdl"
+REQUIRED_USE="|| ( qt5 sdl )
+ qt5? ( opengl )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ media-libs/libpng:0=
+ sys-libs/zlib[minizip]
+ ffmpeg? ( virtual/ffmpeg )
+ imagemagick? ( media-gfx/imagemagick:= )
+ opengl? ( virtual/opengl )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtwidgets:5
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # Get rid of any bundled stuff we don't want
+ for pkg in libpng lzma sqlite3 zlib ; do
+ rm -r "${S}"/src/third-party/${pkg} || die
+ done
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GL="$(usex opengl)"
+ -DBUILD_GLES=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_QT="$(usex qt5)"
+ -DBUILD_SDL="$(usex sdl)"
+ -DBUILD_SHARED=ON
+ # test suite fails to build (0.6.0)
+ -DBUILD_SUITE=OFF
+ -DBUILD_TEST=OFF
+ -DM_CORE_GB=ON
+ -DM_CORE_GBA=ON
+ -DUSE_DEBUGGERS="$(usex debug)"
+ -DUSE_EDITLINE="$(usex debug)"
+ -DUSE_EPOXY=OFF
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_GDB_STUB="$(usex debug)"
+ -DUSE_LIBZIP=OFF
+ -DUSE_LZMA=OFF
+ -DUSE_MAGICK="$(usex imagemagick)"
+ -DUSE_MINIZIP=ON
+ -DUSE_PNG=ON
+ # build fails with sqlite being disabled (0.6.0)
+ -DUSE_SQLITE3=ON
+ -DUSE_ZLIB=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ if use qt5 ; then
+ for size in 16 24 32 48 64 96 128 256; do
+ newicon -s ${size} res/${PN}-${size}.png ${PN}.png
+ done
+ doman doc/${PN}-qt.6
+ domenu res/${PN}-qt.desktop
+ dobin ../${P}_build/qt/${PN}-qt
+ fi
+ if use sdl ; then
+ doman doc/${PN}.6
+ newbin ../${P}_build/sdl/${PN} ${PN}-sdl
+ fi
+
+ dolib.so ../${P}_build/lib${PN}.so*
+}
+
+pkg_preinst() {
+ if use qt5 ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ if use qt5 ; then
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+ fi
+}
+
+pkg_postrm() {
+ if use qt5 ; then
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+ fi
+}
diff --git a/games-emulation/mgba/mgba-0.6.1.ebuild b/games-emulation/mgba/mgba-0.6.1.ebuild
new file mode 100644
index 000000000000..7ba7da1f8956
--- /dev/null
+++ b/games-emulation/mgba/mgba-0.6.1.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils gnome2-utils xdg-utils
+
+DESCRIPTION="A new Game Boy Advance emulator written in C."
+HOMEPAGE="https://mgba.io"
+SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug ffmpeg imagemagick opengl qt5 +sdl"
+REQUIRED_USE="|| ( qt5 sdl )
+ qt5? ( opengl )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ media-libs/libpng:0=
+ sys-libs/zlib[minizip]
+ ffmpeg? ( virtual/ffmpeg )
+ imagemagick? ( media-gfx/imagemagick:= )
+ opengl? ( virtual/opengl )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtwidgets:5
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # Get rid of any bundled stuff we don't want
+ for pkg in libpng lzma sqlite3 zlib ; do
+ rm -r "${S}"/src/third-party/${pkg} || die
+ done
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_GL="$(usex opengl)"
+ -DBUILD_GLES=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_QT="$(usex qt5)"
+ -DBUILD_SDL="$(usex sdl)"
+ -DBUILD_SHARED=ON
+ # test suite fails to build (0.6.0)
+ -DBUILD_SUITE=OFF
+ -DBUILD_TEST=OFF
+ -DM_CORE_GB=ON
+ -DM_CORE_GBA=ON
+ -DUSE_DEBUGGERS="$(usex debug)"
+ -DUSE_EDITLINE="$(usex debug)"
+ -DUSE_EPOXY=OFF
+ -DUSE_FFMPEG="$(usex ffmpeg)"
+ -DUSE_GDB_STUB="$(usex debug)"
+ -DUSE_LIBZIP=OFF
+ -DUSE_LZMA=OFF
+ -DUSE_MAGICK="$(usex imagemagick)"
+ -DUSE_MINIZIP=ON
+ -DUSE_PNG=ON
+ # build fails with sqlite being disabled (0.6.0)
+ -DUSE_SQLITE3=ON
+ -DUSE_ZLIB=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ if use qt5 ; then
+ for size in 16 24 32 48 64 96 128 256; do
+ newicon -s ${size} res/${PN}-${size}.png ${PN}.png
+ done
+ doman doc/${PN}-qt.6
+ domenu res/${PN}-qt.desktop
+ dobin ../${P}_build/qt/${PN}-qt
+ fi
+ if use sdl ; then
+ doman doc/${PN}.6
+ newbin ../${P}_build/sdl/${PN} ${PN}-sdl
+ fi
+
+ dolib.so ../${P}_build/lib${PN}.so*
+}
+
+pkg_preinst() {
+ if use qt5 ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ if use qt5 ; then
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+ fi
+}
+
+pkg_postrm() {
+ if use qt5 ; then
+ xdg_desktop_database_update
+ gnome2_icon_cache_update
+ fi
+}
diff --git a/games-emulation/mupen64plus-audio-sdl/Manifest b/games-emulation/mupen64plus-audio-sdl/Manifest
new file mode 100644
index 000000000000..2569d138bc20
--- /dev/null
+++ b/games-emulation/mupen64plus-audio-sdl/Manifest
@@ -0,0 +1,7 @@
+DIST mupen64plus-audio-sdl-src-2.0.tar.gz 26084 SHA256 943ffa6b6cdaf0cda2a24469dfa1d8e951c88c41472ded9e5c9ecbc111363286 SHA512 92ee4755c22da5a753374c7c6f5e074bf6c1ab06a0ab27d475566d50f8ed75b636b59ffe1a8c9d3d63558bf5783b999a600703951679f7bab346643c0c86871d WHIRLPOOL 82a56a49f0ffe620917dba92bf135593c7e66e2944ec0688b29cc2d5362221b81f76e162840e315476d959b445d38f3bc1bf05538fbf1fa9de96b616835b2198
+DIST mupen64plus-audio-sdl-src-2.5.tar.gz 26147 SHA256 1c59f8c2d70206350c0b9067a9722cf2dd67e5686994d5a55adbf51ee8812f59 SHA512 0c63e16449c40f15abdeed968383a218ed9876a92b2c15cbeb6554b20008d6d12996c0fd3bc1c502084791596b8535340596e95a11fe5d27576342740e76db6a WHIRLPOOL ad141c8dbe996590eecada88e943a7d8b0e2d9f4db3d02a17c8b4b1e198580b02ef28ef2b19f2267c77f3060396d068ab2fcbcd2da11ff2e6ecfa61af10bb30f
+EBUILD mupen64plus-audio-sdl-2.0-r1.ebuild 1870 SHA256 7d4319f170d66b048d4bfbae5f0d522bfbd462d2fb4ab4ce056367b350544ab6 SHA512 805bde210a956dce89ff832fa476e014bf52cdd8f0e897ea8fac8142ff232167f3ae959a813f31a9a21fb03bb4f7d56a3a2aed3f173cbbe3a3dbc41b4b433f51 WHIRLPOOL 16241992a92617f7f9f7d45dde64c823d54a061dc280676cccc8fbb69d9409daceecfb57e663970d20573d8817bf31f5ddd7260bf7de50050c0c3be6e58e1af4
+EBUILD mupen64plus-audio-sdl-2.5.ebuild 1959 SHA256 c4fdd8fa83e851f7757c4b5c5a6e89f7be9b2f0e488b83d4bd441779489128b8 SHA512 4dcc0513f5f40de0d0a0603b3c391b827f78fc217ea255c8c4378c41dfe82c8f6efc5c7533fc18c9c54489a8639211f95804c6f1c747e73aeafca8c758ac56fb WHIRLPOOL f5c6ec3fdae111b27a2b954806fcd6342e67fb8e8c01584a6ed6d1d442f6a7a29c227b0eea898ac78eafac617ead7115a9afede98fd97e55150a2a4c36ec8821
+MISC ChangeLog 3418 SHA256 34a46ae5c0c59466fe28c2aa000d3de085faf9642d11dddc181b88cbea8bdde0 SHA512 0ac07effa116e1ebf4025fdb6339eac7cc7497fcdaa620d1daaf33ff57942e2de739f7616efd788f5dbced154b639d75e568666763210622b8c3952e934df414 WHIRLPOOL 99c4f6de0f56b9420488d3e7f6bb779c63f484de05613797c6a7bad6b9e95545b8ca4285b21cf9fcb95c67023e529ec2cbc9e3e34ba76e62f32474c9558e825b
+MISC ChangeLog-2015 1175 SHA256 3675f0ba059be923fa2f7e45e5d0ec214a30822cd7ae1d4a81f5c32e9e119a8c SHA512 7bfb7a15ebaf4fdfb61e9724c619b73c500aa58b9cc5a4ee908f4f8e302acbe372f04cc71a17968d6f548fdbf5b1981129038a165f28d44183b51c89da768df4 WHIRLPOOL faaac8aaac1c8ba8bf3a5633fc5d72732bb9c3865b64979a5dbec5fac78cc03f78fc6b737c397c930781bcb1a0b6a28cdf76db5aac67601dac7febf895496c11
+MISC metadata.xml 345 SHA256 0aaea67d04f87becce4700ba506ffe45c82fcd02e2fb8a60b07c2d3053ffb24e SHA512 f6e02ffd8784ef686cea561d75bac4a5f231fa62e72a089380707663a738e3d10b1f134cce40cc8d60e36cf90ab9303971996b16797253f6509960873e787f2d WHIRLPOOL 575cff657acc0ce93aeb97cbb8183da8abbb0aee94228a81e4a4465102fc9d7093be4ffac99882367d5b645f72c4a4fcfa94673023eede394310367a3c287725
diff --git a/games-emulation/mupen64plus-audio-sdl/metadata.xml b/games-emulation/mupen64plus-audio-sdl/metadata.xml
new file mode 100644
index 000000000000..98ab28b06ff8
--- /dev/null
+++ b/games-emulation/mupen64plus-audio-sdl/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mupen64plus/mupen64plus-audio-sdl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.0-r1.ebuild b/games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.0-r1.ebuild
new file mode 100644
index 000000000000..92ada0249d91
--- /dev/null
+++ b/games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.0-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, SDL audio plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libsamplerate oss speex"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0=
+ media-libs/libsdl:0=[sound]
+ libsamplerate? ( media-libs/libsamplerate:0= )
+ speex? ( media-libs/speex:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl)"
+
+ NO_SPEEX=$(usex speex 0 1)
+ NO_SRC=$(usex libsamplerate 0 1)
+ NO_OSS=$(usex oss 0 1)
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.5.ebuild b/games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.5.ebuild
new file mode 100644
index 000000000000..9ddb524fc2d5
--- /dev/null
+++ b/games-emulation/mupen64plus-audio-sdl/mupen64plus-audio-sdl-2.5.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, SDL audio plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="libsamplerate oss speex"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.5:0=
+ media-libs/libsdl2:0=[sound]
+ libsamplerate? ( media-libs/libsamplerate:0= )
+ speex? ( media-libs/speex:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+
+ NO_SPEEX=$(usex speex 0 1)
+ NO_SRC=$(usex libsamplerate 0 1)
+ NO_OSS=$(usex oss 0 1)
+ # not packaged (https://github.com/nemomobile/libaudioresource)
+ USE_AUDIORESOURCE=0
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-core/Manifest b/games-emulation/mupen64plus-core/Manifest
new file mode 100644
index 000000000000..53ba7fe2136f
--- /dev/null
+++ b/games-emulation/mupen64plus-core/Manifest
@@ -0,0 +1,5 @@
+DIST mupen64plus-core-src-2.5.tar.gz 895890 SHA256 59e99a79e7f862517232e3115bd1f72377e3e34da795c118ba617c478c839578 SHA512 1bf643798de4f17e2ce4f2a67dfd242a8b24d873c413b49cbcb280e4264131222e3f3bc02c46111868102b0b5174d117ababceab66551cb38b76b22b3a94f697 WHIRLPOOL 3ea76e1bd914c9f8f2857976df7ab1ee6cc8d41e7b34f2fc832e0f4030b139b702b0295fca157f475b90245dbfe93aaab05ec5677cd676010b69af873b5f8840
+EBUILD mupen64plus-core-2.5-r1.ebuild 2741 SHA256 140e660d52bd796cb8c95176d33cdd3800fa20ff6bf66fd8dc8c6d95835ba9d3 SHA512 b2afc35676acd02b99048331174ab8e8518d9f7c11f9e22b7794769685d31ed0c77d9e4e671cac70fc54cbd2ba291bd225c8837501f833e81e3bfb86cc8d2a3a WHIRLPOOL 92249ccfad3efb3228001b4d245d4356e08e81c93233266f839d75e2adf9515f93d904d665173540349675fe6c6d682f602cd2b2469039a184863f353a206409
+MISC ChangeLog 3835 SHA256 4fb7df7ac4e3dae46b2ef428850c0ed8e76a5f0238edfa48133c8b7ce070e26c SHA512 283ad61e32d35e8dc2ae8cbe431779ccb477be6cc214b3d8acdf98de35e357d8198e86e53074609971f9a675d552d9bef541af0351f1a41e244b502bee1d8aae WHIRLPOOL fe04e9cefb1f2d95a51ff21df3710f0b0cd5688440fcaaae24d981432b31385d7513fe9f8bf923b21b8180e0c481755552214b92520a18f045c87593d311e901
+MISC ChangeLog-2015 1227 SHA256 d3796f784bc08f4f649a09c6dfebdb4013cc6cdfbbacc7e292ec4ba74b8f109d SHA512 22aceb8878bf062c67be2fb0fbc54a5d9d0172652d6be0ddca452dcf7fea98ee3aa59cdeede3978c2200b91b786cadca326b675d002b03662edc1d047994184e WHIRLPOOL 60d997ed8f3109d503b8280470e4f0490334c956c7db3aba60436991dee697f44a42bbdaad930287f6942cf9d8de5da733f5614f79090db75dec5e63bf4a1633
+MISC metadata.xml 958 SHA256 d00cf7b966083bf7e91cd4bdfa62d1cd58aa32dc991d850d6f503d2593695c63 SHA512 f6cc31a8d152fc50d9bbb285acc34e04f6ffb4f4b1ed9e0fe572183c68d382f757a18f6ed00b76ab90a5204afc1712d02f92194b714330548f73f1015541b7ae WHIRLPOOL f03815371c0bf84c622072c29d2db2169d5983287e7d0bf659bfab11bd0a4281af8bc4ef55e9296dd7914afb2a86b78fdb69dfd09ceee5a92ef51d7f665dcd84
diff --git a/games-emulation/mupen64plus-core/metadata.xml b/games-emulation/mupen64plus-core/metadata.xml
new file mode 100644
index 000000000000..b4eccd857610
--- /dev/null
+++ b/games-emulation/mupen64plus-core/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="debugger">Build the debugger</flag>
+ <flag name="gles2">Use GLES2 instead of OpenGL</flag>
+ <flag name="new-dynarec">Enable new experimental dynamic recompiler implementation (only for x86 and arm)</flag>
+ <flag name="osd">Overlay emulator messages using on-screen-display</flag>
+ </use>
+ <longdescription>Mupen64Plus is a plugin-based N64 emulator for Linux which is capable of accurately playing many games.
+Included are four MIPS R4300 CPU emulators, with dynamic recompilers for 32-bit x86 and 64-bit amd64 systems.</longdescription>
+ <upstream>
+ <remote-id type="google-code">mupen64plus</remote-id>
+ <remote-id type="github">mupen64plus/mupen64plus-core</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild b/games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild
new file mode 100644
index 000000000000..8efaa9ff810e
--- /dev/null
+++ b/games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, core library"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/2-sdl2"
+KEYWORDS="~amd64 ~x86"
+IUSE="debugger gles2 lirc new-dynarec +osd cpu_flags_x86_sse"
+
+RDEPEND="media-libs/libpng:0=
+ media-libs/libsdl2:0=[joystick,opengl,video]
+ sys-libs/zlib:0=[minizip]
+ lirc? ( app-misc/lirc:0 )
+ osd? (
+ media-fonts/dejavu
+ media-libs/freetype:2=
+ virtual/opengl:0=
+ virtual/glu:0=
+ )
+ !<games-emulation/mupen64plus-2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+# block versions using SDL1
+RDEPEND="${RDEPEND}
+ !<games-emulation/m64py-0.2.3-r1
+ !<games-emulation/mupen64plus-audio-sdl-2.5
+ !<games-emulation/mupen64plus-input-sdl-2.5
+ !<games-emulation/mupen64plus-ui-console-2.5
+ !<games-emulation/mupen64plus-video-glide64mk2-2.5
+ !<games-emulation/mupen64plus-video-rice-2.5"
+
+REQUIRED_USE="gles2? ( !osd )"
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+
+ OSD=$(usex osd 1 0)
+ NO_ASM=$(usex cpu_flags_x86_sse 0 1)
+ LIRC=$(usex lirc 1 0)
+ DEBUGGER=$(usex debugger 1 0)
+ NEW_DYNAREC=$(usex new-dynarec 1 0)
+ USE_GLES=$(usex gles2 1 0)
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+ dodoc -r doc/{emuwiki-api-doc,new_dynarec.txt}
+
+ # replace bundled font with a symlink
+ # TODO: fix the code to not rely on it
+ local font_path=/usr/share/mupen64plus/font.ttf
+ rm "${D%/}/${font_path}" || die
+ if use osd; then
+ dosym /usr/share/fonts/dejavu/DejaVuSans.ttf "${font_path}"
+ fi
+}
diff --git a/games-emulation/mupen64plus-input-sdl/Manifest b/games-emulation/mupen64plus-input-sdl/Manifest
new file mode 100644
index 000000000000..b41fc4974d87
--- /dev/null
+++ b/games-emulation/mupen64plus-input-sdl/Manifest
@@ -0,0 +1,7 @@
+DIST mupen64plus-input-sdl-src-2.0.tar.gz 43553 SHA256 b6be48e978683cced8c208ad03e27828c17ac7b2da5e699d6c34945db63d95b6 SHA512 adbeb83e01721aa74e5e65c05e4bff2a250c7bf51835a8b2c020752e9bf0bdb0f0672914fc5285ad9da2e6fa44259780aea6415d77914bb34e521f30eecf6747 WHIRLPOOL 647ccef13620c863077ae2eefb6934d966eaa413fe70437a38560e5fa03f479428e4848f2c2f3f38163a122a29f8b118fb50f9f772bfd1df96ab2860044352d7
+DIST mupen64plus-input-sdl-src-2.5.tar.gz 50580 SHA256 65e528667b7f57a307b92abba37a3601ee17e9dd9d303ba7e4163b27f3ef771b SHA512 014a5e21feb88b14bcee44a74556a257393b799745308421a611eb3b6c11a390a589fdd393f07e69a128ca60426d4dcf8847bcbabed77b0d570be282550148d6 WHIRLPOOL a3d60880c17939785af93f9a2a9de6d9180ae754580d9a21efd5cfc7b0774b7883115f71dde35b1c448c8fc259e4229866e92c7ac51053055e9878fc90ae48b1
+EBUILD mupen64plus-input-sdl-2.0-r1.ebuild 1680 SHA256 025c8c8b4a2af172c24b738f8db546301dcb995cedebfb297923070fab8f5af2 SHA512 32b15a30f280b3edbe0433d2fd8d45306bb5ad4a3e63dabb6570939dd76686259b2f411806577ad93de15082320c983630316e832bda6a6a697f3f7f92448d25 WHIRLPOOL 3d22d52271b3a487af75d4a962b041e008c418916c85ce5000ab7b0f9fbe9bda4594ab36a4330d2baf0985303e2964d93997123d7e3213bc6e5603d699f82e5e
+EBUILD mupen64plus-input-sdl-2.5.ebuild 1681 SHA256 f5d70ceda46f62a2ab7e461fe014524c1319dda5a6a6b9760ddd6949a9ad5afe SHA512 42ac79a06506801717db1692bc86813a5737ebafceebfa1e498cd0bef25abc58fe55b28897230a70cdf870ec01e80f079203f4ed2618055e2b820f8163177e46 WHIRLPOOL d277e123bb82bede127ba75898917371f18ca80f41943628d0e6d5c485ba2e6317860ddc821b3d7d744911eb3db60769eda21b99f145965ff10630ab390c2fea
+MISC ChangeLog 3418 SHA256 d9ed7a2024a2322e1e052c3cd8de62d039abffc6f479853469de26e923fac6e3 SHA512 a17bc6e8871c9cef2d32ac94aa1d79b099fb35ae8c244a62c8aeb8f61525fb135ed5fe649b0b41b459160cecf9c4fa3ba3bc80fab0fc551e90720d5dc7fa332a WHIRLPOOL ed573a5afc8de6e5353b814efbea0b953442de05fc70e28bced07427397dd3a2716c5bdd0301142d88fd662bcbb7e90be4633ba03b72ea0bbd400adc6c61619c
+MISC ChangeLog-2015 992 SHA256 3b9b326842af5af7cb5a2f2846b7eece6a443f578ff262031642537fb296a0e2 SHA512 a6294efc6935e437e5942d95c8a2ae82b3bdf537929206e65e092fba5f5d4e53f73f53f7c8e2448a1b4ec5a8c1d93aedbbc07d59635d7feebb67b8ba7c9bfa8e WHIRLPOOL 515c90d674234de27f1743375ff044c2c134b3e216cb380d9bbf301c2325cbdc23229d2188877f6963318833ffb1000144feaf0063e60a05fe1878cc8c4bfa6d
+MISC metadata.xml 345 SHA256 2ea5db997c1186563d83ac32119addcbd8d9113f18944665b2b798f061000c2f SHA512 52f335099ec233825167226c8c15e6b270820eb111c8b89bcb91a4606f7b1d1d79ed12f41ac5ee69d973137c618f038ff55e395097fb1f1517692083ca86c294 WHIRLPOOL bc854e4a2aabc1b5025c093b1fa943f53278ddce399da7c866050a46b7c12727dd4c319207dd6dc5cc96fa6abea56479374d353b7a901a1b7f1f0c2260b1472b
diff --git a/games-emulation/mupen64plus-input-sdl/metadata.xml b/games-emulation/mupen64plus-input-sdl/metadata.xml
new file mode 100644
index 000000000000..92306ce86d63
--- /dev/null
+++ b/games-emulation/mupen64plus-input-sdl/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mupen64plus/mupen64plus-input-sdl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.0-r1.ebuild b/games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.0-r1.ebuild
new file mode 100644
index 000000000000..5e34abdf1377
--- /dev/null
+++ b/games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.0-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, SDL input plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0=
+ media-libs/libsdl:0=[joystick]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl)"
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.5.ebuild b/games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.5.ebuild
new file mode 100644
index 000000000000..fe28b341357a
--- /dev/null
+++ b/games-emulation/mupen64plus-input-sdl/mupen64plus-input-sdl-2.5.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, SDL input plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.5:0=
+ media-libs/libsdl2:0=[joystick]"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-rsp-hle/Manifest b/games-emulation/mupen64plus-rsp-hle/Manifest
new file mode 100644
index 000000000000..13d323874d88
--- /dev/null
+++ b/games-emulation/mupen64plus-rsp-hle/Manifest
@@ -0,0 +1,7 @@
+DIST mupen64plus-rsp-hle-src-2.0.tar.gz 46291 SHA256 61c2bd163b3506d206957ba690dfd1b4d2921a6c8a3883ab6a8ef1204de7b736 SHA512 e1caa121d377be0856708fa5c13c234abc0bbb2cab90f40963983baf6230a1d4a4b7da9af0fa2ed6737538265b6392d8a43e9e537ccbd63bbb6ee44da8b29fdf WHIRLPOOL 9b3b1557bfc301390b5069892c4fabead82d7a6f1bf28da7a51ce8345fbbb12e611756d4818f423936517fbc51b0839eb25b3e9acf88160a9857ac7c7eb9ab35
+DIST mupen64plus-rsp-hle-src-2.5.tar.gz 46998 SHA256 4b2e11193746e0fbe4dfa78426c1214cf2e42779132eb2f668bf88f498517703 SHA512 564d96050890cc61df05163f99a0be8198e870f0d4071e87828bf58b283b2be8ca7de20ed03482ea8c45725bdd6f6baea618c068cced407892cf2add6ef373c6 WHIRLPOOL ea44abf46720879a0b781284c21dadbb776c12192f87ee362d8732d113cb8763e6a273a7aa7091866e58a01ace01581670440dcf81802346e1c61cdbc92a9670
+EBUILD mupen64plus-rsp-hle-2.0-r1.ebuild 1435 SHA256 bc51f0116595a2c7acf16389275958f2f1222b3fc80ea5ee8c412fdc30318c7c SHA512 27e3c65ff9d57bf70dc9894f3e90962971d069aecc06f7c9db2dadae82af36f1fb0d2bbe10c70a8f8ce01378382ca8216ca05c7d9aab4ec9ded7ce919021eaba WHIRLPOOL 0033271c42d4b7cab3db1a7258e72b006e3647e4df52642c7d4dfc005205ba332eb60f97e76ac6d47a28744158f0b22137845f1bff49fa63b43c7f81a16ddcfd
+EBUILD mupen64plus-rsp-hle-2.5.ebuild 1435 SHA256 bc51f0116595a2c7acf16389275958f2f1222b3fc80ea5ee8c412fdc30318c7c SHA512 27e3c65ff9d57bf70dc9894f3e90962971d069aecc06f7c9db2dadae82af36f1fb0d2bbe10c70a8f8ce01378382ca8216ca05c7d9aab4ec9ded7ce919021eaba WHIRLPOOL 0033271c42d4b7cab3db1a7258e72b006e3647e4df52642c7d4dfc005205ba332eb60f97e76ac6d47a28744158f0b22137845f1bff49fa63b43c7f81a16ddcfd
+MISC ChangeLog 3394 SHA256 638e526e095f1ec629e27441c9517133b6bc5a6145d05a1acb0b1ffc63ed8335 SHA512 7a80e41ad221a29b4f4a3e263c544aec2abbee9062f5b7897f5b5203b41b8188e9f5c0e784e10e95c235d74ea6f9ce15208533c3c53577db5b40bec8e6c38724 WHIRLPOOL 710aa1784a0ccc1c9206406949ff236a5cc803da08174800a36880f416d1fe074136e9b620521a03e685f7a618374653fa2320880001c0ac18862947ccdd799b
+MISC ChangeLog-2015 970 SHA256 7d240b1c2c0f59958ca3c87b4311f052dfb160d615277c2b9fded3ec1ad46cbd SHA512 499b49628140133275ec4dc4655fa47a4b8fbbbabc4dc7f4198879ba0607087df20d53bcef5396771feae08e13f7c58d33aabe550458f28a940181da436db948 WHIRLPOOL dd76b4681fec3ee4ffda760d53df4f1175a598fd1e026948e1c3267951502baed3ecfce283072ca0a2062af7983d97218518e30a2e6ad2393fd388d46f61ad44
+MISC metadata.xml 343 SHA256 a7b664c3f86574657345fa80a7951d8f06f60f240076dc6cce5431c57f75c3ee SHA512 7ffba7fdacc44215dba6cf994646ea38ebf94870accc3d6150ca609fcf5dc7b343a52fe6fc0511e5741f24afc20b11c2e1104d39215f7cffdeaf1098efaf709e WHIRLPOOL 63fc7b8e4cd926bb72b6eb8adbb5584247fd258785bb9367c94a4a6b7886c6c94f039c2e579b1e22965065659d5c919db08906fff28bdaac9c54c55f0658983c
diff --git a/games-emulation/mupen64plus-rsp-hle/metadata.xml b/games-emulation/mupen64plus-rsp-hle/metadata.xml
new file mode 100644
index 000000000000..58ffff278779
--- /dev/null
+++ b/games-emulation/mupen64plus-rsp-hle/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mupen64plus/mupen64plus-rsp-hle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.0-r1.ebuild b/games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.0-r1.ebuild
new file mode 100644
index 000000000000..b326e6251588
--- /dev/null
+++ b/games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.0-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, HLE RSP plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0="
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.5.ebuild b/games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.5.ebuild
new file mode 100644
index 000000000000..b326e6251588
--- /dev/null
+++ b/games-emulation/mupen64plus-rsp-hle/mupen64plus-rsp-hle-2.5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, HLE RSP plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0="
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-ui-console/Manifest b/games-emulation/mupen64plus-ui-console/Manifest
new file mode 100644
index 000000000000..611dc473c62e
--- /dev/null
+++ b/games-emulation/mupen64plus-ui-console/Manifest
@@ -0,0 +1,7 @@
+DIST mupen64plus-ui-console-src-2.0.tar.gz 37954 SHA256 87b9ac0a5ebbc835baa4e1fba0f50e7467e87da6469aa28fdb196e2040e54877 SHA512 7276e19772cfa047ea75c0c87930d7042a41d7d30912cae7f2c44e37ce6d446e8f5bf4e8ce89e69cabcb05185fe7b59a0ff5d12a7f7bbfa010404c2bedd94ea0 WHIRLPOOL 455a3fbb5eb0027ffbf52693e41f2fe8b5a098e32daa0d532b05f0841a35905beb0ffac9b942165d0b03f975468fff75f953cb9b9de02f8a5e49944e28dfccf8
+DIST mupen64plus-ui-console-src-2.5.tar.gz 47852 SHA256 71fee012678ff88f18130e339afd8c5467a2646b7e50da75ba2d5fa342b74a67 SHA512 70293a768c2bc5f80a2f71db229021d497d675536f5dc5eb098f91b62081f993f308d410adebce208a89880f57b037d5b42fa2f95c42ce94ffe2fca326a53046 WHIRLPOOL 4016d6b456d088b19dca2e44e615593bde6e611b36ff0837f9a8d821be87db028027b82daacfccc55488f61ea0110743efb5bed9703336187f88dd8668150e19
+EBUILD mupen64plus-ui-console-2.0-r1.ebuild 1699 SHA256 9dd8b9f6775921420f6feb3eeaba859366521e860ae195da351fa77f100e02dc SHA512 fdfc2d750dbbfb4c7ab8cc00eb55b87095dbc9bac5f8c8c50631f10bd4877f73be0309125234cf8e6b513e665e87a97d0cacc185649a8052399762043efa22c7 WHIRLPOOL 453d4c52ce56713783c3eae86cc473d6a3adb2d0f7d5379448dd434c344896411e940c35f7a3f5b6e52050f97e0b811646e07f912fbd5beb1436d63333ed1d11
+EBUILD mupen64plus-ui-console-2.5.ebuild 1703 SHA256 2dba2552522c56e75c77440110092e032a37ef3bb0abdf0be3de852898c0ed89 SHA512 9303f9b439a36b73ece5ed5e5abbfd3a0123f241da4b0b11365aee7bf706d233351c29debee4ce8df4bf83a81ee7259229ca23f114e6f9136d08bd85759f3a71 WHIRLPOOL 9f586585247d5d18a57ad05c4b7c6ea2da54d535ae41344be7378ab99c2020b61e0734c3bb9c9d7174cb7c02ee3c21c4ce1f01a82ceb4b69c5253677eb0a7d66
+MISC ChangeLog 3430 SHA256 c0531f555e6a1e2990cf0e521582d58ca2b13036ad32fdb3fded538f29467db4 SHA512 44537ce5410075de534db8473224f73f1fcde911ab9bd4380d14b242bf4d821bcb007cdc9705ac5b7147c73259c4d738c3e1428cf4d605a0b95ffae85ccdb50a WHIRLPOOL 2829a94845744447eef90878190e0df1bdf7ae6357b1bd77b71c6e3e1b8a866466a4fb2accf181f578e5e4856e45a53b132108e299bc25ab7ee1a6035c24bc04
+MISC ChangeLog-2015 994 SHA256 91b9168bc7ae1e9688b39f88eb6ef7d148d3626bfc5d6e9b5dcc2337ba553f74 SHA512 7205f4606e7be5a7c206e66e440e60c00dc11768a4289251b966f6a13545b60a965767d45759ca0b447a236a12687775bdfec43acb8ccb684bedfbeea6a11ce6 WHIRLPOOL d607613008a024317def64e9c9e1fece420333365057fa0ea103023f04ee990d0992e185ff8d969e46c5ffcab7deec71cba5b141a101dccb8f3edb3f102fa7c9
+MISC metadata.xml 346 SHA256 e3649991a2b64a911538d2e27a522655be2383e1dd76d88e5d963b71b52a2268 SHA512 2e43f2c7bd5fdfffbf8c9ece665093b942d1e3c76b27f851fff7de030ecfc0f38e82e730740e1688413b47e0ba1b752f96ebcd1d1c2a6107bcbd8185630db4c8 WHIRLPOOL a55ec2bc23c3f61066c869857093380d22e611e33c4d24d9a72ae6729512cc9bc1861f066e17906b13f0ad0bd49ba808d02d3c77e9ad2dbae3b431662f14a608
diff --git a/games-emulation/mupen64plus-ui-console/metadata.xml b/games-emulation/mupen64plus-ui-console/metadata.xml
new file mode 100644
index 000000000000..1e1acf03361b
--- /dev/null
+++ b/games-emulation/mupen64plus-ui-console/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mupen64plus/mupen64plus-ui-console</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.0-r1.ebuild b/games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.0-r1.ebuild
new file mode 100644
index 000000000000..0e24b692d60c
--- /dev/null
+++ b/games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.0-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, console UI"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0=
+ media-libs/libsdl:0=
+ !<games-emulation/mupen64plus-2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl)"
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.5.ebuild b/games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.5.ebuild
new file mode 100644
index 000000000000..f3b2fb7bfeaf
--- /dev/null
+++ b/games-emulation/mupen64plus-ui-console/mupen64plus-ui-console-2.5.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, console UI"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0=
+ media-libs/libsdl2:0=
+ !<games-emulation/mupen64plus-2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-video-glide64mk2/Manifest b/games-emulation/mupen64plus-video-glide64mk2/Manifest
new file mode 100644
index 000000000000..e55a2d472379
--- /dev/null
+++ b/games-emulation/mupen64plus-video-glide64mk2/Manifest
@@ -0,0 +1,7 @@
+DIST mupen64plus-video-glide64mk2-src-2.0.tar.gz 445166 SHA256 7761594432e90aed2dd12a5f16b30674c65b1f1abad0d98ac6239c3b2c44a4d5 SHA512 043b84927219b574da3c489119007bd115c9fa0f3f476ea9e812c8321a7f1e9309af06bed0b975c00201bc35f925d3b85c3411aa02310fd1ea508191184afa9a WHIRLPOOL b55c7412139b5b31fc919947068a7ad06958b20e54b9ac350cac88af3fec0d03d4f36675c1b60ba330061e652d489113bd7b84f53e7677c3cc1f0039c2a135af
+DIST mupen64plus-video-glide64mk2-src-2.5.tar.gz 488988 SHA256 ef3dae0084e078d843605abdf5039eb8b5dd68ff1410b4fc12bdf19592a9fcb6 SHA512 b62620a364ca9e6bf729e5dd07fb84a73745c6533b95468d3f5411c0556824282f760efefea0968b0a9282f77c315bbed8b0b8a59d771893b7fd0f5f24ad725d WHIRLPOOL 63068d428d5a00a52911155e39cdd09ee79d1ca2d47b005799bf25e4438a476271aa786a3227d9f77e7cb80fe20b18906a70f7829947dbfb2f8d04ffd3da4e18
+EBUILD mupen64plus-video-glide64mk2-2.0-r1.ebuild 1855 SHA256 0dcc109574d0effa06b46284fe0141c880dd1466ae6b589d3ade4fcb1627b7b1 SHA512 346494d814f511d83a46f67450f9e2e5ba5c915d88333180e4d17e26ac954839b978e124671b2a3934661e63d63ebbfecb911561b37b4e8be62ad2d4c803afc1 WHIRLPOOL 3354cbf3aad9ae934f16b7f88dbb05795997c184df1d3e32b495fe4011b3258e1a3fbac7f5a31c15e0926de780c306691468f86c600b4db6f06601ccfeb68d0e
+EBUILD mupen64plus-video-glide64mk2-2.5.ebuild 1976 SHA256 3944ad321352f8e18d5665ff7406321cf628d7f9c85b065863c72463dd1d1439 SHA512 36a21322c9a3c0c92affca2caece4fb9a7f668fd9aa1100415f11e03dee4ee83d35afd85fb6e8eb0a073a70e479310bb710aecb950b713f3fd4ec6087ab2811c WHIRLPOOL 4270652caf1ac298aa4a2659f32f4e93868bd6713587669287cb84a2d7655acd739ed11e859fe03a98e8d8b0f559c06011cee1118379045708091a92ce174216
+MISC ChangeLog 3522 SHA256 32e92d8b0e4b9a23363176dc73d74c0de3d7463f547e05e425a2a90483de2dea SHA512 9169ecfa8e9aa469d979da0af2ee7989c6298783a89ab8e54a7b5195521dbd1fccdead449e371dc0a7fd2efa64dc0bfccff64ccadda1cd4025cf27ea047daf0e WHIRLPOOL 067e00779efa58d106c4d4d79fe09e343bac46e86a9696617ecd043ed8f5b3f4e2908d2e9a258f9084576605f36fcf14fd4803b37803a5ac5f774471323b89ac
+MISC ChangeLog-2015 1222 SHA256 31d8280bb5d44f9d7c03d9731c75d24218871d3dab89842320664f9a060d6459 SHA512 7999738a3654bd90618de62f1ccb3680cc3f8d21d5789b0e21cb9482df1369619d263cd638c3e6f7b17e0d4c21ecc7b8a4f63e3e2913b07707ad00050d404098 WHIRLPOOL fcabe87906ac1efd3c97353f5b948a652fbbfe5cc5a035d4e8c0f61a1f64b6c47abd031a0437cb10696aedcba706b8a30b712057d5399a3183c6933dcfc796ce
+MISC metadata.xml 519 SHA256 2046413effeac1a7781dff0393f4a7c168ea51274bb2c4886a4eda4ab6b1ed4f SHA512 6b8cf03f4eca8e66800437e90dc66febe000fb6d1710bbac2c6f4b9d83da4c6757baecda7b49bb5b44a524c7d9f48d61b593f88ade68269587a0068ca724415e WHIRLPOOL b996e5566b77f03379dbe4d1dc188b9fd57603ba45991c0049cad6a6f733fb23a794f7c2fa600a556de358785bd370641bab0bc9a38eda06950f26daa34b2afa
diff --git a/games-emulation/mupen64plus-video-glide64mk2/metadata.xml b/games-emulation/mupen64plus-video-glide64mk2/metadata.xml
new file mode 100644
index 000000000000..5bca97be8c20
--- /dev/null
+++ b/games-emulation/mupen64plus-video-glide64mk2/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="gles2">Use GLES2 instead of OpenGL</flag>
+ <flag name="hires">Support hi-resolution textures (requires <pkg>dev-libs/boost</pkg>)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mupen64plus/mupen64plus-video-glide64mk2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.0-r1.ebuild b/games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.0-r1.ebuild
new file mode 100644
index 000000000000..6d1ab54b7f1e
--- /dev/null
+++ b/games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.0-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, glide64mk2 video plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="hires cpu_flags_x86_sse"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0=
+ media-libs/libpng:0=
+ media-libs/libsdl:0=
+ sys-libs/zlib:0=
+ virtual/opengl:0=
+ hires? ( dev-libs/boost:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl)"
+
+ NO_ASM=$(usex cpu_flags_x86_sse 0 1)
+ HIRES=$(usex hires 1 0)
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.5.ebuild b/games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.5.ebuild
new file mode 100644
index 000000000000..47744ad551a9
--- /dev/null
+++ b/games-emulation/mupen64plus-video-glide64mk2/mupen64plus-video-glide64mk2-2.5.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, glide64mk2 video plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gles2 hires cpu_flags_x86_sse"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.5:0=[gles2=]
+ media-libs/libpng:0=
+ media-libs/libsdl2:0=
+ media-libs/libtxc_dxtn
+ sys-libs/zlib:0=
+ virtual/opengl:0=
+ hires? ( dev-libs/boost:0= )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+
+ NOSSE=$(usex cpu_flags_x86_sse 0 1)
+ HIRES=$(usex hires 1 0)
+ USE_FRAMESKIPPER=1
+ USE_GLES=$(usex gles2 1 0)
+ # use external lib
+ TXCDXTN=1
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-video-rice/Manifest b/games-emulation/mupen64plus-video-rice/Manifest
new file mode 100644
index 000000000000..02cbd6472801
--- /dev/null
+++ b/games-emulation/mupen64plus-video-rice/Manifest
@@ -0,0 +1,7 @@
+DIST mupen64plus-video-rice-src-2.0.tar.gz 362013 SHA256 3eb076e7c38ab45c9ec752d30e00eca022a9e0c6ead1a22df13ad94902e08238 SHA512 bbab67be20b6d2ed6a246de8a2b955051489ac128ddecff0e3fc54782fc1d17ed8f9e1cded22d215b2c5c865b4b5fe831fffb28803247a2e494746565d23d764 WHIRLPOOL ab4399e0c70351e69995a5f40aa308b4d37489b7997d8a0eae97a183c62eea6976469c1e420c04cd24f9c32e9828d677264ce684e57af2500e7e57047bf98011
+DIST mupen64plus-video-rice-src-2.5.tar.gz 339012 SHA256 969f65b9f42f48bc7e840e4ed1342233e4371c2edca5aa8f36f69c4b20955828 SHA512 d3e9c3b3097ca9b9d896498bb34374a14ec1948fce8b795e755bb13a88f3066289fe2500666b4057e719bf3f1b38b840f8a60eaeccdcdddfab69b1986c953d61 WHIRLPOOL ff5f5fa9f74dc6110239998a2a0025b2fbf796dfd98a65f80d57ccb1197c4df7904890734445e073a2b89f90793da565527b6d7ab32a62e504d10fe6aaf9d6f5
+EBUILD mupen64plus-video-rice-2.0-r1.ebuild 1776 SHA256 2643049161d7812e3b6c1eacaea19e6e9cc517670a4446d22ceae11ed232746e SHA512 78c1bf8e6a31579f49d99aa12a987bf058cf737322c39dbec1ec6e64d8655439bb7aed34e74805e25c4396badf065958175c929950057b530e56fb56fd3b7598 WHIRLPOOL 18f9937e7357cf227f1ae2d22676ed265cea6a85528980aeaa4cc311348e89b5cb212b51d0a0498f09db9ab25ca9fe08b373430f8b97432fb65ad737ab222b96
+EBUILD mupen64plus-video-rice-2.5.ebuild 1820 SHA256 7aed10aa2556554aa4f0ce463214271bdfac2a8667d9f0559468ecdea9ac9f20 SHA512 52ae832baee4ef50de0f9c7584b3dacfa46230f8eba9bcb1b81ee5782ccb22abc4afb9c7119702d0ef4cf4861b7528ad4f358380e93139de98489b13f82141f4 WHIRLPOOL 1fa072aac9447c76891c15a7eb20e7423c1ab7b3827100d80d30c48bd1d2a5f47d64a67da7a56387c3deec231f38eecbd2b10a8f03011916430e36a1a37a87d0
+MISC ChangeLog 3444 SHA256 853b520720f3967e3abf40266c7e6679461f08f3b198706f056356b2e6bd1e1b SHA512 f07d7aeec94b9cde310d8334081982b75682efd593d63361b93e115dedb3b2b221de9ab0ae9c9fd38a180fce1797e0202dbf4b473d4f331e74cd72424058767a WHIRLPOOL 59644acad6e580ce293238e085e0f6fc94db7845dc85c671b9a0769334543841ec4887e60d6228a6ab2a92531e9917d3cd9663a004db0e8aff475251f5a60b1b
+MISC ChangeLog-2015 1154 SHA256 aa4d4b1fba293e79be45075e839e36ca6871c4727ea9ece1bb590c7c67b10c20 SHA512 ce1b38364beca4742d3f9c67b9d3dd0603fa6638fdec756683d96f2e65cea8333eb192d60b7253e678f936881e39f41f16ab2c01c4dfae8a4a3b9152575b6cbc WHIRLPOOL 57e7490992175abbd95b747c149c1b3eb5b69b8027e096b9b93f9eb14a2599f91430b617cf932e021c5cbc47f0f8073b111a0d0cb58d638ce83e59d523e161e6
+MISC metadata.xml 417 SHA256 c290fd38d8a263f7fb68c637bb2224be2ed70ac8e724e1c509b9e6ee4d65cf94 SHA512 620411630a55162b14abef6e6b62a5621de4d53e8bf467faa07f4aa114d7e4be4123f5ef9033cbbe04635e71255ad63f16303eb7b511a3ce151627e54d7d3bb6 WHIRLPOOL 8a40da9cce097bcaf9d973bd219d54c9cd7e6348d2748ae4520e6b8f73a0835a424353133fbf43a5afe6fd0025743a180e98efb35e2fc6b53a00427939c0191b
diff --git a/games-emulation/mupen64plus-video-rice/metadata.xml b/games-emulation/mupen64plus-video-rice/metadata.xml
new file mode 100644
index 000000000000..6df8a44e7777
--- /dev/null
+++ b/games-emulation/mupen64plus-video-rice/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="gles2">Use GLES2 instead of OpenGL</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mupen64plus/mupen64plus-video-rice</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.0-r1.ebuild b/games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.0-r1.ebuild
new file mode 100644
index 000000000000..b577b8f1ac95
--- /dev/null
+++ b/games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.0-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, rice video plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_sse"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.0-r1:0=
+ media-libs/libpng:0=
+ media-libs/libsdl:0=[video]
+ virtual/opengl:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl)"
+
+ NO_ASM=$(usex cpu_flags_x86_sse 0 1)
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.5.ebuild b/games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.5.ebuild
new file mode 100644
index 000000000000..a616be06c375
--- /dev/null
+++ b/games-emulation/mupen64plus-video-rice/mupen64plus-video-rice-2.5.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, rice video plugin"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gles2 cpu_flags_x86_sse"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.5:0=[gles2=]
+ media-libs/libpng:0=
+ media-libs/libsdl2:0=[video]
+ virtual/opengl:0="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch_user
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+
+ NO_ASM=$(usex cpu_flags_x86_sse 0 1)
+ USE_GLES=$(usex gles2 1 0)
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/games-emulation/mupen64plus/Manifest b/games-emulation/mupen64plus/Manifest
new file mode 100644
index 000000000000..a09efdcd99dd
--- /dev/null
+++ b/games-emulation/mupen64plus/Manifest
@@ -0,0 +1,16 @@
+AUX README.gentoo-patches-20091123 1355 SHA256 472ca36495f5cd59c66a23d4660dff19e890c7bca9c389352a54371f9aae5b2e SHA512 a8c5783a44a631acfa33d6e534baa67f542b820a0d9bf48b3696f0188326c01c9061c5cc504f08e2d25abe8923043fdd4931c3feb6931ebd8bb31c0f8a5ea1bd WHIRLPOOL 344dcc3ec5c4d859ee501b8e97e5984e3282f21fa6e550b91d31fa9d167b743481395fc8557c674ac2987a4ea76478aa3e224c4b29aaf83258866aedd2ad150b
+AUX README.gentoo-patches-20100507 1521 SHA256 c760661690d7f466bbd8640bae085b35f1e20b6c3ec882092b7547cbd32efccd SHA512 0808fb35ad32ec5747391de5e41cd49c381a0fefa0ba2d980ed6a7d786bb5b8d8bc4d51b383209d1003fa5b0f4275544f4348d5de89961a602474abc0d76f465 WHIRLPOOL cbbfbfae604c3fe86d9af8f0facea9a8e38927ec148ea45731f4d3b40bebb44c75c46724a39eeaa73c2528a2bf2ad02a4b405e486a3c557ebfbff56f0288071a
+AUX ftbfs-gvariant-type-conflicts.patch 828 SHA256 14483751e07912daeabb35b31f1b2fdae454658e00ea1a10627de29bd43881c0 SHA512 a0f559276ae3251500bdcb8c30745d089e91628b73e09b8ef0cfbe15ed29d53197f4e87b8ae8038e1b238788cdd5e60e445a60c6372c2e859175b824a1767a7f WHIRLPOOL fd73e40ff189219de65bd49a9a619c6336bcb092309515787e2bf94df78b3a2be85e3f361c02d5aaf55ad1f1ca132da13cadf7a0428f867a51b019ff21210a36
+AUX mupen64plus-1.5-gcc46.patch 335 SHA256 47eb75a963d9138f2aecaada6c4486bb9b6beff5e6acc0afcc2f364a94db540e SHA512 4a51e8aa654a1d17cbe45ebc22d80e5e43e140d98935e7d3b0b67baf500bde493a7fd3bed27afdcc36150863b78b112028b777e337f8f1a9191cfdcece4f0671 WHIRLPOOL 7be071aafd2ecdda7686031577bba5c9c589c05cc07a46170917facd2cf3483b9dc8b9be77bfeb6a85f6b4d457ccea18af9934d14bd7ba1c70be4f1c76e9af8c
+AUX mupen64plus-1.5-libpng14.patch 1404 SHA256 c0efb54eee809135dbb9429fc9869456a1d437a90929d9df09ab1102157d183f SHA512 92986174f22c8af493c2ad7d1052d6ab45e56c85fb0c2c6f8900c9061b33b21d95883225a1e1e547e7c2d648f0c81310b7b959687b519e02146d0176bc2cd5f1 WHIRLPOOL 3f5c1fbe33c3f5d7e066d55d77f30fde6b7361c3ce52c2f67c0720aa8ebaf244462cd3357d57bbc48014eff0adc48e974528bf9a6249571520c456aa1c98550d
+AUX mupen64plus-1.5-minizip.patch 806 SHA256 fb46d61b99bcc6415e3f17bcf536e6cc4591f0761aeca1757275d59de9affe76 SHA512 d2831daba45c7431cc62acbcd4e3c55a4c112a48611f739966387a41b3ba9f91d3e73fb96d14166184f084dfe37bb17ff1d0ceea454ea9d219c44dd2c5c01190 WHIRLPOOL 28d9c6f066224692418aec3a0c081a99a2123986f9f5047778d5b852e63fa9f3d71481af5e1c91a7f9a32913b26f41fc921db18dc842308b2946e856957677e2
+DIST Mupen64Plus-1-5-src.tar.gz 2348443 SHA256 58b2da6095ed8f3bcdcb5d7612bb0f1ba81cda1861ca784ef7e46991fd73cf3f SHA512 548be341e69eee543288a0a347ee117341847a032cc0a668a75ab7aaa881e876b6d143d2da9f8ec7580e4b1bbd2b36a3c8f99a0cb8c2301e4b03b593cdee5eb4 WHIRLPOOL fe5e63f07cc50676ef796a96d19e51eef38744f40e1626fd59471a65e530ac78109253ceb4f25cb9df2b4d33f4eecd47be1b9c7fa1a5d7a2304b98bdab0ef137
+DIST mupen64plus-1.5-patches-20091123.tar.bz2 25579 SHA256 b4bebb8105d7ca083b1e3d96d23dea9f2170703d53b0ea75e09b428e73e43187 SHA512 1fccfaed0d0a6d4bc3382a21b1529a173faa4fc718fd4dc6d94a850f5ad3788103041a202774c09f6db9a409b4de256a8b4a746f58860f13c8f69cc6243a9c3f WHIRLPOOL 5ed3fa14eb8a9c0b4fad71d70495125ebfe2313d23edf6155b7056fe9b583ceaeb860cf6b6df574caca315db54af786fda66871621bc1547f929f8f6e6161193
+DIST mupen64plus-1.5-patches-20100507.tar.bz2 33484 SHA256 372e437ab9d53eda23fd63cede33be38114efe527f239ef41b0c904fe208e2ce SHA512 f0265cbcc2e60bac906611a74bb7f5ea94a625d3abeee127fa105a308e9388258e2854ad91256fe14343f9b8837dfe43cb4eca16176a375f07c1259729045213 WHIRLPOOL c3fa3562bda7bd8a01fbc1644fbc7caa511bffec0efde7da479e40066bb8e31952bf98c718ab96b12211429835c458a9ab94c8fe8da540c301c83806e3bb1af1
+EBUILD mupen64plus-1.5-r1.ebuild 3239 SHA256 405cdb8c3d3a8ab5ea5437c9845b3a251bb5c771c4ad724bb3b9239c545a265c SHA512 e42a23956abcc0ad27cee2df775f9fa86c38d36cb3ea817cff384857d7181956ccab24e6abe44dbf8ed2e62456342412df3eca2c45f52a2e3e4179378b212122 WHIRLPOOL 54e05e01ca7c77c72d9d278df3980a1a19bb4b6679de4988aa9c42065145f6070dbeb35a1a67a4342b240db63b89c63c7dbb8d048fa95f5c43beb34f5a278c21
+EBUILD mupen64plus-1.5-r2.ebuild 3450 SHA256 a294b94a906bf5fc663b528de9c34d02c182e28ecb8f2da379e5c792403a7bd5 SHA512 38d236caf3e5959b788e36f36600d670529479f26bea457ac5beee44509787dd9ad120a89e1758e59e3c9891e563335ee016dec157fad1a06215f88baee211a2 WHIRLPOOL ddc7d8f4508863bb3f7327cc4ab728e2bf6865812f0c788eef825ed1d43121d38aeb7eec3055a7667e8ff09198df43d1dcad96d0431deee5655ea12d3ec9736e
+EBUILD mupen64plus-2.0.ebuild 797 SHA256 604aa5654fdd2a0f44912f0ad1c60fc085471c5cc895b65762b85a5bd19a9a2a SHA512 6e2018392dd18c315b2b98aa329206630189df1121cc837c31e65d7a47c587262fa9f688dfeb0cff13b440f6728f7128ee39582c038119b8866d31d739ccb214 WHIRLPOOL 81a299e12716232050c84617263a1148cf2144df4033ded9dbd341db28ca1e70fdb002e71ca6adc9662aa06cfafe4178e48f703e1b9424654a1c1b95892c7ff2
+EBUILD mupen64plus-2.5.ebuild 850 SHA256 4465cf865e2cb2060764a0248d9e0a567f1ce20caccf16bde25e8eb535d169eb SHA512 db172c94bc00f77f37ec07ef03b02f44185c6cd9506d989851a1a7decabe560187eaf460968f60482ec7e8a82e5e7f9ebf4aebf7fec4fdc17d3c360773d8d820 WHIRLPOOL dd0cecacb5272123197eb0e08ab59ffd8a3e2d8f25514e9cd09eb8e5b55af9a41011c4bb598670bfb6c611988c65d8eee01409aa94544bc5e8646fcf955a84e2
+MISC ChangeLog 4047 SHA256 acdc033a4a8354f292dc27a441a9d1abccbedfc5311bc0ba9ed16cf1c57c4620 SHA512 ec7bbb27ce512e260e89ec465e7c10fa6fe989c809828edc44d4a07091aa95ae073296f20330f395a323977880e5406482eab8e0d47c6b949d5447e8f55b4fc5 WHIRLPOOL 2aa08f9029f0bb87268df1801f79878bf323e7952a1a52c1f5999dc62db8682cbc263d2bb6ec9a2fb230d4a6f7825396de261c4fbc0d6f4c1e5c0150f7feaa6e
+MISC ChangeLog-2015 4880 SHA256 8f077586ed3916f5fc47a0adfd36abc4d6e4e95c26b2fe72c1c064687a86078f SHA512 5dce2f3edaa737af044ffa32ae2617d062bdfb3c025ea1bbce48a4b8af01813dc90664f013e73d6156eb4aedaa7ede2aa8d7dc45cc2a9566d06f06516bbb9bb4 WHIRLPOOL 0e7bc7141db0cdb752e35e595653ad03dcdfa271201c4b1f4687fd8628ababd6a01545297487e995e7c6ec679dbe2938fff255e5f94aabb0ba50ee4ffdc1a6c4
+MISC metadata.xml 1214 SHA256 37f55c762ab48066526f6d877b5816a52ffcc124fc268a9960e0774464a7197f SHA512 769d0957ce40eca186ef3f2ac1fa85722c0a1ed510150a6cd9f48250b2662468bf6c1280959388f79070eb28a39353c46580057f8f1fd2e5d47a58291dacd1c0 WHIRLPOOL 56b43b1d763a49fc6cfc982073f273eb16d8a8b4ee5222136f5831d805705fcf08c76f9cf4f7505ec09b82d97c5192c678e19040ac30d519d0235e95686ffd78
diff --git a/games-emulation/mupen64plus/files/README.gentoo-patches-20091123 b/games-emulation/mupen64plus/files/README.gentoo-patches-20091123
new file mode 100644
index 000000000000..96994d798b7a
--- /dev/null
+++ b/games-emulation/mupen64plus/files/README.gentoo-patches-20091123
@@ -0,0 +1,55 @@
+All patches below 500 are from the Debian git repository (Nov 23 12:35 CET 2009):
+
+http://git.debian.org/?p=collab-maint/mupen64plus.git;a=tree;f=debian/patches;hb=master
+
+Patches included:
+=================
+
+fix-desktop-file.patch
+destdir.patch
+dejavu-font.patch
+as-needed.patch
+system-libpng.patch
+system-zlib.patch
+system-libbz2.patch
+remove-gln64.patch
+remove-nondfsg-icons.patch
+glide64-noasm.patch
+rice-texturepack-crash.patch
+rice-screenflickering.patch
+static-binutils-libs.patch
+fix-7z-subfolder.patch
+ftbfs-dynarec.patch
+ftbfs-kfreebsd.patch
+ftbfs-debugger.patch
+debian-archs.patch
+ftbfs-glibc210.patch
+version-string.patch
+default-optimisations.patch
+gtk-open-filter.patch
+noexecstack.patch
+fix_readpng.patch
+jttl_fix_romclosed.patch
+rice_nodebug.patch
+interpreter_x86_fldcw.patch
+correct_fpr32_mapping.patch
+load_aidacrate.patch
+load_vistatus.patch
+fix_r0_override.patch
+resume_on_start.patch
+osd-pause-crash.patch
+system-liblzma.patch
+- system-liblzma got changed to work without the droped xdg-basedir.patch
+
+Patches excluded:
+=================
+
+plugin-searchpath.patch
+xdg-basedir.patch
+- Because Gentoo uses different locations like /usr/games/lib(64) and /usr/share/games.
+ The usage of xdg patch location standards would ne nice though.
+
+A big thanks to all the authors of the patches.
+
+Have fun
+Christian Birchinger <joker@gentoo.org>
diff --git a/games-emulation/mupen64plus/files/README.gentoo-patches-20100507 b/games-emulation/mupen64plus/files/README.gentoo-patches-20100507
new file mode 100644
index 000000000000..e6b857a07d48
--- /dev/null
+++ b/games-emulation/mupen64plus/files/README.gentoo-patches-20100507
@@ -0,0 +1,59 @@
+All patches below 500 are from the Debian git repository (May 07 2010):
+
+http://git.debian.org/?p=collab-maint/mupen64plus.git;a=tree;f=debian/patches;hb=master
+
+Patches included:
+=================
+
+fix-desktop-file.patch
+destdir.patch
+- dejavu-font.patch adjusted the font path to the font location on Gentoo systems
+as-needed.patch
+system-libpng.patch
+system-zlib.patch
+system-libbz2.patch
+remove-gln64.patch
+remove-nondfsg-icons.patch
+glide64-noasm.patch
+rice-texturepack-crash.patch
+rice-screenflickering.patch
+static-binutils-libs.patch
+fix-7z-subfolder.patch
+ftbfs-dynarec.patch
+ftbfs-kfreebsd.patch
+ftbfs-debugger.patch
+debian-archs.patch
+ftbfs-glibc210.patch
+version-string.patch
+default-optimisations.patch
+gtk-open-filter.patch
+noexecstack.patch
+fix_readpng.patch
+jttl_fix_romclosed.patch
+rice_nodebug.patch
+interpreter_x86_fldcw.patch
+correct_fpr32_mapping.patch
+load_aidacrate.patch
+load_vistatus.patch
+fix_r0_override.patch
+resume_on_start.patch
+osd-pause-crash.patch
+system-liblzma.patch
+ftbfs-gvariant-type-conflicts.path
+rsp_ucode2_reset.patch
+rsp_hle_bigendian.patch
+rice-crash-vendorstring.patch
+- system-liblzma got changed to work without the droped xdg-basedir.patch
+
+Patches excluded:
+=================
+
+plugin-searchpath.patch
+xdg-basedir.patch
+- Because Gentoo uses different locations like /usr/games/lib(64) and /usr/share/games.
+ The usage of xdg patch location standards would ne nice though.
+
+A big thanks to all the authors of the patches.
+
+Have fun
+Christian Birchinger <joker@gentoo.org>
diff --git a/games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch b/games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch
new file mode 100644
index 000000000000..e76da1707285
--- /dev/null
+++ b/games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch
@@ -0,0 +1,27 @@
+Description: Fix FTBFS due to glib gvariant type definitions
+Forwarded: not-needed
+Bug-Debian: http://bugs.debian.org/577329
+Author: Sven Eckelmann <sven.eckelmann@gmx.de>
+
+---
+diff --git a/rice_video/typedefs.h b/rice_video/typedefs.h
+index 4cded542b06445f043fa1fabf77e4d20c9d52920..b7e16e9c4ba3248f9fed9762f79349c137ee2026 100644
+--- a/rice_video/typedefs.h
++++ b/rice_video/typedefs.h
+@@ -20,10 +20,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ #ifndef _TYPEDEFS_H_
+ #define _TYPEDEFS_H_
+
+-#define uchar unsigned char
+-#define uint16 unsigned short
+-#define uint32 unsigned int
+-#define uint64 unsigned long long
++#include <stdint.h>
++
++typedef uint8_t uchar;
++typedef uint16_t uint16;
++typedef uint32_t uint32;
++typedef uint64_t uint64;
+
+ typedef unsigned char uint8;
+
diff --git a/games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch b/games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch
new file mode 100644
index 000000000000..2608fcd32a77
--- /dev/null
+++ b/games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch
@@ -0,0 +1,11 @@
+--- pre.mk.old 2011-04-14 20:39:21.000000000 +0200
++++ pre.mk 2011-04-14 20:39:57.000000000 +0200
+@@ -319,7 +319,7 @@
+ # tweak flags for 32-bit build on 64-bit system
+ ifeq ($(ARCH), 64BITS_32)
+ CFLAGS += -m32
+- LDFLAGS += -m32 -m elf_i386
++ LDFLAGS += -m32 -Wl,-m,elf_i386
+ endif
+ endif
+ ifeq ($(CPU_ENDIANNESS), BIG)
diff --git a/games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch b/games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch
new file mode 100644
index 000000000000..8d0b447fe96b
--- /dev/null
+++ b/games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch
@@ -0,0 +1,34 @@
+http://bugs.gentoo.org/show_bug.cgi?id=308753
+
+--- rice_video/liblinux/pngrw.c
++++ rice_video/liblinux/pngrw.c
+@@ -136,9 +136,9 @@
+ if (end_info != NULL)
+ png_destroy_read_struct((png_structp *) &png_ptr, (png_infop *) &info_ptr, (png_infop *) &end_info);
+ else if (info_ptr != NULL)
+- png_destroy_read_struct((png_structp *) &png_ptr, (png_infop *) &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct((png_structp *) &png_ptr, (png_infop *) &info_ptr, NULL);
+ else if (png_ptr != NULL)
+- png_destroy_read_struct((png_structp *) &png_ptr, png_infopp_NULL, png_infopp_NULL);
++ png_destroy_read_struct((png_structp *) &png_ptr, NULL, NULL);
+ if (rows)
+ {
+ if (rows[0])
+@@ -162,7 +162,7 @@
+
+ /* check the signature */
+ fread( signature, 1, 8, file );
+- if ( !png_check_sig( signature, 8 ) )
++ if ( png_sig_cmp( signature, 0, 8 ) )
+ longjmp( err_jmp, (int)errUnsupportedFileFormat );
+
+ /* create a pointer to the png read structure */
+@@ -199,7 +199,7 @@
+
+ /* extract the data we need to form the HBITMAP from the PNG header */
+ png_get_IHDR( png_ptr, info_ptr, &Width, &Height, &BitDepth, &ColorType,
+- &InterlaceType, int_p_NULL, int_p_NULL);
++ &InterlaceType, (int *) NULL, (int *) NULL);
+
+ img->width = Width;
+ img->height = Height;
diff --git a/games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch b/games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch
new file mode 100644
index 000000000000..9ed3d7a0b256
--- /dev/null
+++ b/games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch
@@ -0,0 +1,35 @@
+use minizip from system zlib
+
+https://bugs.gentoo.org/383845
+
+--- a/Makefile
++++ b/Makefile
+@@ -101,8 +101,6 @@
+ main/plugin.o \
+ main/rom.o \
+ main/savestates.o \
+- main/zip/ioapi.o \
+- main/zip/unzip.o \
+ main/7zip/7zAlloc.o \
+ main/7zip/7zBuffer.o \
+ main/7zip/7zCrc.o \
+@@ -229,7 +227,7 @@
+ # set primary objects and libraries for all outputs
+ ALL = mupen64plus $(PLUGINS)
+ OBJECTS = $(OBJ_CORE) $(OBJ_DYNAREC) $(OBJ_OPENGL)
+-LIBS = $(SDL_LIBS) $(LIBGL_LIBS) $(LZMA_LIBS) -lbz2
++LIBS = $(SDL_LIBS) $(LIBGL_LIBS) $(LZMA_LIBS) -lbz2 -lminizip
+ STATIC_LIBS =
+ CFLAGS+= $(LZMA_FLAGS)
+
+--- a/main/rom.c
++++ b/main/rom.c
+@@ -27,7 +27,7 @@
+ #include <limits.h>
+ #include <zlib.h>
+
+-#include "zip/unzip.h"
++#include "minizip/unzip.h"
+ #include <bzlib.h>
+ #include <lzma.h>
+ #include "7zip/7zExtract.h"
diff --git a/games-emulation/mupen64plus/metadata.xml b/games-emulation/mupen64plus/metadata.xml
new file mode 100644
index 000000000000..336e9cbb4fae
--- /dev/null
+++ b/games-emulation/mupen64plus/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="audio-sdl">Enable SDL audio plugin.</flag>
+ <flag name="input-sdl">Enable SDL input plugin.</flag>
+ <flag name="rsp-hle">Enable HLE RSP plugin.</flag>
+ <flag name="ui-console">Enable default console UI.</flag>
+ <flag name="ui-m64py">Enable PyQt4 UI using <pkg>games-emulation/m64py</pkg>.</flag>
+ <flag name="video-glide64mk2">Enable Glide64mk2 video plugin.</flag>
+ <flag name="video-rice">Enable Rice video plugin.</flag>
+ </use>
+ <longdescription>Mupen64Plus is a plugin-based N64 emulator for Linux which is capable of accurately playing many games.
+Included are four MIPS R4300 CPU emulators, with dynamic recompilers for 32-bit x86 and 64-bit amd64 systems,
+and necessary plugins for audio, graphical rendering (RDP), signal co-processor (RSP), and input.
+There are 3 OpenGL video plugins included: glN64, RiceVideoLinux, and Glide64.</longdescription>
+ <upstream>
+ <remote-id type="google-code">mupen64plus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild b/games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild
new file mode 100644
index 000000000000..39f6ad695545
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils flag-o-matic games
+
+MY_P="Mupen64Plus-${PV/./-}-src"
+
+PATCH_VERSION="20091123"
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://mupen64plus.googlecode.com/files/${MY_P}.tar.gz mirror://gentoo/${P}-patches-${PATCH_VERSION}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+gtk libsamplerate lirc qt4 cpu_flags_x86_sse"
+
+# GTK+ is currently required by plugins even if no GUI support is enabled
+RDEPEND="virtual/opengl
+ media-libs/freetype:2
+ media-libs/libpng
+ media-libs/libsdl
+ media-libs/sdl-ttf
+ sys-libs/zlib
+ x11-libs/gtk+:2
+ libsamplerate? ( media-libs/libsamplerate )
+ lirc? ( app-misc/lirc )
+ qt4? ( dev-qt/qtgui:4
+ dev-qt/qtcore:4 )
+ app-arch/xz-utils"
+
+DEPEND="${RDEPEND}
+ dev-lang/yasm
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if ! use gtk && ! use qt4; then
+ ewarn "Building ${PN} without any GUI! To get one, enable USE=gtk or USE=qt4."
+ elif use gtk && use qt4; then
+ ewarn "Only one GUI can be built, using GTK+ one."
+ fi
+
+ games_pkg_setup
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ epatch
+
+ epatch "${FILESDIR}"/${P}-libpng14.patch
+
+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577329
+ epatch "${FILESDIR}"/ftbfs-gvariant-type-conflicts.patch
+
+ sed -i \
+ -e "s:/usr/local/share/mupen64plus:${GAMES_DATADIR}/mupen64plus:" \
+ -e "s:%PUT_PLUGIN_PATH_HERE%:$(games_get_libdir)/${PN}/plugins/:" \
+ main/main.c || die "sed failed"
+
+ # Fix 010_all_fix-desktop-file.patch instead of using sed on the next major bump
+ sed -i \
+ -e "s:^Icon=mupen64plus-large.xpm:Icon=mupen64plus:" \
+ mupen64plus.desktop.in || die "sed failed"
+}
+
+get_opts() {
+ if use amd64 || use x86 ; then
+ echo -n "CPU=X86 ARCH=64BITS$(use x86 && echo -n _32) "
+ fi
+
+ use libsamplerate || echo -n "NO_RESAMP=1 "
+ use lirc && echo -n "LIRC=1 "
+ use cpu_flags_x86_sse || echo -n "NO_ASM=1 "
+
+ echo -n GUI=
+ if use gtk; then
+ echo -n GTK2
+ elif use qt4; then
+ echo -n QT4
+ else
+ echo -n NONE
+ fi
+}
+
+src_compile() {
+ use x86 && use cpu_flags_x86_sse && append-flags -fomit-frame-pointer
+ emake $(get_opts) DBGSYM=1 all || die "make failed"
+}
+
+src_install() {
+ # These are:
+ # 1) prefix - not used really, printed only
+ # 2) SHAREDIR
+ # 3) BINDIR
+ # 4) 'LIBDIR' - where to put plugins in
+ # 5) 'MANDIR' - exact directory to put man file in
+ # 6) APPLICATIONSDIR - where to put .desktop in
+
+ ./install.sh "${D}" \
+ "${D}${GAMES_DATADIR}/${PN}" \
+ "${D}${GAMES_BINDIR}" \
+ "${D}$(games_get_libdir)/${PN}/plugins" \
+ "${D}/usr/share/man/man1" \
+ "${D}/usr/share/applications" \
+ || or die "install.sh failed"
+
+ # Copy icon into system-wide location
+ newicon icons/mupen64plus-large.png ${PN}.png || die "newicon failed"
+
+ # 'Move' docs into correct dir
+ rm -r "${D}${GAMES_DATADIR}/${PN}/doc"
+ dodoc README RELEASE TODO doc/*.txt "${FILESDIR}/README.gentoo-patches-${PATCH_VERSION}" || die "dodoc failed"
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if use lirc; then
+ elog "For lirc configuration see:"
+ elog "https://code.google.com/p/mupen64plus/wiki/LIRC"
+ fi
+}
diff --git a/games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild b/games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild
new file mode 100644
index 000000000000..df6269c467c9
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils flag-o-matic games toolchain-funcs
+
+MY_P="Mupen64Plus-${PV/./-}-src"
+
+PATCH_VERSION="20100507"
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI="https://mupen64plus.googlecode.com/files/${MY_P}.tar.gz mirror://gentoo/${P}-patches-${PATCH_VERSION}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+gtk libsamplerate lirc qt4 cpu_flags_x86_sse"
+
+# GTK+ is currently required by plugins even if no GUI support is enabled
+RDEPEND="virtual/opengl
+ media-libs/freetype:2
+ media-libs/libpng
+ media-libs/libsdl
+ media-libs/sdl-ttf
+ media-fonts/dejavu
+ sys-libs/zlib[minizip]
+ x11-libs/gtk+:2
+ libsamplerate? ( media-libs/libsamplerate )
+ lirc? ( app-misc/lirc )
+ qt4? ( dev-qt/qtgui:4
+ dev-qt/qtcore:4 )
+ app-arch/xz-utils"
+
+DEPEND="${RDEPEND}
+ dev-lang/yasm
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if [[ ! $(tc-getCC) =~ gcc ]]; then
+ eerror
+ eerror "Compilers like clang and icc are not supported at this point"
+ eerror
+ die "You need gcc to build ${PN}"
+ fi
+
+ if ! use gtk && ! use qt4; then
+ ewarn "Building ${PN} without any GUI! To get one, enable USE=gtk or USE=qt4."
+ elif use gtk && use qt4; then
+ ewarn "Only one GUI can be built, using GTK+ one."
+ fi
+
+ games_pkg_setup
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ epatch
+
+ rm -rf main/zip
+ epatch "${FILESDIR}"/${P}-minizip.patch #383845
+
+ sed -i \
+ -e "s:/usr/local/share/mupen64plus:${GAMES_DATADIR}/mupen64plus:" \
+ -e "s:%PUT_PLUGIN_PATH_HERE%:$(games_get_libdir)/${PN}/plugins/:" \
+ main/main.c || die "sed failed"
+
+ # Fix 010_all_fix-desktop-file.patch instead of using sed on the next major bump
+ sed -i \
+ -e "s:^Icon=mupen64plus-large.xpm:Icon=mupen64plus:" \
+ mupen64plus.desktop.in || die "sed failed"
+ epatch "${FILESDIR}"/${P}-gcc46.patch
+}
+
+get_opts() {
+ if use amd64 || use x86 ; then
+ echo -n "CPU=X86 ARCH=64BITS$(use x86 && echo -n _32) "
+ fi
+
+ use libsamplerate || echo -n "NO_RESAMP=1 "
+ use lirc && echo -n "LIRC=1 "
+ use cpu_flags_x86_sse || echo -n "NO_ASM=1 "
+
+ echo -n GUI=
+ if use gtk; then
+ echo -n GTK2
+ elif use qt4; then
+ echo -n QT4
+ else
+ echo -n NONE
+ fi
+}
+
+src_compile() {
+ tc-export CC CXX
+ use x86 && use cpu_flags_x86_sse && append-flags -fomit-frame-pointer
+ emake $(get_opts) DBGSYM=1 CC="${CC}" CXX="${CXX}" LD="${CC}" all || die "make failed"
+}
+
+src_install() {
+ # These are:
+ # 1) prefix - not used really, printed only
+ # 2) SHAREDIR
+ # 3) BINDIR
+ # 4) 'LIBDIR' - where to put plugins in
+ # 5) 'MANDIR' - exact directory to put man file in
+ # 6) APPLICATIONSDIR - where to put .desktop in
+
+ ./install.sh "${D}" \
+ "${D}${GAMES_DATADIR}/${PN}" \
+ "${D}${GAMES_BINDIR}" \
+ "${D}$(games_get_libdir)/${PN}/plugins" \
+ "${D}/usr/share/man/man1" \
+ "${D}/usr/share/applications" \
+ || or die "install.sh failed"
+
+ # Copy icon into system-wide location
+ newicon icons/mupen64plus-large.png ${PN}.png || die "newicon failed"
+
+ # 'Move' docs into correct dir
+ rm -r "${D}${GAMES_DATADIR}/${PN}/doc"
+ dodoc README RELEASE TODO doc/*.txt "${FILESDIR}/README.gentoo-patches-${PATCH_VERSION}" || die "dodoc failed"
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if use lirc; then
+ elog "For lirc configuration see:"
+ elog "https://code.google.com/p/mupen64plus/wiki/LIRC"
+ fi
+}
diff --git a/games-emulation/mupen64plus/mupen64plus-2.0.ebuild b/games-emulation/mupen64plus/mupen64plus-2.0.ebuild
new file mode 100644
index 000000000000..3205e5ad74ea
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-2.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, meta-package"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+audio-sdl +input-sdl +rsp-hle +ui-console +ui-m64py +video-glide64mk2 +video-rice"
+
+RDEPEND="games-emulation/mupen64plus-core
+ audio-sdl? ( games-emulation/mupen64plus-audio-sdl )
+ input-sdl? ( games-emulation/mupen64plus-input-sdl )
+ rsp-hle? ( games-emulation/mupen64plus-rsp-hle )
+ ui-console? ( games-emulation/mupen64plus-ui-console )
+ ui-m64py? ( games-emulation/m64py )
+ video-glide64mk2? ( games-emulation/mupen64plus-video-glide64mk2 )
+ video-rice? ( games-emulation/mupen64plus-video-rice )"
diff --git a/games-emulation/mupen64plus/mupen64plus-2.5.ebuild b/games-emulation/mupen64plus/mupen64plus-2.5.ebuild
new file mode 100644
index 000000000000..f52987e83a17
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-2.5.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, meta-package"
+HOMEPAGE="http://www.mupen64plus.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+audio-sdl +input-sdl +rsp-hle +ui-console +ui-m64py +video-glide64mk2 +video-rice"
+
+RDEPEND=">=games-emulation/mupen64plus-core-2.5
+ audio-sdl? ( >=games-emulation/mupen64plus-audio-sdl-2.5 )
+ input-sdl? ( >=games-emulation/mupen64plus-input-sdl-2.5 )
+ rsp-hle? ( >=games-emulation/mupen64plus-rsp-hle-2.5 )
+ ui-console? ( >=games-emulation/mupen64plus-ui-console-2.5 )
+ ui-m64py? ( >=games-emulation/m64py-0.2.3-r1 )
+ video-glide64mk2? ( >=games-emulation/mupen64plus-video-glide64mk2-2.5 )
+ video-rice? ( >=games-emulation/mupen64plus-video-rice-2.5 )"
diff --git a/games-emulation/nestopia/Manifest b/games-emulation/nestopia/Manifest
new file mode 100644
index 000000000000..3fb557345c6c
--- /dev/null
+++ b/games-emulation/nestopia/Manifest
@@ -0,0 +1,7 @@
+AUX nestopia-1.46.2-format.patch 362 SHA256 5fbd9ed18abfc351492a9dfbe398bfb655014cf88507603b22c5f7cad744435e SHA512 340c15ae77eaa5a0148b2a659bae70dbbfa836fd0ac253f614342f4003997cb8302b6e87e94931be75863511191caa09d67d2ec6684d894c8630e1dd649be307 WHIRLPOOL e0a8c0874b11279bf02d094c6fcc3c8044e4e6c6a0eb3b679448ff5f35adcdf0471bd09f7960db8734ff3a4b6690b0269421337055cd78117c637c261fdb6d3a
+DIST nestopia-1.47_p20170105.tar.gz 1283456 SHA256 621b5f686d98b81ce9a720be40083b80a76d2ebae0089556cf5dc7df2b26d4f4 SHA512 58d1a932a6b90589c66503b2013b1a8162072e77e0416851a1430fa146e7fd85ff7363b70292c69d4c4513e3750aa53436a312c0240a843e42fbb89b554e7a70 WHIRLPOOL 14b3bc921f0f57a8049a02b863d3a25f017f31668875f02ec4472f877d248fdfd9c1325930b5138e17bf24adc92c76fdf399abcb9deab4d1155572c5f774e942
+EBUILD nestopia-1.47_p20170105.ebuild 1080 SHA256 7e0aa542c21d6c68a9a89bd1eacabbfd6ca0313c75c19cd69b955913538b6f8e SHA512 660404e999417144e37031bf405891e20ff5eaab6253009a7df74c73cd797f85098ed769f19c353b9a1e56c95cef064c1ad92f5904f42c22cc1a9d0e85c04db3 WHIRLPOOL 6797e9c6500acd0858174783e5fc897265aa10c8d822b5d834f158e8dd2d0243a9f12d2f24c5518891261afedae75797a16158b60980197ef4713e66a87e4f8c
+EBUILD nestopia-9999.ebuild 1082 SHA256 8f72a7c133da52e11a91abf1d38bb5d6aa53294fa4b703b14233596d9a0c631f SHA512 4b15b0fa719b37017cd6cb06bea788ab3a573d2c6ff94c1b63f753d1cff0ce37d8adae034c387dcb76cbefd65234fda5d4da9fdc9c3eff0d896a663b47e3c91f WHIRLPOOL 6b4f859276c57c42e3ab0e10f75d5dde40985f3b8c118c47e2fdb7e3207193802463bff61e431f640e3de296d0146f14f5f3dc2a2cbd9844e40b090bae82f088
+MISC ChangeLog 2943 SHA256 cec7db66dcc1233b496f1ed40c7276585c2e85f94858a36eafa0ae431b1563f7 SHA512 b63732c55cd3c996d0e489ce97bfdd490b01f75827bb2c5906a2b44157a580cca3de341a8acc8af25a477ad728b4a7798bd3a489134c711e590a9b541070d808 WHIRLPOOL dd569e159e313bc0c6fca0d0a2ea8b89967d000aac07424e58bdf90c481d22010ddc0f45fc8f85f40c920b258e3e35868f8702b85b42988e1c20c2033fa89125
+MISC ChangeLog-2015 1956 SHA256 5214545be7a584958eebc38b549fe04772e7bbfff343bce3d870e60fe4e8c150 SHA512 1733878684cf751f709a9b68c0103c8a2323b8bbe3ccfbbf6cc0fcbef6659eca6dea6bc132cd224f5eb5f25d5139b867b02189a0c38ad7286144b8e45232038b WHIRLPOOL 68838b37317e580d35aeca148e6e159d0620dd07293a3e1d6b7bc20c11b3692eff3b8f6b78fbbc13b1a39d84ac346a31103fa2a83ace47b965215029cb109773
+MISC metadata.xml 443 SHA256 336ed5316a7a818256cc5184facbb8fe1c08224eb6b36a39923dfb9ff4cbd555 SHA512 287e7bddf8af98427bbebf4e3ed59aa60f314f12cd8c5ffbd95c101a13b4d63b6017f750ecc554df4034d22845a6d0c18aca85a21ed2c04316a53426e054268b WHIRLPOOL 6c951da8f60e142e1eedfab2dbcda14a4d01f5ecc6c6094ca19781216a0780651e50e46e80ad4b04ffa75f33eaaace1f4d170f4874931437c76231a2403db891
diff --git a/games-emulation/nestopia/files/nestopia-1.46.2-format.patch b/games-emulation/nestopia/files/nestopia-1.46.2-format.patch
new file mode 100644
index 000000000000..7c8a9027aec5
--- /dev/null
+++ b/games-emulation/nestopia/files/nestopia-1.46.2-format.patch
@@ -0,0 +1,11 @@
+--- source/unix/gtkui/gtkui.cpp.old 2015-11-11 09:13:57.417684436 +0100
++++ source/unix/gtkui/gtkui.cpp 2015-11-11 09:14:12.176407155 +0100
+@@ -317,7 +317,7 @@
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_OK,
+- message);
++ "%s", message);
+ gtk_dialog_run(GTK_DIALOG(messagewindow));
+ gtk_widget_destroy(messagewindow);
+ }
diff --git a/games-emulation/nestopia/metadata.xml b/games-emulation/nestopia/metadata.xml
new file mode 100644
index 000000000000..42c366120ded
--- /dev/null
+++ b/games-emulation/nestopia/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rdanbrook/nestopia</remote-id>
+ <remote-id type="sourceforge">nestopiaue</remote-id>
+ </upstream>
+ <use>
+ <flag name="gui">Enable GUI</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-emulation/nestopia/nestopia-1.47_p20170105.ebuild b/games-emulation/nestopia/nestopia-1.47_p20170105.ebuild
new file mode 100644
index 000000000000..c5ba1600cf4e
--- /dev/null
+++ b/games-emulation/nestopia/nestopia-1.47_p20170105.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils gnome2-utils
+
+DESCRIPTION="A portable Nintendo Entertainment System emulator written in C++"
+HOMEPAGE="http://0ldsk00l.ca/nestopia/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rdanbrook/nestopia.git"
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/rdanbrook/${PN}/archive/d7fae2aff1a93eac997d2b480652a1d068a2b6cf.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="doc gui"
+
+RDEPEND="
+ app-arch/libarchive:=
+ media-libs/libao
+ media-libs/libepoxy
+ media-libs/libsdl2[sound,joystick,video]
+ sys-libs/zlib
+ gui? ( x11-libs/gtk+:3 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_GTK=$(usex gui)
+ -DENABLE_DOC=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
+ )
+ cmake-utils_src_configure
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/nestopia/nestopia-9999.ebuild b/games-emulation/nestopia/nestopia-9999.ebuild
new file mode 100644
index 000000000000..932f8edc7412
--- /dev/null
+++ b/games-emulation/nestopia/nestopia-9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils gnome2-utils
+
+DESCRIPTION="A portable Nintendo Entertainment System emulator written in C++"
+HOMEPAGE="http://0ldsk00l.ca/nestopia/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/rdanbrook/nestopia.git"
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/rdanbrook/${PN}/archive/d7fae2aff1a93eac997d2b480652a1d068a2b6cf.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="doc gui"
+
+RDEPEND="
+ app-arch/libarchive:=
+ media-libs/libao
+ media-libs/libepoxy
+ media-libs/libsdl2[sound,joystick,video]
+ sys-libs/zlib
+ gui? ( x11-libs/gtk+:3 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_GTK=$(usex gui)
+ -DENABLE_DOC=$(usex doc)
+ -DCMAKE_INSTALL_DOCDIR=share/doc/${PF}
+ )
+ cmake-utils_src_configure
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/nestra/Manifest b/games-emulation/nestra/Manifest
new file mode 100644
index 000000000000..0427d36b09b6
--- /dev/null
+++ b/games-emulation/nestra/Manifest
@@ -0,0 +1,8 @@
+AUX nestra-0.66-exec-stack.patch 235 SHA256 66d0d08ff4c311dedbbe3ffce3dd07f911e269e1d667b705ac41bfb0e9e6eb52 SHA512 a281f6c79de782982425f65cc4c54f35530d394caee4b0c58c9ef3f0f11b38d6ab6c31ecd6e708effb31ca530f1c9fb7ec60cf23d58f4a750dfc86a6c6e43b67 WHIRLPOOL 214523a8fbc089bd9c867e6fa854e237a5a400230d9020495da0a3995cf09b9e270bbfb9415ea9c3ce65dab1dea3402a0d8193cc81b855c261e9a4bef0849e6b
+AUX nestra-0.66-include.patch 1269 SHA256 62df64671ac9273228c8142326f4936bf89dc7223c246f8ef8d6c5ab52ab475f SHA512 d2b53ca1b61c71ff6ad98aee15c2f5cfeb02eaa8b7544e9a0d23babe021ee53aede5ad935b0529c1d6d294424c7ca1a5ea6e390af6c4f40aac4da9b43b87b601 WHIRLPOOL 4ecbe386c69d7bab80a92b923cbecc03b802598c3f90b497dc586f7a6994987fa981fc12e16b04918faf8bcda7b4b29b094b8dcf8a9dd4171bb0d2a2023dfe23
+DIST nestra-0.66.tar.gz 49757 SHA256 6be7743cef85cf3de2da4e7489bfd2329f7f21aa01be9f58801f6dbd9f8e96d6 SHA512 25f9d0c0359b46ddcd451552e7737b0f955a18e7a4ebd30d5494b12f787b9c45a49579207328c06c10efc7f8283bc688eb2061c538523ed257825b2394d978ce WHIRLPOOL 919e030b82e995ad95599c20eb2efed087af5a89a60f76b565122ef6c0d8441026d1b44de7469ed18887980f4da8c6a5c8476157f2cea52085628bcdd686cd46
+DIST nestra_0.66-10.diff.gz 2414 SHA256 5933509a4641afee22275b4c07e8e0f0d136056a7e0e3a4609a1e6c9674e32ea SHA512 4ea1ad97f6c2eca0434dee4031e0486cc1c7c25237a467d4bf33bd0656b52441143855e07b29e1bdcf95514e19fe68ecb8f73d0972d17d9e3b6fd7a92d2db8c6 WHIRLPOOL f4ccdfededfd118a7cd84f49f3a45ffbd460a33f577bf10c7affddd716e4783820ddd95e7664a184a860323dee436c1b45ed889c63ddf7c31a46489b2613b709
+EBUILD nestra-0.66-r2.ebuild 1083 SHA256 23f2bebba63c0fea91cad3f3ed41fd8c418fbeb9c27cd82314505f53ae1cb0f7 SHA512 d431e8be92e6ccb764b9529b3459483e922327a4f976bc5fca2be7d1fb462ccc5133ec6d79fd46f98add0f14e7b94234306e1a97ec3f090a898de4a8c6e65432 WHIRLPOOL 665c36c68ecfa1892dab24e8eb763b61208222fdd14d5b6d127f9a5f82ab60acf6f26b02d00af8b0cd20952c52e91c9430b22fed69010422121e08f1eb6aef5e
+MISC ChangeLog 2508 SHA256 4b76d4c629dd21ff7effa467766565c6a6a1d10b3c0fd0d2bc1f4b82004a5507 SHA512 dcaf113810e85929c266717eda2c34da350cbed77b35c47fedccd67e2213554d3288aea7199c416d86bbb3be4ec0de6e64a55f81df3d00c6224fe9b8b2defa6a WHIRLPOOL 29056bb32b6469fafa9393309596b7b4907fe04624097cb87745e06314e87aa2bc9f2a1a0c11fdfe58e9677b0f9dee307e2bda759fc859db7ca4fa90b74ac8ab
+MISC ChangeLog-2015 2557 SHA256 7ec9c9b4b44416d18eeb1a0f8c77a223d39c6a3baf3f379f553e2845b7ab4cbb SHA512 6d10cf48dba987506386cd649e8820fa8019d0fa92b6390a64605cb1d617251cc40466eb4ecc8aa2226880d5941981b9fabf8802e10cc1f66e0724a17d0ee871 WHIRLPOOL 4411f71fd47b9e2132f3fd9936f0b235a080348c0a1a56eeefc905ffab4c9b8ff1c609eac5c43a830e550ed40ad563abb002d1009c46b920e1ae23b812869a0c
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/nestra/files/nestra-0.66-exec-stack.patch b/games-emulation/nestra/files/nestra-0.66-exec-stack.patch
new file mode 100644
index 000000000000..f5c662e22600
--- /dev/null
+++ b/games-emulation/nestra/files/nestra-0.66-exec-stack.patch
@@ -0,0 +1,10 @@
+--- x86.S.orig 2006-01-09 20:02:58.000000000 -0500
++++ x86.S 2006-01-09 20:03:38.000000000 -0500
+@@ -1458,3 +1458,7 @@
+ leal 0x1(%eax),%ebx
+ popl %eax
+ jmp i_next
++
++#ifdef __ELF__
++.section .note.GNU-stack,"",@progbits
++#endif
diff --git a/games-emulation/nestra/files/nestra-0.66-include.patch b/games-emulation/nestra/files/nestra-0.66-include.patch
new file mode 100644
index 000000000000..b4733b172bba
--- /dev/null
+++ b/games-emulation/nestra/files/nestra-0.66-include.patch
@@ -0,0 +1,73 @@
+--- comptbl.c
++++ comptbl.c
+@@ -9,6 +9,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
++#include <stdlib.h>
+
+ #define ALLOC_SIZE 0x400000 /* 4MB */
+ #define TBL_BASE ((unsigned char *)0x10000000)
+--- d6502.c
++++ d6502.c
+@@ -1,6 +1,7 @@
+ /* 6502 disassembler */
+ /* Public Domain */
+
++#include <stdio.h>
+ #include "globals.h"
+
+ char Opcodes_6502[256][4]={
+--- emu.c
++++ emu.c
+@@ -12,6 +12,7 @@
+ #include <sys/mman.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "mapper.h"
+ #include "io.h"
+--- fb.c
++++ fb.c
+@@ -2,6 +2,8 @@
+ /* Framebuffer/pixmap rendering */
+ /* Public Domain */
+
++#include <stdlib.h>
++#include <string.h>
+ #include <stdio.h>
+ #include "mapper.h"
+ #include "globals.h"
+--- io.c
++++ io.c
+@@ -5,6 +5,7 @@
+ to do I/O operations. */
+
+ #include <stdio.h>
++#include <string.h>
+ #include "mapper.h"
+ #include "io.h"
+ #include "globals.h"
+--- mapper.c
++++ mapper.c
+@@ -1,6 +1,7 @@
+ /* Nestra mapper.c */
+ /* Public Domain */
+
++#include <string.h>
+ #include "mapper.h"
+ #include "consts.h"
+
+--- x11.c
++++ x11.c
+@@ -1,6 +1,9 @@
+ /* Nestra x11.c */
+ /* Public Domain */
+
++#include <stdlib.h>
++#include <string.h>
++#include <stdio.h>
+ #include <X11/Xlib.h>
+ #include <X11/keysym.h>
+ #include <X11/Xutil.h>
diff --git a/games-emulation/nestra/metadata.xml b/games-emulation/nestra/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/nestra/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/nestra/nestra-0.66-r2.ebuild b/games-emulation/nestra/nestra-0.66-r2.ebuild
new file mode 100644
index 000000000000..2db0bbd43e37
--- /dev/null
+++ b/games-emulation/nestra/nestra-0.66-r2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils toolchain-funcs flag-o-matic multilib games
+
+PATCH="${P/-/_}-10.diff"
+DESCRIPTION="NES emulation for Linux/x86"
+HOMEPAGE="http://nestra.linuxgames.com/"
+SRC_URI="http://nestra.linuxgames.com/${P}.tar.gz
+ mirror://debian/pool/contrib/n/nestra/${PATCH}.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="x11-libs/libX11[abi_x86_32(-)]"
+DEPEND=${RDEPEND}
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch \
+ "${WORKDIR}"/${PATCH} \
+ "${FILESDIR}"/${P}-exec-stack.patch \
+ "${FILESDIR}"/${P}-include.patch
+ append-ldflags -Wl,-z,noexecstack
+ use amd64 && multilib_toolchain_setup x86
+ sed -i \
+ -e "s:-L/usr/X11R6/lib:${LDFLAGS}:" \
+ -e 's:-O2 ::' \
+ -e "s:gcc:$(tc-getCC) ${CFLAGS}:" \
+ -e "s:ld:$(tc-getLD) -m elf_i386 $(raw-ldflags):" \
+ Makefile || die
+}
+
+src_compile() {
+ use amd64 && multilib_toolchain_setup x86
+ games_src_compile
+}
+
+src_install() {
+ dogamesbin nestra
+ dodoc BUGS CHANGES README
+ doman nestra.6
+ prepgamesdirs
+}
diff --git a/games-emulation/openmsx/Manifest b/games-emulation/openmsx/Manifest
new file mode 100644
index 000000000000..4f9f1fbdf61d
--- /dev/null
+++ b/games-emulation/openmsx/Manifest
@@ -0,0 +1,6 @@
+AUX openmsx-0.9.1-verbose.patch 654 SHA256 917314810ae211c75aecad3054c001b54ef0c4ff71862a6a2a0b87ebf9afb259 SHA512 d895e5dd5ecf7748382ce213a0928fdb26d8957d2487eae94f64120746097b49edfcecf860ea33294fe1fa7d1af5b9332510af852fc816c9355336136e8d03f7 WHIRLPOOL 2c8305dd5487d38f9c30771d1cd0da79f05603d4c1539bc45be72d7815fee543935998cb296e80c00350badb41a88ac364c0aec8d27110e5fc87fe625415cf6a
+DIST openmsx-0.9.1.tar.gz 2975351 SHA256 06b82dd7a06baa52ce3aa96545b28103328258e472bd5d99254f4af17492f33e SHA512 7c4d23963f33e3033dea1d0ad9351e4f38f7434e2e077b6f8fd00cf80e0160b45291ff19be71646178ecafa01e954267dfe4c815578d4abb14c8595a863f98ff WHIRLPOOL 5609f8afe98e52bf393ca9359fa6b48341ad059a910a6190a39c5cc7b226ee84e066e83c361e8a09cac32a3cffc90d9c3c3ed31992e21a25c24d6a3af681ea74
+EBUILD openmsx-0.9.1.ebuild 1481 SHA256 544be73c15e7af40a77dcf75bbb84b01855961451b09b6660e2a762b754b86e1 SHA512 3bb7c434b6dfa227ec6eea7899bb0a85e00c054602ae2bc773ff38c3f9188ebf8bfcefc1abc7c48bb080521a8aad65985227d87931bde58aa82a2ffeb971d9a6 WHIRLPOOL 1e091973593d49d16e746fd1eb14f9079a9931b4c186bfa0e9a8295c55a3186bfb1ba395c64a4344d53eec2ccff0bb71a93085462bfef499d72bd46a16451f94
+MISC ChangeLog 2470 SHA256 6201854bc2be60a7cbfb13ad8742ab102573b76676cef4b868ecba915effdd7c SHA512 6c32f11be4afd32858dbb9b9c46a14c83969a72b4eef5ba6f73e61b41be7d10b16e2bb6f2428392c581c6a52eaff4ee132f30781bfef09bfdcfeabdb163f4768 WHIRLPOOL 82fc835addf3f14a974b00e7790386ce229dbcbd8558368e455882cc1898f64f87baacaa5fdeba6ac66b0207dcd623133858904ebcdae85c4434a38aaaa7c522
+MISC ChangeLog-2015 7110 SHA256 922a71404f16bfe2249bb7c3b63d93efcccb99c0791a26836da98a9aafd5a1e5 SHA512 9c55deea3747fd13537455a53232636ff18a1b846212cfa6325d1e255b106d2128f885a77ea331f53f3e9ff7882ddfd68d8c3009d26b3c9b81dce03fe8eaa2f6 WHIRLPOOL 86b9042da24d01766f9c9344c47469c0bc3bb2247dd991a95878dec1c210670a67747bd38375ebc28ec4a27499e268f4976af4ee3ddb7b6e108b135693ccc731
+MISC metadata.xml 330 SHA256 142ffa9b30a14ffb9682779d34772b9a67717b6b37e7bf21484426067736e6b9 SHA512 0e2cbbe9308c1a43be6617797af0abe91bfa1dbb604ef9bc96dfb7c6c7310799c689ff7450afd9eb5b66d7aaeda878e0d046b404a0220b69b5dcf38be346e422 WHIRLPOOL 91fb7552edae7b9a23faedba20e0a223434004e283499b4f38d3f235b83c5570e9b73e99934f06624cb7fb45ac744c6e797f96a67c2d1f4e3957d6a77149fa64
diff --git a/games-emulation/openmsx/files/openmsx-0.9.1-verbose.patch b/games-emulation/openmsx/files/openmsx-0.9.1-verbose.patch
new file mode 100644
index 000000000000..18ac6fdc83b6
--- /dev/null
+++ b/games-emulation/openmsx/files/openmsx-0.9.1-verbose.patch
@@ -0,0 +1,14 @@
+--- build/main.mk.old 2015-01-18 12:18:50.608153217 +0100
++++ build/main.mk 2015-01-18 12:20:00.352861984 +0100
+@@ -541,10 +541,9 @@
+ DEPEND_SUBST=$(patsubst $(SOURCES_PATH)/%.cc,$(DEPEND_PATH)/%.d,$<)
+ $(OBJECTS_FULL): $(INIT_DUMMY_FILE)
+ $(OBJECTS_FULL): $(OBJECTS_PATH)/%.o: $(SOURCES_PATH)/%.cc $(DEPEND_PATH)/%.d
+- @echo "Compiling $(patsubst $(SOURCES_PATH)/%,%,$<)..."
+ @mkdir -p $(@D)
+ @mkdir -p $(patsubst $(OBJECTS_PATH)%,$(DEPEND_PATH)%,$(@D))
+- @$(COMPILE_ENV) $(CXX) \
++ $(COMPILE_ENV) $(CXX) \
+ $(DEPEND_FLAGS) -MMD -MF $(DEPEND_SUBST) \
+ -o $@ $(CXXFLAGS) $(COMPILE_FLAGS) -c $<
+ @touch $@ # Force .o file to be newer than .d file.
diff --git a/games-emulation/openmsx/metadata.xml b/games-emulation/openmsx/metadata.xml
new file mode 100644
index 000000000000..c4d0622638ee
--- /dev/null
+++ b/games-emulation/openmsx/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">openmsx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/openmsx/openmsx-0.9.1.ebuild b/games-emulation/openmsx/openmsx-0.9.1.ebuild
new file mode 100644
index 000000000000..ac768cd0c9f2
--- /dev/null
+++ b/games-emulation/openmsx/openmsx-0.9.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils games
+
+DESCRIPTION="MSX emulator that aims for perfection"
+HOMEPAGE="http://openmsx.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+IUSE=""
+
+DEPEND="
+ dev-lang/tcl:0=
+ dev-libs/libxml2
+ media-libs/libpng:0
+ media-libs/libsdl[sound,video]
+ media-libs/glew
+ media-libs/sdl-image[png]
+ media-libs/sdl-ttf
+ virtual/opengl"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e '/^LDFLAGS:=/d' \
+ -e '/LINK_FLAGS_PREFIX/d' \
+ -e '/LINK_FLAGS+=/s/-s//' \
+ -e '/LINK_FLAGS+=\$(TARGET_FLAGS)/s/$/ $(LDFLAGS)/' \
+ build/main.mk \
+ || die
+ sed -i -e '/SYMLINK/s:true:false:' build/custom.mk || die
+ sed -i -e 's/GPL.txt//' doc/node.mk || die
+ epatch "${FILESDIR}"/${P}-verbose.patch
+}
+
+src_compile() {
+ emake \
+ CXXFLAGS="${CXXFLAGS}" \
+ INSTALL_SHARE_DIR="${GAMES_DATADIR}"/${PN}
+}
+
+src_install() {
+ emake \
+ INSTALL_BINARY_DIR="${D}${GAMES_BINDIR}" \
+ INSTALL_SHARE_DIR="${D}${GAMES_DATADIR}"/${PN} \
+ INSTALL_DOC_DIR="${D}"/usr/share/doc/${PF} \
+ install
+ dodoc README
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ elog "If you want to if you want to emulate real MSX systems and not"
+ elog "only the free C-BIOS machines, put the system ROMs in one of"
+ elog "the following directories: ${GAMES_DATADIR}/${PN}/systemroms"
+ elog "or ~/.openMSX/share/systemroms"
+}
diff --git a/games-emulation/pcsx2/Manifest b/games-emulation/pcsx2/Manifest
new file mode 100644
index 000000000000..a036ff47a14b
--- /dev/null
+++ b/games-emulation/pcsx2/Manifest
@@ -0,0 +1,6 @@
+AUX pcsx2-1.4.0-gcc5.patch 694 SHA256 643c8ef1c00d71f91ecbac8eb556a40bddb9dfda07c34f1b0e9739524f544041 SHA512 c95b5abd255f4d0a1d9efa8b45126fea2c57ed2110358687a14d44c5ccc8f670f33a5e9b56bd9e3ea4806ad2429a84b70d796bec9c909262379bba5914e7d51d WHIRLPOOL 2367538694da36ae448ac6107094338f28e79ae40fb39b4ecc75261c7801313c89f490e144f3cd1ae328462f393a0e300a1cb68ed6532d36ea7d43ebf52801e1
+DIST pcsx2-1.4.0.tar.gz 15108326 SHA256 2c8a986e2b6514d7018f6cfd39c4f2a72229b9b4ab06ca6b1d3466dfd9c33005 SHA512 87ae8bdebcaf015ba03c23056bcab32b13d6726a6c3f05e62ef54f472114399debfcfcda4208b066519c2d20345a1bb8c55582eb342dccc168f410687f3766fb WHIRLPOOL e185d7f310e23f261065e30ed139c3d84b6c2418cff5c4b3af47475ffd074b0fbb69f34eb80c598cfd720f18a0a93dc0580b0807599b861a86d1d7f8a595bf97
+EBUILD pcsx2-1.4.0.ebuild 2863 SHA256 e93b49d56f2b151ea9d9fcd98969f13cf0f5dff000caed06b9cb27317989e751 SHA512 4d1e1c48d64b8c2e538adf546ac8f9767224d3fdf4d326b72546602e464b6ceced4b0defcd140e6934b5df69ac29a38179ebe12476b6278c60916aafaab7da0a WHIRLPOOL 1dddb6e3dc011142ddb2d43ad6c7645b2aa022b9fe43ed30544986e91c90976f25dc3872ea7bd049f12cf60d193a9227e765b4ccf2a2771c956136ece06835fb
+EBUILD pcsx2-9999.ebuild 2741 SHA256 0da262a7c16c21de0fdbe4f53ac02e77b82f9dd316ba0908716e4cec5fa9989a SHA512 c91f033705accba7f492bf7ff3f9507b18621a1a018d135a1647fa5d459993077f61a52d4112f0d436e7d64c7e28ad89587d46092c273fc01565e3751ec04ef8 WHIRLPOOL 1cb475cf853f4fc8be89a1b72fb67a4adef6a29569e0acca8c19428320363dfd057cc4a1250185d38adffe140dc8672528b50c7bba0258e800364303cff727d1
+MISC ChangeLog 1673 SHA256 6e3181e1a55c3356a864258a4c0ce2578d02f1e3adf1464fe1c182ee1257e0da SHA512 d21d6bec803cd08bde851e67acd108112e416ff03b54dfc6edcc7f67fde227f68c1cdb8e1ee6fd415f80376299ca2105cb49878290919ea4ee5194c483e26129 WHIRLPOOL e82d2ac46236b511c9627980bf98254c4a720c799b1e15bb89a6591c59c88dd8b0d3a3273cb23467294ced7ed8fda74a6288b2ec053c1225ff2a793a0aa553cf
+MISC metadata.xml 502 SHA256 7e36c2b29ad6100e713c8424607d273111451e0db8b8c7cb2b18104f6ee3d62e SHA512 1b095d48c5f126e53f865b982fa337dc25ce736ffda219c0812d86d9120c928d577b588a4587b9eea4c0315bfec67fbd4b281b224182ef2cb8ffb0c231dd83d3 WHIRLPOOL ca33758721603d5b9968d7f051edb58e0d1240106e3261582c66d0013e94e2c82b98e4eb4cb5783ec5635c431616b2b26bfff5dc495fad579f41dfaeae0fc918
diff --git a/games-emulation/pcsx2/files/pcsx2-1.4.0-gcc5.patch b/games-emulation/pcsx2/files/pcsx2-1.4.0-gcc5.patch
new file mode 100644
index 000000000000..cfc941f28244
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-1.4.0-gcc5.patch
@@ -0,0 +1,26 @@
+From 71991f24ef75b7da678d8de8d593bf82677d2708 Mon Sep 17 00:00:00 2001
+From: Yuri Konotopov <ykonotopov@gnome.org>
+Date: Mon, 9 Jan 2017 18:37:44 +0400
+Subject: [PATCH] x86emitter: gcc 5 compilation fix
+
+---
+ common/src/x86emitter/cpudetect.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/common/src/x86emitter/cpudetect.cpp b/common/src/x86emitter/cpudetect.cpp
+index 717ca89..cf94d7f 100644
+--- a/common/src/x86emitter/cpudetect.cpp
++++ b/common/src/x86emitter/cpudetect.cpp
+@@ -16,6 +16,9 @@
+ #include "PrecompiledHeader.h"
+ #include "cpudetect_internal.h"
+ #include "internal.h"
++#if defined(__GNUC__)
++#include "x86intrin.h"
++#endif
+
+ using namespace x86Emitter;
+
+--
+2.10.2
+
diff --git a/games-emulation/pcsx2/metadata.xml b/games-emulation/pcsx2/metadata.xml
new file mode 100644
index 000000000000..16221929ad22
--- /dev/null
+++ b/games-emulation/pcsx2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ykonotopov@gnome.org</email>
+ <name>Yuri Konotopov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/PCSX2/pcsx2/issues</bugs-to>
+ <remote-id type="github">PCSX2/pcsx2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/pcsx2/pcsx2-1.4.0.ebuild b/games-emulation/pcsx2/pcsx2-1.4.0.ebuild
new file mode 100644
index 000000000000..cfd1606f91af
--- /dev/null
+++ b/games-emulation/pcsx2/pcsx2-1.4.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PLOCALES="ar_SA ca_ES cs_CZ de_DE es_ES fi_FI fr_FR hr_HR hu_HU id_ID it_IT ja_JP ko_KR ms_MY nb_NO pl_PL pt_BR ru_RU sv_SE th_TH tr_TR zh_CN zh_TW"
+MY_PV="${PV/_/-}"
+
+inherit cmake-utils l10n multilib toolchain-funcs wxwidgets
+
+DESCRIPTION="A PlayStation 2 emulator"
+HOMEPAGE="https://www.pcsx2.net"
+SRC_URI="https://github.com/PCSX2/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+
+RDEPEND="
+ app-arch/bzip2[abi_x86_32(-)]
+ app-arch/xz-utils[abi_x86_32(-)]
+ dev-libs/libaio[abi_x86_32(-)]
+ media-libs/alsa-lib[abi_x86_32(-)]
+ media-libs/libpng:=[abi_x86_32(-)]
+ media-libs/libsdl[abi_x86_32(-),joystick,sound]
+ media-libs/libsoundtouch[abi_x86_32(-)]
+ media-libs/portaudio[abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.4[abi_x86_32(-)]
+ virtual/jpeg:62[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]
+ x11-libs/libICE[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/wxGTK:3.0[abi_x86_32(-),X]
+"
+# Ensure no incompatible headers from eselect-opengl are installed, bug #510730
+DEPEND="${RDEPEND}
+ >=app-eselect/eselect-opengl-1.3.1
+ dev-cpp/pngpp
+ >=dev-cpp/sparsehash-1.5
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+PATCHES=( "${FILESDIR}"/${P}-gcc5.patch )
+
+clean_locale() {
+ rm -R "${S}"/locales/"${1}" || die
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then
+ if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 8 ]] ; then
+ die "${PN} does not compile with gcc less than 4.8"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ l10n_for_each_disabled_locale_do clean_locale
+}
+
+src_configure() {
+ multilib_toolchain_setup x86
+
+ # pcsx2 build scripts will force CMAKE_BUILD_TYPE=Devel
+ # if it something other than "Devel|Debug|Release"
+ local CMAKE_BUILD_TYPE="Release"
+
+ if use amd64; then
+ # Passing correct CMAKE_TOOLCHAIN_FILE for amd64
+ # https://github.com/PCSX2/pcsx2/pull/422
+ local MYCMAKEARGS=(-DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake)
+ fi
+
+ local mycmakeargs=(
+ -DARCH_FLAG=
+ -DDISABLE_BUILD_DATE=TRUE
+ -DDISABLE_PCSX2_WRAPPER=TRUE
+ -DEXTRA_PLUGINS=FALSE
+ -DOPTIMIZATION_FLAG=
+ -DPACKAGE_MODE=TRUE
+ -DXDG_STD=TRUE
+
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_LIBRARY_PATH="/usr/$(get_libdir)/${PN}"
+ -DDOC_DIR=/usr/share/doc/"${PF}"
+ -DEGL_API=FALSE
+ -DGTK3_API=FALSE
+ -DPLUGIN_DIR="/usr/$(get_libdir)/${PN}"
+ # wxGTK must be built against same sdl version
+ -DSDL2_API=FALSE
+ -DWX28_API=FALSE
+ )
+
+ WX_GTK_VER="3.0" need-wxwidgets unicode
+ cmake-utils_src_configure
+}
+
+src_install() {
+ # Upstream issue: https://github.com/PCSX2/pcsx2/issues/417
+ QA_TEXTRELS="usr/$(get_libdir)/pcsx2/*"
+
+ cmake-utils_src_install
+}
diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild
new file mode 100644
index 000000000000..1c8978c8bad0
--- /dev/null
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PLOCALES="ar_SA ca_ES cs_CZ de_DE es_ES fi_FI fr_FR hr_HR hu_HU id_ID it_IT ja_JP ko_KR ms_MY nb_NO pl_PL pt_BR ru_RU sv_SE th_TH tr_TR zh_CN zh_TW"
+
+inherit cmake-utils git-r3 l10n multilib toolchain-funcs wxwidgets
+
+DESCRIPTION="A PlayStation 2 emulator"
+HOMEPAGE="https://www.pcsx2.net"
+EGIT_REPO_URI="https://github.com/PCSX2/${PN}.git"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="
+ app-arch/bzip2[abi_x86_32(-)]
+ app-arch/xz-utils[abi_x86_32(-)]
+ dev-libs/libaio[abi_x86_32(-)]
+ media-libs/alsa-lib[abi_x86_32(-)]
+ media-libs/libpng:=[abi_x86_32(-)]
+ media-libs/libsdl2[abi_x86_32(-),joystick,sound]
+ media-libs/libsoundtouch[abi_x86_32(-)]
+ media-libs/portaudio[abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.4[abi_x86_32(-)]
+ virtual/jpeg:62[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]
+ x11-libs/gtk+:2[abi_x86_32(-)]
+ x11-libs/libICE[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/wxGTK:3.0[abi_x86_32(-),-sdl,X]
+"
+# Ensure no incompatible headers from eselect-opengl are installed, bug #510730
+DEPEND="${RDEPEND}
+ >=app-eselect/eselect-opengl-1.3.1
+ dev-cpp/pngpp
+ >=dev-cpp/sparsehash-1.5
+"
+
+clean_locale() {
+ rm -R "${S}"/locales/"${1}" || die
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary && $(tc-getCC) == *gcc* ]]; then
+ if [[ $(gcc-major-version) -lt 4 || $(gcc-major-version) == 4 && $(gcc-minor-version) -lt 8 ]] ; then
+ die "${PN} does not compile with gcc less than 4.8"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+ l10n_for_each_disabled_locale_do clean_locale
+}
+
+src_configure() {
+ multilib_toolchain_setup x86
+
+ # pcsx2 build scripts will force CMAKE_BUILD_TYPE=Devel
+ # if it something other than "Devel|Debug|Release"
+ local CMAKE_BUILD_TYPE="Release"
+
+ if use amd64; then
+ # Passing correct CMAKE_TOOLCHAIN_FILE for amd64
+ # https://github.com/PCSX2/pcsx2/pull/422
+ local MYCMAKEARGS=(-DCMAKE_TOOLCHAIN_FILE=cmake/linux-compiler-i386-multilib.cmake)
+ fi
+
+ local mycmakeargs=(
+ -DARCH_FLAG=
+ -DDISABLE_BUILD_DATE=TRUE
+ -DDISABLE_PCSX2_WRAPPER=TRUE
+ -DEXTRA_PLUGINS=FALSE
+ -DOPTIMIZATION_FLAG=
+ -DPACKAGE_MODE=TRUE
+ -DXDG_STD=TRUE
+
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DCMAKE_LIBRARY_PATH="/usr/$(get_libdir)/${PN}"
+ -DDOC_DIR=/usr/share/doc/"${PF}"
+ -DEGL_API=FALSE
+ -DGTK3_API=FALSE
+ -DPLUGIN_DIR="/usr/$(get_libdir)/${PN}"
+ # wxGTK must be built against same sdl version
+ -DSDL2_API=TRUE
+ -DWX28_API=FALSE
+ )
+
+ WX_GTK_VER="3.0" need-wxwidgets unicode
+ cmake-utils_src_configure
+}
+
+src_install() {
+ # Upstream issue: https://github.com/PCSX2/pcsx2/issues/417
+ QA_TEXTRELS="usr/$(get_libdir)/pcsx2/*"
+
+ cmake-utils_src_install
+}
diff --git a/games-emulation/pcsxr/Manifest b/games-emulation/pcsxr/Manifest
new file mode 100644
index 000000000000..61ad62639076
--- /dev/null
+++ b/games-emulation/pcsxr/Manifest
@@ -0,0 +1,9 @@
+AUX pcsxr-1.9.94-disable-sdl2.patch 1059 SHA256 7be3baa643513cee92fa908c6ae529c5f953a24f0ce7a01fc602fbba0381897e SHA512 aa010d8203a45ddd7f93fcc74d3ec9010dcdf6a79d36bb72aa434caccac650c2dee5a74e52e11e40b35356ca30d9a37a52b5e76dcacba64634988b9e57c74171 WHIRLPOOL 6cd5224095001b48ac922ffa8bcb3f3a749edb4540e8b1a4d404835b4f391a3b63c2fa1d25725c01bf83c9b919fdf78d16b2f2fc1f404c37c9d96848f6f8bfce
+AUX pcsxr-1.9.94-ffmpeg3.patch 1890 SHA256 87f5144baf233c013e03b419b1fad2f945c388f5bfab7e8767ee0cd0c2c8c76f SHA512 091c435337468aa958c5b6e87a0ce5730675d9f8d109474c92d5e1d61830a8b4c525f8e3208e86654baca5ae602a39bc234a0c54b24b4f51a1297fb123852dc3 WHIRLPOOL 00eed01b165f1b989faff9154bdaddc5d14bfcf94d368af80b99969de05078c9877dca11513329a5344ef459890285760ba5464375eb541435654dc904de19cb
+AUX pcsxr-1.9.94-zlib-uncompress2.patch 1522 SHA256 b49aa3b619decb2d1659928ea345cdc682592ee6749432a79c3d8a18a66333d0 SHA512 28350e042810a8f1c3829891d68b028b4c464b75e614f8451f8708bbff0ee47e94146a05cf5e6e3fdfe6ca7eae2e839fc8cbf95df8458e28e3d025feb728c310 WHIRLPOOL fb39c5858da9590bc7d60fd1b3cd95d801a31697660cd73d629b0b558e2c21c55f2c54ffdc15383ce6644ea8686cc8f647cc179c389e3c23cd83e4f894f94c93
+DIST pcsxr-1.9.94.zip 2631125 SHA256 291941eebe695d9133539783dee208fce9d7419f0042964f96bf10ce3eee9fa3 SHA512 c49471c27692fbf22da32d2f5697a1dfed3dbdbfdb86cb789b0ea6cddb2a7da4f3390e4568f4e9385bf30d6baff0f2a591a80f424cf0c640cae0035ba81dce39 WHIRLPOOL 8095fda6821cb7549574f8ff97d75d34350317f0e71ce27f9c540244ca66d3419c1aa4bdac91142cd7304daa7d56689565417f7203eb67f605c81727859a7cea
+EBUILD pcsxr-1.9.94-r1.ebuild 2621 SHA256 cbaf8816e8904fb1b15229ea8353a5ab2391dd2314253b27011957bda2ca52af SHA512 1bd5e95baaf82473638cf2b644d46d52976a1b14f13c40e8d49037ac3fedbe09012e77334420a3fce29eff06f8044f270f0068c13d56fd449e7d3e2f43123d3a WHIRLPOOL ca640c4ad75a468abfae438f0aed991e9938ca755f537172964d8b596ccc7fcbc005fae9a4c71fb267f08fe28c914f3d924175da6f43a858db64629ef9ce2dac
+EBUILD pcsxr-1.9.94-r2.ebuild 2676 SHA256 38b3c4d82ec36613759288106d643e735d9e4d6d22be530aa574945b0aa21629 SHA512 6c7a1ca717619d0faacfb435269b05906f043b04a73bcdf07a918d7deeca5513946bb921af0728b92b06bfa74547748412c3d530c565c3b616ad7c58b2e055b4 WHIRLPOOL a70b8956143442b3104b8dd4ceb9df8ce947e9c58f0e1cae771adcc80adc61905a98121baf5757e581ea8f0f91deb6c0746d4cf5d89e362c55058fc1634b9ce2
+MISC ChangeLog 2760 SHA256 4693b33eb6dcd68e428a69fe7447ae9950c7bea516d1eb651f875e89da0bc3d7 SHA512 30e842752a4db39ef72e6d8b0c17da9d058c40e774da2d7b7d54a1ff0d4765ddb9e02e0c9e4b9577b843a2bcc39a5a746df02b22101b313b298409256c0e0c22 WHIRLPOOL b3ac29453eeead6dc320488f875c66046d62197b2f6bbca4f11b1553679e9e13cd91bfc07b6155330787782761658cc1dbd95cef81d46fb493110d004878cc6c
+MISC ChangeLog-2015 966 SHA256 93c544d8377f180ed84b735fb60c382610bd3af682e4bccad70f18b273928962 SHA512 7aa2c1fc7d448a2c97876b2143b52388c3d24f92d83573ddb694cc96f55994d3d850de24e9f6c5bed8f1d70b4a0273f2be9dc0923e6b13a7a9141485f08ac8fa WHIRLPOOL cc818bf03f6524acb6f59ac9d6e7cb646e9d3a44469e1f50f32e1e57e37afa269774b0e4f93e4cebf75acfb4cc4e937426cec67090cf050fef9a1d8d64d6cffb
+MISC metadata.xml 410 SHA256 725adf8a73076e30ca64c182ea35af95c5fb6312da6ef2621ce8072b79ccd3fb SHA512 4c7e8a04412bd0851f4422bd646423558cc7e67ad956b518104285eb537a7a3cbf492239a11a582be65c45229299d0309823f3a6064717704d2fab4c15d2ee52 WHIRLPOOL b89a93adbc4474f9829958b9ea7a30bf877648c9992554ebfa16176e1159df43571b418e55c542838342ace7324105ff6db3d58990438682babebf2496a0d229
diff --git a/games-emulation/pcsxr/files/pcsxr-1.9.94-disable-sdl2.patch b/games-emulation/pcsxr/files/pcsxr-1.9.94-disable-sdl2.patch
new file mode 100644
index 000000000000..483ea56660e6
--- /dev/null
+++ b/games-emulation/pcsxr/files/pcsxr-1.9.94-disable-sdl2.patch
@@ -0,0 +1,28 @@
+From b7864d1b8db75eda19a7601f3e2402a885bb251d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 11 Dec 2013 17:19:09 +0100
+Subject: [PATCH] Disable SDL2 check for Gentoo.
+
+The SDL2 support seems immature at the moment, so we'd prefer pcsxr
+using SDL1 even if SDL2 is installed.
+---
+ configure.ac | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f79cee0..0c79cff 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -26,8 +26,7 @@ AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["${GETTEXT_PACKAGE}"], [gettext domain])
+ PKG_CHECK_MODULES(GLIB2, glib-2.0 >= 2.20, [], AC_MSG_ERROR([*** glib2 >= 2.20 not found!]))
+ PKG_CHECK_MODULES(GTK3, gtk+-3.0 , [], AC_MSG_ERROR([*** libgtk3 >= 3.0 not found!]))
+
+-PKG_CHECK_MODULES([SDL2], [sdl2 >= 2.0.0],
+- [AC_DEFINE([HAVE_SDL2], [1], [Use SDL2])],
++AS_IF([true],
+ [PKG_CHECK_MODULES([SDL], [sdl >= 1.2.12],
+ [AC_DEFINE([HAVE_SDL], [1], [Use SDL])
+ ], AC_MSG_ERROR([*** SDL >= 1.2.12 not found!]))
+--
+1.8.5.1
+
diff --git a/games-emulation/pcsxr/files/pcsxr-1.9.94-ffmpeg3.patch b/games-emulation/pcsxr/files/pcsxr-1.9.94-ffmpeg3.patch
new file mode 100644
index 000000000000..345ed9993ea4
--- /dev/null
+++ b/games-emulation/pcsxr/files/pcsxr-1.9.94-ffmpeg3.patch
@@ -0,0 +1,62 @@
+--- a/libpcsxcore/cdriso.c 2013-11-09 16:24:14.000000000 +0100
++++ b/libpcsxcore/cdriso.c 2016-12-12 01:02:25.652521029 +0100
+@@ -266,14 +266,14 @@
+ }
+
+ if (!decoded_frame) {
+- if (!(decoded_frame = avcodec_alloc_frame())) {
++ if (!(decoded_frame = av_frame_alloc())) {
+ SysMessage(_(" -> Error allocating audio frame buffer. This track will not be available."));
+ avformat_close_input(&inAudioFormat);
+- avcodec_free_frame(&decoded_frame);
++ av_frame_free(&decoded_frame);
+ return 1; // error decoding frame
+ }
+ } else {
+- avcodec_get_frame_defaults(decoded_frame);
++ av_frame_unref(decoded_frame);
+ }
+ len = avcodec_decode_audio4(c, decoded_frame, &got_frame, &avpkt);
+ if (len > 0 && got_frame) {
+@@ -285,7 +285,7 @@
+ fwrite(decoded_frame->data[0], 1, data_size, outfile);
+ }
+ av_free_packet(&avpkt);
+- //avcodec_free_frame(&decoded_frame);
++ //av_frame_free(&decoded_frame);
+ } while (moreFrames >= 0); // TODO: check for possible leaks
+
+ // file will be closed later on, now just flush it
+@@ -294,7 +294,7 @@
+ avformat_close_input(&inAudioFormat);
+ //avcodec_close(c);
+ //av_free(c);
+- avcodec_free_frame(&decoded_frame);
++ av_frame_free(&decoded_frame);
+ return 0;
+ }
+ #endif
+@@ -340,12 +340,12 @@
+ while (avpkt.size > 0) {
+ int got_frame = 0;
+ if (!decoded_frame) {
+- if (!(decoded_frame = avcodec_alloc_frame())) {
++ if (!(decoded_frame = av_frame_alloc())) {
+ SysPrintf(" -> Error allocating audio frame buffer. Track will not be available.");
+ return 1; // error decoding frame
+ }
+ } else {
+- avcodec_get_frame_defaults(decoded_frame);
++ av_frame_unref(decoded_frame);
+ }
+
+ len = avcodec_decode_audio4(c, decoded_frame, &got_frame, &avpkt);
+@@ -383,7 +383,7 @@
+
+ avcodec_close(c);
+ av_free(c);
+- avcodec_free_frame(&decoded_frame);
++ av_frame_free(&decoded_frame);
+ return 0;
+ }
+ #endif
diff --git a/games-emulation/pcsxr/files/pcsxr-1.9.94-zlib-uncompress2.patch b/games-emulation/pcsxr/files/pcsxr-1.9.94-zlib-uncompress2.patch
new file mode 100644
index 000000000000..616084b797cd
--- /dev/null
+++ b/games-emulation/pcsxr/files/pcsxr-1.9.94-zlib-uncompress2.patch
@@ -0,0 +1,47 @@
+From dabb671947ae26942c7ef8a71fef9831e0c1884d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 26 Jan 2017 18:14:01 +0100
+Subject: [PATCH] Fix build against zlib-1.2.9+ (having uncompress2)
+
+---
+ pcsxr/configure.ac | 3 +++
+ pcsxr/libpcsxcore/cdriso.c | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/pcsxr/configure.ac b/pcsxr/configure.ac
+index 300bb185..128b4f97 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -113,6 +113,9 @@ if test "x$have_xtest" = xno; then
+ AC_MSG_ERROR([unable to find xtest headers])
+ fi
+
++AC_CHECK_LIB(z, uncompress2,
++[ AC_DEFINE([HAVE_UNCOMPRESS2], [1], [Define if libz supports uncompress2]) ])
++
+ AM_CONDITIONAL(USE_LIBCDIO, false)
+
+ AC_ARG_ENABLE(libcdio, [ --enable-libcdio use GNU libcdio for CD-ROM support (default=no)],
+diff --git a/pcsxr/libpcsxcore/cdriso.c b/pcsxr/libpcsxcore/cdriso.c
+index 04e866d9..fb7f28a5 100644
+--- a/libpcsxcore/cdriso.c
++++ b/libpcsxcore/cdriso.c
+@@ -1219,6 +1219,7 @@ static int cdread_sub_mixed(FILE *f, unsigned int base, void *dest, int sector)
+ return ret;
+ }
+
++#ifndef HAVE_UNCOMPRESS2
+ static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
+ {
+ static z_stream z;
+@@ -1249,6 +1250,7 @@ static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned lo
+ *out_size -= z.avail_out;
+ return ret == 1 ? 0 : ret;
+ }
++#endif
+
+ static int cdread_compressed(FILE *f, unsigned int base, void *dest, int sector)
+ {
+--
+2.11.0
+
diff --git a/games-emulation/pcsxr/metadata.xml b/games-emulation/pcsxr/metadata.xml
new file mode 100644
index 000000000000..04c9bdf246b4
--- /dev/null
+++ b/games-emulation/pcsxr/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <use>
+ <flag name="cdio">Use libcdio for CD support</flag>
+ <flag name="sdl">Use SDL sound backend (other parts of SDL are used unconditionally)</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-emulation/pcsxr/pcsxr-1.9.94-r1.ebuild b/games-emulation/pcsxr/pcsxr-1.9.94-r1.ebuild
new file mode 100644
index 000000000000..da469d9a7611
--- /dev/null
+++ b/games-emulation/pcsxr/pcsxr-1.9.94-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools eutils multilib versionator
+
+DESCRIPTION="PCSX-Reloaded: a fork of PCSX, the discontinued Playstation emulator"
+HOMEPAGE="http://pcsxr.codeplex.com"
+# codeplex doesn't support direct downloads but GPL-2 doesn't mind me
+# mirroring it.
+SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.zip"
+
+LICENSE="GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="alsa cdio ffmpeg nls openal opengl oss pulseaudio +sdl"
+
+# pcsxr supports both SDL1 and SDL2 but uses the newer version installed
+# since SDL is not properly slotted in Gentoo, just fix it on SDL2
+
+RDEPEND="dev-libs/glib:2=
+ media-libs/libsdl:0=[joystick]
+ sys-libs/zlib:0=
+ x11-libs/gtk+:3=
+ x11-libs/libX11:0=
+ x11-libs/libXext:0=
+ x11-libs/libXtst:0=
+ x11-libs/libXv:0=
+ alsa? ( media-libs/alsa-lib:0= )
+ cdio? ( dev-libs/libcdio:0= )
+ ffmpeg? ( virtual/ffmpeg:0= )
+ nls? ( virtual/libintl:0= )
+ openal? ( media-libs/openal:0= )
+ opengl? ( virtual/opengl:0=
+ x11-libs/libXxf86vm:0= )
+ pulseaudio? ( media-sound/pulseaudio:0= )
+ sdl? ( media-libs/libsdl:0=[sound] )"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/intltool
+ x11-proto/videoproto
+ nls? ( sys-devel/gettext:0 )
+ x86? ( dev-lang/nasm )"
+
+REQUIRED_USE="?? ( alsa openal oss pulseaudio sdl )"
+
+# it's only the .po file check that fails :)
+RESTRICT=test
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}"/${P}-disable-sdl2.patch
+ "${FILESDIR}"/${P}-zlib-uncompress2.patch
+ )
+
+ epatch "${PATCHES[@]}"
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ local sound_backend
+
+ if use alsa; then
+ sound_backend=alsa
+ elif use oss; then
+ sound_backend=oss
+ elif use pulseaudio; then
+ sound_backend=pulseaudio
+ elif use sdl; then
+ sound_backend=sdl
+ elif use openal; then
+ sound_backend=openal
+ else
+ sound_backend=null
+ fi
+
+ local myconf=(
+ $(use_enable nls)
+ $(use_enable cdio libcdio)
+ $(use_enable opengl)
+ $(use_enable ffmpeg ccdda)
+ --enable-sound=${sound_backend}
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+
+ dodoc doc/{keys,tweaks}.txt
+}
+
+pkg_postinst() {
+ local vr
+ for vr in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.9.94-r1 ${vr}; then
+ ewarn "Starting with pcsxr-1.9.94-r1, the plugin install path has changed."
+ ewarn "In order for pcsxr to find plugins, you will need to remove stale"
+ ewarn "symlinks from ~/.pcsxr/plugins. You can do this using the following"
+ ewarn "command (as your regular user):"
+ ewarn
+ ewarn " $ find ~/.pcsxr/plugins/ -type l -delete"
+ fi
+ done
+}
diff --git a/games-emulation/pcsxr/pcsxr-1.9.94-r2.ebuild b/games-emulation/pcsxr/pcsxr-1.9.94-r2.ebuild
new file mode 100644
index 000000000000..319b46f2fd2e
--- /dev/null
+++ b/games-emulation/pcsxr/pcsxr-1.9.94-r2.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools ltprune versionator
+
+DESCRIPTION="PCSX-Reloaded: a fork of PCSX, the discontinued Playstation emulator"
+HOMEPAGE="http://pcsxr.codeplex.com"
+# codeplex doesn't support direct downloads but GPL-2 doesn't mind me
+# mirroring it.
+SRC_URI="https://dev.gentoo.org/~mgorny/dist/${P}.zip"
+
+LICENSE="GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="alsa cdio ffmpeg libav nls openal opengl oss pulseaudio +sdl"
+REQUIRED_USE="?? ( alsa openal oss pulseaudio sdl )"
+
+# pcsxr supports both SDL1 and SDL2 but uses the newer version installed
+# since SDL is not properly slotted in Gentoo, just fix it on SDL2
+
+RDEPEND="
+ dev-libs/glib:2=
+ media-libs/libsdl:0=[joystick]
+ sys-libs/zlib:0=
+ x11-libs/gtk+:3=
+ x11-libs/libX11:0=
+ x11-libs/libXext:0=
+ x11-libs/libXtst:0=
+ x11-libs/libXv:0=
+ alsa? ( media-libs/alsa-lib:0= )
+ cdio? ( dev-libs/libcdio:0= )
+ ffmpeg? (
+ !libav? ( >=media-video/ffmpeg-3:0= )
+ libav? ( media-video/libav:0= ) )
+ nls? ( virtual/libintl:0= )
+ openal? ( media-libs/openal:0= )
+ opengl? ( virtual/opengl:0=
+ x11-libs/libXxf86vm:0= )
+ pulseaudio? ( media-sound/pulseaudio:0= )
+ sdl? ( media-libs/libsdl:0=[sound] )
+"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/intltool
+ x11-proto/videoproto
+ nls? ( sys-devel/gettext:0 )
+ x86? ( dev-lang/nasm )
+"
+
+# it's only the .po file check that fails :)
+RESTRICT=test
+
+PATCHES=(
+ "${FILESDIR}"/${P}-disable-sdl2.patch
+ "${FILESDIR}"/${P}-zlib-uncompress2.patch
+ "${FILESDIR}"/${P}-ffmpeg3.patch
+)
+
+S="${WORKDIR}/${PN}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local sound_backend
+
+ if use alsa; then
+ sound_backend=alsa
+ elif use oss; then
+ sound_backend=oss
+ elif use pulseaudio; then
+ sound_backend=pulseaudio
+ elif use sdl; then
+ sound_backend=sdl
+ elif use openal; then
+ sound_backend=openal
+ else
+ sound_backend=null
+ fi
+
+ local myconf=(
+ $(use_enable nls)
+ $(use_enable cdio libcdio)
+ $(use_enable opengl)
+ $(use_enable ffmpeg ccdda)
+ --enable-sound=${sound_backend}
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+
+ dodoc doc/{keys,tweaks}.txt
+}
+
+pkg_postinst() {
+ local vr
+ for vr in ${REPLACING_VERSIONS}; do
+ if ! version_is_at_least 1.9.94-r1 ${vr}; then
+ ewarn "Starting with pcsxr-1.9.94-r1, the plugin install path has changed."
+ ewarn "In order for pcsxr to find plugins, you will need to remove stale"
+ ewarn "symlinks from ~/.pcsxr/plugins. You can do this using the following"
+ ewarn "command (as your regular user):"
+ ewarn
+ ewarn " $ find ~/.pcsxr/plugins/ -type l -delete"
+ fi
+ done
+}
diff --git a/games-emulation/ppsspp/Manifest b/games-emulation/ppsspp/Manifest
new file mode 100644
index 000000000000..42400eee9abf
--- /dev/null
+++ b/games-emulation/ppsspp/Manifest
@@ -0,0 +1,15 @@
+AUX ppsspp-1.4-O2.patch 1576 SHA256 eede335051858ff21ca2334601564c5a6882a78ed22c8fbc203b8cd916f672d7 SHA512 39f18c074e56aa823b223a78b099771257b4a5672a41c6d271cee5b817a2a63d17f57ad9f936da41185dae5b4bf2a94cc62cf92596d94b6e0660f1b05bf9ac2f WHIRLPOOL 02e8f5bb67299e1e171038413a3fec9f4830c95a5fe1cdedb452cb552d3f8f05c5de4ff3a4e582bb1cb5e343b43b46f9cbf967fd396ba1b2031994e5055a1537
+AUX ppsspp-1.4-assets-lookup.patch 525 SHA256 4e227f708f2ec00b6fe03f37b118e29492ffaa629ab1831db6c0b3b1057168c4 SHA512 48153b37c99a082a5bb4ccc233df64de1e981d3d3474bfb43ad191205bcc93318bc1f0bac55f2f318627accbc9fced7666f36a5009ce5f189b3ef79a6a316519 WHIRLPOOL 8af48cbb43a591c476f6a3afd06dae3578fbe87957a6c0dc410acba66418da89bbca87203e67910f3c032f37a675e73b1ba548ef80ee76a255cb26cf40f76fb3
+DIST ppsspp-1.4-assets_lang.tar.gz 268473 SHA256 5fe868340c0730d6f73395176ea61c41676052ea04a94f37608eadc6591257ff SHA512 7af7eb05c81fcb7a22b4acac55507958a6fb5f508d67d4de65104eae1bfacd3bfcad087f00a47b3fc3bcf644983d84b5b877750bda9350ab70cb83e326371931 WHIRLPOOL b00e1b3b43678bcbc4d39c48c65806680998dac30743498c42cbf4c91b84a27af77ac4615b36b47e4ac2796a92de4a658df2166eeb255b86e71d85b0c926edba
+DIST ppsspp-1.4-dx9sdk.tar.gz 14582591 SHA256 122340e099fb90d16414a741cc9d569f1a1110ff5d243748eea06e6d58140f17 SHA512 2c54b441b0a31f63ecab1bd2ab14254fb2047d35d2765262d43277330a8428fbf4c8848d5f730456a033cf84258f6b60a467213f8339289b3ab83ed7e94c65b7 WHIRLPOOL 09890402cb3f7c3483b08fbecb2abac82fa413443b5435d43f9438df0fe1c021c5d40cad2d69319ac19b85fd804cb85b32b4a1f7d9d4b379f86b8570959e87bf
+DIST ppsspp-1.4-ext_SPIRV-Cross.tar.gz 193267 SHA256 00737747996ebfa09d9d5d66e292ee8e8be512bda9f0d09f9209500d28141f81 SHA512 0b24d28c9e98b170dc4ae51269dce04c100f9116e5fb66268b23878eab4ee7bfc28d257208e094fedf23be89a488e9497bb246d369711b72bf5e39332225d7bf WHIRLPOOL a811a5d19a839bdd57ad6fa55f6363b4d917db3bfd64e501821c814f4d73c9a3f429aa2ab9683a43cbff85b357638e8f50d7af900775c9cdff7b92f3bba07d54
+DIST ppsspp-1.4-ext_armips.tar.gz 163666 SHA256 a5cc0e9aa3bdf4bb4334def685751f03aaed0aa0d23f317dc2a242bd60be1c64 SHA512 9423bdbc1428700979c13276a427975733a07908fdf021dc6ab88cec0d37e9523aacd4a2a03eef23638070293dde3f1641647c47095ef2751982b9f9893c1baa WHIRLPOOL b5f2201e8e3b604282818a946a729f73ed538cd8f98e57c1fffad8ba219569bf47b1f6714c9af9dfd483b1b71eb045533e0be58a664a8a934ab0b4651fbbcbf6
+DIST ppsspp-1.4-ext_armips_ext_tinyformat.tar.gz 22284 SHA256 9db9bc16e9fafede493b5890b935a57ee6e5e284a9d6e8fa6d9329790a96b8c6 SHA512 fb063ea9b632c8a9a0203c181830cb2feed9142fcf4d69c11cc0a3e8dcbb3cea51dde6bb351df567b3f105a4da99fd2e72ba3572d3fc0e9a45364f4115d6c3d1 WHIRLPOOL 18135420bab7b06a10941ca5039b67899f90e7d2a175eae9ebadf579c1838cb60744d08fd40bb3fe859d108b7af8a17335ce77979ff9e083cc341dd629d7682e
+DIST ppsspp-1.4-ext_glslang.tar.gz 1685246 SHA256 c7e41726e2d9d6c47e7e2654d4354b1a61527e86158c9ad5e8a9e8f9d7f6a788 SHA512 3605fb8a3c5dafcab97578030be4af3703f1475c8e9fd58412a514dcaa0ea6c7bf3a279510759496ab34b979a3d260d3da3d6f00d504c9c5e0f9a7b5a61399bc WHIRLPOOL e78e25b94cb3724e0e013203b27c757896b858779a8f85900dcaa2919482d146f64465166deb25749865d67b66fe2c37876061fd3cc6fcc796d9767ebbb51da3
+DIST ppsspp-1.4-ffmpeg.tar.gz 311610961 SHA256 b75ccf7f740577c1eb6c66c0551919cea5cd71c56cd100a31ae1524803b40236 SHA512 d4bdb3c5a13bc64d7b22e38b416355d302a4401a1d8f6bd57a4d8502823dc9a2987df92b8e781ddab6de8ded9b59b268ef1b33f8f43a0be7b1c57d4ffbee6871 WHIRLPOOL 656d08ad6c2654498cd662ec6a73fb5e2b559a0c69158d8a42d8cc8ba7b7387d8dd210bf31821870b9fd5171830dd6bbf244e7d3139d6a9c5f8a7083350a2430
+DIST ppsspp-1.4-pspautotests.tar.gz 34389722 SHA256 e25ec80dcb50c7a7816afecda5cbe9c15c5fc23dbbc063d697378dcb4134c845 SHA512 70b0c4ee9775ee8179d7993b0162a8fb95aa6b0bf1c2cc49e6e6ec03be6d72c615a8a233235028ce29e715e0ba64f9d60efcb2fadd1b9e6d92a9f435e0c86bbf WHIRLPOOL b108707bf73b4e82808b10cad98992a5026c1c5013908c71bb19c58883cec131f643c333f0b93d29d97157921f842f3be863100032748e021024c0e50791df41
+DIST ppsspp-1.4.tar.gz 18909397 SHA256 d801fbdc0063cd351392af488a65fc66021f45eb1edbabe7bce069ce0d68d5a6 SHA512 986bb4cf9756dba3874838bed9cf5721a2025c19d5c7c936aa8f7dca7848102a10dc924f1900b0ab90a5742ef2b96e3895f085f4ffb471648fb15135c1947580 WHIRLPOOL a02c594378ca01199423596440bdd052c2a75ea61036895c214dd73dad5ffeb95e5f44546939c9a3a812e1cb208ef9ef6e84164f8177f87e02900ca8f7122edc
+EBUILD ppsspp-1.4.ebuild 3289 SHA256 e0c8fff52eee2e17f4857c96fb6a5f1a055224c359f1b394f84836e474fa2389 SHA512 de36304f2818bf3d407cf6110ae04cb75b7cfef5573b82c8ce6398dc6ee503c5e8b941cf7946feeeaa95c923fda4c8514622d96b40f5f12228c5443b8f6d27d7 WHIRLPOOL 61ab6b942d5aaab27a3b7356132e1ca06474e364c57ebb176f4fbdd21b05c9875d71554cbff5fff7133172456a67f9c74864da11ac72b340f382bb8f6403c06e
+EBUILD ppsspp-9999.ebuild 2310 SHA256 885b93cb4ca7a01e71101923ac27cde5945e00b32c6f46f455ace1ee63e4ab89 SHA512 0fe86b8ab480b460c0c1629bfc0da20ad6afee7bc5d7fc496c0fc1f561096f39b9ded1ee3e00fd04e24d018cc8f7a9d8ca191c7bc37a1395c4e6783481198e69 WHIRLPOOL d80f5b24d80e0009309d92bef4786242d8454630f5910023ae0c81c90bef1ae6d43c8c17019a9469fcca194667e25f92620cd077f72fd3355b2172bb3305cabf
+MISC ChangeLog 4361 SHA256 f3214e2ca488fae15b5f0d60ab6eb8b9aa36c70724a2be0200947d0ee4900a53 SHA512 9652757ef20e0c33d92c96cda3d8d02517b32b06df3889e53f4c4af16c0d26ae4446ab7c2ea2b4e41cf31944c9c2ae0c4d3c92fc036915d348a81fe8101c9fe7 WHIRLPOOL 5c258b7354acbc4164ed31f642d56bec37759a5a61a49e105fef43b5cd52b52011aa47750d0c21375bab4b29732ca9589bfdbf99db6ec747460aa61a0ccdb376
+MISC metadata.xml 782 SHA256 1ca5ab828116d87232647c8179e517e77a45d530fde4b87836154ee8e7cb8079 SHA512 7107fe18d17f3a69c6a5d1241ec28b607b93ac3d45a311eab23742a393c8fdb62cbf1986095591ff643b741c4c81410116ed7efe685dd82b3c76cbfd38a2a221 WHIRLPOOL e6a581c4eac91f5ab2e2e2e4ec047f4c2d64f46606de200dc1ea02c42a030a781dd57de1858926d44bac87dcd8c0c4c8558cf4c15286ab2da8c97088ca41ee44
diff --git a/games-emulation/ppsspp/files/ppsspp-1.4-O2.patch b/games-emulation/ppsspp/files/ppsspp-1.4-O2.patch
new file mode 100644
index 000000000000..55954c7c7389
--- /dev/null
+++ b/games-emulation/ppsspp/files/ppsspp-1.4-O2.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 19038c88a436..bf50f5cf52fb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -195,11 +195,11 @@ if(NOT MSVC)
+
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_DEBUG")
+ set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Os -D_NDEBUG")
+- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -D_NDEBUG")
++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -D_NDEBUG")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -D_DEBUG")
+ set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -D_NDEBUG")
+- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -D_NDEBUG")
++ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -D_NDEBUG")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG")
+ #TODO: Remove this and include the file properly everywhere it makes sense
+ # First step is too use the macros everywhere
+@@ -509,10 +509,10 @@ include_directories(ext/cityhash)
+
+ if (NOT MSVC)
+ # These can be fast even for debug.
+- set_target_properties(udis86 PROPERTIES COMPILE_FLAGS "-O3")
+- set_target_properties(cityhash PROPERTIES COMPILE_FLAGS "-O3")
++ set_target_properties(udis86 PROPERTIES COMPILE_FLAGS "-O2")
++ set_target_properties(cityhash PROPERTIES COMPILE_FLAGS "-O2")
+ if(NOT ZLIB_FOUND)
+- set_target_properties(zlib PROPERTIES COMPILE_FLAGS "-O3")
++ set_target_properties(zlib PROPERTIES COMPILE_FLAGS "-O2")
+ endif()
+ endif()
+
diff --git a/games-emulation/ppsspp/files/ppsspp-1.4-assets-lookup.patch b/games-emulation/ppsspp/files/ppsspp-1.4-assets-lookup.patch
new file mode 100644
index 000000000000..6f75d5ec31c6
--- /dev/null
+++ b/games-emulation/ppsspp/files/ppsspp-1.4-assets-lookup.patch
@@ -0,0 +1,13 @@
+diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp
+index 8452d4d61d5f..3d5a4bbd2aa4 100644
+--- a/UI/NativeApp.cpp
++++ b/UI/NativeApp.cpp
+@@ -316,7 +316,7 @@ void NativeInit(int argc, const char *argv[], const char *savegame_dir, const ch
+
+ // We want this to be FIRST.
+ #ifdef USING_QT_UI
+- VFSRegister("", new AssetsAssetReader());
++ VFSRegister("", new DirectoryAssetReader("/usr/share/ppsspp/assets/"));
+ #elif defined(IOS)
+ // Packed assets are included in app
+ VFSRegister("", new DirectoryAssetReader(external_dir));
diff --git a/games-emulation/ppsspp/metadata.xml b/games-emulation/ppsspp/metadata.xml
new file mode 100644
index 000000000000..83e3a6dff698
--- /dev/null
+++ b/games-emulation/ppsspp/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robin9800xt@gmail.com</email>
+ <name>RobinDX</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>fdsfgs@krutt.org</email>
+ <name>soredake</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="headless">Build headless version of the PPSSPP</flag>
+ <flag name="system-ffmpeg">Use the system-wide media-video/ffmpeg instead of bundled</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/hrydgard/ppsspp/issues</bugs-to>
+ <remote-id type="github">hrydgard/ppsspp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/ppsspp/ppsspp-1.4.ebuild b/games-emulation/ppsspp/ppsspp-1.4.ebuild
new file mode 100644
index 000000000000..f1855879f56c
--- /dev/null
+++ b/games-emulation/ppsspp/ppsspp-1.4.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils cmake-utils
+
+DESCRIPTION="A PSP emulator written in C++."
+HOMEPAGE="https://www.ppsspp.org/"
+SRC_URI="
+ https://github.com/hrydgard/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ !system-ffmpeg? ( https://github.com/hrydgard/ppsspp-ffmpeg/archive/a2e98d7ba4c7c5cac08608732c3058cb46e3e0ef.tar.gz -> ${P}-ffmpeg.tar.gz )
+ https://github.com/hrydgard/ppsspp-lang/archive/ed0bbfb389da213bd891d179d1d92e95b8f05e43.tar.gz -> ${P}-assets_lang.tar.gz
+ https://github.com/hrydgard/pspautotests/archive/905c3018d01af9dfb511c87e65e07a49257a33ac.tar.gz -> ${P}-pspautotests.tar.gz
+ https://github.com/hrydgard/minidx9/archive/7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93.tar.gz -> ${P}-dx9sdk.tar.gz
+ https://github.com/hrydgard/glslang/archive/b16f7e6819267e57c3c244808d1981f0ce34acbc.tar.gz -> ${P}-ext_glslang.tar.gz
+ https://github.com/Kingcom/armips/archive/770365d44df35d6e675c58bb2a774ca412278ef5.tar.gz -> ${P}-ext_armips.tar.gz
+ https://github.com/Kingcom/tinyformat/archive/b7f5a22753c81d834ab5133d655f1fd525280765.tar.gz -> ${P}-ext_armips_ext_tinyformat.tar.gz
+ https://github.com/KhronosGroup/SPIRV-Cross/archive/6381b2ff9c0d975af8fd2974c97aa12a69ab6cc6.tar.gz -> ${P}-ext_SPIRV-Cross.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+qt5 sdl headless libav +system-ffmpeg"
+REQUIRED_USE="
+ !headless? ( || ( qt5 sdl ) )
+ ?? ( qt5 sdl )
+"
+
+RDEPEND="sys-libs/zlib
+ system-ffmpeg? (
+ !libav? ( media-video/ffmpeg:= )
+ libav? ( media-video/libav:= )
+ )
+ sdl? (
+ media-libs/libsdl
+ media-libs/libsdl2
+ )
+ qt5? (
+ dev-db/sqlite
+ dev-qt/assistant:5
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtopengl:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+ )"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-assets-lookup.patch
+ "${FILESDIR}"/${P}-O2.patch
+)
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+ cd "${S}" || die
+ local i list=( assets_lang pspautotests dx9sdk ext_glslang ext_armips ext_SPIRV-Cross ext_armips_ext_tinyformat )
+ if ! use system-ffmpeg; then
+ list+=( ffmpeg )
+ fi
+ for i in "${list[@]}"; do
+ tar xf "${DISTDIR}/${P}-${i}.tar.gz" --strip-components 1 -C "${i//_//}" || die "Failed to unpack ${P}-${i}.tar.gz"
+ done
+}
+
+src_prepare() {
+ if ! use system-ffmpeg; then
+ sed -i -e "s#-O3#-O2#g;" "${S}"/ffmpeg/linux_*.sh || die
+ fi
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSING_QT_UI=$(usex qt5)
+ -DUSE_SYSTEM_FFMPEG=$(usex system-ffmpeg)
+ -DHEADLESS=$(usex headless)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ use headless && dobin "${BUILD_DIR}/PPSSPPHeadless"
+ insinto /usr/share/"${PN}"
+ doins -r "${BUILD_DIR}/assets"
+ if use qt5 || use sdl ; then
+ dobin "${BUILD_DIR}/PPSSPP$(usex qt5 Qt SDL)"
+ local i
+ for i in 16 24 32 48 64 96 128 256 512 ; do
+ doicon -s ${i} "icons/hicolor/${i}x${i}/apps/${PN}.png"
+ done
+ make_desktop_entry "PPSSPP$(usex qt5 Qt SDL)" "PPSSPP ($(usex qt5 Qt SDL))" "${PN}" "Game"
+ fi
+}
+
+pkg_postinst() {
+ if use system-ffmpeg; then
+ ewarn "system-ffmpeg USE flag is enabled, some bugs might arise due to it."
+ ewarn "See https://github.com/hrydgard/ppsspp/issues/9026 for more informations."
+ fi
+}
diff --git a/games-emulation/ppsspp/ppsspp-9999.ebuild b/games-emulation/ppsspp/ppsspp-9999.ebuild
new file mode 100644
index 000000000000..acd37286ab88
--- /dev/null
+++ b/games-emulation/ppsspp/ppsspp-9999.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils cmake-utils git-r3
+
+DESCRIPTION="A PSP emulator written in C++."
+HOMEPAGE="https://www.ppsspp.org/"
+EGIT_REPO_URI="https://github.com/hrydgard/${PN}.git"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+qt5 sdl headless libav +system-ffmpeg"
+REQUIRED_USE="
+ !headless? ( || ( qt5 sdl ) )
+ ?? ( qt5 sdl )
+"
+EGIT_SUBMODULES=( '*' )
+
+RDEPEND="sys-libs/zlib
+ system-ffmpeg? (
+ !libav? ( media-video/ffmpeg:= )
+ libav? ( media-video/libav:= )
+ )
+ sdl? (
+ media-libs/libsdl
+ media-libs/libsdl2
+ )
+ qt5? (
+ dev-db/sqlite
+ dev-qt/assistant:5
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5
+ dev-qt/qtopengl:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwebkit:5
+ dev-qt/qtwidgets:5
+ )"
+
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+ use system-ffmpeg && EGIT_SUBMODULES+=( '-ffmpeg' )
+ git-r3_src_unpack
+}
+
+src_prepare() {
+ # https://github.com/hrydgard/ppsspp/blob/150619c5a341f372266bec86fd874ac5a1343a43/UI/NativeApp.cpp#L318
+ # patch ppsspp to use /usr/share instead of working dir to find the assets
+ sed -i 's|VFSRegister("", new AssetsAssetReader());|VFSRegister("", new DirectoryAssetReader("/usr/share/ppsspp/assets/"));|g' UI/NativeApp.cpp || die "Patching qt assets path failed"
+
+ sed -i -e "s#-O3#-O2#g;" "${S}"/CMakeLists.txt || die
+ if ! use system-ffmpeg; then
+ sed -i -e "s#-O3#-O2#g;" "${S}"/ffmpeg/linux_*.sh || die
+ fi
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSING_QT_UI=$(usex qt5)
+ -DUSE_SYSTEM_FFMPEG=$(usex system-ffmpeg)
+ -DHEADLESS=$(usex headless)
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ use headless && dobin "${BUILD_DIR}/PPSSPPHeadless"
+ insinto /usr/share/"${PN}"
+ doins -r "${BUILD_DIR}/assets"
+ if use qt5 || use sdl ; then
+ dobin "${BUILD_DIR}/PPSSPP$(usex qt5 Qt SDL)"
+ local i
+ for i in 16 24 32 48 64 96 128 256 512 ; do
+ doicon -s ${i} "icons/hicolor/${i}x${i}/apps/${PN}.png"
+ done
+ make_desktop_entry "PPSSPP$(usex qt5 Qt SDL)" "PPSSPP ($(usex qt5 Qt SDL))" "${PN}" "Game"
+ fi
+}
+
+pkg_postinst() {
+ if use system-ffmpeg; then
+ ewarn "system-ffmpeg USE flag is enabled, some bugs might arise due to it."
+ ewarn "See https://github.com/hrydgard/ppsspp/issues/9026 for more informations."
+ fi
+}
diff --git a/games-emulation/raine/Manifest b/games-emulation/raine/Manifest
new file mode 100644
index 000000000000..222be566d95b
--- /dev/null
+++ b/games-emulation/raine/Manifest
@@ -0,0 +1,8 @@
+AUX raine-0.51.9-ldflags.patch 436 SHA256 00a22c6a2c32f49dc1a5a68b167b7e12a76c9859a29ef4c1a0e8bc07bba23417 SHA512 d4b6e1ce4a6ede3c17f0b6aac5a556e52eada51c75381bca7c0fbb48ec105d0a332392837de0182ab361f6e7a44258a2bf87c0010301ef201a22980f055d9e6e WHIRLPOOL fa7fa161fa1207a05061f8b53891238ad40278270226a97d5e749107f90367ff5814ce3f22777e1dfa967e854a4397fcad2f29bf16121dd06100a75103e85c2b
+AUX raine-0.51.9-libpng15.patch 296 SHA256 36e0445bbf2874466a241fb48199a6df89e73b05d3f8adae964e96acdb7918e6 SHA512 6e15b001a2a113605ae5c7d026865b8aaef38cbfe57b471624687de1f904fd26618ef1b1156d3d50ad5f39710d2122a4f90ae9f30358f3d955a4a9ea223db1b2 WHIRLPOOL b8c91d39a316dd3e6478f0906b0c803c4d5c90d57d137f1a125a0aa24693adbe27352ea66048f26b84dc2c7212f8c28f887768cd2c785442a5e9f30a696f93b1
+AUX raine-0.51.9-underlink.patch 483 SHA256 dd87703c0c47064ca32f0bec652e61f8f03dd185ccf17c81e31e8e1def8085c7 SHA512 72ded715c9e1c7b92d6cb8e3e6ccc339de050a36fe777681db39e8910e6f7734ba6f6e80708f93f6f8f078f268412b4f27fcd877c7b012ed3a630ee0d94ba023 WHIRLPOOL 3e7b52af08755a1f76d1e7c9ce0715abbe69c1ad153a372e1e84eb97cf3c70c17c1e9e5119711830219bf0613851c06ce2e88d56088ff63ff50f10ebcd4fabd8
+DIST raines-0.51.9.tar.bz2 2095980 SHA256 6d58f36790025e53aa0897f21cef845b9355081fd75c9a5ce4ef96f275dd0427 SHA512 e21346d72c63d8ba1bc6832bd885fa9ec0865c788742e572ef9941d3a4fd3f23710d076253d7a50878ef512ff3024e57098c0ba28c0c794bdefa994b8b7780bf WHIRLPOOL b9d1a0406e150779c37b139344a157f55fefb9345fe6ae17f36796c63d8a97b77494fd9b3b9e26983f447fa4bacbafac7b2d89750af45ea3af11f0137883eb67
+EBUILD raine-0.51.9.ebuild 1330 SHA256 75bfd2e5b50f6ff073c5042e875c78343c484dce4a76352b3af0c547bfb708a7 SHA512 337200b7005809b4c4687eb74d254b94cb1e589d489b282df5c54ec9cf9719d38def48b29f5f7b7bcfb950178acb7c70e455b1d84da7111139da5bdd3bb84c5a WHIRLPOOL 892e3d8bc13bc5a7158beae3474251777d7408c1114a3a6861df988f6f3e21c8b829f942a131f5a646d9d7b5fdaa6cede6a6427a1124a1611ed05bcda6d75fc8
+MISC ChangeLog 2540 SHA256 054dc9e03079fb1d9827e768bd3424fea4ba7f7bbae211b5541a09adac204c7d SHA512 d4958e8e36ab8cab9e7578a4c6fa97b27de0ec6fb29da4e9127aac7ced61c7f95625bf2daca33b60e8bc9ccb555745d14fdd99976ecc566b43b17b30a04585bb WHIRLPOOL 9ff67751198d8487f5bed23fd558e4ac956ae68650308291d5331c1539e65c9a56ad778f84d62a904403328cf22df0a8c7611ff5d0428def2331c99b8b35b24a
+MISC ChangeLog-2015 4112 SHA256 2c9a7bbeb4ab683473a22c0d6d3d0cd99cb34b99620da80f94ad227bc9931a4d SHA512 2a1cadf28bd8b86b735dc926fc46bd32466f20491800af97863018b41a646a6bb14740222e581aca4e65e65d1e959c507f3adb4fb92db92af6a8c97ae672efeb WHIRLPOOL 7c590d2ad08d7788aca9d008a43d8e7ac1cd5d17ef302078d9c6e97a80dc355e7cf0b71700bc2ec38b755753abc06fe8c9cc6808970c14866273cec3742b28f6
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/raine/files/raine-0.51.9-ldflags.patch b/games-emulation/raine/files/raine-0.51.9-ldflags.patch
new file mode 100644
index 000000000000..f011cd6a1e5c
--- /dev/null
+++ b/games-emulation/raine/files/raine-0.51.9-ldflags.patch
@@ -0,0 +1,11 @@
+--- makefile.old 2010-10-08 10:04:46.000000000 +0200
++++ makefile 2010-10-08 10:05:25.000000000 +0200
+@@ -995,7 +995,7 @@
+ else
+ @echo Linking Raine...
+ endif
+- $(LDV) $(LFLAGS) -g -Wall -Wno-write-strings -o $(RAINE_EXE) $(OBJS) $(LIBS) -lstdc++
++ $(LDV) $(LDFLAGS) $(LFLAGS) -g -Wall -Wno-write-strings -o $(RAINE_EXE) $(OBJS) $(LIBS) -lstdc++
+
+ converter: source/bonus/converter.c
+ $(CCV) $(CFLAGS) -c $< -o $(OBJDIR)/converter.o
diff --git a/games-emulation/raine/files/raine-0.51.9-libpng15.patch b/games-emulation/raine/files/raine-0.51.9-libpng15.patch
new file mode 100644
index 000000000000..675df24801dc
--- /dev/null
+++ b/games-emulation/raine/files/raine-0.51.9-libpng15.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/388255
+
+--- source/savepng.c
++++ source/savepng.c
+@@ -203,7 +203,7 @@
+ goto Error;
+
+ /* Set error handling. */
+- if (setjmp(png_ptr->jmpbuf)) {
++ if (setjmp(png_jmpbuf(png_ptr))) {
+ /* If we get here, we had a problem reading the file. */
+ goto Error;
+ }
diff --git a/games-emulation/raine/files/raine-0.51.9-underlink.patch b/games-emulation/raine/files/raine-0.51.9-underlink.patch
new file mode 100644
index 000000000000..e9eb42bedbb3
--- /dev/null
+++ b/games-emulation/raine/files/raine-0.51.9-underlink.patch
@@ -0,0 +1,11 @@
+--- makefile.old 2011-06-16 08:25:35.000000000 +0200
++++ makefile 2011-06-16 08:25:57.000000000 +0200
+@@ -294,7 +294,7 @@
+ LIBS_DEBUG = -lz `allegro-config --libs ` `libpng-config --ldflags`
+ LIBS_STATIC = -lz `allegro-config --static` `libpng-config --static --ldflags`
+ else
+- LIBS = -lz `libpng-config --ldflags`
++ LIBS = -lz -lm `libpng-config --ldflags`
+ LIBS_DEBUG = -lz `libpng-config --ldflags`
+ LIBS_STATIC = -lz `libpng-config --static --ldflags`
+ endif
diff --git a/games-emulation/raine/metadata.xml b/games-emulation/raine/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/raine/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/raine/raine-0.51.9.ebuild b/games-emulation/raine/raine-0.51.9.ebuild
new file mode 100644
index 000000000000..0775fcb5f3dd
--- /dev/null
+++ b/games-emulation/raine/raine-0.51.9.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit flag-o-matic eutils games
+
+DESCRIPTION="R A I N E M680x0 Arcade Emulation"
+HOMEPAGE="http://rainemu.swishparty.co.uk/"
+SRC_URI="http://rainemu.swishparty.co.uk/html/archive/raines-${PV}.tar.bz2"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+RDEPEND="dev-cpp/muParser
+ media-libs/libsdl[sound,joystick,video]
+ sys-libs/zlib
+ media-libs/sdl-image[png]
+ media-libs/sdl-ttf"
+DEPEND="${RDEPEND}
+ dev-lang/nasm
+ app-arch/unzip"
+
+src_prepare() {
+ echo > detect-cpu
+ echo > cpuinfo
+ sed -i \
+ -e "/^NEO/s:^:#:" \
+ -e "s:nasmw:nasm:" \
+ -e "/bindir/s:=.*:=\$(DESTDIR)${GAMES_BINDIR}:" \
+ -e "/sharedir =/s:=.*:=\$(DESTDIR)${GAMES_DATADIR}:" \
+ -e "/mandir/s:=.*:=\$(DESTDIR)/usr/share/man/man6:" \
+ makefile || die
+ epatch "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-underlink.patch \
+ "${FILESDIR}"/${P}-libpng15.patch
+ has_version '>=sys-libs/zlib-1.2.5.1-r1' && \
+ sed -i -e '1i#define OF(x) x' source/mini-unzip/ioapi.h
+ append-ldflags -Wl,-z,noexecstack
+}
+
+src_compile() {
+ local myopts
+
+ emake \
+ _MARCH="${CFLAGS}" \
+ VERBOSE=1 \
+ ${myopts}
+}
+
+src_install() {
+ default
+ keepdir "${GAMES_DATADIR}"/${PN}/{roms,artwork,emudx,scripts/raine}
+ dodoc docs/readme.txt
+ prepgamesdirs
+}
diff --git a/games-emulation/sdlmame/Manifest b/games-emulation/sdlmame/Manifest
new file mode 100644
index 000000000000..dcaaef6a6179
--- /dev/null
+++ b/games-emulation/sdlmame/Manifest
@@ -0,0 +1,10 @@
+AUX sdlmame-0.174-cxx14.patch 812 SHA256 a8e7cdd6099d7d7beab228c87bceae5878fe5cee39b3611d20ce72ac72f38b01 SHA512 988eec1f288e2b82ce9aea863c2cf7368fc598ce6c3ccada1c50c0f05f0600d84d4bd0891a5ccd256810c2f0c4206ea0c4b37ad2de1193605de6b682a2afcbe5 WHIRLPOOL f1090d175ffc663d11f220d6f090684f82b439c179056b37f8d4b54eaff8c932a921e167251f7973b204135c5dd5b9b3984a023b84820f2cef6204a92061d8d2
+AUX sdlmame-0.174-qt.patch 829 SHA256 0795ef98e0075586624d696bda29740dbf72f1ef367183fbfa3635ccd8e14c95 SHA512 68ce8a500acfda83152bdb6a2dd798ca29099c3671864f4a30557b3b878b2d4b71c6bbff18291a8e0a43a5a736ec0f0952385b5867bf7d6129ce154537aabd96 WHIRLPOOL e25624097711ae28529cee900c9cec7beb4ba1ba5293e7877f59734204c5e576c3057007673479e95ad0b309c79ddd72e3826506908682e0d476e790d6208328
+AUX vector.ini 116 SHA256 408aeaaffcb2ecccd20db457f22d2d5efa930c0f62a92987b0fbefaf6c038c23 SHA512 6d84eb7b9c4e9f134b57e64ba9ae30dcaaa620296830f7c9858611fde9064f803bd7d230a989a5cce34d8b815b5a98d323b19d3eef3d4c688b5c32b96b299f5f WHIRLPOOL f60543015a0195487917c696640cc66e29109298ac8f9bd1309346f6ab1b46d8e2ce83d00506c17a9ea588f6b3bac82f0f66d7e75bbf88656ba897cd50fa3dac
+DIST mame-0.168.zip 82770536 SHA256 f91e014c3d3bf3da790284a25437f231a84228a6adbf42db35ca34a57f8a3092 SHA512 14b0519682f8aeb2379cd29b9e0ad8f3c54866296ac158876435425b79c3bf19a2dc520df7a44fe301a8e8cbbc335185602f4998edf6e95324f527c50c72411e WHIRLPOOL 41ddbe191423e3653a52f7734cc85088f1c663fd9aefdbd00ceefbe86f27bde190d14505be7fa69f76c7a39c6bbb5ab196685c2e001c8517cb90f4f7f27e8a51
+DIST mame-0.174.zip 95944685 SHA256 b9b1a65e855b055b0b6b262a7644d2b9a57c73541c55ee9eb60158508348a6fd SHA512 9db4d98fb5f5373529808f3bc41fddefa65ebbf7c26d946ebf886cab25e5abf7c4d539d96dfd6af5e62f4366b2bb0b0b59d40fe7a722698f3707eb8ea4c12a0b WHIRLPOOL 02a66870e5e27b4ea5cea8a53f3e2b629cdbf86090e0ba7c80fd4a0f1f7a866e67ff730e3cf14aa416560fab172dd65a9235013be97a9b61a451227649a551cc
+EBUILD sdlmame-0.168.ebuild 6359 SHA256 f8f42c4541e4ed0f7cf211b2aabe488f4a10daf22d80399d04ab8471f6a59618 SHA512 300383ed2247fe6619fd044a70c509febf0e39d082853ed600212b4ff925389cdc08dcc6ed592c0a79975d67b118b73dc9341bed23ddef73f464dd575bcc67f2 WHIRLPOOL 0c2ab7da8222c3529cbedd4d1d7a54eeca2119b13fefcbd35fc06449c578d918d0bf4ec54a10da08eb76367f1302082bc31315532267ab7aba4b88f4d6a88ad4
+EBUILD sdlmame-0.174.ebuild 6334 SHA256 fa3e8a400bebc9529d60535679437ae116949bb07f6a5d42857194cfa427ffa7 SHA512 e9b8a1e8e96f89470e456581e0d7a2cd4d51928ea6a333f1883e8cdf380d84d747a8b4f247d31339337f3f0fbf492e3b140517735b34f96c85d2066d0dfe727c WHIRLPOOL e7a20d3be000537dcb67542be4ab5ea316b5d85d2ede81b3874a0b0e529e5e0e9ef3cfabdb66b076e2a602d45f0ec7ebbae15dfd9b87fdacee69123249123e2b
+MISC ChangeLog 6966 SHA256 b201d07b1cbcaa7f34bd0c195632cde71616b8696be2cb6454cc945ad8e60ed0 SHA512 771befc4078028932d3eccca440541629fc4f0673fdd9e9937860df88b5f128d20d0a4d684f75af7a30107418eb1b621e4de0cfe445b20307c8d07a4ba6ae66b WHIRLPOOL 094f7fc947f8fcb449e76a221adf6a7b895c63cea70b7e200db3b0f8d5f19e165e6a54aa6cf780df8be5e988447a12e16b7e510263595cb8d4b2c0171043d538
+MISC ChangeLog-2015 10471 SHA256 9cd1a24ad7823344af024f3267f44e0b349c89db9e83301aeaaa7bc41d6e1de1 SHA512 cda36946b0711b443d618a9332bbfad9a62c642c578f8904530b56c1f19ff7102151a5e43c1a5028e708fd22bc1b13cb14e90c065dd2ba42381c190c0035917f WHIRLPOOL 5cdb8fa36cd198031dc0514792e4a964356b7636c2ada448d23d73809afa01dabd5ac5b13998baac281e9f1c2f7ff7b83012799751f54623023044f7d174c30d
+MISC metadata.xml 1573 SHA256 c6ebd03a72eb92950cee9f306757c7f46b7f3c29d8c38298e9508a9e7a5853cd SHA512 a621863a22333f29886464b354f0efe7edc372ec598beec36ee3c0358846527e677a644b7ac24e1757c9f684f69c996a9cf74988643d015b3a34f3cbfa23c7e4 WHIRLPOOL 77270be2b8d17d5e4d0986f8c3c1f237764322ed1ad25519b66bbb3d9fdfaf40b5b0a8291c4d259064bb6d50f31dd7e660762015fe6085e4b9901711134dc31f
diff --git a/games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch b/games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch
new file mode 100644
index 000000000000..bd88cb476e8a
--- /dev/null
+++ b/games-emulation/sdlmame/files/sdlmame-0.174-cxx14.patch
@@ -0,0 +1,28 @@
+# work around gcc-4.9.3's implementation of cxx14
+# bug 582576 with patch from Alexander Miller
+# https://bugs.gentoo.org/show_bug.cgi?id=582576
+
+--- a/src/lib/util/strformat.h
++++ b/src/lib/util/strformat.h
+@@ -185,9 +185,8 @@
+ #include <type_traits>
+ #include <utility>
+
+-#if defined(__GLIBCXX__) && (__GLIBCXX__ < 20150413)
+-namespace std
+-{
++namespace std {
++namespace mame_cxx14_compat {
+ template<class _Container>
+ inline constexpr auto
+ cbegin(const _Container& __cont) noexcept(noexcept(std::begin(__cont)))-> decltype(std::begin(__cont))
+@@ -198,7 +197,8 @@
+ cend(const _Container& __cont) noexcept(noexcept(std::end(__cont)))-> decltype(std::end(__cont))
+ { return std::end(__cont); }
+ }
+-#endif
++using namespace mame_cxx14_compat;
++}
+
+ namespace util {
+ namespace detail {
diff --git a/games-emulation/sdlmame/files/sdlmame-0.174-qt.patch b/games-emulation/sdlmame/files/sdlmame-0.174-qt.patch
new file mode 100644
index 000000000000..f9c384d91cf8
--- /dev/null
+++ b/games-emulation/sdlmame/files/sdlmame-0.174-qt.patch
@@ -0,0 +1,29 @@
+No point in adding qt-related things to the compile line unless the qt debugger is wanted
+
+--- scripts/src/osd/sdl_cfg.lua.orig
++++ scripts/src/osd/sdl_cfg.lua
+@@ -115,14 +115,16 @@
+ configuration { }
+
+ elseif _OPTIONS["targetos"]=="linux" then
+- if _OPTIONS["QT_HOME"]~=nil then
+- buildoptions {
+- "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
+- }
+- else
+- buildoptions {
+- backtick("pkg-config --cflags Qt5Widgets"),
+- }
++ if _OPTIONS["USE_QTDEBUG"]=="1" then
++ if _OPTIONS["QT_HOME"]~=nil then
++ buildoptions {
++ "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
++ }
++ else
++ buildoptions {
++ backtick("pkg-config --cflags Qt5Widgets"),
++ }
++ end
+ end
+ elseif _OPTIONS["targetos"]=="macosx" then
+ defines {
diff --git a/games-emulation/sdlmame/files/vector.ini b/games-emulation/sdlmame/files/vector.ini
new file mode 100644
index 000000000000..d4906e34ccd7
--- /dev/null
+++ b/games-emulation/sdlmame/files/vector.ini
@@ -0,0 +1,9 @@
+#
+# Specific options file for vector games
+#
+
+#
+# VIDEO OPTIONS
+#
+video soft
+yuvmode yv12
diff --git a/games-emulation/sdlmame/metadata.xml b/games-emulation/sdlmame/metadata.xml
new file mode 100644
index 000000000000..86abf7105c06
--- /dev/null
+++ b/games-emulation/sdlmame/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <longdescription>
+SDLMAME is a port of the popular MAME[tm]. There are a few principles that guide it's development:
+
+1) run on Linux/Unix, Mac OS X, and other SDL supported operating systems with as few changes as
+possible to the base Win32 code. This means we can track changes faster than larger more conventional
+ports such as MacMAME, and we also maintain what I call "Firefox compatibilty" where learning a major
+app only needs to be done once per application, and it then applies across many operating systems. If
+you can use the command-line Win32 MAME, you already know how to use SDLMAME on any platform you may
+encounter it on.
+
+2) MAME developers are important. By keeping quickly up to date, we make it easy for people on
+non-Windows platforms to make and submit changes to the core MAME code, and we offer native
+implementations of MAME's multi-window GUI debugger on both Linux/Unix and Mac OS X.
+ </longdescription>
+ <use>
+ <flag name="arcade">Enable the Multiple Arcade Machine Emulator for arcade games support</flag>
+ <flag name="tools">Build development tools shared between sdlmame and sdlmess</flag>
+ <flag name="mess">Enable the Multi Emulator Super System for game system support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">mamedev/mame</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/sdlmame/sdlmame-0.168.ebuild b/games-emulation/sdlmame/sdlmame-0.168.ebuild
new file mode 100644
index 000000000000..8a068399e338
--- /dev/null
+++ b/games-emulation/sdlmame/sdlmame-0.168.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils python-any-r1 toolchain-funcs games
+
+MY_PV="${PV/.}"
+
+DESCRIPTION="Multiple Arcade Machine Emulator + Multi Emulator Super System (MESS)"
+HOMEPAGE="http://mamedev.org/"
+SRC_URI="https://github.com/mamedev/mame/releases/download/mame${MY_PV}/mame${MY_PV}s.zip -> mame-${PV}.zip"
+
+LICENSE="XMAME"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="X alsa +arcade debug +mess opengl tools"
+REQUIRED_USE="|| ( arcade mess )
+ debug? ( X )"
+
+# MESS (games-emulation/sdlmess) has been merged into MAME upstream since mame-0.162 (see below)
+# MAME/MESS build combined (default) +arcade +mess (mame)
+# MAME build only +arcade -mess (mamearcade)
+# MESS build only -arcade +mess (mess)
+# games-emulation/sdlmametools is dropped and enabled instead by the 'tools' useflag
+RDEPEND="!games-emulation/sdlmametools
+ !games-emulation/sdlmess
+ dev-db/sqlite:3
+ dev-libs/expat
+ media-libs/fontconfig
+ media-libs/flac
+ media-libs/libsdl2[joystick,opengl?,sound,video]
+ media-libs/portaudio
+ media-libs/sdl2-ttf
+ sys-libs/zlib
+ virtual/jpeg:0
+ alsa? ( media-libs/alsa-lib
+ media-libs/portmidi )
+ debug? ( dev-qt/qtcore:4
+ dev-qt/qtgui:4 )
+ X? ( x11-libs/libX11
+ x11-libs/libXinerama )
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-arch/unzip
+ virtual/pkgconfig
+ X? ( x11-proto/xineramaproto )"
+
+S=${WORKDIR}
+
+# Function to disable a makefile option
+disable_feature() {
+ sed -i -e "/$1.*=/s:^:# :" makefile || die
+}
+
+# Function to enable a makefile option
+enable_feature() {
+ sed -i -e "/^#.*$1.*=/s:^#::" makefile || die
+}
+
+pkg_setup() {
+ games_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ unpack ./mame.zip
+ rm -f mame.zip || die
+}
+
+src_prepare() {
+ # Disable using bundled libraries
+ enable_feature USE_SYSTEM_LIB_EXPAT
+ enable_feature USE_SYSTEM_LIB_FLAC
+ enable_feature USE_SYSTEM_LIB_JPEG
+# Use bundled lua for now to ensure correct compilation (ref. b.g.o #407091)
+# enable_feature USE_SYSTEM_LIB_LUA
+ enable_feature USE_SYSTEM_LIB_PORTAUDIO
+ enable_feature USE_SYSTEM_LIB_SQLITE3
+ enable_feature USE_SYSTEM_LIB_ZLIB
+
+ # Disable warnings being treated as errors and enable verbose build output
+ enable_feature NOWERROR
+ enable_feature VERBOSE
+
+ use amd64 && enable_feature PTR64
+ use ppc && enable_feature BIGENDIAN
+ use debug && enable_feature DEBUG
+ use opengl || enable_feature NO_OPENGL
+ use tools && enable_feature TOOLS
+ use X || enable_feature NO_X11
+
+ if use alsa ; then
+ enable_feature USE_SYSTEM_LIB_PORTMIDI
+ else
+ enable_feature NO_USE_MIDI
+ fi
+
+ sed -i \
+ -e 's/-Os//' \
+ -e '/^\(CC\|CXX\|AR\) /s/=/?=/' \
+ 3rdparty/genie/build/gmake.linux/genie.make || die
+}
+
+src_compile() {
+ local targetargs
+ local qtdebug=$(usex debug 1 0)
+
+ use arcade && ! use mess && targetargs="SUBTARGET=arcade"
+ ! use arcade && use mess && targetargs="SUBTARGET=mess"
+
+ function my_emake() {
+ # Workaround conflicting $ARCH variable used by both Gentoo's
+ # portage and by Mame's build scripts
+ # turn off bgfx for now since it's an embedded library (bug #556642)
+ PYTHON_EXECUTABLE=${PYTHON} \
+ OVERRIDE_CC=$(tc-getCC) \
+ OVERRIDE_CXX=$(tc-getCXX) \
+ OVERRIDE_LD=$(tc-getCXX) \
+ USE_BGFX=0 \
+ ARCH= \
+ emake "$@" \
+ AR=$(tc-getAR)
+ }
+ my_emake -j1 generate
+
+ my_emake ${targetargs} \
+ SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;${GAMES_SYSCONFDIR}/${PN}" \
+ USE_QTDEBUG=${qtdebug}
+
+ if use tools ; then
+ my_emake -j1 TARGET=ldplayer USE_QTDEBUG=${qtdebug}
+ fi
+}
+
+src_install() {
+ local MAMEBIN
+ local suffix="$(use amd64 && echo 64)$(use debug && echo d)"
+ local f
+
+ function mess_install() {
+ dosym ${MAMEBIN} "${GAMES_BINDIR}"/mess${suffix}
+ dosym ${MAMEBIN} "${GAMES_BINDIR}"/sdlmess
+ newman src/osd/sdl/man/mess.6 sdlmess.6
+ doman src/osd/sdl/man/mess.6
+ }
+ if use arcade ; then
+ if use mess ; then
+ MAMEBIN="mame${suffix}"
+ mess_install
+ else
+ MAMEBIN="mamearcade${suffix}"
+ fi
+ doman src/osd/sdl/man/mame.6
+ newman src/osd/sdl/man/mame.6 ${PN}.6
+ elif use mess ; then
+ MAMEBIN="mess${suffix}"
+ mess_install
+ fi
+ dogamesbin ${MAMEBIN}
+ dosym ${MAMEBIN} "${GAMES_BINDIR}/${PN}"
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r src/osd/sdl/keymaps $(use mess && echo hash)
+
+ # Create default mame.ini and inject Gentoo settings into it
+ # Note that '~' does not work and '$HOME' must be used
+ ./${MAMEBIN} -noreadconfig -showconfig > "${T}/mame.ini" || die
+ # -- Paths --
+ for f in {rom,hash,sample,art,font,crosshair} ; do
+ sed -i \
+ -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+ "${T}/mame.ini" || die
+ done
+ for f in {ctrlr,cheat} ; do
+ sed -i \
+ -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;${GAMES_SYSCONFDIR}/${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+ "${T}/mame.ini" || die
+ done
+ # -- Directories
+ for f in {cfg,nvram,memcard,input,state,snapshot,diff,comment} ; do
+ sed -i \
+ -e "s:\(${f}_directory\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+ "${T}/mame.ini" || die
+ done
+ # -- Keymaps --
+ sed -i \
+ -e "s:\(keymap_file\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+ "${T}/mame.ini" || die
+ for f in src/osd/sdl/keymaps/km*.txt ; do
+ sed -i \
+ -e "/^keymap_file/a \#keymap_file \t\t${GAMES_DATADIR}/${PN}/keymaps/${f##*/}" \
+ "${T}/mame.ini" || die
+ done
+ insinto "${GAMES_SYSCONFDIR}/${PN}"
+ doins "${T}/mame.ini"
+
+ insinto "${GAMES_SYSCONFDIR}/${PN}"
+ doins "${FILESDIR}/vector.ini"
+
+ dodoc docs/{config,mame,newvideo}.txt
+ keepdir \
+ "${GAMES_DATADIR}/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \
+ "${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheat}
+
+ if use tools ; then
+ for f in castool chdman floptool imgtool jedutil ldresample ldverify romcmp testkeys ; do
+ newgamesbin ${f} ${PN}-${f}
+ newman src/osd/sdl/man/${f}.1 ${PN}-${f}.1
+ done
+ newgamesbin ldplayer${suffix} ${PN}-ldplayer
+ newman src/osd/sdl/man/ldplayer.1 ${PN}-ldplayer.1
+ fi
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ elog "It is strongly recommended to change either the system-wide"
+ elog " ${GAMES_SYSCONFDIR}/${PN}/mame.ini or use a per-user setup at ~/.${PN}/mame.ini"
+ elog
+ if use opengl ; then
+ elog "You built ${PN} with opengl support and should set"
+ elog "\"video\" to \"opengl\" in mame.ini to take advantage of that"
+ elog
+ elog "For more info see http://wiki.mamedev.org"
+ fi
+}
diff --git a/games-emulation/sdlmame/sdlmame-0.174.ebuild b/games-emulation/sdlmame/sdlmame-0.174.ebuild
new file mode 100644
index 000000000000..d1f61aaf4edb
--- /dev/null
+++ b/games-emulation/sdlmame/sdlmame-0.174.ebuild
@@ -0,0 +1,234 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils python-any-r1 toolchain-funcs qmake-utils games
+
+MY_PV="${PV/.}"
+
+DESCRIPTION="Multiple Arcade Machine Emulator + Multi Emulator Super System (MESS)"
+HOMEPAGE="http://mamedev.org/"
+SRC_URI="https://github.com/mamedev/mame/releases/download/mame${MY_PV}/mame${MY_PV}s.zip -> mame-${PV}.zip"
+
+LICENSE="GPL-2+ BSD-2 MIT CC0-1.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa +arcade debug +mess opengl openmp tools"
+REQUIRED_USE="|| ( arcade mess )"
+
+# MESS (games-emulation/sdlmess) has been merged into MAME upstream since mame-0.162 (see below)
+# MAME/MESS build combined (default) +arcade +mess (mame)
+# MAME build only +arcade -mess (mamearcade)
+# MESS build only -arcade +mess (mess)
+# games-emulation/sdlmametools is dropped and enabled instead by the 'tools' useflag
+RDEPEND="!games-emulation/sdlmametools
+ !games-emulation/sdlmess
+ dev-db/sqlite:3
+ dev-libs/expat
+ media-libs/fontconfig
+ media-libs/flac
+ media-libs/libsdl2[joystick,opengl?,sound,video,X]
+ media-libs/portaudio
+ media-libs/sdl2-ttf
+ sys-libs/zlib
+ virtual/jpeg:0
+ virtual/opengl
+ alsa? ( media-libs/alsa-lib
+ media-libs/portmidi )
+ debug? ( dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5 )
+ x11-libs/libX11
+ x11-libs/libXinerama
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-arch/unzip
+ virtual/pkgconfig
+ x11-proto/xineramaproto"
+
+S=${WORKDIR}
+
+# Function to disable a makefile option
+disable_feature() {
+ sed -i -e "/^[ ]*$1.*=/s:^:# :" makefile || die
+}
+
+# Function to enable a makefile option
+enable_feature() {
+ sed -i -e "/^#.*$1.*=/s:^#[ ]*::" makefile || die
+}
+
+pkg_setup() {
+ games_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ default
+ unpack ./mame.zip
+ rm -f mame.zip || die
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-qt.patch \
+ "${FILESDIR}"/${P}-cxx14.patch
+ # Disable using bundled libraries
+ enable_feature USE_SYSTEM_LIB_EXPAT
+ enable_feature USE_SYSTEM_LIB_FLAC
+ enable_feature USE_SYSTEM_LIB_JPEG
+# Use bundled lua for now to ensure correct compilation (ref. b.g.o #407091)
+# enable_feature USE_SYSTEM_LIB_LUA
+ enable_feature USE_SYSTEM_LIB_PORTAUDIO
+ enable_feature USE_SYSTEM_LIB_SQLITE3
+ enable_feature USE_SYSTEM_LIB_ZLIB
+
+ # Disable warnings being treated as errors and enable verbose build output
+ enable_feature NOWERROR
+ enable_feature VERBOSE
+
+ use amd64 && enable_feature PTR64
+ use debug && enable_feature DEBUG
+ use tools && enable_feature TOOLS
+ disable_feature NO_X11 # bgfx needs X
+ use openmp && enable_feature OPENMP
+
+ if use alsa ; then
+ enable_feature USE_SYSTEM_LIB_PORTMIDI
+ else
+ enable_feature NO_USE_MIDI
+ fi
+
+ sed -i \
+ -e 's/-Os//' \
+ -e '/^\(CC\|CXX\|AR\) /s/=/?=/' \
+ 3rdparty/genie/build/gmake.linux/genie.make || die
+}
+
+src_compile() {
+ local targetargs
+ local qtdebug=$(usex debug 1 0)
+
+ use arcade && ! use mess && targetargs="SUBTARGET=arcade"
+ ! use arcade && use mess && targetargs="SUBTARGET=mess"
+
+ function my_emake() {
+ # Workaround conflicting $ARCH variable used by both Gentoo's
+ # portage and by Mame's build scripts
+ PYTHON_EXECUTABLE=${PYTHON} \
+ OVERRIDE_CC=$(tc-getCC) \
+ OVERRIDE_CXX=$(tc-getCXX) \
+ OVERRIDE_LD=$(tc-getCXX) \
+ QT_HOME="$(qt5_get_libdir)/qt5" \
+ ARCH= \
+ emake "$@" \
+ AR=$(tc-getAR)
+ }
+ my_emake -j1 generate
+
+ my_emake ${targetargs} \
+ SDL_INI_PATH="\$\$\$\$HOME/.sdlmame;${GAMES_SYSCONFDIR}/${PN}" \
+ USE_QTDEBUG=${qtdebug}
+
+ if use tools ; then
+ my_emake -j1 TARGET=ldplayer USE_QTDEBUG=${qtdebug}
+ fi
+}
+
+src_install() {
+ local MAMEBIN
+ local suffix="$(use amd64 && echo 64)$(use debug && echo d)"
+ local f
+
+ function mess_install() {
+ dosym ${MAMEBIN} "${GAMES_BINDIR}"/mess${suffix}
+ dosym ${MAMEBIN} "${GAMES_BINDIR}"/sdlmess
+ newman docs/man/mess.6 sdlmess.6
+ doman docs/man/mess.6
+ }
+ if use arcade ; then
+ if use mess ; then
+ MAMEBIN="mame${suffix}"
+ mess_install
+ else
+ MAMEBIN="mamearcade${suffix}"
+ fi
+ doman docs/man/mame.6
+ newman docs/man/mame.6 ${PN}.6
+ elif use mess ; then
+ MAMEBIN="mess${suffix}"
+ mess_install
+ fi
+ dogamesbin ${MAMEBIN}
+ dosym ${MAMEBIN} "${GAMES_BINDIR}/${PN}"
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r keymaps $(use mess && echo hash)
+
+ # Create default mame.ini and inject Gentoo settings into it
+ # Note that '~' does not work and '$HOME' must be used
+ ./${MAMEBIN} -noreadconfig -showconfig > "${T}/mame.ini" || die
+ # -- Paths --
+ for f in {rom,hash,sample,art,font,crosshair} ; do
+ sed -i \
+ -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+ "${T}/mame.ini" || die
+ done
+ for f in {ctrlr,cheat} ; do
+ sed -i \
+ -e "s:\(${f}path\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2;${GAMES_SYSCONFDIR}/${PN}/\2;${GAMES_DATADIR}/${PN}/\2:" \
+ "${T}/mame.ini" || die
+ done
+ # -- Directories
+ for f in {cfg,nvram,memcard,input,state,snapshot,diff,comment} ; do
+ sed -i \
+ -e "s:\(${f}_directory\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+ "${T}/mame.ini" || die
+ done
+ # -- Keymaps --
+ sed -i \
+ -e "s:\(keymap_file\)[ \t]*\(.*\):\1 \t\t\$HOME/.${PN}/\2:" \
+ "${T}/mame.ini" || die
+ for f in keymaps/km*.map ; do
+ sed -i \
+ -e "/^keymap_file/a \#keymap_file \t\t${GAMES_DATADIR}/${PN}/keymaps/${f##*/}" \
+ "${T}/mame.ini" || die
+ done
+ insinto "${GAMES_SYSCONFDIR}/${PN}"
+ doins "${T}/mame.ini"
+
+ insinto "${GAMES_SYSCONFDIR}/${PN}"
+ doins "${FILESDIR}/vector.ini"
+
+ dodoc docs/{config,mame,newvideo}.txt
+ keepdir \
+ "${GAMES_DATADIR}/${PN}"/{ctrlr,cheat,roms,samples,artwork,crosshair} \
+ "${GAMES_SYSCONFDIR}/${PN}"/{ctrlr,cheat}
+
+ if use tools ; then
+ for f in castool chdman floptool imgtool jedutil ldresample ldverify romcmp ; do
+ newgamesbin ${f} ${PN}-${f}
+ newman docs/man/${f}.1 ${PN}-${f}.1
+ done
+ newgamesbin ldplayer${suffix} ${PN}-ldplayer
+ newman docs/man/ldplayer.1 ${PN}-ldplayer.1
+ fi
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ elog "It is strongly recommended to change either the system-wide"
+ elog " ${GAMES_SYSCONFDIR}/${PN}/mame.ini or use a per-user setup at ~/.${PN}/mame.ini"
+ elog
+ if use opengl ; then
+ elog "You built ${PN} with opengl support and should set"
+ elog "\"video\" to \"opengl\" in mame.ini to take advantage of that"
+ elog
+ elog "For more info see http://wiki.mamedev.org"
+ fi
+}
diff --git a/games-emulation/snes9x/Manifest b/games-emulation/snes9x/Manifest
new file mode 100644
index 000000000000..bb4711351e6d
--- /dev/null
+++ b/games-emulation/snes9x/Manifest
@@ -0,0 +1,11 @@
+AUX snes9x-1.53-build.patch 2515 SHA256 fb4a34f90041dac78984d9e9548595073731bfd3a8becd865bffca7392c9805b SHA512 8b8059b1d7b92b91463a5bebfde80cacda4cf9749bd1b96cf1658fe1f04e00ef61a932458f425d336fdd77ff123ed53ae01ee33f02a6245776bc52c2d5645921 WHIRLPOOL b86a03b84a58f4a2a61c1f57d31c2642892d8937bc386411561697c1349471e624102cc67f3b73f321b6b822d515fcfa23513325d807986b10ff5d8eb84fb21c
+AUX snes9x-1.53-cross-compile.patch 892 SHA256 a00273a5c272503b33a7f9e6755271c9859dfd0eb487b8ed096229ee36166b79 SHA512 4867b9a3e3f2a65684157b26e4b0b63971d37ad5abb16125567e89bc4116482488416ca51d30f639ef63886b05431c56b75978fe073a4755c48988f5ea9eaee5 WHIRLPOOL 6579e26e0e29174560ffcc9bc8a6154f9c5f70940a7e514a8814a3a0dc4bf38ac2c2ccdad35af07a777dec97aaf99d104cbaf3595e443e78576eb9e710e0cbfa
+AUX snes9x-1.54.1-build.patch 1525 SHA256 52830df70a40b86ca961766ca237533562c11bd94c2f1003ce44a6717c5ef28d SHA512 846b72f0733c13d2f7fb943f670943d20963a9f7666c016fc7e8f4e62afeb1ad479523cfc14fa93752f175b8cd44d599e300ace7a981d604b0284052d0914d12 WHIRLPOOL 1c63f44c9b1c4f99277e6c6db48f7b751d9c08c066141b4ad239b109f2b0639045464a2da7698b48770217fc8647197866b02252a2edc3e735ce798aec60a117
+AUX snes9x-1.54.1-system-zlib.patch 7925 SHA256 ec54fb6e73d78677f50b4a32b467cf856cdfe8476c72ca3224c408b5024eabe6 SHA512 02026d5e59f7e016583d15996694aac41fb777541dcf426c8266a9136b59c022c3f13ea211473408d01c76b040af78d70cc5bba9d94a945823674d7f68beb482 WHIRLPOOL 0c7b99ff2025ff1c8a97753e2dfff46fe47e980b29e1f5f5325420cfe92c4bafa256c39196c91be2097f955d2ee7466bbd9c2bf19019b072c5aa99362ec0987d
+DIST snes9x-1.53-src.tar.bz2 1838746 SHA256 9f7c5d2d0fa3fe753611cf94e8879b73b8bb3c0eab97cdbcb6ab7376efa78dc3 SHA512 3ded506d1b3b6cff4e8e3de77ad557d97981eb97ea23ffc68ce5abbbd4677aca819776f1d11b9aa47f5b1a785b19455acf6ad4dbc536d3581d62c192ebdfbd8c WHIRLPOOL 482f0b2c476753b5ffb6ff30b1e5ccb9f50bd0dbe05c7147d5e1c073cd15ce7edd99dc4ea9c14bb50d0bd3cec7edda26e1c54b1b7e0c77b0eb26f9aa09e25f52
+DIST snes9x-1.54.1.tar.gz 2186737 SHA256 85862a22498bc418c37bd7c81a3089d9cc00af279b91e5f7fa8bea05e2e3027b SHA512 2a8fddc0b9044c0b7e10711b35c06555e280c93ddde3c101c4084f859079947acb209f2632ca08937fa2ca47932094040c4a7a60b6188354fd92f72dbdf854ed WHIRLPOOL 8ef309a14646c0250e81f6d2ede48da65144830247cb7cf17eccc6b94dffdd128f1b75d27258ae0d923b580c612984cef27c5237066c98a613b0a00faa3ad90b
+EBUILD snes9x-1.53.ebuild 2723 SHA256 7a6fa6dd1c70c148924e7e43dbcc9bf007449b84c926a7eec4c490534e682044 SHA512 714838286c2e9371dc03297673995e423210e8b8152a0fc689b1bcd9151133630d081f34140d6e2ad922e8df66efa593ae675efb7a2bc0ab30662ff9e5c3c852 WHIRLPOOL 5fbe8aed31d47ef2be5279838ce1b7fe0fbd5dc04846e569445b4f6c9f2df9515a208a3ca606a0a38fc1db3ea9a12da0e51e2396b80d6078cf9d1e3c9ba23289
+EBUILD snes9x-1.54.1.ebuild 2676 SHA256 f507f59988d1cb258a77da5013b6e6c50004ab0e5c52a9f98bed85d377ddcc84 SHA512 47e9442b43a733d77b98401063ec64584a678b87789453e62d552cf1cee327952fe57f7bbb38958b098f142c60810228d806c8734fff46e9708a24c5afdc4713 WHIRLPOOL 0bb4b069c7f777f36a012c629842dc54f5410d774f79aa23d04dfe179aab64fc29d95fec76c937f7fc4fb9bac03ac799b30a0adde69047f4b6dc4f3b2dbdb18f
+MISC ChangeLog 3232 SHA256 735cbea7057d757fa3a4e4e6189dcf519808cb1646622e0ddb7f29fcec7e8eec SHA512 c509ec2d3462c4c34826d774a3d3cbb9f54e0ebdd2d62bc412cb3137c6f6d27718d128661d7ac2f647a99663b6248f549ce9438adba14cf94e97000e2dc91db2 WHIRLPOOL 82c0a6513dc62ebefd4f86399c0490589f2227f990def5f699a24ce9c77ab1235ed98f0d9f47df270410b4bf302988808a414dd3e71d4984f8b788a09e77d43e
+MISC ChangeLog-2015 10237 SHA256 d995e56a01b91fae40fec2f74326e321323dca79cfdf03544ef6a9e45b2c8b2d SHA512 87075dbbeba0b9f36b4a03b4cd5592e06823a412baa50b0f178649c6be110ce0e31db50c955cdf1d1b087f303f8ada72cca2566fa39528501f1f662ee8ebbd88 WHIRLPOOL 50f8439eb855c93cb3dad4d7709aee2cd2acc9bb0d80675370a7ee6513c5eb45be88d6d959cd17b5c42da29d57273f657d839dd2e83fac9a57818a44c1f64ea0
+MISC metadata.xml 560 SHA256 746ed4c062c75e47c3dc0113a6651617b65079589b4736038b20dfe22a928e26 SHA512 3922d16510b8818739e582c8faf84287dc265f810df5957dc923efab912e20f95b7fb9fc84023d481b44ce6c653f2bc00e83d6a150d9294feeb60dc8c3a2eeca WHIRLPOOL edd3247c8fb2b5a0e67b034df3fe93f1bab8d671ed414d57659eaae8161f28b4e6c50440727a0b3ac7d6ba7e9311d6700a3ab045d7a992cd3017e502fca8b559
diff --git a/games-emulation/snes9x/files/snes9x-1.53-build.patch b/games-emulation/snes9x/files/snes9x-1.53-build.patch
new file mode 100644
index 000000000000..c46e5f238549
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.53-build.patch
@@ -0,0 +1,70 @@
+diff -ru snes9x-1.53-src.orig/gtk/configure.ac snes9x-1.53-src/gtk/configure.ac
+--- snes9x-1.53-src.orig/gtk/configure.ac 2011-04-24 09:38:10.000000000 -0400
++++ snes9x-1.53-src/gtk/configure.ac 2011-09-26 16:06:46.746352405 -0400
+@@ -29,7 +29,7 @@
+
+ AM_GLIB_GNU_GETTEXT
+
+-snes9xlocaledir='${prefix}/${DATADIRNAME}/locale'
++snes9xlocaledir='/usr/share/locale'
+ AC_SUBST(snes9xlocaledir)
+
+ AC_ARG_WITH(debug,
+diff -ru snes9x-1.53-src.orig/gtk/po/Makefile.in.in snes9x-1.53-src/gtk/po/Makefile.in.in
+--- snes9x-1.53-src.orig/gtk/po/Makefile.in.in 2011-04-24 16:12:50.000000000 -0400
++++ snes9x-1.53-src/gtk/po/Makefile.in.in 2011-09-26 16:07:05.844485532 -0400
+@@ -34,7 +34,7 @@
+ datarootdir = @datarootdir@
+ libdir = @libdir@
+ DATADIRNAME = @DATADIRNAME@
+-itlocaledir = $(prefix)/$(DATADIRNAME)/locale
++itlocaledir = /usr/share/locale
+ subdir = po
+ install_sh = @install_sh@
+ # Automake >= 1.8 provides @mkdir_p@.
+diff -ru snes9x-1.53-src.orig/unix/Makefile.in snes9x-1.53-src/unix/Makefile.in
+--- snes9x-1.53-src.orig/unix/Makefile.in 2011-04-24 09:38:10.000000000 -0400
++++ snes9x-1.53-src/unix/Makefile.in 2011-09-26 16:06:46.746352405 -0400
+@@ -47,7 +47,7 @@
+ exit 1
+
+ snes9x: $(OBJECTS)
+- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) -lm @S9XLIBS@
++ $(CCC) $(LDFLAGS) $(INCLUDES) -o $@ $(OBJECTS) -lm @S9XLIBS@
+
+ ../jma/s9x-jma.o: ../jma/s9x-jma.cpp
+ $(CCC) $(INCLUDES) -c $(CCFLAGS) -fexceptions $*.cpp -o $@
+diff -ru snes9x-1.53-src.orig/unix/configure.ac snes9x-1.53-src/unix/configure.ac
+--- snes9x-1.53-src.orig/unix/configure.ac 2011-04-24 09:38:10.000000000 -0400
++++ snes9x-1.53-src/unix/configure.ac 2011-09-26 16:06:46.747352203 -0400
+@@ -56,20 +56,6 @@
+ # *** Execution begins here ***
+ # *****************************
+
+-# Remove -g and -O2 flags manually.
+-
+-if test "x$CFLAGS" != "x"; then
+- CFLAGS="`echo \"$CFLAGS\" | sed -e 's/-g//'`"
+- CFLAGS="`echo \"$CFLAGS\" | sed -e 's/-O2//'`"
+-fi
+-
+-if test "x$CXXFLAGS" != "x"; then
+- CXXFLAGS="`echo \"$CXXFLAGS\" | sed -e 's/-g//'`"
+- CXXFLAGS="`echo \"$CXXFLAGS\" | sed -e 's/-O2//'`"
+-fi
+-
+-# Test what compiler flags we should use.
+-
+ AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+ [leave debug information in the final binary (default: no)])],
+@@ -79,9 +65,6 @@
+ AC_S9X_COMPILER_FLAG([-g], [g])
+ AC_S9X_COMPILER_FLAG([-O0], [o0])
+ else
+- AC_S9X_COMPILER_FLAG([-O3], [o3], [
+- AC_S9X_COMPILER_FLAG([-O2], [o2], [
+- AC_S9X_COMPILER_FLAG([-O1], [o1])])])
+ AC_S9X_COMPILER_FLAG([-fomit-frame-pointer], [omit_frame_pointer])
+ fi
+
diff --git a/games-emulation/snes9x/files/snes9x-1.53-cross-compile.patch b/games-emulation/snes9x/files/snes9x-1.53-cross-compile.patch
new file mode 100644
index 000000000000..7a0fe8a8bde8
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.53-cross-compile.patch
@@ -0,0 +1,38 @@
+--- a/unix/configure.ac
++++ b/unix/configure.ac
+@@ -4,7 +4,7 @@ AC_REVISION([$Revision: 1.1 $])
+
+ AC_CONFIG_SRCDIR([unix.cpp])
+
+-AC_CANONICAL_TARGET
++AC_CANONICAL_HOST
+
+ AC_PROG_CC
+ AC_PROG_CXX
+@@ -38,7 +38,7 @@ AC_DEFUN([AC_S9X_COMPILER_FLAG],
+ return (argc);
+ }
+ ],
+- [snes9x_cv_option_$2="yes"], [snes9x_cv_option_$2="no"])
++ [snes9x_cv_option_$2="yes"], [snes9x_cv_option_$2="no"], [snes9x_cv_option_$2="yes"])
+ ])
+
+ CXXFLAGS="[$]OLD_CXXFLAGS"
+@@ -94,7 +94,7 @@ AC_MSG_CHECKING([whether the OS is Linux])
+
+ AC_CACHE_VAL([snes9x_cv_linux_os],
+ [
+- case "$target" in
++ case "$host" in
+ *-*-linux*)
+ snes9x_cv_linux_os="yes"
+ ;;
+@@ -332,7 +332,7 @@ AC_DEFUN([AC_S9X_CHECK_SAR],
+ return (i < 0 ? 0 : 1);
+ }
+ ],
+- [snes9x_sar_$1="yes"], [snes9x_sar_$1="no"])
++ [snes9x_sar_$1="yes"], [snes9x_sar_$1="no"], [snes9x_sar_$1=$GCC])
+
+ CXXFLAGS="[$]OLD_CXXFLAGS"
+
diff --git a/games-emulation/snes9x/files/snes9x-1.54.1-build.patch b/games-emulation/snes9x/files/snes9x-1.54.1-build.patch
new file mode 100644
index 000000000000..945b5f1890b2
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.54.1-build.patch
@@ -0,0 +1,55 @@
+--- snes9x-1.54.1/gtk/configure.ac
++++ snes9x-1.54.1/gtk/configure.ac
+@@ -33,7 +33,7 @@
+
+ AM_GLIB_GNU_GETTEXT
+
+-snes9xlocaledir='${prefix}/${DATADIRNAME}/locale'
++snes9xlocaledir='/usr/share/locale'
+ AC_SUBST(snes9xlocaledir)
+
+ AC_ARG_WITH(debug,
+--- snes9x-1.54.1/unix/configure.ac
++++ snes9x-1.54.1/unix/configure.ac
+@@ -56,20 +56,6 @@
+ # *** Execution begins here ***
+ # *****************************
+
+-# Remove -g and -O2 flags manually.
+-
+-if test "x$CFLAGS" != "x"; then
+- CFLAGS="`echo \"$CFLAGS\" | sed -e 's/-g//'`"
+- CFLAGS="`echo \"$CFLAGS\" | sed -e 's/-O2//'`"
+-fi
+-
+-if test "x$CXXFLAGS" != "x"; then
+- CXXFLAGS="`echo \"$CXXFLAGS\" | sed -e 's/-g//'`"
+- CXXFLAGS="`echo \"$CXXFLAGS\" | sed -e 's/-O2//'`"
+-fi
+-
+-# Test what compiler flags we should use.
+-
+ AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug],
+ [leave debug information in the final binary (default: no)])],
+@@ -79,9 +65,6 @@
+ AC_S9X_COMPILER_FLAG([-g], [g])
+ AC_S9X_COMPILER_FLAG([-O0], [o0])
+ else
+- AC_S9X_COMPILER_FLAG([-O3], [o3], [
+- AC_S9X_COMPILER_FLAG([-O2], [o2], [
+- AC_S9X_COMPILER_FLAG([-O1], [o1])])])
+ AC_S9X_COMPILER_FLAG([-fomit-frame-pointer], [omit_frame_pointer])
+ fi
+
+--- snes9x-1.54.1/unix/Makefile.in
++++ snes9x-1.54.1/unix/Makefile.in
+@@ -47,7 +47,7 @@
+ exit 1
+
+ snes9x: $(OBJECTS)
+- $(CCC) $(INCLUDES) -o $@ $(OBJECTS) -lm @S9XLIBS@
++ $(CCC) $(LDFLAGS) $(INCLUDES) -o $@ $(OBJECTS) -lm @S9XLIBS@
+
+ ../jma/s9x-jma.o: ../jma/s9x-jma.cpp
+ $(CCC) $(INCLUDES) -c $(CCFLAGS) -fexceptions $*.cpp -o $@
diff --git a/games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch b/games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch
new file mode 100644
index 000000000000..26025829442c
--- /dev/null
+++ b/games-emulation/snes9x/files/snes9x-1.54.1-system-zlib.patch
@@ -0,0 +1,307 @@
+From def3936a5353924fb7b9ffa30b8c1c96c9175ca7 Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Fri, 11 Nov 2016 17:52:07 +0100
+Subject: [PATCH] Introduce --with-system-zip configure flag to use system zip
+ (minizip)
+
+if available.
+---
+ conffile.h | 6 +++++-
+ gtk/Makefile.am | 6 +++++-
+ gtk/configure.ac | 28 +++++++++++++++++++++++++++-
+ loadzip.cpp | 4 ++++
+ memmap.cpp | 6 +++++-
+ stream.cpp | 6 +++++-
+ stream.h | 7 +++++--
+ unix/Makefile.in | 9 +++++++--
+ unix/configure.ac | 47 +++++++++++++++++++++++++++++++++++++++--------
+ 9 files changed, 102 insertions(+), 17 deletions(-)
+
+diff --git a/conffile.h b/conffile.h
+index ed8a13b..366706f 100644
+--- a/conffile.h
++++ b/conffile.h
+@@ -197,7 +197,11 @@
+ #include <string>
+
+ #ifdef UNZIP_SUPPORT
+-#include "unzip/unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip/unzip.h"
++# endif
+ #endif
+ #include "snes9x.h"
+
+diff --git a/gtk/Makefile.am b/gtk/Makefile.am
+index fad1cf2..57f00fb 100644
+--- a/gtk/Makefile.am
++++ b/gtk/Makefile.am
+@@ -196,12 +196,16 @@ snes9x_gtk_SOURCES += \
+ ../server.cpp
+ endif
+
++
+ # Zip support is nonconfigurable.
+ snes9x_gtk_SOURCES += \
+- ../loadzip.cpp \
++ ../loadzip.cpp
++if ! SYSTEM_ZIP
++snes9x_gtk_SOURCES += \
+ ../unzip/unzip.c \
+ ../unzip/ioapi.c \
+ ../unzip/zip.c
++endif
+ UNZIPDEFINES=-DUNZIP_SUPPORT
+
+ if JMA
+diff --git a/gtk/configure.ac b/gtk/configure.ac
+index 4d21792..e3bab4e 100644
+--- a/gtk/configure.ac
++++ b/gtk/configure.ac
+@@ -138,6 +138,12 @@ AC_ARG_WITH(zlib,
+ [],
+ [with_zlib=yes])
+
++AC_ARG_WITH(system-zip,
++ [AS_HELP_STRING([--with(out)-system-zip],
++ [Use system zip])],
++ [],
++ [system_zip=check])
++
+ AC_ARG_WITH(screenshot,
+ [AS_HELP_STRING([--with(out)-screenshot],
+ [Screenshot support through libpng if available (default: with)])],
+@@ -313,6 +319,25 @@ if test yes = "$with_screenshot"; then
+ ])
+ fi
+
++SYSTEM_ZIP=0
++SYSTEM_ZIP_CFLAGS=""
++SYSTEM_ZIP_LIBS=""
++ZIP_CFLAGS="-I../unzip"
++if test no != "$with_system_zip" && test yes = "$with_zlib" ; then
++ PKG_CHECK_MODULES([SYSTEM_ZIP],[minizip],[
++ ZIP_CFLAGS=""
++ SYSTEM_ZIP=yes
++ CFLAGS="$CFLAGS $SYSTEM_ZIP_CFLAGS -DSYSTEM_ZIP"
++ LIBS="$LIBS $SYSTEM_ZIP_LIBS"
++ ],[
++ if test check = "$with_system_zip"; then
++ AC_MSG_WARN(Cannot find SYSTEM_ZIP)
++ else
++ AC_MSG_ERROR(--with-system-zip given but cannot find proper zlib)
++ fi
++ ])
++fi
++
+ if test yes = "$with_hq2x" ; then
+ HQ2X=yes
+ CFLAGS="$CFLAGS -DUSE_HQ2X"
+@@ -440,7 +465,7 @@ if test $ac_cv_my_sar_int8 = yes && \
+ CFLAGS="$CFLAGS -DRIGHTSHIFT_IS_SAR"
+ fi
+
+-CFLAGS="$CFLAGS -DUNZIP_SUPPORT -DSPC700_C -I. -I.. -I../unzip"
++CFLAGS="$CFLAGS -DUNZIP_SUPPORT -DSPC700_C -I. -I.. $ZIP_CFLAGS"
+
+ CXXFLAGS="$CFLAGS"
+
+@@ -462,6 +487,7 @@ AM_CONDITIONAL(ALSA, [test yes = "$ALSA"])
+ AM_CONDITIONAL(PULSEAUDIO, [test yes = "$PULSEAUDIO"])
+ AM_CONDITIONAL(HQ2X, [test yes = "$HQ2X"])
+ AM_CONDITIONAL(XBRZ, [test yes = "$XBRZ"])
++AM_CONDITIONAL(SYSTEM_ZIP, [test yes = "$SYSTEM_ZIP"])
+
+ AC_SUBST(NASM)
+ AC_SUBST(NASM_FLAGS)
+diff --git a/loadzip.cpp b/loadzip.cpp
+index 024bc79..dab2504 100644
+--- a/loadzip.cpp
++++ b/loadzip.cpp
+@@ -192,7 +192,11 @@
+
+ #include <assert.h>
+ #include <ctype.h>
++#ifdef SYSTEM_ZIP
++#include <minizip/unzip.h>
++#else
+ #include "unzip/unzip.h"
++#endif
+ #include "snes9x.h"
+ #include "memmap.h"
+
+diff --git a/memmap.cpp b/memmap.cpp
+index 19df95c..98de319 100644
+--- a/memmap.cpp
++++ b/memmap.cpp
+@@ -193,7 +193,11 @@
+ #include <assert.h>
+
+ #ifdef UNZIP_SUPPORT
+-#include "unzip/unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip/unzip.h"
++# endif
+ #endif
+
+ #ifdef JMA_SUPPORT
+diff --git a/stream.cpp b/stream.cpp
+index 37051c3..bb64113 100644
+--- a/stream.cpp
++++ b/stream.cpp
+@@ -192,7 +192,11 @@
+
+ #include <string>
+ #ifdef UNZIP_SUPPORT
+-#include "unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip.h"
++# endif
+ #endif
+ #include "snes9x.h"
+ #include "stream.h"
+diff --git a/stream.h b/stream.h
+index b03dea9..ea22df0 100644
+--- a/stream.h
++++ b/stream.h
+@@ -229,8 +229,11 @@ class fStream : public Stream
+ };
+
+ #ifdef UNZIP_SUPPORT
+-
+-#include "unzip.h"
++# ifdef SYSTEM_ZIP
++# include <minizip/unzip.h>
++# else
++# include "unzip.h"
++# endif
+
+ #define unz_BUFFSIZ 1024
+
+diff --git a/unix/Makefile.in b/unix/Makefile.in
+index 5849568..aecad31 100644
+--- a/unix/Makefile.in
++++ b/unix/Makefile.in
+@@ -2,6 +2,7 @@
+ @S9XNETPLAY@
+ @S9XZIP@
+ @S9XJMA@
++@S9X_SYSTEM_ZIP@
+
+ # Fairly good and special-char-safe descriptor of the os being built on.
+ OS = `uname -s -r -m|sed \"s/ /-/g\"|tr \"[A-Z]\" \"[a-z]\"|tr \"/()\" \"___\"`
+@@ -19,7 +20,11 @@ OBJECTS += ../netplay.o ../server.o
+ endif
+
+ ifdef S9XZIP
+-OBJECTS += ../loadzip.o ../unzip/ioapi.o ../unzip/unzip.o
++OBJECTS += ../loadzip.o
++ifndef SYSTEM_ZIP
++OBJECTS += ../unzip/ioapi.o ../unzip/unzip.o
++INCLUDES = -I../unzip/
++endif
+ endif
+
+ ifdef S9XJMA
+@@ -29,7 +34,7 @@ endif
+ CCC = @CXX@
+ CC = @CC@
+ GASM = @CXX@
+-INCLUDES = -I. -I.. -I../apu/ -I../apu/bapu -I../unzip/ -I../jma/ -I../filter/
++INCLUDES += -I. -I.. -I../apu/ -I../apu/bapu -I../jma/ -I../filter/
+
+ CCFLAGS = @S9XFLGS@ @S9XDEFS@ $(DEFS)
+ CFLAGS = $(CCFLAGS)
+diff --git a/unix/configure.ac b/unix/configure.ac
+index 3c851dc..47f3780 100644
+--- a/unix/configure.ac
++++ b/unix/configure.ac
+@@ -201,16 +201,43 @@ AC_ARG_ENABLE([zip],
+ [enable ZIP support through zlib (default: yes)])],
+ [], [enable_zip="yes"])
+
++S9X_SYSTEM_ZIP="#SYSTEM_ZIP=1"
++
++AC_ARG_WITH([system-zip],
++ [AS_HELP_STRING([--with-system-zip],
++ [Use system zip (default: check)])],
++ [], [with_system_zip="check"])
++
+ if test "x$enable_zip" = "xyes"; then
+- if test "x$snes9x_cv_zlib" = "xyes"; then
+- S9XZIP="S9XZIP=1"
+- S9XDEFS="$S9XDEFS -DUNZIP_SUPPORT"
+- if test "x$enable_gzip" = "xno"; then
+- S9XLIBS="$S9XLIBS -lz"
+- fi
++ if test "x$with_system_zip" != "xno"; then
++ PKG_CHECK_MODULES(
++ SYSTEM_ZIP,
++ minizip,
++ S9XZIP="S9XZIP=1"
++ S9XDEFS="$S9XDEFS -DUNZIP_SUPPORT"
++ S9X_SYSTEM_ZIP="SYSTEM_ZIP=1"
++ S9XLIBS="$S9XLIBS $SYSTEM_ZIP_LIBS"
++ if test "x$enable_gzip" = "xno"; then
++ S9XLIBS="$S9XLIBS -lz"
++ fi
++ S9XDEFS="$S9XDEFS -DSYSTEM_ZIP",
++ if test "x${with_system_zip}" != "xcheck"; then
++ AC_MSG_ERROR([--with-system-zip requested but no proper zlib found.])
++ else
++ AC_MSG_WARN([zlib not found. Build without SYSTEM_ZIP support.])
++ fi
++ )
+ else
+- AC_MSG_WARN([zlib not found. Build without ZIP support.])
+- enable_zip="no"
++ if test "x$snes9x_cv_zlib" = "xyes"; then
++ S9XZIP="S9XZIP=1"
++ S9XDEFS="$S9XDEFS -DUNZIP_SUPPORT"
++ if test "x$enable_gzip" = "xno"; then
++ S9XLIBS="$S9XLIBS -lz"
++ fi
++ else
++ AC_MSG_WARN([zlib not found. Build without ZIP support.])
++ enable_zip="no"
++ fi
+ fi
+ fi
+
+@@ -427,9 +454,11 @@ S9XLIBS="$LIBS $S9XLIBS"
+ S9XFLGS="`echo \"$S9XFLGS\" | sed -e 's/ */ /g'`"
+ S9XDEFS="`echo \"$S9XDEFS\" | sed -e 's/ */ /g'`"
+ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/ */ /g'`"
++S9X_SYSTEM_ZIP="`echo \"$S9X_SYSTEM_ZIP\" | sed -e 's/ */ /g'`"
+ S9XFLGS="`echo \"$S9XFLGS\" | sed -e 's/^ *//'`"
+ S9XDEFS="`echo \"$S9XDEFS\" | sed -e 's/^ *//'`"
+ S9XLIBS="`echo \"$S9XLIBS\" | sed -e 's/^ *//'`"
++S9X_SYSTEM_ZIP="`echo \"$S9X_SYSTEM_ZIP\" | sed -e 's/^ *//'`"
+
+ AC_SUBST(S9XFLGS)
+ AC_SUBST(S9XDEFS)
+@@ -439,6 +468,7 @@ AC_SUBST(S9XDEBUGGER)
+ AC_SUBST(S9XNETPLAY)
+ AC_SUBST(S9XZIP)
+ AC_SUBST(S9XJMA)
++AC_SUBST(S9X_SYSTEM_ZIP)
+
+ rm config.info 2>/dev/null
+
+@@ -459,6 +489,7 @@ netplay support...... $enable_netplay
+ gamepad support...... $enable_gamepad
+ GZIP support......... $enable_gzip
+ ZIP support.......... $enable_zip
++SYSTEM_ZIP........... $with_system_zip
+ JMA support.......... $enable_jma
+ debugger............. $enable_debugger
+
+--
+2.10.2
+
diff --git a/games-emulation/snes9x/metadata.xml b/games-emulation/snes9x/metadata.xml
new file mode 100644
index 000000000000..197a5fc2e9d4
--- /dev/null
+++ b/games-emulation/snes9x/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="netplay">Enable playing ROMs over the network (not recommended)</flag>
+ <flag name="xrandr">Enable support for the X xrandr extension</flag>
+ </use>
+ <upstream>
+ <remote-id type="google-code">snes9x-gtk</remote-id>
+ <remote-id type="github">snes9xgit/snes9x</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/snes9x/snes9x-1.53.ebuild b/games-emulation/snes9x/snes9x-1.53.ebuild
new file mode 100644
index 000000000000..ac5a1659915f
--- /dev/null
+++ b/games-emulation/snes9x/snes9x-1.53.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit autotools eutils flag-o-matic multilib gnome2-utils games
+
+DESCRIPTION="Super Nintendo Entertainment System (SNES) emulator"
+HOMEPAGE="https://code.google.com/p/snes9x-gtk/"
+SRC_URI="https://snes9x-gtk.googlecode.com/files/${P}-src.tar.bz2"
+
+LICENSE="Snes9x GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ ISC MIT ZLIB Info-ZIP"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86 ~x86-fbsd"
+IUSE="alsa debug gtk joystick multilib netplay nls opengl oss png pulseaudio portaudio +xv +xrandr zlib"
+RESTRICT="bindist"
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXext
+ png? ( >=media-libs/libpng-1.2.43:0 )
+ gtk? ( >=x11-libs/gtk+-2.10:2
+ x11-misc/xdg-utils
+ portaudio? ( >=media-libs/portaudio-19_pre )
+ joystick? ( >=media-libs/libsdl-1.2.12[joystick] )
+ opengl? ( virtual/opengl )
+ xv? ( x11-libs/libXv )
+ xrandr? ( x11-libs/libXrandr )
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-sound/pulseaudio ) )"
+DEPEND="${RDEPEND}
+ x11-proto/xproto
+ gtk? ( virtual/pkgconfig
+ xv? ( x11-proto/videoproto ) )
+ nls? ( dev-util/intltool )"
+
+S=${WORKDIR}/${P}-src/unix
+
+pkg_setup() {
+ games_pkg_setup
+}
+
+src_prepare() {
+ cd "${WORKDIR}"/${P}-src
+ sed -i -e '/pedantic/d' {gtk,unix}/configure.ac || die
+ sed -i -e '75i#define OF(x) x' unzip/{un,}zip.h || die
+ sed -i -e '22i#define OF(x) x' unzip/ioapi.h || die
+ epatch "${FILESDIR}"/${P}-build.patch
+ epatch "${FILESDIR}"/${P}-cross-compile.patch
+ cd unix
+ eautoreconf
+ if use gtk; then
+ cd ../gtk
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ append-ldflags -Wl,-z,noexecstack
+
+ egamesconf \
+ $(use_enable joystick gamepad) \
+ $(use_enable debug debugger) \
+ $(use_enable netplay) \
+ $(use_enable zlib gzip) \
+ $(use_enable zlib zip) \
+ $(use_enable png screenshot)
+
+ if use gtk; then
+ cd ../gtk
+ egamesconf \
+ --datadir=/usr/share \
+ $(use_enable nls) \
+ $(use_with opengl) \
+ $(use_with joystick) \
+ $(use_with xv) \
+ $(use_with xrandr) \
+ $(use_with netplay) \
+ $(use_with zlib) \
+ $(use_with alsa) \
+ $(use_with oss) \
+ $(use_with pulseaudio) \
+ $(use_with portaudio) \
+ $(use_with png screenshot)
+ fi
+}
+
+src_compile() {
+ games_src_compile
+ if use gtk; then
+ emake -C ../gtk
+ fi
+}
+
+src_install() {
+ dogamesbin ${PN}
+
+ dohtml {.,..}/docs/*.html
+ dodoc ../docs/{snes9x.conf.default,{changes,control-inputs,controls,snapshots}.txt}
+
+ if use gtk; then
+ emake -C ../gtk DESTDIR="${D}" install
+ dodoc ../gtk/{AUTHORS,doc/README}
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use gtk && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use gtk && gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ use gtk && gnome2_icon_cache_update
+}
diff --git a/games-emulation/snes9x/snes9x-1.54.1.ebuild b/games-emulation/snes9x/snes9x-1.54.1.ebuild
new file mode 100644
index 000000000000..ecaef4861cd0
--- /dev/null
+++ b/games-emulation/snes9x/snes9x-1.54.1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools eutils flag-o-matic multilib gnome2-utils
+
+DESCRIPTION="Super Nintendo Entertainment System (SNES) emulator"
+HOMEPAGE="https://github.com/snes9xgit/snes9x"
+SRC_URI="https://github.com/snes9xgit/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Snes9x GPL-2 GPL-2+ LGPL-2.1 LGPL-2.1+ ISC MIT ZLIB Info-ZIP"
+SLOT="0"
+KEYWORDS="amd64 ppc64 x86 ~x86-fbsd"
+IUSE="alsa debug gtk joystick multilib netplay nls opengl oss png pulseaudio portaudio +xv +xrandr"
+RESTRICT="bindist"
+
+RDEPEND="
+ sys-libs/zlib[minizip]
+ x11-libs/libX11
+ x11-libs/libXext
+ png? ( >=media-libs/libpng-1.2.43:0 )
+ gtk? ( >=x11-libs/gtk+-2.10:2
+ x11-misc/xdg-utils
+ portaudio? ( >=media-libs/portaudio-19_pre )
+ joystick? ( >=media-libs/libsdl-1.2.12[joystick] )
+ opengl? ( virtual/opengl )
+ xv? ( x11-libs/libXv )
+ xrandr? ( x11-libs/libXrandr )
+ alsa? ( media-libs/alsa-lib )
+ pulseaudio? ( media-sound/pulseaudio ) )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-proto/xproto
+ gtk? ( virtual/pkgconfig
+ xv? ( x11-proto/videoproto ) )
+ nls? ( dev-util/intltool )"
+
+S="${WORKDIR}/${P}/unix"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.54.1-build.patch
+ "${FILESDIR}"/${PN}-1.53-cross-compile.patch
+ "${FILESDIR}"/${PN}-1.54.1-system-zlib.patch
+)
+
+src_prepare() {
+ cd "${WORKDIR}"/${P} || die
+ rm -r unzip || die
+ default
+ cd unix
+ eautoreconf
+ if use gtk; then
+ cd ../gtk || die
+ eautoreconf
+ fi
+}
+
+src_configure() {
+ append-ldflags -Wl,-z,noexecstack
+
+ # build breaks when zlib/zip support is disabled
+ econf \
+ --enable-gzip \
+ --enable-zip \
+ --with-system-zip \
+ $(use_enable joystick gamepad) \
+ $(use_enable debug debugger) \
+ $(use_enable netplay) \
+ $(use_enable png screenshot)
+
+ if use gtk; then
+ cd ../gtk || die
+ econf \
+ --datadir=/usr/share \
+ --with-zlib \
+ --with-system-zip \
+ $(use_enable nls) \
+ $(use_with opengl) \
+ $(use_with joystick) \
+ $(use_with xv) \
+ $(use_with xrandr) \
+ $(use_with netplay) \
+ $(use_with alsa) \
+ $(use_with oss) \
+ $(use_with pulseaudio) \
+ $(use_with portaudio) \
+ $(use_with png screenshot)
+ fi
+}
+
+src_compile() {
+ emake
+ if use gtk; then
+ emake -C ../gtk
+ fi
+}
+
+src_install() {
+ dobin ${PN}
+
+ dodoc ../docs/{snes9x.conf.default,{changes,control-inputs,controls,snapshots}.txt}
+
+ if use gtk; then
+ emake -C ../gtk DESTDIR="${D}" install
+ dodoc ../gtk/{AUTHORS,doc/README}
+ fi
+
+ docinto html
+ dodoc {.,..}/docs/*.html
+}
+
+pkg_preinst() {
+ use gtk && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ use gtk && gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ use gtk && gnome2_icon_cache_update
+}
diff --git a/games-emulation/stella/Manifest b/games-emulation/stella/Manifest
new file mode 100644
index 000000000000..1643ee73a397
--- /dev/null
+++ b/games-emulation/stella/Manifest
@@ -0,0 +1,7 @@
+DIST stella-4.0-src.tar.gz 2283736 SHA256 bc3445109a090360070644f249b7b6c8f73b6044606d77d65303538785d426c9 SHA512 42df4429dfbfc268e7b7d1c538641b443703ba2af4ad4e66b9df05f2b7d62a860a1895f738d95a3a0b879052865137d31a22b8611f3b93ff9746649553c099fa WHIRLPOOL f0e1433a509724f0a5725aefbd1bb277729e985a173551051c2bf39eeb279f19053f14d6fa384f1a0104de9d0f9cd6f49ffe84347fcd59edb42189e681772a95
+DIST stella-4.7.2-src.tar.xz 1715332 SHA256 b2727a0e2d3b112d35dcb89b4bdc789e2c7f15e9d9c7054a69a2f67facd7416e SHA512 dcfaba9b554ab08c9ba79c8e95551bc688fae4ab0ab368df11c05f3dc7c9431d32068d5dd658ec4d1aa8cb826c7205fc4f301145a149d32369833409992455e2 WHIRLPOOL 5eb23541879b82083784054cc6783a55f7c70533a03747f7b5b5fec6632bb0b6062c9a530a6d5e98552749c8e22de8cbf08254407cdd3b6281a7f4aae74cb514
+EBUILD stella-4.0.ebuild 1381 SHA256 a81b0320ffd00fd6b807feaba3f413a4f63d5c322d3a70078fa609a33de60f82 SHA512 9c2cd3371b56fbcdbdaa08593d89b9adaa964c15fbe5815d060f5ae791d2db43bc31048e2deb9c1607d76f192264b587e860d7f023b067dc5ce96c0fb7e464a0 WHIRLPOOL 6e6ff561e6e68ae14b0115d7e918dc774cb67b1932768395f946f2ecc4f0e25c1a5625a8a3a714c92d1b39913d54eabf27ca3c6d4f37444fa04775d2c10928d8
+EBUILD stella-4.7.2.ebuild 1366 SHA256 116d5a2730036ffde1f425c806a18f2b94a3b2a9721195e45826fac3a364be4e SHA512 8d37608e9d2088e45a17c2b566176409965a3aab04d11be7d7ce556ff7359fb0b5c03bf22fb49e70a97ed98bba8ff081d26d8c34bdd2b14e22759c5e586abe8b WHIRLPOOL 36572cf11725e3f075208ca9c1aeb7358e45fd341ba5e62bfc4a9519d2aa31ad351fb60c0758c8d395a905c31a2aa20f34af2fb97ca758c49d847b708fba4723
+MISC ChangeLog 3044 SHA256 318456e46e419bf60c3819ddc21d7b4b4ba92fe2b5f046bece5adc160b0949be SHA512 f5c578d2d72b3fe3936acfe91bf617ee12c53a4145f4d56a79ea88df15a032fc466578dbfb7076664b93d5025d48101239722c760e18c296b581e7db402941fd WHIRLPOOL ee6a963877d14e216244a8d8c34947962f48ffd5672bca9747c46bc741e10da8f73e4ee88272b0a0f4e49c4ac1f8e73e2251ebed328063eb38c774211f948797
+MISC ChangeLog-2015 10265 SHA256 b880e28c1eebbd1f8cac2b68855f2efb366969e709a674e6d37ab52435a86808 SHA512 73deb938b49d0cf311215181928ddc4f324740bdb950539daf3ba9b800d86a049c94a8ccd00ac82bc91e1d37ef91d9f5701eb292882d4aa80ce9cde41755f5d0 WHIRLPOOL 2086d77b2d4c8581d0aaa9ee617c533ff9c4aa60030d06b0293411e15d3ea5857c20f1954d82cc742c1bc5dca5d514070689660e3d12e6149a10494e4cbbe09b
+MISC metadata.xml 329 SHA256 f9dfea231cdaca78c9a2652a2fee6dfa3ae86a75cd83ffe911bc2805c3d341c9 SHA512 80e6880e6edea2eab64504d6cdf4496f94f9bfb6a4ea63da347b9fb05ca3fa999d646406e22563799d8ba40c1d3d095094ea8d86a500bb490ce2034c3ff38182 WHIRLPOOL d9325af0f412d9313721d3bf71dc9e8082cfc6245d75b534c53f84b63b3f29452e9ae281e2f7b325bcca9075a3d07d32d1053d4e7734fb88d672f95db02b13c3
diff --git a/games-emulation/stella/metadata.xml b/games-emulation/stella/metadata.xml
new file mode 100644
index 000000000000..2fd0b9ad7a0a
--- /dev/null
+++ b/games-emulation/stella/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">stella</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/stella/stella-4.0.ebuild b/games-emulation/stella/stella-4.0.ebuild
new file mode 100644
index 000000000000..4aa58c7a86fc
--- /dev/null
+++ b/games-emulation/stella/stella-4.0.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils gnome2-utils games
+
+DESCRIPTION="Stella Atari 2600 VCS Emulator"
+HOMEPAGE="http://stella.sourceforge.net/"
+SRC_URI="mirror://sourceforge/stella/${P}-src.tar.gz"
+
+LICENSE="GPL-2 BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="joystick"
+
+DEPEND="media-libs/libsdl2[joystick?,opengl,video]
+ media-libs/libpng:0
+ sys-libs/zlib"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ sed -i \
+ -e '/INSTALL/s/-s //' \
+ -e '/STRIP/d' \
+ -e "/icons/d" \
+ -e '/INSTALL.*DOCDIR/d' \
+ -e '/INSTALL.*\/applications/d' \
+ -e '/CXXFLAGS+=/s/-fomit-frame-pointer//' \
+ Makefile || die
+}
+
+src_configure() {
+ # not an autoconf script
+ ./configure \
+ --prefix="/usr" \
+ --bindir="${GAMES_BINDIR}" \
+ --docdir="/usr/share/doc/${PF}" \
+ --datadir="${GAMES_DATADIR}" \
+ $(use_enable joystick) \
+ || die
+}
+
+src_install() {
+ local i
+ for i in 16 22 24 32 48 64 128 ; do
+ newicon -s ${i} src/common/stella-${i}x${i}.png stella.png
+ done
+
+ emake DESTDIR="${D}" install
+ domenu src/unix/stella.desktop
+ dohtml -r docs/*
+ dodoc Announce.txt Changes.txt Copyright.txt README-SDL.txt Readme.txt Todo.txt
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/stella/stella-4.7.2.ebuild b/games-emulation/stella/stella-4.7.2.ebuild
new file mode 100644
index 000000000000..579227b6bde8
--- /dev/null
+++ b/games-emulation/stella/stella-4.7.2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils gnome2-utils games
+
+DESCRIPTION="Stella Atari 2600 VCS Emulator"
+HOMEPAGE="http://stella.sourceforge.net/"
+SRC_URI="mirror://sourceforge/stella/${P}-src.tar.xz"
+
+LICENSE="GPL-2+ BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="joystick"
+
+DEPEND="media-libs/libsdl2[joystick?,opengl,video]
+ media-libs/libpng:0
+ sys-libs/zlib"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ sed -i \
+ -e '/INSTALL/s/-s //' \
+ -e '/STRIP/d' \
+ -e "/icons/d" \
+ -e '/INSTALL.*DOCDIR/d' \
+ -e '/INSTALL.*\/applications/d' \
+ -e '/CXXFLAGS+=/s/-fomit-frame-pointer//' \
+ Makefile || die
+}
+
+src_configure() {
+ # not an autoconf script
+ ./configure \
+ --prefix="/usr" \
+ --bindir="${GAMES_BINDIR}" \
+ --docdir="/usr/share/doc/${PF}" \
+ --datadir="${GAMES_DATADIR}" \
+ $(use_enable joystick) \
+ || die
+}
+
+src_install() {
+ local i
+
+ DOCS="Announce.txt Changes.txt Copyright.txt README-SDL.txt Readme.txt Todo.txt" \
+ default
+
+ for i in 16 22 24 32 48 64 128 ; do
+ newicon -s ${i} src/common/stella-${i}x${i}.png stella.png
+ done
+ domenu src/unix/stella.desktop
+ dohtml -r docs/*
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/vbam/Manifest b/games-emulation/vbam/Manifest
new file mode 100644
index 000000000000..3d298f05f3a9
--- /dev/null
+++ b/games-emulation/vbam/Manifest
@@ -0,0 +1,16 @@
+AUX vbam-2.0.0_beta2-fix-install-path-bin.patch 475 SHA256 1aca0bdbd4b69e8f4403d99559b3ec718f92ad936337d8e94f8f885127206238 SHA512 70a4dd2473a7156d1fdf5322f96827835423c615d83abe5ca7b7538f303f9f0d8daa2e8da153460939ed98883c77d26f288a00eaca8e94c73410247059879d8e WHIRLPOOL a22c9b71d5720f6b8d75015ffeeccb6e6e768ae3315060f95f4e487b344b95f68a1448a7d43d7e8fa5e55c1015f811ddeb899f3bac56ae32a24fc2c05c97042d
+AUX vbam-2.0.0_beta2-fix-zlib-macros.patch 238 SHA256 90b4c25a73d738b8f2bae19fda253b382d6c0e85e4feab9bf04377ac27875150 SHA512 ea591ea9d3a5a766a4f5345b54af2e8d8406e2854d2769449568d1355af333d11d95fbc8351202d7673adad89e31b4427a10a39f2361d679d8fbf3e88ffbb29c WHIRLPOOL 181fec3c381c6c1ef57208d97a20ead7bf9930961654276cfd4822f289e640b35f705e73983beaf0276fcb7580bac73f684339929beb70f824bb9ce19db51fe8
+AUX vbam-2.0.0_beta2-remove-hardcoded-flags.patch 6368 SHA256 a8e1ee464e13c68d60dda1f2aa567bebd0136fd830cb5c111d69b3577a174829 SHA512 b51c54e543b3a3fe0d3a66e1219aeefcc1ee58eac65a9df12a4a5a7ef14c702d47b3cdfeb8d7903444afe12d531a5b2ed77bd36ab2277960ef8af6faea2a40d4 WHIRLPOOL 0c68e4b97c4d339198acd92eee28c0ca43ba2e0409d5ce940db6da1a7b51fdccdc57f4ccfa954c20e05ea74ecce55c15345ca555011092b9e9e3e96fa9180ad9
+AUX vbam-2.0.0_pre1507-man.patch 546 SHA256 0c73bf754932d843f07be7ac7b843ca9ec9f39c13b8f46cdc094068e530e3a8c SHA512 76b479a08b83d705229673ae785c60f6711b6ea63503ad5e0cf0eba849b57f76c8febb5e73ecbd72bd909354eab8859714b6aa96fb667996d50209637571ee33 WHIRLPOOL 5bff8c215523dbfa23fe6721279e180c61b4fdb2884ffa9527da99930461e132fe39830f961b906ebb5565afcf6dd5431dba42fa7703173a998ac862f21daeb0
+DIST vbam-2.0.0_beta2_p20161211.tar.gz 3075570 SHA256 32902dd418446ed8150098e776eecb0e8567cb39c36037eb0d19d0973e071043 SHA512 1130a976e6e9e504af96ec9218cd35af10ded7ab184ec468ba40b641faaefac47cbb225c6221278031015081632be04ae125a2653379d2b08877f162c6cb4a40 WHIRLPOOL 06ec3273abf1454b908a24825cb1db9d32d4ce2c9ac417066809174ae82e74b3b7477bdcac711aabe0540e8e3ef706453bb6cfbfc4c7a19267658440a632e39e
+DIST vbam-2.0.0_pre1507-ffmpeg3_audio_recording_kludge.patch 3205 SHA256 88ddcf60842fb0156277ef2533d3b0e4f6a6a5266ec33176c390c89d4819e17e SHA512 c9a1545967d1ee2fa6510f69183e491df7800639c995ad8f9259daac698471ac02097610008181a045d280d6d3b5a472e7b900bf99f61db1f30c0759e216f6ea WHIRLPOOL 1f40ea9fbc10a95a3dad7e7805e6687f59b21d274d328f7310997d8230d61958df834791289fa54333d1bfaf1cef4cb3492a717ebe30b1ba86171721f742ea33
+DIST vbam-2.0.0_pre1507-ffmpeg3_defines.patch 1848 SHA256 03f3d7e1c73ef63fe8710e60711b4c1c0e5881d6bdd02bdfc38d71d7730d22f5 SHA512 fb2b2ab6ae4a07b3509da4ba366c422f1cb0dda8669ad23a4cd312398c73598a47654bba5ff5450d4cf0f553adf917a9549ded5e8b4da806eefb468c4dbdfb38 WHIRLPOOL 6f632bc8ed402565c81c95a769568b006e99720c1569bfd0f3a03b9a1466b75e0a4b350dc930b079017085fecf1b02df6a84d2a1ab14e3035a4f6b6096f6838f
+DIST vbam-2.0.0_pre1507-ffmpeg3_encoders_no_s16.patch 1552 SHA256 56060f51079a7beb51c0d519110799ae1eae164a01db5ada4383d2f11cec6ef7 SHA512 61623cbcdf77114c371b6add7d86579c262e573c6aa4515f12b2a6e01b9aa83f8330cf9aec5ffde1cac66eeb3e66418687d16811bbaea6d148202a5a9083328c WHIRLPOOL 75a5d268ce55f989e1cfef92062d0d6e911a27186e12d2964516d1ce5d1054005eb2f8433689b2e431b4852e55d0ba5bbcba3be7dedff34a18da344d39f3d5c7
+DIST vbam-2.0.0_pre1507-ffmpeg3_nonfunc_video_encoding.patch 1810 SHA256 49f969a4b6e11b06cd2f1c26849e8f13dd0e9b610345888abd44f9fe6c146d60 SHA512 923851a8ace4d1f65eeb2cc3384abc2886fb22460eae2a583b82e19dfd9a3a5fcb4ed044d3a1b1b14d29d83d289daff7690b2511596a4f163bd407c452f7776c WHIRLPOOL ed95f7477c0ae1fa5a42635942a18b5f6bd87b0e5450b2615af50f95bf37e6d15c8117810850a3f99a3949109dc64d2bf73d679ae42fce9ebc7129d0399c411c
+DIST vbam-2.0.0_pre1507.tar.xz 2169848 SHA256 08c512dee029118c65043a3b82caa1e96e49b7c522f3c0c4bed2e091846a0d51 SHA512 9f06fc871c674caf3cc936016b486e98ab1db129edac0ac3615b7b03cfb7b79d9cffa89f436577a9524a128987a6b65bfbbfa0ed602fe17e5dcfbdb56a445c2f WHIRLPOOL b1f926a9b24b0bc3a801c68e723b474f2ee1e60d9ae9851933935fc0bc234f089e1d565b7ceadcc1e2fe24792e7a54f7fc473a0aa545ee5a15bab5844d0df200
+EBUILD vbam-2.0.0_beta2_p20161211-r1.ebuild 2547 SHA256 faa5484f861e9a696da9b4165c0c35e69ec438d8828914467c8c484ff36ccd51 SHA512 b787bf928123932e968f5f5b65ad3561811a6dd9352ce508940c3261cfba1cfdff623ab67a1e468105e78990f057bc73b91c054baad431d8843ed0eefaa2c897 WHIRLPOOL 8067de3d0348d610f6e519285887fb3b6c94161e8d4376884ebfe641827e40ee2747b1967598160f5e3948468e93cd3804be4acf8e2a22c1a584ce32994929a8
+EBUILD vbam-2.0.0_beta2_pre1507-r1.ebuild 3870 SHA256 694470be5305dcdfaf665e4a28bc9eb446fa4ed5ca69dc5fa9cdfc2467c55db1 SHA512 82b3793097a1c67e48c48529932cec9b87261f060bf60f05d1aa4eb31d8ecabf0518c4432357d1de25a3610a6cf6dff3bdad624985bb8a66fcdc5655e1588ddf WHIRLPOOL a84151b2ff488544d85da7449329e63ccf869fec5c8adb43335636c766ac9b65b0d61d44e1d838af5076c4d384bfad8555d14c03569e5163cd2e6d0a1eae9742
+EBUILD vbam-9999.ebuild 2422 SHA256 1dcc0b504d3480fbd5b232be996d791969fd3e182af150a0c3cb65d1579b42ac SHA512 c54d321cb6192e3d763ea94d18062b13a55415e94a81715deb05b17fa0fe3928969606534870138800ba0ee20993fb0fadae5bd2f762dddc5d65997e2bb6863b WHIRLPOOL c0317f195159f03127072036cae0de4eb63c0cf28da7dd3a11370e1d27e598f145f0dea14cd25d4d2027c7bd50a3ae3d963b498e5619e9319c4c34be77f9ef03
+MISC ChangeLog 6857 SHA256 c36536edec95c9d61646995d19b7bcea19cb05aff78f9578aa34fd798bf00f00 SHA512 ad3559842a6b9a156bb59c533093c6cdb5be9d8a1e7a2748977ad7718b63f9da119b5965e807238930ecc54eec2549a0c0bb0c03911f5fd598f748830c6ac0e9 WHIRLPOOL 63120ad3b54853b35c90fb200b3c373a2cb970cdf879cfae9fa40a3e577ca1f8714a248faed40cba4681cf0a3f7cf740cf2ae575c49695930b83e671d4ac3a29
+MISC ChangeLog-2015 5405 SHA256 508aa6e8fb04acea89945e905d15c4932a9aad587d3f03d33f03b2b7192a619f SHA512 7c79b6925da77c213043bd2ef644ee49114681a6d007c926a6195d121e17c4ecf3087b7dab738ff43e47679a1b4ba8535e6170a41351a3b835af56416574716e WHIRLPOOL 5594c3d505205af6e4b60533fd5de910d40290881a494b9c4e403b197630b0ef6ab5dfec8e10fdc179e8b03a02bb563ffdbc6d20712341d9a1ef063b18eb5e81
+MISC metadata.xml 479 SHA256 0bda73589730348b1d9fe1560843b35db97b03c7d3ee0480764eb572eaef5a81 SHA512 6bd2212bd5ae35dd11f35322879f067981cac94c0c2d8f0c87e1e67170b5df245bd3616e5bb076d2892453c8b75537ee15aab49134029c0daa31d89d8aedf1d0 WHIRLPOOL 7c8dc86ff56494f2cea7e629561ae46514d6e416e54b84c5d2fd4e2040c7787e7fb4b7b2dc0789d2d2db590053bca17618aaecf9f85e4b8cd3a0f17976589409
diff --git a/games-emulation/vbam/files/vbam-2.0.0_beta2-fix-install-path-bin.patch b/games-emulation/vbam/files/vbam-2.0.0_beta2-fix-install-path-bin.patch
new file mode 100644
index 000000000000..ceb7dd94a0d0
--- /dev/null
+++ b/games-emulation/vbam/files/vbam-2.0.0_beta2-fix-install-path-bin.patch
@@ -0,0 +1,10 @@
+--- a/src/wx/CMakeLists.txt
++++ b/src/wx/CMakeLists.txt
+@@ -247,6 +247,7 @@
+ INSTALL(PROGRAMS ${PROJECT_BINARY_DIR}/visualboyadvance-m${CMAKE_EXECUTABLE_SUFFIX} DESTINATION ${CMAKE_BINARY_DIR})
+ ENDIF(WIN32)
+ IF(NOT WIN32 AND NOT APPLE)
++ INSTALL(PROGRAMS ${PROJECT_BINARY_DIR}/visualboyadvance-m${CMAKE_EXECUTABLE_SUFFIX} DESTINATION bin)
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/wxvbam.desktop DESTINATION share/applications)
+ ENDIF(NOT WIN32 AND NOT APPLE)
+
diff --git a/games-emulation/vbam/files/vbam-2.0.0_beta2-fix-zlib-macros.patch b/games-emulation/vbam/files/vbam-2.0.0_beta2-fix-zlib-macros.patch
new file mode 100644
index 000000000000..57b2a2563b16
--- /dev/null
+++ b/games-emulation/vbam/files/vbam-2.0.0_beta2-fix-zlib-macros.patch
@@ -0,0 +1,7 @@
+--- a/src/common/memgzio.c
++++ b/src/common/memgzio.c
+@@ -1,3 +1,4 @@
++#define OF(x) x
+ /* gzio.c -- IO on .gz files
+ * Copyright (C) 1995-2002 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
diff --git a/games-emulation/vbam/files/vbam-2.0.0_beta2-remove-hardcoded-flags.patch b/games-emulation/vbam/files/vbam-2.0.0_beta2-remove-hardcoded-flags.patch
new file mode 100644
index 000000000000..5afc73e6b930
--- /dev/null
+++ b/games-emulation/vbam/files/vbam-2.0.0_beta2-remove-hardcoded-flags.patch
@@ -0,0 +1,187 @@
+Remove hardcoded flags. This inhibits user flags, which is required by QA.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,10 +3,6 @@
+
+ cmake_minimum_required( VERSION 3.3.2 )
+
+-IF(CMAKE_BUILD_TYPE STREQUAL "")
+- SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build Type" FORCE)
+-ENDIF()
+-
+ SET(ALL_TARGETS fex gvbam visualboyadvance-m vbamcore vbam)
+
+ if( COMMAND cmake_policy )
+@@ -28,6 +24,11 @@
+ SET(ASM_SCALERS_DEFAULT OFF)
+ SET(MMX_DEFAULT OFF)
+
++# Require C++11 support
++SET(CMAKE_CXX_STANDARD 11)
++SET(CMAKE_CXX_STANDARD_REQUIRED ON)
++SET(CMAKE_CXX_EXTENSIONS OFF)
++
+ # turn asm on by default on 32bit x86
+ IF(CMAKE_SYSTEM_PROCESSOR MATCHES "[xX]86|[aA][mM][dD]64|[xX]64")
+ IF(CMAKE_C_SIZEOF_DATA_PTR EQUAL 4) # 32 bit
+@@ -101,12 +102,6 @@
+ endif(EXISTS ${PROJECT_SOURCE_DIR}/.git)
+ ENDIF( NOT VERSION )
+
+-IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
+- ADD_DEFINITIONS(-DDEBUG)
+-ELSE()
+- ADD_DEFINITIONS(-DNDEBUG)
+-ENDIF()
+-
+ # Add support for Homebrew, MacPorts and Fink on OS X
+ IF(APPLE)
+ INCLUDE(MacPackageManagers)
+@@ -261,96 +256,9 @@
+ INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/dependencies/include")
+ ENDIF()
+
+-# Compiler flags
+-
+-IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+- SET(LTO_FLAG "")
+- IF(ENABLE_LTO)
+- IF(CMAKE_COMPILER_IS_GNUCXX)
+- SET(LTO_FLAG -flto=10)
+- ELSE()
+- SET(LTO_FLAG -flto)
+- ENDIF()
+- ENDIF(ENABLE_LTO)
+-
+- # common optimization flags
+- SET(MY_C_AND_CXX_OPT_FLAGS -O2 -mtune=generic -fomit-frame-pointer ${LTO_FLAG})
+-
+- # common debug flags
+- IF(CMAKE_COMPILER_IS_GNUCXX)
+- SET(MY_C_AND_CXX_DBG_FLAGS -ggdb3 -Og)
+- ELSE()
+- SET(MY_C_AND_CXX_DBG_FLAGS -g)
+- ENDIF()
+-
+- # common flags
+- SET(MY_C_AND_CXX_FLAGS -pipe -fPIC -Wformat -Wformat-security -fstack-protector-strong --param ssp-buffer-size=4 -fexceptions -D_FORTIFY_SOURCE=2 -feliminate-unused-debug-types)
+-
+- SET(MY_C_FLAGS ${MY_C_FLAGS} ${MY_C_AND_CXX_FLAGS})
+- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} ${MY_C_AND_CXX_FLAGS})
+-
+- IF(MINGW)
+- SET(MY_C_FLAGS ${MY_C_FLAGS} -static-libgcc)
+- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} -static-libgcc -static-libstdc++)
+- ENDIF(MINGW)
+-
+- IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+- SET(MY_C_FLAGS ${MY_C_FLAGS} ${MY_C_AND_CXX_DBG_FLAGS} -Wall)
+- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} ${MY_C_AND_CXX_DBG_FLAGS} -Wall)
+- ELSE()
+- SET(MY_C_FLAGS ${MY_C_FLAGS} ${MY_C_AND_CXX_OPT_FLAGS} -Wno-error)
+- SET(MY_CXX_FLAGS ${MY_CXX_FLAGS} ${MY_C_AND_CXX_OPT_FLAGS} -Wno-error)
+- ENDIF()
+-
+- FOREACH(C_COMPILE_FLAG ${MY_C_FLAGS})
+- ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:C>:${C_COMPILE_FLAG}>)
+- ENDFOREACH()
+-
+- FOREACH(CXX_COMPILE_FLAG ${MY_CXX_FLAGS})
+- ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:CXX>:${CXX_COMPILE_FLAG}>)
+- ENDFOREACH()
+-
+- # make a string of compile options to add to link flags
+- UNSET(C_COMPILE_FLAGS_STR)
+- UNSET(CXX_COMPILE_FLAGS_STR)
+-
+- FOREACH(ARG ${MY_C_FLAGS})
+- SET(C_COMPILE_FLAGS_STR "${C_COMPILE_FLAGS_STR} ${ARG}")
+- ENDFOREACH()
+-
+- FOREACH(ARG ${MY_CXX_FLAGS})
+- SET(CXX_COMPILE_FLAGS_STR "${CXX_COMPILE_FLAGS_STR} ${ARG}")
+- ENDFOREACH()
+-
+- # need all flags for linking, because of -flto etc.
+- SET(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} ${C_COMPILE_FLAGS_STR}")
+- SET(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} ${CXX_COMPILE_FLAGS_STR}")
+-
+- # for the gcc -fstack-protector* flags we need libssp
+- # we also have to use the gcc- binutils for LTO to work
+- IF(CMAKE_COMPILER_IS_GNUCXX)
+- INCLUDE(UseGCCBinUtilsWrappers)
+-
+- IF(WIN32)
+- SET(SSP_STATIC ON)
+- ENDIF(WIN32)
+-
+- FIND_PACKAGE(SSP)
+-
+- IF(SSP_LIBRARY)
+- SET(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} ${SSP_LIBRARY}")
+- SET(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} ${SSP_LIBRARY}")
+- ENDIF(SSP_LIBRARY)
+-
+- SET(CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE} -Wl,-allow-multiple-definition")
+- SET(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -Wl,-allow-multiple-definition")
+- ENDIF()
+-ENDIF()
+-
+ # Assembler flags
+-
+ IF(ASM_ENABLED)
+- FOREACH(ASM_FLAG -I${CMAKE_SOURCE_DIR}/src/filters/hq/asm/ -O1 -w-orphan-labels)
++ FOREACH(ASM_FLAG -I${CMAKE_SOURCE_DIR}/src/filters/hq/asm/ -w-orphan-labels)
+ ADD_COMPILE_OPTIONS($<$<COMPILE_LANGUAGE:ASM_NASM>:${ASM_FLAG}>)
+ ENDFOREACH()
+ ENDIF(ASM_ENABLED)
+--- a/src/gtk/CMakeLists.txt
++++ b/src/gtk/CMakeLists.txt
+@@ -1,6 +1,3 @@
+-#Do not use this file directly. Always use the top level CMakeLists.txt file
+-SET( CMAKE_CXX_FLAGS -std=gnu++11 )
+-
+ #GTK dependencies
+ FIND_PACKAGE ( PkgConfig REQUIRED )
+ FIND_PACKAGE ( Gettext REQUIRED )
+--- a/src/wx/CMakeLists.txt
++++ b/src/wx/CMakeLists.txt
+@@ -1,7 +1,3 @@
+-#Do not use this file directly. Always use the top level CMakeLists.txt file
+-# This build is much easier if we just do it here.
+-SET( CMAKE_CXX_FLAGS -std=gnu++11 )
+-
+ # not yet implemented
+ SET(CAIRO_DEFAULT OFF)
+
+@@ -46,15 +42,6 @@
+ ADD_DEFINITIONS (-DNO_OAL)
+ endif(ENABLE_OPENAL)
+
+-IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
+- SET(wxWidgets_USE_DEBUG ON) # noop if wx is compiled with --disable-debug, like in Mac Homebrew atm
+-
+- # and if this is the case, we can't set debug level without link failing
+- IF(NOT wxWidgets_DEFINITIONS MATCHES "-DwxDEBUG_LEVEL=0")
+- ADD_DEFINITIONS(-DwxDEBUG_LEVEL=1)
+- ENDIF()
+-ENDIF()
+-
+ IF(APPLE)
+ SET(wxWidgets_USE_STATIC ON)
+ ENDIF(APPLE)
+@@ -256,13 +243,6 @@
+ SET_PROPERTY(TARGET visualboyadvance-m APPEND PROPERTY MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/wxplist.in)
+ SET(MACOSX_BUNDLE_ICON_FILE ${VBAM_ICON})
+ SET_SOURCE_FILES_PROPERTIES(${VBAM_ICON_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
+-
+- # budle dylibs and relink them for releasing .app
+- # but only in Release mode
+- IF(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
+- ADD_CUSTOM_COMMAND(TARGET visualboyadvance-m POST_BUILD
+- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/tools/osx/third_party_libs_tool "$<TARGET_FILE_DIR:visualboyadvance-m>/../..")
+- ENDIF()
+ endif(APPLE)
+
+ SET(WX_EXE_NAME visualboyadvance-m-wx${CMAKE_EXECUTABLE_SUFFIX})
diff --git a/games-emulation/vbam/files/vbam-2.0.0_pre1507-man.patch b/games-emulation/vbam/files/vbam-2.0.0_pre1507-man.patch
new file mode 100644
index 000000000000..bd4afb2f33ab
--- /dev/null
+++ b/games-emulation/vbam/files/vbam-2.0.0_pre1507-man.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -384,7 +384,9 @@
+
+ # manual pages
+ IF( UNIX )
+- INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/debian/vbam.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)
++ IF( ENABLE_SDL )
++ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/debian/vbam.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)
++ ENDIF( ENABLE_SDL )
+ IF( ENABLE_GTK )
+ INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/debian/gvbam.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1)
+ ENDIF( ENABLE_GTK )
diff --git a/games-emulation/vbam/metadata.xml b/games-emulation/vbam/metadata.xml
new file mode 100644
index 000000000000..599894ffa29b
--- /dev/null
+++ b/games-emulation/vbam/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="link">Enable GBA linking functionality</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">visualboyadvance-m/visualboyadvance-m</remote-id>
+ <remote-id type="sourceforge">vbam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/vbam/vbam-2.0.0_beta2_p20161211-r1.ebuild b/games-emulation/vbam/vbam-2.0.0_beta2_p20161211-r1.ebuild
new file mode 100644
index 000000000000..72f32af3fea3
--- /dev/null
+++ b/games-emulation/vbam/vbam-2.0.0_beta2_p20161211-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER="3.0"
+inherit cmake-utils wxwidgets gnome2-utils fdo-mime
+
+if [[ ${PV} == 9999 ]]; then
+ ESVN_REPO_URI="https://github.com/visualboyadvance-m/visualboyadvance-m.git"
+ inherit git
+else
+ SRC_URI="https://github.com/visualboyadvance-m/visualboyadvance-m/archive/c2165287938aea2306a75f0714744a6d23ba7dab.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ inherit vcs-snapshot
+fi
+
+DESCRIPTION="Game Boy, GBC, and GBA emulator forked from VisualBoyAdvance"
+HOMEPAGE="http://vba-m.com/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="cairo ffmpeg gtk link lirc nls openal +sdl wxwidgets"
+REQUIRED_USE="|| ( sdl gtk wxwidgets )"
+
+RDEPEND="media-libs/libpng:0=
+ media-libs/libsdl2[sound]
+ sys-libs/zlib
+ virtual/glu
+ virtual/opengl
+ link? ( >=media-libs/libsfml-2.0 )
+ ffmpeg? ( virtual/ffmpeg[-libav] )
+ lirc? ( app-misc/lirc )
+ nls? ( virtual/libintl )
+ sdl? ( media-libs/libsdl[joystick,opengl] )
+ gtk? ( >=dev-cpp/glibmm-2.4.0:2
+ >=dev-cpp/gtkmm-2.4.0:2.4
+ >=dev-cpp/gtkglextmm-1.2.0 )
+ wxwidgets? (
+ cairo? ( x11-libs/cairo )
+ openal? ( media-libs/openal )
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )"
+DEPEND="${RDEPEND}
+ wxwidgets? ( virtual/imagemagick-tools )
+ x86? ( || ( dev-lang/nasm dev-lang/yasm ) )
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+PATCHES=(
+ # fix issue with zlib-1.2.5.1 macros (bug #383179)
+ "${FILESDIR}"/${PN}-2.0.0_beta2-fix-zlib-macros.patch
+ "${FILESDIR}"/${PN}-2.0.0_beta2-fix-install-path-bin.patch
+ "${FILESDIR}"/${PN}-2.0.0_beta2-remove-hardcoded-flags.patch
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CAIRO=$(usex cairo)
+ -DENABLE_FFMPEG=$(usex ffmpeg)
+ -DENABLE_GTK=$(usex gtk)
+ -DENABLE_LINK=$(usex link)
+ -DENABLE_LIRC=$(usex lirc)
+ -DENABLE_NLS=$(usex nls)
+ -DENABLE_OPENAL=$(usex openal)
+ -DENABLE_SDL=$(usex sdl)
+ -DENABLE_WX=$(usex wxwidgets)
+ -DENABLE_ASM_CORE=$(usex x86)
+ -DENABLE_ASM_SCALERS=$(usex x86)
+ -DCMAKE_SKIP_RPATH=ON
+ -DDATA_INSTALL_DIR=share/${PN}
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ use sdl && dodoc doc/ReadMe.SDL.txt
+}
+
+pkg_preinst() {
+ [[ ${PV} == *9999 ]] && subversion_pkg_preinst
+
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_cache_update
+ use gtk && fdo-mime_desktop_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_cache_update
+ use gtk && fdo-mime_desktop_database_update
+ fi
+}
diff --git a/games-emulation/vbam/vbam-2.0.0_beta2_pre1507-r1.ebuild b/games-emulation/vbam/vbam-2.0.0_beta2_pre1507-r1.ebuild
new file mode 100644
index 000000000000..01bfef42b685
--- /dev/null
+++ b/games-emulation/vbam/vbam-2.0.0_beta2_pre1507-r1.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+WX_GTK_VER="3.0"
+CMAKE_MAKEFILE_GENERATOR=emake
+inherit cmake-utils wxwidgets flag-o-matic gnome2-utils fdo-mime games
+
+MY_P=${P//_beta2/}
+
+if [[ ${PV} == 9999 ]]; then
+ ESVN_REPO_URI="https://svn.code.sf.net/p/vbam/code/trunk"
+ inherit subversion
+else
+ SRC_URI="https://dev.gentoo.org/~radhermit/distfiles/${MY_P}.tar.xz"
+ KEYWORDS="amd64 x86"
+
+ # upstream patches
+ SRC_URI+=" https://github.com/visualboyadvance-m/visualboyadvance-m/commit/3f3c3859c1c5f92937bef5d3398a37605e9c16ec.patch -> ${PN}-2.0.0_pre1507-ffmpeg3_defines.patch"
+ SRC_URI+=" https://github.com/visualboyadvance-m/visualboyadvance-m/commit/029a5fc14b8e5d6f6ce724e66564f9ef89c6a809.patch -> ${PN}-2.0.0_pre1507-ffmpeg3_audio_recording_kludge.patch"
+ SRC_URI+=" https://github.com/visualboyadvance-m/visualboyadvance-m/commit/a3a07d2f565756771e9c4f0b9574dcffe51c2fa4.patch -> ${PN}-2.0.0_pre1507-ffmpeg3_encoders_no_s16.patch"
+ SRC_URI+=" https://github.com/visualboyadvance-m/visualboyadvance-m/commit/502de18456ee272c4bf264f2db9bea73a6b0bfd0.patch -> ${PN}-2.0.0_pre1507-ffmpeg3_nonfunc_video_encoding.patch"
+fi
+
+DESCRIPTION="Game Boy, GBC, and GBA emulator forked from VisualBoyAdvance"
+HOMEPAGE="https://sourceforge.net/projects/vbam/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="cairo ffmpeg gtk link lirc nls openal +sdl wxwidgets"
+REQUIRED_USE="|| ( sdl gtk wxwidgets )"
+
+RDEPEND=">=media-libs/libpng-1.4:0=
+ media-libs/libsdl[sound]
+ sys-libs/zlib
+ virtual/glu
+ virtual/opengl
+ link? ( >=media-libs/libsfml-2.0 )
+ ffmpeg? ( virtual/ffmpeg[-libav] )
+ lirc? ( app-misc/lirc )
+ nls? ( virtual/libintl )
+ sdl? ( media-libs/libsdl[joystick,opengl] )
+ gtk? ( >=dev-cpp/glibmm-2.4.0:2
+ >=dev-cpp/gtkmm-2.4.0:2.4
+ >=dev-cpp/gtkglextmm-1.2.0 )
+ wxwidgets? (
+ cairo? ( x11-libs/cairo )
+ openal? ( media-libs/openal )
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )"
+DEPEND="${RDEPEND}
+ wxwidgets? ( virtual/imagemagick-tools )
+ x86? ( || ( dev-lang/nasm dev-lang/yasm ) )
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+S="${WORKDIR}"/${MY_P}
+
+src_prepare() {
+ [[ ${PV} == 9999 ]] && subversion_src_prepare
+
+ # fix issue with zlib-1.2.5.1 macros (bug #383179)
+ sed -i '1i#define OF(x) x' src/common/memgzio.c || die
+
+ sed -i "s:\(DESTINATION\) bin:\1 ${GAMES_BINDIR}:" \
+ CMakeLists.txt src/{wx,gtk}/CMakeLists.txt || die
+ epatch "${FILESDIR}"/${MY_P}-man.patch
+
+ epatch \
+ "${DISTDIR}/${MY_P}-ffmpeg3_defines.patch" \
+ "${DISTDIR}/${MY_P}-ffmpeg3_audio_recording_kludge.patch" \
+ "${DISTDIR}/${MY_P}-ffmpeg3_encoders_no_s16.patch" \
+ "${DISTDIR}/${MY_P}-ffmpeg3_nonfunc_video_encoding.patch"
+}
+
+src_configure() {
+ # Bug #568792
+ append-cxxflags -std=c++11 -fpermissive
+ local mycmakeargs=(
+ $(cmake-utils_use_enable cairo CAIRO)
+ $(cmake-utils_use_enable ffmpeg FFMPEG)
+ $(cmake-utils_use_enable gtk GTK)
+ $(cmake-utils_use_enable link LINK)
+ $(cmake-utils_use_enable lirc LIRC)
+ $(cmake-utils_use_enable nls NLS)
+ $(cmake-utils_use_enable openal OPENAL)
+ $(cmake-utils_use_enable sdl SDL)
+ $(cmake-utils_use_enable wxwidgets WX)
+ $(cmake-utils_use_enable x86 ASM_CORE)
+ $(cmake-utils_use_enable x86 ASM_SCALERS)
+ -DCMAKE_SKIP_RPATH=ON
+ -DDATA_INSTALL_DIR=share/games/${PN}
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ use sdl && dodoc doc/ReadMe.SDL.txt
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ [[ ${PV} == 9999 ]] && subversion_pkg_preinst
+
+ games_pkg_preinst
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_cache_update
+ use gtk && fdo-mime_desktop_database_update
+ fi
+}
+
+pkg_postrm() {
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_cache_update
+ use gtk && fdo-mime_desktop_database_update
+ fi
+}
diff --git a/games-emulation/vbam/vbam-9999.ebuild b/games-emulation/vbam/vbam-9999.ebuild
new file mode 100644
index 000000000000..5fe89033daf4
--- /dev/null
+++ b/games-emulation/vbam/vbam-9999.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WX_GTK_VER="3.0"
+inherit cmake-utils wxwidgets gnome2-utils fdo-mime eutils
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/visualboyadvance-m/visualboyadvance-m.git"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~radhermit/distfiles/${P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Game Boy, GBC, and GBA emulator forked from VisualBoyAdvance"
+HOMEPAGE="https://github.com/visualboyadvance-m/visualboyadvance-m"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="cairo ffmpeg gtk link lirc nls openal +sdl wxwidgets"
+REQUIRED_USE="|| ( sdl gtk wxwidgets )"
+
+RDEPEND=">=media-libs/libpng-1.4:0=
+ media-libs/libsdl2[joystick]
+ link? ( >=media-libs/libsfml-2.0:= )
+ sys-libs/zlib
+ virtual/glu
+ virtual/opengl
+ ffmpeg? ( virtual/ffmpeg[-libav] )
+ gtk? ( >=dev-cpp/glibmm-2.4.0:2
+ >=dev-cpp/gtkmm-2.4.0:2.4
+ >=dev-cpp/gtkglextmm-1.2.0 )
+ lirc? ( app-misc/lirc )
+ nls? ( virtual/libintl )
+ wxwidgets? (
+ cairo? ( x11-libs/cairo )
+ openal? ( media-libs/openal )
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ )"
+DEPEND="${RDEPEND}
+ wxwidgets? ( virtual/imagemagick-tools )
+ x86? ( || ( dev-lang/nasm dev-lang/yasm ) )
+ nls? ( sys-devel/gettext )
+ virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # fix desktop file QA warnings
+ edos2unix src/gtk/gvbam.desktop src/wx/wxvbam.desktop
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_CAIRO=$(usex cairo)
+ -DENABLE_FFMPEG=$(usex ffmpeg)
+ -DENABLE_GTK=$(usex gtk)
+ -DENABLE_LINK=$(usex link)
+ -DENABLE_LIRC=$(usex lirc)
+ -DENABLE_NLS=$(usex nls)
+ -DENABLE_OPENAL=$(usex openal)
+ -DENABLE_SDL=$(usex sdl)
+ -DENABLE_WX=$(usex wxwidgets)
+ -DENABLE_ASM_CORE=$(usex x86)
+ -DENABLE_ASM_SCALERS=$(usex x86)
+ -DCMAKE_SKIP_RPATH=ON
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use sdl ; then
+ dodoc doc/ReadMe.SDL.txt
+ doman src/debian/vbam.1
+ fi
+ use wxwidgets && doman src/debian/wxvbam.1
+ use gtk && doman src/debian/gvbam.1
+}
+
+pkg_preinst() {
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_savelist
+ fi
+}
+
+pkg_postinst() {
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_cache_update
+ fi
+ use gtk && fdo-mime_desktop_database_update
+}
+
+pkg_postrm() {
+ if use gtk || use wxwidgets ; then
+ gnome2_icon_cache_update
+ fi
+ use gtk && fdo-mime_desktop_database_update
+}
diff --git a/games-emulation/vgba/Manifest b/games-emulation/vgba/Manifest
new file mode 100644
index 000000000000..08efca0f39cf
--- /dev/null
+++ b/games-emulation/vgba/Manifest
@@ -0,0 +1,5 @@
+DIST VGBA48-Linux-Ubuntu-bin.tgz 219565 SHA256 874016db6582e80b871e4018b68cc2d6f2aad2fb9399bb19768fd719535b6a88 SHA512 02362bad94ef93c8aa34bd18d8e6588aadd7d4218ce1c6307468877ac1ddadec073bca001c3d392db2554d937bee51541a76a8b2b15ea35a3c6db5822d6191bc WHIRLPOOL 559ddd3ca685114e327d9fb2a64041136b1211f18641169bab7c4e1f4dc7875b3edebd64122e807d913f0f8b490ca3a5a2ffada68e16c7cb19896479a10abbc7
+EBUILD vgba-4.8.ebuild 561 SHA256 c18822a47b61fa395fabb18e68c376904082e629c2a294d161d348776a54617b SHA512 c61865ccd961878fdad618d32b51f1417ac9c26a15754cb3b70abbc4090a5808d274b8782905ed882c976775a888311ac295ca5a9e9d57ff54235e99103a8910 WHIRLPOOL f0aecb5fcca4399d4655bbf784bf3893a95932e87feecd841db7a73cf85d4bd08474a5fefdf676881861b04c002dd9ca237739e2a27c0edf1e560857cc4546e8
+MISC ChangeLog 2421 SHA256 d5e4411537eb1c66d5573947f5ddeb0ae37ccd006d984c3848ffa87bfe0c588b SHA512 477715f7112c3b771507eb6715c81ab494854346776a6d879c1467e448d152089a35e2a65872fedf684411ee32baa758b0835be509b819d3a9953790d27c832b WHIRLPOOL e0a2871d48d4587b96d39a01280a466402c9d493afb951fb720ed34ee8039f0765cf1a834b19b77ab54a06ae72e1116e682592ba583bbc792ae5be131c7115c0
+MISC ChangeLog-2015 1399 SHA256 b3e4a96ebb240c9e4a958706e35d17ac56c0a5ef43f29a3858ade85826fb81f2 SHA512 f3d62e1c201c76dc95333e2e1917be1a3b9fa98f96884477bca34de6b2cd6d462742f1b619c0f8e6ae4543e7887b63e80bb7e2a82066226954d4f3808ea2a953 WHIRLPOOL ccc080374c63584c777adc540547ed802a98a09209e5e3c9d7850a2a6641cae88d5efdf5be15581bf86db93a6d474b3b4aecd0de43b4fc8d9f1515e9aa42581d
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/vgba/metadata.xml b/games-emulation/vgba/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/vgba/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/vgba/vgba-4.8.ebuild b/games-emulation/vgba/vgba-4.8.ebuild
new file mode 100644
index 000000000000..cf96bf33965d
--- /dev/null
+++ b/games-emulation/vgba/vgba-4.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="Gameboy Advance (GBA) emulator for Linux"
+HOMEPAGE="http://www.komkon.org/fms/VGBA/"
+SRC_URI="http://fms.komkon.org/VGBA/VGBA${PV/.}-Linux-Ubuntu-bin.tgz"
+
+LICENSE="VGBA"
+SLOT="0"
+KEYWORDS="-* x86"
+RESTRICT="strip"
+IUSE=""
+
+RDEPEND="x11-libs/libXext
+ sys-libs/zlib"
+
+QA_PREBUILT="${GAMES_PREFIX_OPT:1}/bin/vgba"
+
+S=${WORKDIR}
+
+src_install() {
+ into "${GAMES_PREFIX_OPT}"
+ dobin vgba
+ dohtml VGBA.html
+ prepgamesdirs
+}
diff --git a/games-emulation/virtualjaguar/Manifest b/games-emulation/virtualjaguar/Manifest
new file mode 100644
index 000000000000..3fab4d470e2f
--- /dev/null
+++ b/games-emulation/virtualjaguar/Manifest
@@ -0,0 +1,7 @@
+AUX virtualjaguar 695 SHA256 dad399e0cb3a0143d93117d51ab7d04859c5c46a7a1ce3daaef3b0ba6a9ec42f SHA512 78967da2cca340559f57a037ad025bd643ac82c9097fa7c892ee2e3ca91e5ce1dc0f4a4fa50013e9d1016d5f308f1502b7c809f686117a5cfffe29262a0d802c WHIRLPOOL e4c7594d460e3045b841f3627ca85b26d2da6995fd552fa6a49cd1894dbd0b5997249bd27d8529dcfb89e6b90ff012cf75583e0e0f79ffc1635d88f383af4e21
+AUX virtualjaguar-2.1.2-gcc6.patch 13767 SHA256 29d3a541bf6ed22bba6c9fd59ab3818badcd14a0ec77cdb9dd35fecdba101e67 SHA512 0c8360eab5b0ec1a7c179ae1df8f109326879f12dc82c05db0e03c6ab61cb73cd15e38049ad9cd19745c407b7dea8c51b91e1264b190787431c4bd5912c3d795 WHIRLPOOL 645797815b1d63ca46ae5eb85350c01df77f219573db5270ce7f3b8056e90e50c96a5b368a30d7c6b4154303dfefe04d5d16db0ac2b9028a9b6642e2c915a9fe
+DIST virtualjaguar-2.1.2.tar.bz2 2917041 SHA256 04dac519857ef9eba24e26c1ab7c73d8b94599c613a922590826228966175368 SHA512 96b842762773631b5df25721d4913f771580c8e23c017a3572539c15a028a4e7743870f2ce3f30380f553781d3beed26693d7e04191efc1475c0cc6fef9f91fb WHIRLPOOL fe1f0991ed06a36f861a2fd1d35d0a3e1f189e07a79ce4950df3881848956217d58bc134a30b3f2241073e3e2342bc3779b47800f186179585ee948e3df59470
+EBUILD virtualjaguar-2.1.2-r2.ebuild 1393 SHA256 e936796a0f8f7b2077f3b152b16414ae392fca7d74e9f113faf7981416c0c041 SHA512 c244f48118fd02e96e35b1122b85d211c8b05acd662b298309a338457513354b97b195287d0d3739e3a6fa782eabed2005060c1213f12448684ee70616e86144 WHIRLPOOL 45b8b74a68d392428a91a49f14a546246ed633ffcf30b51cb533a3284ba9c040f400c1c708ee31109937bc10691ca6245e476959be5a01125b34fc374f9e2678
+MISC ChangeLog 2853 SHA256 0ca546ad5924a76e16822d6bf76ab2ca8a2a3d5aa97c3b2d59676c3a254b3bf7 SHA512 c6548c2b8f57b55cc61c69f31bd164603320d07708f9769414977ea65d76378dd503bfa267e10b566089d2ace439a622235a9e2df7f4bcb2e02dd60bc0a4991b WHIRLPOOL 51629ac0bdc10f11218946d70bcdc211f5b4d0dfd6b09d3a078408570a8bd947d3ebf6e741d2c53d0a06702835df94cbafb5e40c718cd6ed0b89ba403a0e87fd
+MISC ChangeLog-2015 3938 SHA256 e90297520b78e880429e5aef6b5766bd2a2fe8093aa8dfa1d57d5550852a4af2 SHA512 0a661d4e257128f1bbef7336a6296270519b07f9e2c65e3631f39bfbf89c494a823443d4bbefb2b16d113c28b11b9c60a25af7cb4212435069aa537048a81b7c WHIRLPOOL 3beea226f3ac6a0611599f1d8a8eb6826420034915773a7e7ff054972f475de3c16481728ac8f0c25221910bd0bec2c58eeab75eb86c9b3f78d15a95d42982de
+MISC metadata.xml 416 SHA256 e85491ecf5fb3771f3f31dd953b7b155da68a234224ab1a31d80a460fc54b9ea SHA512 32606c2f70434bafa0bbd1c8a8161169b4274a117cc755967e297843e17775419369401b395446c124d9b5ad0ecd46f980b8177659de1c6cc63f55e3afd2316e WHIRLPOOL 720b1ccdcd80d8e545be943994a1e0d7c34affc86aa1c842f6c3cfb8b4cf8a00d4ad3c85ca18f4ac0ed09dfc419f454356838b704f1d733b28f5e9c65ed6b9a5
diff --git a/games-emulation/virtualjaguar/files/virtualjaguar b/games-emulation/virtualjaguar/files/virtualjaguar
new file mode 100644
index 000000000000..df4bb14d73f8
--- /dev/null
+++ b/games-emulation/virtualjaguar/files/virtualjaguar
@@ -0,0 +1,35 @@
+#!/bin/bash
+#
+# Script for launching virtualjaguar
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+source /lib/gentoo/functions.sh || exit 1
+
+shopt -s nullglob
+
+if [[ ! -d ~/.vj/bios ]] ; then
+ mkdir -p ~/.vj/bios
+fi
+
+if [[ ! -d ~/.vj/eeproms ]] ; then
+ mkdir -p ~/.vj/eeproms
+fi
+
+if [[ ! -d ~/.vj/ROMs ]] ; then
+ mkdir -p ~/.vj/ROMs
+fi
+
+cd ~/.vj
+
+# check for bios
+if [[ -z "`cd ./bios && ls`" ]] ; then
+ # if the bios directory is empty, then ... well ...
+ echo
+ eerror " Put your BIOS file into ~/.vj/bios/"
+ eerror " or virtualjaguar will not work!"
+ exit 1
+fi
+
+# execute program (with args)
+exec GENTOODIR/vj "$@"
diff --git a/games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch b/games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch
new file mode 100644
index 000000000000..8145de9bbd15
--- /dev/null
+++ b/games-emulation/virtualjaguar/files/virtualjaguar-2.1.2-gcc6.patch
@@ -0,0 +1,316 @@
+Backported from following commit:
+
+From c9d57b57d70ab2ae842144828175820fb207a3b0 Mon Sep 17 00:00:00 2001
+From: Shamus Hammons <jlhamm@acm.org>
+Date: Wed, 18 May 2016 00:31:26 +0000
+Subject: [PATCH] Fixes for compilation against GCC 6.
+
+So Debian decides to be more rice than Gentoo, and makes the jump to GCC
+6 for some unknown reason. Thus, in order to prevent VJ from getting
+dumped out of Debian for incompatibility with GCC 6, we have the
+following update. Thanks to John Paul Adrian Glaubitz for the report, and
+to Teemu Hukkanen for Debian chroot advice. :-)
+---
+ Makefile | 2 +-
+ src/blitter.cpp | 2 +-
+ src/gui/about.cpp | 3 +--
+ src/gui/controllerwidget.cpp | 10 ++++++----
+ src/gui/mainwin.cpp | 2 +-
+ src/jagbios.cpp | 4 +++-
+ src/jagbios.h | 4 +++-
+ src/jagbios2.cpp | 4 +++-
+ src/jagbios2.h | 4 +++-
+ src/jagcdbios.cpp | 4 +++-
+ src/jagcdbios.h | 4 +++-
+ src/jagdevcdbios.cpp | 4 +++-
+ src/jagdevcdbios.h | 4 +++-
+ src/jagstub1bios.cpp | 4 +++-
+ src/jagstub1bios.h | 4 +++-
+ src/jagstub2bios.cpp | 4 +++-
+ src/jagstub2bios.h | 4 +++-
+ src/joystick.cpp | 4 ++--
+ 18 files changed, 48 insertions(+), 23 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 4fd8eae..29f5f49 100644
+--- a/Makefile
++++ b/Makefile
+@@ -65,7 +65,7 @@ virtualjaguar: sources libs makefile-qt
+
+ makefile-qt: virtualjaguar.pro
+ @echo -e "\033[01;33m***\033[00;32m Creating Qt makefile...\033[00m"
+- $(Q)$(CROSS)qmake $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt
++ $(Q)$(CROSS)qmake -qt=5 $(QMAKE_EXTRA) virtualjaguar.pro -o makefile-qt
+
+ libs: obj/libm68k.a obj/libjaguarcore.a
+ @echo -e "\033[01;33m***\033[00;32m Libraries successfully made.\033[00m"
+diff --git a/src/blitter.cpp b/src/blitter.cpp
+index 588e6c2..7193daf 100644
+--- a/src/blitter.cpp
++++ b/src/blitter.cpp
+@@ -5387,7 +5387,7 @@ Addq_x := JOIN (addq_x, addq_x[0..5], addqt_x[6..15]);
+ Addq_y := JOIN (addq_y, addq_y[0..15]);*/
+
+ ////////////////////////////////////// C++ CODE //////////////////////////////////////
+- int16_t mask[8] = { 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0x0000 };
++ uint16_t mask[8] = { 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0x0000 };
+ addq_x = addqt_x & mask[modx];
+ addq_y = addqt_y & 0xFFFF;
+ //////////////////////////////////////////////////////////////////////////////////////
+diff --git a/src/gui/about.cpp b/src/gui/about.cpp
+index 1b3df54..71cec73 100644
+--- a/src/gui/about.cpp
++++ b/src/gui/about.cpp
+@@ -51,9 +51,8 @@ AboutWindow::AboutWindow(QWidget * parent/*= 0*/): QWidget(parent, Qt::Dialog)
+ "<b>Ryan C. Gordon</b> for Virtual Jaguar's web presence<br>"
+ "<b>Curt Vendel</b> for various Jaguar & other goodies<br>"
+ "<b>Reboot</b> for reasons too numerous to mention<br>"
+- "<b>The Free Jaguar Project</b> (you know why) ;-)<br>"
+ "The guys over at <b>Atari Age</b> :-)<br>"
+- "<b>byuu</b> for BSNES and showing us what was possible"
++ "<b>byuu</b> for <s>BSNES</s> Higan and showing us what was possible"
+ ));
+ text = new QLabel(s);
+ layout->addWidget(text);
+diff --git a/src/gui/controllerwidget.cpp b/src/gui/controllerwidget.cpp
+index f7ea8d0..38ce415 100644
+--- a/src/gui/controllerwidget.cpp
++++ b/src/gui/controllerwidget.cpp
+@@ -47,8 +47,8 @@ char ControllerWidget::hatName[4][16] = { "Up", "Rt", "Dn", "Lf" };
+ char ControllerWidget::axisName[2][8] = { "+", "-" };
+
+ // This is hard-coded crap. It's crap-tastic!
+-// These are the positions to draw the button names at, ordered by the BUTTON_* sequence
+-// found in joystick.h.
++// These are the positions to draw the button names at, ordered by the BUTTON_*
++// sequence found in joystick.h.
+ int ControllerWidget::buttonPos[21][2] = { { 74, 32 }, { 71, 67 }, { 53, 49 }, { 93, 49 },
+ { 110, 200 }, { 110, 175 }, { 110, 151 }, { 110, 126 },
+ { 148, 200 }, { 148, 175 }, { 148, 151 }, { 148, 126 },
+@@ -239,7 +239,8 @@ void ControllerWidget::mouseMoveEvent(QMouseEvent * event)
+
+ for(int i=BUTTON_FIRST; i<=BUTTON_LAST; i++)
+ {
+- // We loop through the button text positions, to see which one is closest.
++ // We loop through the button text positions, to see which one is
++ // closest.
+ double distX = (double)(event->x() - buttonPos[i][0]);
+ double distY = (double)(event->y() - buttonPos[i][1]);
+ double currentDistance = sqrt((distX * distX) + (distY * distY));
+@@ -265,7 +266,8 @@ void ControllerWidget::leaveEvent(QEvent * /*event*/)
+
+ void ControllerWidget::DrawBorderedText(QPainter & painter, int x, int y, QString text)
+ {
+- // Text is drawn centered at (x, y) as well, using a bounding rect for the purpose.
++ // Text is drawn centered at (x, y) as well, using a bounding rect for the
++ // purpose.
+ QRect rect(0, 0, 60, 30);
+ QPen oldPen = painter.pen();
+ painter.setPen(QColor(0, 0, 0, 255)); // This is R,G,B,A
+diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp
+index 9f64c62..cb01b02 100644
+--- a/src/gui/mainwin.cpp
++++ b/src/gui/mainwin.cpp
+@@ -964,7 +964,7 @@ void MainWin::LoadSoftware(QString file)
+ running = false; // Prevent bad things(TM) from happening...
+ pauseForFileSelector = false; // Reset the file selector pause flag
+
+- char * biosPointer = jaguarBootROM;
++ uint8_t * biosPointer = jaguarBootROM;
+
+ if (vjs.hardwareTypeAlpine)
+ biosPointer = jaguarDevBootROM2;
+diff --git a/src/jagbios.cpp b/src/jagbios.cpp
+index 8c03e6f..7951524 100644
+--- a/src/jagbios.cpp
++++ b/src/jagbios.cpp
+@@ -4,7 +4,9 @@
+ // NOTE: This is the Jaguar Series K boot ROM
+ //
+
+-char jaguarBootROM[0x20000] = {
++#include "jagbios.h"
++
++uint8_t jaguarBootROM[0x20000] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x30, 0xBC, 0x18, 0x61, 0x32, 0x3C, 0x35, 0xCC, 0x30, 0x39, 0x00, 0xF1, 0x40, 0x02, 0x08, 0x00, 0x00, 0x05,
+ 0x66, 0x04, 0x32, 0x3C, 0x35, 0xDD, 0x31, 0x41, 0x00, 0x02, 0x46, 0xFC, 0x27, 0x00, 0x2E, 0x7C, 0x00, 0x00, 0x40, 0x00, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x58, 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x2A, 0x33, 0xFC, 0x00, 0x04, 0x00, 0xF1, 0x00, 0x14, 0x08, 0x00, 0x00, 0x04, 0x67, 0x00, 0x00, 0x74, 0x33, 0xFC, 0x00, 0xB5, 0x00, 0xF1, 0x00, 0x12, 0x31, 0x7C, 0x03, 0x4C, 0x00, 0x2E,
+diff --git a/src/jagbios.h b/src/jagbios.h
+index 3f6ae5e..9e9a383 100644
+--- a/src/jagbios.h
++++ b/src/jagbios.h
+@@ -1,6 +1,8 @@
+ #ifndef __JAGBIOS_H__
+ #define __JAGBIOS_H__
+
+-extern char jaguarBootROM[];
++#include <stdint.h>
++
++extern uint8_t jaguarBootROM[];
+
+ #endif // __JAGBIOS_H__
+diff --git a/src/jagbios2.cpp b/src/jagbios2.cpp
+index 413e5e6..5076405 100644
+--- a/src/jagbios2.cpp
++++ b/src/jagbios2.cpp
+@@ -4,7 +4,9 @@
+ // NOTE: This is the Jaguar Series M boot ROM
+ //
+
+-char jaguarBootROM2[0x20000] = {
++#include "jagbios2.h"
++
++uint8_t jaguarBootROM2[0x20000] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x30, 0xBC, 0x18, 0x61, 0x70, 0xFF, 0x51, 0xC8, 0xFF, 0xFE, 0x32, 0x3C, 0x35, 0xCC, 0x30, 0x39, 0x00, 0xF1,
+ 0x40, 0x02, 0x08, 0x00, 0x00, 0x05, 0x66, 0x04, 0x32, 0x3C, 0x35, 0xDD, 0x31, 0x41, 0x00, 0x02, 0x46, 0xFC, 0x27, 0x00, 0x2E, 0x7C, 0x00, 0x00, 0x40, 0x00, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x58,
+ 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF1, 0xA1, 0x0C, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF0, 0x21, 0x0C, 0x23, 0xFC, 0x00, 0x00,
+diff --git a/src/jagbios2.h b/src/jagbios2.h
+index 9944947..961e585 100644
+--- a/src/jagbios2.h
++++ b/src/jagbios2.h
+@@ -1,6 +1,8 @@
+ #ifndef __JAGBIOS2_H__
+ #define __JAGBIOS2_H__
+
+-extern char jaguarBootROM2[];
++#include <stdint.h>
++
++extern uint8_t jaguarBootROM2[];
+
+ #endif // __JAGBIOS2_H__
+diff --git a/src/jagcdbios.cpp b/src/jagcdbios.cpp
+index eea4cf0..a4c407a 100644
+--- a/src/jagcdbios.cpp
++++ b/src/jagcdbios.cpp
+@@ -2,7 +2,9 @@
+ // This file was automagically generated by bin2c (by James Hammons)
+ //
+
+-char jaguarCDBootROM[0x40000] = {
++#include "jagcdbios.h"
++
++uint8_t jaguarCDBootROM[0x40000] = {
+ 0xF6, 0x1A, 0x8C, 0x5F, 0xF0, 0x28, 0xD5, 0xC2, 0xDE, 0xE7, 0xB6, 0x87, 0xD6, 0xEA, 0x4A, 0x42, 0x9A, 0x9B, 0x2E, 0xCB, 0xE7, 0x35, 0x3C, 0x3B, 0xA2, 0xA6, 0x74, 0xF9, 0xC9, 0x86, 0xE2, 0xD7,
+ 0x67, 0xC0, 0x9A, 0xFB, 0x61, 0x37, 0x37, 0x89, 0x70, 0x3B, 0xE0, 0x84, 0x97, 0x0A, 0xD2, 0xC5, 0x9F, 0xC1, 0x62, 0xB5, 0x2E, 0xD1, 0x26, 0x02, 0x44, 0xC3, 0xE1, 0xD4, 0xD6, 0xC2, 0xE7, 0x6A,
+ 0x56, 0x27, 0x2E, 0x60, 0x74, 0xE9, 0x05, 0xCE, 0x65, 0xB9, 0x87, 0x74, 0x64, 0x65, 0xF2, 0xB2, 0x00, 0xF7, 0xFB, 0xBC, 0xB9, 0xA2, 0x2D, 0x73, 0xC1, 0x75, 0xF5, 0xD1, 0xF3, 0xDB, 0xB5, 0x17,
+diff --git a/src/jagcdbios.h b/src/jagcdbios.h
+index 2fb0861..23e5abe 100644
+--- a/src/jagcdbios.h
++++ b/src/jagcdbios.h
+@@ -1,6 +1,8 @@
+ #ifndef __JAGCDBIOS_H__
+ #define __JAGCDBIOS_H__
+
+-extern char jaguarCDBootROM[];
++#include <stdint.h>
++
++extern uint8_t jaguarCDBootROM[];
+
+ #endif // __JAGCDBIOS_H__
+diff --git a/src/jagdevcdbios.cpp b/src/jagdevcdbios.cpp
+index 85dbe91..e4ce4b4 100644
+--- a/src/jagdevcdbios.cpp
++++ b/src/jagdevcdbios.cpp
+@@ -2,7 +2,9 @@
+ // This file was automagically generated by bin2c (by James Hammons)
+ //
+
+-char jaguarDevCDBootROM[0x40000] = {
++#include "jagdevcdbios.h"
++
++uint8_t jaguarDevCDBootROM[0x40000] = {
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+diff --git a/src/jagdevcdbios.h b/src/jagdevcdbios.h
+index 432e48c..fe6ae8c 100644
+--- a/src/jagdevcdbios.h
++++ b/src/jagdevcdbios.h
+@@ -1,6 +1,8 @@
+ #ifndef __JAGDEVCDBIOS_H__
+ #define __JAGDEVCDBIOS_H__
+
+-extern char jaguarDevCDBootROM[];
++#include <stdint.h>
++
++extern uint8_t jaguarDevCDBootROM[];
+
+ #endif // __JAGDEVCDBIOS_H__
+diff --git a/src/jagstub1bios.cpp b/src/jagstub1bios.cpp
+index 80fdd43..7fb85d5 100644
+--- a/src/jagstub1bios.cpp
++++ b/src/jagstub1bios.cpp
+@@ -2,7 +2,9 @@
+ // This file was automagically generated by bin2c (by James Hammons)
+ //
+
+-char jaguarDevBootROM1[0x20000] = {
++#include "jagstub1bios.h"
++
++uint8_t jaguarDevBootROM1[0x20000] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x4D, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x49, 0xF9, 0x00, 0xF1, 0x40, 0x00, 0x3C, 0xFC, 0x18, 0x61, 0x3C, 0xBC, 0x35, 0xCC, 0x46, 0xFC, 0x27, 0x00,
+ 0x4F, 0xF8, 0x03, 0x00, 0x70, 0xFF, 0x74, 0x02, 0x51, 0xC8, 0xFF, 0xFC, 0x38, 0xBC, 0x80, 0x0D, 0xC4, 0x6C, 0x00, 0x02, 0x66, 0x06, 0x4E, 0xF9, 0x00, 0xE0, 0x1B, 0xFA, 0x41, 0xF9, 0x00, 0xE0,
+ 0x00, 0x00, 0x47, 0xF8, 0x04, 0x00, 0x30, 0x3C, 0x06, 0xFF, 0x26, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x30, 0x3C, 0x06, 0xFF, 0x24, 0x23, 0xB4, 0xA0, 0x67, 0x04, 0x60, 0x00, 0x12, 0x1A, 0x51, 0xC8,
+diff --git a/src/jagstub1bios.h b/src/jagstub1bios.h
+index a4b6f72..200e84b 100644
+--- a/src/jagstub1bios.h
++++ b/src/jagstub1bios.h
+@@ -1,6 +1,8 @@
+ #ifndef __JAGSTUB1BIOS_H__
+ #define __JAGSTUB1BIOS_H__
+
+-extern char jaguarDevBootROM1[];
++#include <stdint.h>
++
++extern uint8_t jaguarDevBootROM1[];
+
+ #endif // __JAGSTUB1BIOS_H__
+diff --git a/src/jagstub2bios.cpp b/src/jagstub2bios.cpp
+index 884680a..41d55c4 100644
+--- a/src/jagstub2bios.cpp
++++ b/src/jagstub2bios.cpp
+@@ -2,7 +2,9 @@
+ // This file was automagically generated by bin2c (by James Hammons)
+ //
+
+-char jaguarDevBootROM2[0x20000] = {
++#include "jagstub2bios.h"
++
++uint8_t jaguarDevBootROM2[0x20000] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x4D, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x49, 0xF9, 0x00, 0xF1, 0x40, 0x00, 0x3C, 0xFC, 0x18, 0x61, 0x3C, 0xBC, 0x35, 0xCC, 0x46, 0xFC, 0x27, 0x00,
+ 0x4F, 0xF8, 0x03, 0x00, 0x70, 0xFF, 0x76, 0x02, 0x51, 0xC8, 0xFF, 0xFC, 0x41, 0xF9, 0x00, 0xE0, 0x00, 0x00, 0x47, 0xF8, 0x04, 0x00, 0x30, 0x3C, 0x06, 0xFF, 0x26, 0xD8, 0x51, 0xC8, 0xFF, 0xFC,
+ 0x30, 0x3C, 0x06, 0xFF, 0x24, 0x23, 0xB4, 0xA0, 0x66, 0x00, 0x12, 0x34, 0x51, 0xC8, 0xFF, 0xF6, 0x48, 0x79, 0x00, 0x00, 0x04, 0x64, 0x45, 0xF9, 0x00, 0xE0, 0x15, 0x94, 0x95, 0xFC, 0x00, 0xDF,
+diff --git a/src/jagstub2bios.h b/src/jagstub2bios.h
+index fcec2e3..c80d98d 100644
+--- a/src/jagstub2bios.h
++++ b/src/jagstub2bios.h
+@@ -1,6 +1,8 @@
+ #ifndef __JAGSTUB2BIOS_H__
+ #define __JAGSTUB2BIOS_H__
+
+-extern char jaguarDevBootROM2[];
++#include <stdint.h>
++
++extern uint8_t jaguarDevBootROM2[];
+
+ #endif // __JAGSTUB1BIOS_H__
+diff --git a/src/joystick.cpp b/src/joystick.cpp
+index 4b25493..25aef85 100644
+--- a/src/joystick.cpp
++++ b/src/joystick.cpp
+@@ -137,6 +137,6 @@ uint16_t JoystickReadWord(uint32_t offset)
+ if (offset0 != 0xFF)
+ {
+- uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, -1 }, { BUTTON_C, -1 }, { BUTTON_OPTION, -1 } };
++ uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, 0xFF }, { BUTTON_C, 0xFF }, { BUTTON_OPTION, 0xFF } };
+ data &= (joypad0Buttons[mask[offset0][0]] ? 0xFFFD : 0xFFFF);
+
+ if (mask[offset0][1] != -1)
+@@ -147,6 +147,6 @@ uint16_t JoystickReadWord(uint32_t offset)
+ if (offset1 != 0xFF)
+ {
+- uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, -1 }, { BUTTON_C, -1 }, { BUTTON_OPTION, -1 } };
++ uint8_t mask[4][2] = { { BUTTON_A, BUTTON_PAUSE }, { BUTTON_B, 0xFF }, { BUTTON_C, 0xFF }, { BUTTON_OPTION, 0xFF } };
+ data &= (joypad1Buttons[mask[offset1][0]] ? 0xFFF7 : 0xFFFF);
+
+ if (mask[offset1][1] != -1)
diff --git a/games-emulation/virtualjaguar/metadata.xml b/games-emulation/virtualjaguar/metadata.xml
new file mode 100644
index 000000000000..e73cd94a1388
--- /dev/null
+++ b/games-emulation/virtualjaguar/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+<longdescription>
+The Virtual Atari Jaguar GCC/SDL portable Jaguar emulator which is based on
+the source code released by Cal2 of Potato Emulation.
+</longdescription>
+</pkgmetadata>
diff --git a/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild b/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild
new file mode 100644
index 000000000000..6d56a0c0fc75
--- /dev/null
+++ b/games-emulation/virtualjaguar/virtualjaguar-2.1.2-r2.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils versionator gnome2-utils qmake-utils toolchain-funcs
+
+DESCRIPTION="an Atari Jaguar emulator"
+HOMEPAGE="http://www.icculus.org/virtualjaguar/"
+SRC_URI="http://www.icculus.org/virtualjaguar/tarballs/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-libs/libcdio
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4[-egl]
+ media-libs/libsdl[joystick,opengl,sound,video]
+ sys-libs/zlib
+ virtual/opengl"
+DEPEND="${RDEPEND}
+ >=sys-devel/gcc-4.4"
+
+S=${WORKDIR}/${PN}
+
+PATCHES=( "${FILESDIR}"/${P}-gcc6.patch )
+
+src_prepare() {
+ default
+ sed -i \
+ -e '/^Categories/s/$/;/' \
+ virtualjaguar.desktop || die
+}
+
+src_configure() {
+ eqmake4 virtualjaguar.pro -o makefile-qt
+}
+
+src_compile() {
+ emake -j1 libs
+ emake
+}
+
+src_install() {
+ dobin ${PN}
+ dodoc README docs/{TODO,WHATSNEW}
+ doman docs/virtualjaguar.1
+ domenu virtualjaguar.desktop
+ newicon -s 128 res/vj-icon.png ${PN}.png
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ elog "The ${PN} ROM path is no-longer hardcoded, "
+ elog "set it from within, the ${PN} GUI."
+ elog
+ elog "The ROM extension supported by ${PN} is .j64, "
+ elog ".jag files will be interpreted as Jaguar Server executables."
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-emulation/xe/Manifest b/games-emulation/xe/Manifest
new file mode 100644
index 000000000000..5047f67b0c08
--- /dev/null
+++ b/games-emulation/xe/Manifest
@@ -0,0 +1,8 @@
+AUX xe-2.16.2 173 SHA256 4c8ff5e8e42525b0cf8e56ff0f8a4305a5a8c5fc702d3c71c8f01f8bb88faab1 SHA512 6e5812cf355ded200a9fd16d41fca76938ca0526b120858771e0a900c2e4129ec5b00808f20ce4577df3643324dea6526296424c387db5babc36e1266ec8546b WHIRLPOOL a255794b8f56b81d4cc0b8b1f222ef5751f364e8c55f969375e40accec071a62b0fed611fb6856bd3d939a3006fc7277dabc0832a9e100484cddd8d715e25e0f
+AUX xe-2.16.2-gentoo.patch 506 SHA256 ad1b28501011787e8b3c4598a132f3026f88e9e82306878a6d36ef8731eb8e02 SHA512 31a215532c2fb17fd7234ba6a5375c465d6336f82625a5406ac361a29929da787a8bf5398cd21425682de2bd350790d03eca2be666b7f000c90b8c1839cfe618 WHIRLPOOL df733bc33ac93e9ebe7c5e218eef7010a7df9ed3ff95dc545a8c5ceecf63a262fb90fb668a345e936d79a44ba382da09c8dc24739f3639dc6d7930decd4f6aa8
+DIST xe-x86-32-bin.2.16.2.tar.bz2 1610395 SHA256 fff82a9e56d8f03d14395eeebb9306de7b3a03df6af12b0acc11b0206d1212f0 SHA512 b73f79854f860f7e7060c8b09e0a038b787762d3bd440b5b2825b5a702e4f32c788b883012728813e0a9dcee779f8b98b807c8af3f655fea21bd0ed1383e361c WHIRLPOOL 0c6c18c53105859ec44767cbc21fdf82e14ea4532fe26ecf9dec2acc6917af2baa80df7d8050ce9206ad189a2d8ac5cad1b17c7daa86d69ebcc04b4e83d1cabf
+DIST xe-x86-64-bin.2.16.2.tar.bz2 2141614 SHA256 73a035c20b56fe197529aeb034ce3b81c680e184d0acca7d48df7fedbbafb103 SHA512 cf8a4be4f169660138018631b4a2b6c1a42850c7fc08bd9bd184ab054bffc6fe00197baaf9628cce87608628bb33db0dabac97debd7c53466b086cf0805cc5d8 WHIRLPOOL 49a8f159e34bb3a2c4e44130f6b2c68e3dc681f8795f776c9323c0e2d21180fa490dc810abab327f5573c0cfd71307c1c4d16abaf0775795949c5af244b8831c
+EBUILD xe-2.16.2.ebuild 1224 SHA256 b11e73becb45bb2096ee9f1f5478e78e6efc2325518d302302b15a3caaee5808 SHA512 5b3784a6dfa02e3e326535580703292cba9a97b7a6ee39adb05b5f658b56b8c586df2db55a65c375c3593784ac5c9af423155a1969bb92ed05129475fb7b95d0 WHIRLPOOL add0a18d9df25b3c77ac6737c52635221023ab5fe32ea1d88ee45c32a52c08b5843f04b41c3520d93f21eab68a5da64fc61b508b13e5389bdb34f5ffe60abc38
+MISC ChangeLog 2588 SHA256 5fce4623f6126adc1af61337481fc68924fd1eeb0e74e24bdcdfd3916d05cb0d SHA512 2a1310222824192eba9651d3560cfa51f91f850bad3ab0a51b79303010c0d0a9ac38c7dc6c9deaf0f369ba3212611f57c9ed9a5ce4080034fa7c89fac33dd683 WHIRLPOOL 405a4db8d1ab53d3c3a1eea78b90dcc3b89cb7e2874889bd77a99aad043d06ffddb3bf099ab70b6843ece910eb441ce710aec69d86178359095bb82a98c880ca
+MISC ChangeLog-2015 2295 SHA256 50667fab0f8fac451d27415a3c0ded58d1ae8f03841d330e718f6e59f69538f4 SHA512 cfde4392658f3db7bad2c9132179b3439d7efb8aaf437617b0d56fa87a46917d732b579f6b00d7beaea266120f6a21b04cead04cf222d2f300af818edb04a273 WHIRLPOOL 5d39a398316ae6a5f18a0df951478234b303afb311eb4942057f0140504e2d997dd32a351b773c82c2912906e7326773b51b354345dd6b44623fbff16a9fe41d
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/xe/files/xe-2.16.2 b/games-emulation/xe/files/xe-2.16.2
new file mode 100644
index 000000000000..211d508d883e
--- /dev/null
+++ b/games-emulation/xe/files/xe-2.16.2
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [[ ! -d ~/.xe/modules ]] ; then
+ mkdir -p ~/.xe/modules
+fi
+for f in GENTOODIR/modules/*
+do
+ ln -s $f ~/.xe/modules/ 2> /dev/null
+done
+exec xe.bin "${@}"
diff --git a/games-emulation/xe/files/xe-2.16.2-gentoo.patch b/games-emulation/xe/files/xe-2.16.2-gentoo.patch
new file mode 100644
index 000000000000..caea9c8c6c2e
--- /dev/null
+++ b/games-emulation/xe/files/xe-2.16.2-gentoo.patch
@@ -0,0 +1,16 @@
+--- Makefile.old 2012-12-20 21:20:49.560756950 +0100
++++ Makefile 2012-12-20 21:22:16.644707544 +0100
+@@ -1,11 +1,9 @@
+ BIN = xe
+-CC = gcc
+-CFLAGS = -Wl,-export-dynamic -L. -L/usr/X11R6/lib -lxe -lasound -ldl -lz \
++LDLIBS = -L. -L/usr/X11R6/lib -lxe -lasound -ldl -lz \
+ -lX11 -lXext -lXv -lXinerama -lXxf86vm `pkg-config gtk+-2.0 --libs`
+
+ $(BIN): libxe.a
+- @ $(CC) -o $(BIN) $(CFLAGS)
+- @ strip $(BIN)
++ $(CC) -o $(BIN) $(LDFLAGS) -Wl,-export-dynamic $(LDLIBS)
+
+ install:
+ @ sh install.sh
diff --git a/games-emulation/xe/metadata.xml b/games-emulation/xe/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/xe/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/xe/xe-2.16.2.ebuild b/games-emulation/xe/xe-2.16.2.ebuild
new file mode 100644
index 000000000000..cf19f2060a1c
--- /dev/null
+++ b/games-emulation/xe/xe-2.16.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="a multi system emulator for many console and handheld video game systems"
+HOMEPAGE="http://www.xe-emulator.com/"
+SRC_URI="amd64? ( http://www.xe-emulator.com/files/${PN}-x86-64-bin.${PV}.tar.bz2 )
+ x86? ( http://www.xe-emulator.com/files/${PN}-x86-32-bin.${PV}.tar.bz2 )"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+RESTRICT="mirror bindist strip"
+
+RDEPEND="x11-libs/libXv
+ x11-libs/libXinerama
+ x11-libs/libXxf86vm
+ sys-libs/zlib
+ media-libs/alsa-lib
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+dir=${games_get_libdir}/${PN}
+
+QA_PREBUILT="${dir:1}/modules/*
+ ${GAMES_BINDIR:1}/xe.bin"
+
+src_unpack() {
+ unpack ${A}
+ mv -v * ${P} || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+}
+
+src_install() {
+ newgamesbin xe xe.bin
+ newgamesbin "${FILESDIR}"/xe-${PV} xe
+ sed -i \
+ -e "s:GENTOODIR:$(games_get_libdir)/${PN}:" "${D}/${GAMES_BINDIR}/xe" \
+ || die "sed failed"
+ insinto "$(games_get_libdir)"/${PN}
+ doins -r modules/ rc/
+ keepdir "$(games_get_libdir)"/${PN}/bios
+ dodoc README.txt
+ dohtml manual.html
+ prepgamesdirs
+}
diff --git a/games-emulation/yabause/Manifest b/games-emulation/yabause/Manifest
new file mode 100644
index 000000000000..42619c2b733f
--- /dev/null
+++ b/games-emulation/yabause/Manifest
@@ -0,0 +1,7 @@
+AUX yabause-0.9.14-RWX.patch 688 SHA256 46eb0906390717f0f10901b188c7bd5d27b8dd59405841d3c2ec977de79598eb SHA512 9da2ca641bcd0df8c05d9d5727158952ff41a8d88f685b9263661bf0fe71eca8b338c37fbcdfce252131c5fe6e4a73fa27ae51d161495f8596feeebc3f2d6d63 WHIRLPOOL 9587e71990868965f3a8e56ec8d1219ab86a5796ca8683710122f36f7679bc00cdae989c47f9508f2fe27c85efc7c0dcbb6b360754b059a41bba5427a5e7f5b8
+AUX yabause-0.9.14-cmake.patch 1905 SHA256 25d30d95db0ea66f84b68ce505ea50541502deeba7b12a04fc303c0ae4eeb39e SHA512 13e6c72113e06a0baee7051122c1d2cc56a13ecacd383e76aad0d6784b2bcb7593d8ff27184231e9356a2aa0bff98a74d0af2860dea62075d3d2992e8a56eec2 WHIRLPOOL 075126e157256453bcb243ae5eb2c86d8c873e28ba35d42843afa28f84932b1c720c361ab1c3cf165201d89d23427df5a7a60b0b9bcd7eb1f773bdfcd0540df0
+DIST yabause-0.9.14.tar.gz 1662762 SHA256 75e6320873ef6f8ec956568bff5a8f3b67500bdf52a7e0aa88e0a554b2dd775a SHA512 8b14d9146cf12d104fcf43369cd949f1f47e7891a54241914f6141facf871bcc158f4e80a8c5b61fdeefe6f1b8d425ff301ba653df134a030c323c9e3ccf3a58 WHIRLPOOL 637b5be9e889bb59e0ff3e78163b19256b8b6a7cd3b7c03e5922989c0fbdf7721293eb1673d3ead0334c7132ae095ebd067e95373b33a036b7c65c8108823260
+EBUILD yabause-0.9.14.ebuild 1485 SHA256 f1acd7cc6662e9396c52502e8a0eb488e6fbe87cb746135b4b63769255814307 SHA512 1dc475e1b6962437599df959f527e4394861d5242175bdcb5a1c9bac7bd5e62426dde3f16dbc921cc5ca81bb14d98844eab13ccf1d914383e1099239c75ce4b5 WHIRLPOOL 23de9246e4fa32c247f42b82a6dba004110ec83a3dd1bcfc12cb613aae4f1fe992d2b17c069d2ee370ec56f724e8c2493ab6fb4bdcec0100b2b63f53119f8189
+MISC ChangeLog 2736 SHA256 f19fa5bd65a4775627eb8e72100cea202bf5dd1806d165e060d69e9092cebad4 SHA512 900e54ae525da479a069b4c363f8d14bfa8efb40f819380098f7220c3774e5d17d96de54218d33bd413cf44eeb614aac68fce2cc8458c29779ba0992964f0440 WHIRLPOOL 8445636ba65e7e2bce0d35757e603a55a50161dcacb06dad74b8bb62404d524e7fd58841d5442649b6582892a2a80283e924667d61da0d8e5a4bc64421c300b2
+MISC ChangeLog-2015 5769 SHA256 43585c1050e31d6ca588eb34f6b2dd055a16c8e9c238cbacd99c80a954bbd67d SHA512 d80096c16d1e54dac4ef9e7ddb5902711938dd800f1375c2c71db4cd135c87ad4813c387031e19ce30c55940e9dc0f91ad7a8ad7ccdcab072ccba0a0867653ef WHIRLPOOL 312481336a658026503f1db3d30321007fd2a30e6ad956a93cbd171707e60935b0d3bbf96e6cc8c502938feed58a7ae3f0e42d3ce76849f9da7de08b53f19408
+MISC metadata.xml 428 SHA256 406d7f359195131cd72cb09bd7325c5ec8b72768a331af5e34d7367febc0ee38 SHA512 1695012927826ba97b0457e9d1051396a1da0b582cebf64269fe02431c019dbf4ca20a42368b825a28ba24b0a781126be82727428e3ab92adffc667bb6c575ef WHIRLPOOL 50bfd585a94d76db65db9cd4520ee20d9b04f6a530ff4d80d4744604a59b859daa67c8bff4d3a18b642a4b82262090540b75bd52865b96cd29cf19193b055f35
diff --git a/games-emulation/yabause/files/yabause-0.9.14-RWX.patch b/games-emulation/yabause/files/yabause-0.9.14-RWX.patch
new file mode 100644
index 000000000000..8022be90f852
--- /dev/null
+++ b/games-emulation/yabause/files/yabause-0.9.14-RWX.patch
@@ -0,0 +1,24 @@
+--- yabause-0.9.13.orig/src/sh2_dynarec/linkage_x64.s
++++ yabause-0.9.13/src/sh2_dynarec/linkage_x64.s
+@@ -747,3 +747,11 @@
+ ret
+ /* Set breakpoint here for debugging */
+ .size breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- yabause-0.9.13.orig/src/sh2_dynarec/linkage_x86.s
++++ yabause-0.9.13/src/sh2_dynarec/linkage_x86.s
+@@ -743,3 +743,7 @@
+ ret
+ /* Set breakpoint here for debugging */
+ .size breakpoint, .-breakpoint
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/games-emulation/yabause/files/yabause-0.9.14-cmake.patch b/games-emulation/yabause/files/yabause-0.9.14-cmake.patch
new file mode 100644
index 000000000000..a126c010bb7a
--- /dev/null
+++ b/games-emulation/yabause/files/yabause-0.9.14-cmake.patch
@@ -0,0 +1,51 @@
+--- yabause-0.9.13.orig/l10n/CMakeLists.txt
++++ yabause-0.9.13/l10n/CMakeLists.txt
+@@ -2,9 +2,12 @@
+
+ set(LANGS de es fr it lt nl pt pt_BR sv)
+
++# paths
++set(TRANSDIR "share/yabause/yts" CACHE STRING "dir to translation files")
++
+ if (UNIX AND NOT APPLE)
+ foreach(LANG ${LANGS})
+- install(FILES "yabause_${LANG}.yts" DESTINATION "share/yabause/yts" RENAME "${LANG}.yts")
++ install(FILES "yabause_${LANG}.yts" DESTINATION ${TRANSDIR} RENAME "${LANG}.yts")
+ endforeach()
+ elseif (WIN32)
+ foreach(LANG ${LANGS})
+--- yabause-0.9.13.orig/src/gtk/CMakeLists.txt
++++ yabause-0.9.13/src/gtk/CMakeLists.txt
+@@ -59,7 +59,10 @@
+ yab_port_success(yabause-gtk)
+ configure_file(yabause.desktop.in ${YAB_PORT_NAME}.desktop)
+
+-install(TARGETS yabause-gtk DESTINATION "bin")
++# paths
++set(BINDIR "bin" CACHE STRING "dir to binary")
++
++install(TARGETS yabause-gtk DESTINATION ${BINDIR})
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${YAB_PORT_NAME}.desktop DESTINATION "share/applications")
+ install(FILES "doc/yabause.1" DESTINATION "${YAB_MAN_DIR}/man1" RENAME "${YAB_PORT_NAME}.1")
+ install(FILES "yabause.png" DESTINATION "share/pixmaps")
+--- yabause-0.9.13.orig/src/qt/CMakeLists.txt
++++ yabause-0.9.13/src/qt/CMakeLists.txt
+@@ -237,6 +237,9 @@
+ yab_port_success(yabause-qt)
+ configure_file(yabause.desktop.in ${YAB_PORT_NAME}.desktop)
+
++# paths
++set(BINDIR "bin" CACHE STRING "dir to binary")
++
+ if (WIN32)
+ install(TARGETS yabause-qt DESTINATION ".")
+ if (GLUT_FOUND)
+@@ -277,7 +280,7 @@
+ endif()
+ endif ()
+ else ()
+- install(TARGETS yabause-qt DESTINATION "bin")
++ install(TARGETS yabause-qt DESTINATION ${BINDIR})
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${YAB_PORT_NAME}.desktop DESTINATION "share/applications")
+ install(FILES "doc/yabause.1" DESTINATION "${YAB_MAN_DIR}/man1" RENAME "${YAB_PORT_NAME}.1")
+ install(FILES "resources/icons/yabause.png" DESTINATION "share/pixmaps")
diff --git a/games-emulation/yabause/metadata.xml b/games-emulation/yabause/metadata.xml
new file mode 100644
index 000000000000..518c975f9d26
--- /dev/null
+++ b/games-emulation/yabause/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="pic">disable optimized assembly code that is not PIC friendly</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">yabause</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/yabause/yabause-0.9.14.ebuild b/games-emulation/yabause/yabause-0.9.14.ebuild
new file mode 100644
index 000000000000..7ac82647b3d3
--- /dev/null
+++ b/games-emulation/yabause/yabause-0.9.14.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils cmake-utils games
+
+DESCRIPTION="A Sega Saturn emulator"
+HOMEPAGE="http://yabause.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="openal opengl pic qt5 sdl"
+
+# x11-libs/libXrandr is an automagic dep
+# qt5 over qt4 and libsdl2 over libsdl is
+# also done automatically. Send patches
+# upstream to make the choices explicit.
+RDEPEND="
+ x11-libs/libXrandr
+ openal? ( media-libs/openal )
+ opengl? (
+ media-libs/freeglut
+ virtual/glu
+ virtual/opengl
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtwidgets:5
+ opengl? ( dev-qt/qtopengl:5 )
+ )
+ !qt5? (
+ dev-libs/glib:2
+ x11-libs/gtk+:2
+ x11-libs/gtkglext
+ )
+ sdl? ( media-libs/libsdl2[opengl?,video] )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-RWX.patch \
+ "${FILESDIR}"/${P}-cmake.patch
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBINDIR="${GAMES_BINDIR}"
+ -DTRANSDIR="${GAMES_DATADIR}"/${PN}/yts
+ -DYAB_OPTIMIZATION=""
+ $(cmake-utils_use sdl YAB_WANT_SDL)
+ $(cmake-utils_use openal YAB_WANT_OPENAL)
+ $(cmake-utils_use opengl YAB_WANT_OPENGL)
+ $(cmake-utils_use !pic SH2_DYNAREC)
+ -DYAB_PORTS=$(usex qt5 "qt" "gtk")
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc AUTHORS ChangeLog GOALS README README.LIN
+ prepgamesdirs
+}
diff --git a/games-emulation/zinc/Manifest b/games-emulation/zinc/Manifest
new file mode 100644
index 000000000000..6d4d766445ca
--- /dev/null
+++ b/games-emulation/zinc/Manifest
@@ -0,0 +1,5 @@
+DIST zinc11-lnx.tar.bz2 305824 SHA256 70a4b15130fe84cdcd166cd0964d11741513bef9236fde782bbe8edeff7e4776 SHA512 8511ebb867347adfc00448a74548b4a22a2d854a14c663a626d33738e89d2cabd3248837a26d5ed099ef4dc40a0f451df639663774926e797ddc846a7270af4b WHIRLPOOL 596f594365ea96a481be4db121f5dcce99107ee2cbffc3f338c7ed84e916c9a1b4fe665aad7972c17b3fc075f6419a4255ea66db61a54c5dc3bdb2fa82e74d6c
+EBUILD zinc-1.1.ebuild 793 SHA256 bb4eecf42a14409c9f7d5e6f83b75587550bcb84f1bd7e954d05f57bc021b2f0 SHA512 bb7644f353ca34f0148928214a67edf40fbe06d7f21a263d3ce30ae1fe89276a82c5a207a190f98eb620d57b5958c93c89ebcb4ccc224069dac197d3af9c6ff8 WHIRLPOOL f020951c92a8f977234a64a6936e1245279e908c0158825fa6961b20e938f318a362e5f12bfa97283f1db42a7a08ed438551648cf51f911030734564dc709548
+MISC ChangeLog 2421 SHA256 90c996cabf507db748d07f3c26a7b99295cb81454b56cfa687e779587a890af5 SHA512 d4661a872d8bf9281af22f8356c632b30a57a170bd654cf6d2d871bd3cddca97b9791090541b4cd4e0d99cea7270a56758f469f21cd8863dd198b08253c28474 WHIRLPOOL 3c4802b7f23096a4b7139df77f6fba2babfe343fce201a2f829a0ababb2859a9a122278a935267b47dd9c9b38b7bed5e5b79fce89e5db221a5bb95c5a7287e59
+MISC ChangeLog-2015 2482 SHA256 33c444813ec3c762f1ffdd24c977f9dac83c6daf1c5716614d2eca37bca09db3 SHA512 ab617fc0bf5299c87f73a11bd2ccc54f45bddf5982e6e0506e351a944ebdd6a994b5ae1af56928819d3c514ec0228267aac7c65398e300f45ca1266ed8dbbefc WHIRLPOOL 95c30fdda1aae2546c166053eedb9a778e6449555501a604fe7a0a9f847bf7feb233c3211a08ba50a734df5ad01856dedca3f8c6abc03cc62011a20f1f0a6f68
+MISC metadata.xml 249 SHA256 943b9ce0cd072229b43569ab668dd7ec741d9dfefd942c8921dabd4490b27b0c SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 WHIRLPOOL b10e21575c78e201a652c8582cd16e3f7c86b13dd20a30f4cea44066fb139440b3c186147dbaae83478f11a20b6f457a99c8b29ee1239a4caaa21eee01250088
diff --git a/games-emulation/zinc/metadata.xml b/games-emulation/zinc/metadata.xml
new file mode 100644
index 000000000000..78274e0fa550
--- /dev/null
+++ b/games-emulation/zinc/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/games-emulation/zinc/zinc-1.1.ebuild b/games-emulation/zinc/zinc-1.1.ebuild
new file mode 100644
index 000000000000..a6e2dcfb8a37
--- /dev/null
+++ b/games-emulation/zinc/zinc-1.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit games
+
+DESCRIPTION="An x86 binary-only emulator for the Sony ZN-1, ZN-2, and Namco System 11 arcade systems"
+HOMEPAGE="http://caesar.logiqx.com/php/emulator.php?id=zinc_linux"
+SRC_URI="http://caesar.logiqx.com/zips/emus/linux/zinc_linux/${P//[-.]/}-lnx.tar.bz2"
+
+LICENSE="freedist"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+RESTRICT="strip"
+QA_PREBUILT="${GAMES_PREFIX_OPT:1}/bin/zinc /usr/lib*/*.so"
+
+RDEPEND="
+ x11-libs/libXext[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]"
+
+S=${WORKDIR}/zinc
+
+src_install() {
+ exeinto "${GAMES_PREFIX_OPT}"/bin
+ doexe zinc
+ dolib.so libcontrolznc.so librendererznc.so libsoundznc.so libs11player.so
+ dodoc readme.txt
+ prepgamesdirs
+}
diff --git a/games-emulation/zsnes/Manifest b/games-emulation/zsnes/Manifest
new file mode 100644
index 000000000000..146cfb82e5dd
--- /dev/null
+++ b/games-emulation/zsnes/Manifest
@@ -0,0 +1,17 @@
+AUX zsnes-1.51-CC-quotes.patch 740 SHA256 73f4cfa22b93c9633bb5e748054bbabb75a03634988cddea0f1c4c8f6bca71bc SHA512 2347910158934a7c8b90a6739f923d7a1f94e963515dca42d45eb97e6165c5f80c30d28fd151537a7a80bba16d2462568ff1c1dac93a855990f0418aaf059776 WHIRLPOOL 6c8d0bfc63a7e0de53efb3881e37d15a27d614ce5bc69c55ccc5245db1d7be707c31807c3e0e0054cc5ab7136cd525c45b91e03837acda248097defd63d7b6db
+AUX zsnes-1.51-arch.patch 2480 SHA256 380ff481d232dfe467fa362652de6ac9481b72788a56fa258cd3d57a4e011b2b SHA512 669e6a68978dc0ad27268dece47ff0a2027586534ce88ef08eeb51464137026afcb51ef4c1222013a75bcd430dfa022919aad0dce932035479ebb72408971eb8 WHIRLPOOL 59c2858e4dc94d4b0547ebd6827076cf86f6206d47fa1df2314d1e32ca9f098a0bf7620f3bf50aae29d970346efe6871658c261330e1ec5670590c4e65e01cad
+AUX zsnes-1.51-archopt-july-23-update.patch 12668 SHA256 6d134d3cc8682ed71fc287023cb5e234aa9bbbd162d4a9de69ff6e3ff549f645 SHA512 a02ba164e2f06915b7de92032b7757f90b545e2afd4275805ea3466ddb6f1f9f0973fbc838c690441a10bbc70fb9be12fc95e5fde19c0505f4264cae2721c944 WHIRLPOOL 9f17c365befa0dc31177f6afe3610a6cc5ae71c89a37998067e29b439c9e45ff8424720155a2f1a6314e2fd94b4e6dd19b8fad365bb89ccc53b61a0c852617dc
+AUX zsnes-1.51-buffer.patch 3157 SHA256 177fb1df4ecddf1e120cc7cb788d76ac8a18078edc2c9818691a6f7919f3ac2c SHA512 b9a18c288f59413a7bd7f25622774440124de8ab356bfa48ea29b0db39ec6380d7df715eaca031bcff0fcb4f94dfc6f3b1f0770bf29cc9324e096ee5a6876f47 WHIRLPOOL 303683c6410a3de8c6557e4a2292a61e76f9934ac0f8432e903525fc017964720c9eeddc81b79b9492c46e04c9215b1a47cbbe62565836c084caae0ad584ecdd
+AUX zsnes-1.51-cross-compile.patch 942 SHA256 76c5925b5725ce7bcfb7bf071f75938928c5c70370eb57134a96ec434e161b35 SHA512 3059c466f32b74f3a6d583fb425c3f23f7a295800474baa49c4baee69fc047ff5f49107225f3a9917aed76697b50ff07e474a2fe666402d1bcd032e00959e7be WHIRLPOOL 58b01465c89abfa202a7ae5549547335c0d444a1a310f02003834ef0479091a55290ffc9addefa0e6213b6f9cc670c2fa026a678fa12169fabeb32458ce184bd
+AUX zsnes-1.51-depbuild.patch 559 SHA256 2e6e0bb1fbccee7635f30174f1607db7a11036c8af26e8c25b4aa78204da6f22 SHA512 46955153ec6d2ecd5a295117c3ecc911a566de69f29f4d29decc98867d03e4a53a980a3c75d8ff19bbd1655eb291069fbbd598e002a73ebdbdc94c135f852c6e WHIRLPOOL 0896f33b9d482286336a4679035289bb5a4f3b9d8c055f4f6e88a40447c02fed33ce3db79a99968e8fc3bae5e005d68ff9fa6bdb854e8b66209e2f260f098d70
+AUX zsnes-1.51-gcc43.patch 913 SHA256 9eb0aff2be2b303295b0d0a76240facd13dca170b97fe3ee827a6c26d89d53de SHA512 8684b9b8c01d2d9f27bf27a86e4705b3408a2891347045266040397b649eb162962e8384746930c9837ac9b21bfd626d6e241d8a6c73b46a0e348274dd8688d3 WHIRLPOOL 2024f3c0d611c7cb489e06b8a1458bf4d78f216f34d176f692c79a5420c933440f911e7439c980ecb801e413c6a335b766b0c5ea0023e8d4af331b82dbaa6e96
+AUX zsnes-1.51-gcc47.patch 316 SHA256 ccd1343e51a294c425e14dfc2a9a4f519111630a0e8dfb6a33438fd336693e38 SHA512 3e9adecac963fd2769edcb979dde262ed54247f8d7f63b34d2f5f472e5d6eeb7bc3879de24210d312c5d1d4694abc32aeb9e853d3ab2ec7b7bad6794716e4da4 WHIRLPOOL a75bae4cab301cfbf9455bcf9ffad5bd83670ceaeb9d826867eeb81fd6aea531619332e110e61ddf57c7eaa83ef17913550ea46c639f16917112e39f106035c5
+AUX zsnes-1.51-libao-thread.patch 663 SHA256 71be0bbb8b683edc7c7780b68a43e54be7a8c341bf9b2a01e5cceb53834b1a73 SHA512 3b7dab3e8f7e55b5295ad728279aa116b0e1f63a9bfad398b55a2d7f5ba55c806311952311f3f3ac91803d903e91b724f6ceea53a15b5fe485a7b3c2e5dafbab WHIRLPOOL c0cf4462f0ca48859af7832dbcc3e41f947eb73b56cb28703d553826ac19462ed0b6d6190d8fa7bb08ec1a9dea61231047da95424ddaec1f409b906de5c2089c
+AUX zsnes-1.51-libpng.patch 854 SHA256 8fa8614c9dd4360c05fb4c581a8c8aba89195dc4da0c087daa18845b7ab499be SHA512 210dcba006bdf6c18bb55e106e8bb2fcb9691deb89874fd4f9e034f2aaf9e8e96543b2177d31b94c121a811b80de6352b7b420fa8d0760055dc1d4df43bbaa68 WHIRLPOOL c1e1a97a9ec17a1934c493194028c640a7318eb60f9da564c9da34c6925a3deb65fb403adcd8ae6834a6b9afc76d85852c3c0168f3bea14f519d8c52232a8187
+AUX zsnes-1.51-libpng15.patch 510 SHA256 c9636e76441ae1624c8ddc92e47facc20b43871fb0f55fd50d526b10944c6560 SHA512 4191987cad2f8dd7d7fd1d4f8f0c60de07059f18a60cb9bb94f1e5c35c06122032de9887762ebcf2d255f24c3e90aa5b4f6a7540a8e4dbdc4ce5f7d3b3e3b532 WHIRLPOOL 4c8e6565a8b1d2d040f545f57dda751bcf387828c3153cf71459bdd72252ac62d66317dd3fef51cba10cfce372391aba7d4bfb5e2fdce7782484fce2a4b7c6c2
+AUX zsnes-1.51-stack-align.patch 305 SHA256 27334a55c6502ab257284a952c403de99976493f306f69960d2fb69f2fef5962 SHA512 632016ee78c62b02266f81ddde77c06ffaaffbbaa95d56a28b7830aec1befa2dd6a836a589ff6785a9971608a212868bf73a6a41bef2b348ab138cd03834f37b WHIRLPOOL 3dc5d066ad81a5746567e7a7ec6deffbc57b9e958ff723dbe5efe8713d7875bd62dca8b5c87ef60172ada19ea01c18685ffdf9a9260502c96f969c12a03a68b0
+DIST zsnes151src.tar.bz2 1071712 SHA256 eb013f824f5a9814a714cf0daaea3ea68a1c74fd741e5b0979fcb7964236a866 SHA512 2cec9ad7762fc7a257c6b1d3e190b0ed53565dbafe42e1dee9eb182644392b7dd2c57faa846f63cd30ac079e5c05354d26ce0612d20481a1f54d760d62d95353 WHIRLPOOL a023003bcad23dc1da20338dc6adaf6a4061f70f9968a436c5ffeb3263ead85786909b1c2225c0762cd8f0f0a0757c52773326ad2c800f38fcc714f40e4b2162
+EBUILD zsnes-1.51-r4.ebuild 3233 SHA256 028337974971f404bc485678de8d4a9422e86d256208ad83998490255f82bc8d SHA512 140db768b2719ee45394e568eeb0eecd0652e19dfe224cc860ff19036e144e392c33a6d26c07e518ae3dfa78711dbb8a9ac18c9ad919afc8f573927670705a1a WHIRLPOOL 457eccd78a22bf5b6ba86013e10bc20eb17393651760c8f8edcca56352f20e4ef969f6015081823ea6cdec163713d3b422d7aafc712e4ec9adabbee0905003a0
+MISC ChangeLog 3230 SHA256 05cc7a6a36adf61027ce4f8048dd0882fc65529dd294e299d0c9b009d4ec7b05 SHA512 41f25a69de510351d122afaa5c2d8728da3c792024f276de701b43b32a78cf5c0dcab87cf123270bc64bb783c73117af13e5e95a66ed246a529bec7a5e385210 WHIRLPOOL a93c5ab34415074819878b89444b1a18bbbb13c17232962106478c1bdc05d21396212186b4bb78424f339e454ff60bed7c320fbf8e057e8e8704fd02719ed769
+MISC ChangeLog-2015 12178 SHA256 2a46988cf3a061d0d5856c4950a672fdc12bfef4c22b087b0f735a30a1ed69b1 SHA512 55d81d4dfdee1efd691b66d306df4327b3b40bc7efdf5b328499a7e25998631c89f3c94b3406d2a39a742dbb264c49544db92313d15083e7b43b965d26e6f40a WHIRLPOOL dcd445faadc8ea8ae79dce10fc7a8a7481a0bef416803c7f205ad2fcb512f39779201503a9a0dcba6a47ac78bcceed80b2d5b86a0dd5f2716e6db4eccb62352f
+MISC metadata.xml 484 SHA256 0ee62ef9e4412202371ae0b69f37423cd9b9a65fafcee2e3d9ae7da13207a9a8 SHA512 02318871d54bfa7d9c4ba2a64f3ed7c83bf45b04a5c66dda5659d935b943a2415e6eaad124ac34e3c4235ba57f21c1189b03fec4f622c19eec1873531727a622 WHIRLPOOL 9778a82039d95f7149a107df369c906b036584d8b063511b3c1d584da38dfaecde0fa0a4f783182d88519d85aa59114d26b3b8929da88968eda03d43eca855ae
diff --git a/games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch b/games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch
new file mode 100644
index 000000000000..d3230d6d70d5
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-CC-quotes.patch
@@ -0,0 +1,20 @@
+--- src/Makefile.in.orig
++++ src/Makefile.in
+@@ -95,7 +95,7 @@
+ %.o: %.cpp
+ @CXX@ @CXXFLAGS@ -o $@ -c $<
+ %.o %.h: %.psr $(PSR)
+- ./$(PSR) @PSRFLAGS@ -gcc @CC@ -compile -flags "@CFLAGS@ -O1" -cheader $*.h -fname $* $*.o $<
++ ./$(PSR) @PSRFLAGS@ -gcc "@CC@" -compile -flags "@CFLAGS@ -O1" -cheader $*.h -fname $* $*.o $<
+
+ default: main
+ all: main tools--- zsnes_1_51/src/Makefile.in.orig 2009-02-25 18:02:07.000000000 +0100
+@@ -133,7 +133,7 @@
+
+ include makefile.dep
+ makefile.dep: $(TOOL_D)/depbuild Makefile
+- $(TOOL_D)/depbuild @CC@ "@CFLAGS@" @NASMPATH@ "@NFLAGS@" $(Z_OBJS) > makefile.dep
++ $(TOOL_D)/depbuild "@CC@" "@CFLAGS@" @NASMPATH@ "@NFLAGS@" $(Z_OBJS) > makefile.dep
+
+ Makefile: Makefile.in config.status
+ ./config.status
diff --git a/games-emulation/zsnes/files/zsnes-1.51-arch.patch b/games-emulation/zsnes/files/zsnes-1.51-arch.patch
new file mode 100644
index 000000000000..2c8b690587be
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-arch.patch
@@ -0,0 +1,77 @@
+--- configure.in.orig
++++ configure.in
+@@ -233,72 +233,8 @@
+ debug=no)
+ AC_MSG_CHECKING(if you want gdb friendly executable)
+ AC_MSG_RESULT($debug)
+-if test x$debug = xyes; then
+-dnl - It is easier to debug zsnes with no optimization enabled.
+- ZSNESEXE="zsnesd"
+- PSR_TEMP=""
+- CFLAGS="$CFLAGS -Wall -W -DDEBUG -O0 -fno-omit-frame-pointer -gstabs3"
+- NFLAGS="$NFLAGS -DDEBUG -g -F stabs -s -O0"
+-else
+- ZSNESEXE="zsnes"
+- PSR_TEMP=" rm -f t_\$*.c"
+-
+- CFLAGSBAK="$CFLAGS"
+- AC_ARG_VAR(force_arch, [Force architecture to optimize GCC/G++ for])
+- AC_MSG_CHECKING(which cpu architecture to optimize for)
+- if test x$force_arch != x; then
+- CFLAGS="$CFLAGS -march=$force_arch"
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]])],
+- [AC_MSG_RESULT(forcing $force_arch)],
+- [AC_MSG_RESULT($force_arch ??)
+- AC_MSG_WARN(incorrect force_arch parameter)
+- force_arch=""
+- CFLAGS="$CFLAGSBAK"
+- AC_MSG_CHECKING(for autodetected architecture)])
+- else
+- if test x$ARCH_INFO = x; then
+- case x$target in
+- i686-*-*)
+- AC_MSG_RESULT(guessing i686)
+- CFLAGS="$CFLAGS -march=i686"
+- ;;
+- i586-*-*)
+- AC_MSG_RESULT(guessing i586)
+- CFLAGS="$CFLAGS -march=i586"
+- ;;
+- i486-*-*)
+- AC_MSG_RESULT(guessing i486)
+- CFLAGS="$CFLAGS -march=i486"
+- ;;
+- *)
+- AC_MSG_RESULT(guessing i386)
+- CFLAGS="$CFLAGS -march=i386"
+- AC_MSG_WARN([This is not what you want, use --target or force-arch])
+- ;;
+- esac
+- else
+- AC_MSG_RESULT($ARCH_INFO)
+- CFLAGS="$CFLAGS -march=$ARCH_INFO"
+- fi
+- fi
+-
+- AC_ARG_ENABLE(release,
+- [ --enable-release Build ultra-optimized release binary (zsnes)],
+- release=$enableval,
+- release=no)
+- AC_MSG_CHECKING(if you want crazy optimizations)
+- AC_MSG_RESULT($release)
+- if test x$release = xyes; then
+- if test x$force_arch = x; then
+- AC_MSG_WARN([If you intend to distribute this binary, make sure you use force_arch and set to i586 (or whichever CPU Arch you intend for)])
+- fi
+- CFLAGS="$CFLAGS -O3 -fomit-frame-pointer -fprefetch-loop-arrays -fforce-addr $STRIP -D__RELEASE__"
+- NFLAGS="$NFLAGS -O99999999 -D__RELEASE__"
+- else
+- CFLAGS="$CFLAGS -O3 -fomit-frame-pointer $STRIP"
+- NFLAGS="$NFLAGS -O1"
+- fi
+-fi
++ZSNESEXE="zsnes"
++PSR_TEMP=" rm -f t_\$*.c"
+ CXXFLAGS="$CFLAGS -fno-rtti"
+
+ if test x$enable_jma != xno; then
diff --git a/games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch b/games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch
new file mode 100644
index 000000000000..ba118878a2bd
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-archopt-july-23-update.patch
@@ -0,0 +1,502 @@
+--- tools/archopt.c.old
++++ tools/archopt.c
+@@ -1,8 +1,30 @@
++/*
++Copyright (C) 2005-2007 Nach, grinvader ( http://www.zsnes.com )
++
++This program is free software; you can redistribute it and/or
++modify it under the terms of the GNU General Public License
++version 2 as published by the Free Software Foundation.
++
++This program is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with this program; if not, write to the Free Software
++Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++*/
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
+
++#ifdef _M_X64
++#define __x86_64__
++#endif
++
++#ifdef __GNUC__
+ #ifdef __x86_64__
+ #define cpuid(in, a, b, c, d) asm volatile("cpuid": "=a" (a), "=b" (b), "=c" (c), "=d" (d) : "a" (in));
+ #else
+@@ -13,6 +35,22 @@
+ movl %%ebx,%%edi;\
+ popl %%ebx": "=a" (a), "=D" (b), "=c" (c), "=d" (d) : "a" (in));
+ #endif
++#else
++char cpubuf[256];
++int z_in, z_a, z_b, z_c, z_d;
++void cpuid_run()
++{
++ _asm {
++ mov eax,z_in
++ cpuid
++ mov z_a,eax
++ mov z_b,ebx
++ mov z_c,ecx
++ mov z_d,edx
++ };
++}
++#define cpuid(in, a, b, c, d) z_in = in; cpuid_run(); a = z_a; b = z_b; c = z_c; d = z_d;
++#endif
+
+ char *x86_flags[] =
+ { "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
+@@ -62,6 +100,7 @@
+ {
+ int have = 0x200000;
+ #ifndef __x86_64__
++ #ifdef __GNUC__
+ asm volatile
+ (
+ " pushfl;"
+@@ -76,6 +115,23 @@
+ : "=a" (have)
+ : "c" (have)
+ );
++ #else
++ z_c = have;
++ _asm {
++ mov ecx,z_c
++ pushfd
++ pop eax
++ mov edx,eax
++ xor eax,ecx
++ push eax
++ popfd
++ pushfd
++ pop eax
++ xor eax,edx
++ mov z_a,eax
++ };
++ have = z_a;
++ #endif
+ #endif
+ return(have);
+ }
+@@ -196,238 +252,268 @@
+ cpu = "native";
+ #endif
+ #endif
+-
+- if (!cpu && *cpu_family && *vendor_id)
++ if (!cpu)
+ {
+- if (!strcmp(vendor_id, "AuthenticAMD") || strstr(model_name, "AMD"))
++ if (!cpu && *cpu_family && *vendor_id)
+ {
+- if (strstr(flags, " mmx "))
++ #ifdef __GNUC__
++ if (!strcmp(vendor_id, "AuthenticAMD") || strstr(model_name, "AMD"))
+ {
+- #if __GNUC__ > 2
+- if (strstr(flags, " 3dnow "))
++ if (strstr(flags, " mmx "))
+ {
+- if (strstr(flags, " 3dnowext ") && (atoi(cpu_family) > 5))
++ #if __GNUC__ > 2
++ if (strstr(flags, " 3dnow "))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
+- if (strstr(flags, " sse "))
++ if (strstr(flags, " 3dnowext ") && (atoi(cpu_family) > 5))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- if (strstr(flags, " sse2 ") && strstr(flags, " lm ")) //Need two checks to protect Semprons
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
++ if (strstr(flags, " sse "))
+ {
+- if (strstr(model_name, "Opteron"))
+- {
+- cpu = "opteron";
+- }
+- else if (strstr(model_name, "Athlon(tm) 64")) //Also athlon-fx
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ if (strstr(flags, " sse2 ") && strstr(flags, " lm ")) //Need two checks to protect Semprons
+ {
+- cpu = "athlon64";
++ if (strstr(model_name, "Opteron"))
++ {
++ cpu = "opteron";
++ }
++ else if (strstr(model_name, "Athlon(tm) 64")) //Also athlon-fx
++ {
++ cpu = "athlon64";
++ }
++ else
++ {
++ cpu = "k8";
++ }
+ }
+- else
++ #endif
++ if (!cpu)
+ {
+- cpu = "k8";
++ if (strstr(model_name, "Athlon(tm) 4"))
++ {
++ cpu = "athlon-4";
++ }
++ else if (strstr(model_name, "Athlon(tm) MP"))
++ {
++ cpu = "athlon-mp";
++ }
++ else
++ {
++ cpu = "athlon-xp";
++ }
+ }
+ }
++
++ if (!cpu && (atoi(model) > 3))
++ {
++ cpu = "athlon-tbird";
++ }
+ #endif
++
+ if (!cpu)
+ {
+- if (strstr(model_name, "Athlon(tm) 4"))
+- {
+- cpu = "athlon-4";
+- }
+- else if (strstr(model_name, "Athlon(tm) MP"))
+- {
+- cpu = "athlon-mp";
+- }
+- else
+- {
+- cpu = "athlon-xp";
+- }
++ cpu = "athlon";
+ }
+ }
+
+- if (!cpu && (atoi(model) > 3))
+- {
+- cpu = "athlon-tbird";
+- }
+- #endif
+-
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
+ if (!cpu)
+ {
+- cpu = "athlon";
++ int model_num = atoi(model);
++ if ((model_num == 9) || (model_num >= 13))
++ {
++ cpu = "k6-3";
++ }
++ else
++ {
++ cpu = "k6-2";
++ }
+ }
++ #endif
+ }
++ #endif
+
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 0
+ if (!cpu)
+ {
+- int model_num = atoi(model);
+- if ((model_num == 9) || (model_num >= 13))
+- {
+- cpu = "k6-3";
+- }
+- else
+- {
+- cpu = "k6-2";
+- }
++ cpu = "k6";
+ }
+- #endif
+- }
+- #endif
+-
+- if (!cpu)
+- {
+- cpu = "k6";
+ }
+ }
+- }
+- else if (!strcmp(vendor_id, "GenuineIntel") || strstr(model_name, "Intel"))
+- {
+- #if __GNUC__ > 2
+- if (strstr(flags, " mmx "))
++ else if (!strcmp(vendor_id, "GenuineIntel") || strstr(model_name, "Intel"))
+ {
+- if (strstr(flags, " sse "))
++ #if __GNUC__ > 2
++ if (strstr(flags, " mmx "))
+ {
+- if (strstr(flags, " sse2 "))
++ if (strstr(flags, " sse "))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
+- if (strstr(flags, " pni ") && strcmp(cpu_family, "6"))
++ if (strstr(flags, " sse2 "))
+ {
+- if (strstr(flags, " lm "))
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
++ if (strstr(flags, " pni ") && strcmp(cpu_family, "6"))
+ {
+- cpu = "nocona";
++ if (strstr(flags, " lm "))
++ {
++ cpu = "nocona";
++ }
++ else
++ {
++ cpu = "prescott";
++ }
+ }
+- else
++ #endif
++
++ if (!cpu)
+ {
+- cpu = "prescott";
++ if (!strcmp(cpu_family, "6"))
++ {
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ cpu = "pentium-m";
++ #else
++ cpu = "pentium3";
++ #endif
++ }
++ else
++ {
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ if (strstr(model_name, "Mobile"))
++ {
++ cpu = "pentium4m";
++ }
++ #endif
++
++ if (!cpu)
++ {
++ cpu = "pentium4";
++ }
++ }
+ }
+ }
+- #endif
+-
+- if (!cpu)
++ else
+ {
+- if (!strcmp(cpu_family, "6"))
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ if (strstr(model_name, "Mobile"))
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- cpu = "pentium-m";
+- #else
+- cpu = "pentium3";
+- #endif
++ cpu = "pentium3m";
+ }
+- else
+- {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- if (strstr(model_name, "Mobile"))
+- {
+- cpu = "pentium4m";
+- }
+- #endif
++ #endif
+
+- if (!cpu)
+- {
+- cpu = "pentium4";
+- }
++ if (!cpu)
++ {
++ cpu = "pentium3";
+ }
+ }
+ }
+ else
+ {
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
+- if (strstr(model_name, "Mobile"))
++ if (!strcmp(cpu_family, "6"))
+ {
+- cpu = "pentium3m";
++ cpu = "pentium2";
+ }
+- #endif
+-
+- if (!cpu)
++ else
+ {
+- cpu = "pentium3";
++ cpu = "pentium-mmx";
+ }
+ }
+ }
+- else
++ #endif
++
++ if (!cpu)
++ {
++ int family = atoi(cpu_family);
++ if (family > 5)
++ {
++ cpu = "pentiumpro";
++ }
++ else if (family == 5)
++ {
++ cpu = "pentium";
++ }
++ }
++ }
++ #if __GNUC__ > 2
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
++ else if (!strcmp(vendor_id, "CentaurHauls") && strstr(flags, " mmx "))
++ {
++ if (strstr(flags, " 3dnow "))
+ {
+- if (!strcmp(cpu_family, "6"))
++ if (atoi(cpu_family) > 5)
+ {
+- cpu = "pentium2";
++ cpu = "c3";
+ }
+ else
+ {
+- cpu = "pentium-mmx";
++ cpu = "winchip2";
+ }
+ }
++ #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ else if (strstr(flags, " sse "))
++ {
++ cpu = "c3-2";
++ }
++ #endif
++
++ if (!cpu)
++ {
++ cpu = "winchip-c6";
++ }
+ }
+ #endif
++ #endif
+
+ if (!cpu)
+ {
+ int family = atoi(cpu_family);
+ if (family > 5)
+ {
+- cpu = "pentiumpro";
++ cpu = "i686";
+ }
+ else if (family == 5)
+ {
+- cpu = "pentium";
++ cpu = "i586";
+ }
+- }
+- }
+- #if __GNUC__ > 2
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 2
+- else if (!strcmp(vendor_id, "CentaurHauls") && strstr(flags, " mmx "))
+- {
+- if (strstr(flags, " 3dnow "))
+- {
+- if (atoi(cpu_family) > 5)
++ else if (family == 4)
+ {
+- cpu = "c3";
++ cpu = "i486";
+ }
+ else
+ {
+- cpu = "winchip2";
++ cpu = "i386";
+ }
+ }
+- #if __GNUC__ > 3 || __GNUC_MINOR__ > 3
++ #else //MSVC
++ cpu = cpubuf;
++ *cpu = 0;
++
++ if (strstr(flags, " sse2 "))
++ {
++ strcat(cpu, " /arch:SSE2");
++ }
+ else if (strstr(flags, " sse "))
+ {
+- cpu = "c3-2";
++ strcat(cpu, " /arch:SSE");
+ }
+- #endif
+
+- if (!cpu)
++ #ifdef __x86_64__
++ if (strstr(flags, " lm ")) //64 bit
+ {
+- cpu = "winchip-c6";
++ if (!strcmp(vendor_id, "AuthenticAMD") || strstr(model_name, "AMD"))
++ {
++ strcat(cpu, " /favor:AMD64");
++ }
++ else if (!strcmp(vendor_id, "GenuineIntel") || strstr(model_name, "Intel"))
++ {
++ strcat(cpu, " /favor:EM64T");
++ }
+ }
++ #endif
++ #endif
+ }
+- #endif
+- #endif
+-
+- if (!cpu)
++ else
+ {
+- int family = atoi(cpu_family);
+- if (family > 5)
+- {
+- cpu = "i686";
+- }
+- else if (family == 5)
+- {
+- cpu = "i586";
+- }
+- else if (family == 4)
+- {
+- cpu = "i486";
+- }
+- else
+- {
+- cpu = "i386";
+- }
++ puts("Could not open /proc/cpuinfo, and CPUID instruction not available.");
++ return(1);
+ }
+- puts(cpu);
+- }
+- else
+- {
+- puts("Could not open /proc/cpuinfo, and CPUID instruction not available.");
+- return(1);
+ }
++ puts(cpu);
+
+ return(0);
+ }
diff --git a/games-emulation/zsnes/files/zsnes-1.51-buffer.patch b/games-emulation/zsnes/files/zsnes-1.51-buffer.patch
new file mode 100644
index 000000000000..5f3049b315ed
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-buffer.patch
@@ -0,0 +1,85 @@
+--- zsnes_1_51/src/initc.c.fortify
++++ zsnes_1_51/src/initc.c
+@@ -1464,8 +1464,8 @@
+ clearmem2();
+ }
+
+-extern unsigned char BRRBuffer[32];
+-extern unsigned char echoon0;
++extern unsigned char BRRBuffer[];
++extern unsigned char echoon0[];
+ extern unsigned int PHdspsave;
+ extern unsigned int PHdspsave2;
+ unsigned char echobuf[90000];
+@@ -1479,7 +1479,7 @@
+ memset(vidmemch4, 0, 4096);
+ memset(vidmemch8, 0, 4096);
+ memset(BRRBuffer, 0, PHdspsave);
+- memset(&echoon0, 0, PHdspsave2);
++ memset(echoon0, 0, PHdspsave2);
+ memset(echobuf, 0, 90000);
+ memset(spcBuffera, 0, 65536*4+4096);
+ memset(DSPMem, 0, 256);
+@@ -1822,7 +1822,7 @@
+
+ extern unsigned int nmiprevaddrl, nmiprevaddrh, nmirept, nmiprevline, nmistatus;
+ extern unsigned char spcnumread, yesoutofmemory;
+-extern unsigned char NextLineCache, sramsavedis, sndrot, regsbackup[3019];
++extern unsigned char NextLineCache, sramsavedis, sndrot[], regsbackup[3019];
+ extern unsigned int Voice0Freq, Voice1Freq, Voice2Freq, Voice3Freq;
+ extern unsigned int Voice4Freq, Voice5Freq, Voice6Freq, Voice7Freq;
+ extern unsigned int dspPAdj;
+@@ -2621,7 +2621,7 @@
+ }
+
+ sramsavedis = 0;
+- memcpy(&sndrot, regsbackup, 3019);
++ memcpy(sndrot, regsbackup, 3019);
+
+ if (yesoutofmemory) { asm_call(outofmemfix); }
+ asm_call(GUIDoReset);
+--- zsnes_1_51/src/zstate.c.fortify
++++ zsnes_1_51/src/zstate.c
+@@ -99,15 +99,15 @@
+ copy_func(buffer, &cycpbl, 4);
+ copy_func(buffer, &cycpblt, 4);
+ //SNES PPU Register status
+- copy_func(buffer, &sndrot, 3019);
++ copy_func(buffer, sndrot, 3019);
+ }
+
+ static void copy_spc_data(unsigned char **buffer, void (*copy_func)(unsigned char **, void *, size_t))
+ {
+ //SPC stuff, DSP stuff
+ copy_func(buffer, SPCRAM, PHspcsave);
+- copy_func(buffer, &BRRBuffer, PHdspsave);
+- copy_func(buffer, &DSPMem, sizeof(DSPMem));
++ copy_func(buffer, BRRBuffer, PHdspsave);
++ copy_func(buffer, DSPMem, sizeof(DSPMem));
+ }
+
+ static void copy_extra_data(unsigned char **buffer, void (*copy_func)(unsigned char **, void *, size_t))
+@@ -156,7 +156,7 @@
+ /*
+ if (buffer) //Rewind stuff
+ {
+- copy_func(&buffer, &echoon0, PHdspsave2);
++ copy_func(&buffer, echoon0, PHdspsave2);
+ }
+ */
+ }
+--- zsnes_1_51/src/gblvars.h.fortify
++++ zsnes_1_51/src/gblvars.h
+@@ -33,9 +33,9 @@
+ extern unsigned int SfxR0, *setaramdata, ramsize, *sram, nmiprevaddrh;
+ extern unsigned int tempesi, tempedi, tempedx, tempebp;
+ extern unsigned int SPCMultA, PHnum2writespc7110reg, PHdspsave2;
+-extern unsigned char sndrot, SPCRAM[65472], DSPMem[256], SA1Status, *SA1RAMArea;
+-extern unsigned char DSP1Enable, DSP1COp, prevoamptr, BRRBuffer[32], *romdata;
+-extern unsigned char curcyc, echoon0, spcnumread, NextLineCache, HIRQNextExe;
++extern unsigned char sndrot[], SPCRAM[65472], DSPMem[256], SA1Status, *SA1RAMArea;
++extern unsigned char DSP1Enable, DSP1COp, prevoamptr, BRRBuffer[], *romdata;
++extern unsigned char curcyc, echoon0[], spcnumread, NextLineCache, HIRQNextExe;
+ extern unsigned char vidmemch4[4096], vidmemch8[4096], vidmemch2[4096];
+
+ extern bool C4Enable, SFXEnable, SA1Enable, SPC7110Enable, SETAEnable, DSP4Enable, spcon;
diff --git a/games-emulation/zsnes/files/zsnes-1.51-cross-compile.patch b/games-emulation/zsnes/files/zsnes-1.51-cross-compile.patch
new file mode 100644
index 000000000000..5823c6aa6ade
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-cross-compile.patch
@@ -0,0 +1,34 @@
+--- a/src/acinclude.m4
++++ b/src/acinclude.m4
+@@ -107,7 +107,7 @@ int main (int argc, char *argv[])
+ with_zlib=yes,
+ with_zlib=no,
+ [AC_MSG_RESULT(cross-compiling)
+- with_zlib=""
++ with_zlib="cross"
+ AC_MSG_WARN(Assuming zlib is available)])
+
+ if test x$with_zlib != x; then
+@@ -116,7 +116,7 @@ fi
+ if test x$with_zlib = xyes; then
+ ZLIB_VERSION=$(<conf.zlibtest)
+ ifelse([$2], , :, [$2])
+-else
++elif test x$with_zlib != xcross; then
+ ZLIB_CFLAGS=""
+ ZLIB_LIBS=""
+ ZLIB_VERSION=""
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -103,8 +103,10 @@ main: makefile.dep $(Z_OBJS)
+ @ZC@ -o @ZSNESEXE@ $(Z_OBJS) @ZCFLAGS@ @LDFLAGS@
+ rm -f version.o
+
++BUILD_CXX ?= g++
++BUILD_CXXFLAGS ?= -O2 -pipe
+ $(PSR): parsegen.cpp
+- @CXX@ @CXXFLAGS@ -o $@ $< -lz
++ $(BUILD_CXX) $(BUILD_CXXFLAGS) -o $@ $< -lz
+
+ TOOLSEXE=$(TOOL_D)/archopt $(TOOL_D)/cutrtype $(TOOL_D)/extraext\
+ $(TOOL_D)/macroll $(TOOL_D)/minwhite $(TOOL_D)/nreplace\
diff --git a/games-emulation/zsnes/files/zsnes-1.51-depbuild.patch b/games-emulation/zsnes/files/zsnes-1.51-depbuild.patch
new file mode 100644
index 000000000000..2dbb5f558a46
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-depbuild.patch
@@ -0,0 +1,24 @@
+--- src/tools/depbuild.cpp.orig
++++ src/tools/depbuild.cpp
+@@ -130,7 +130,20 @@
+ void dependency_calculate_asm(const char *filename)
+ {
+ string command = nasm + " " + nflags + " -M " + filename;
+- system(command.c_str());
++ FILE *fp = popen(command.c_str(), "r");
++ if (fp)
++ {
++ char line[256];
++ while (fgets(line, sizeof(line), fp)) //Process all lines of output
++ {
++ cout << line;
++ }
++ pclose(fp);
++ }
++ else
++ {
++ cerr << "Failed on: " << filename << "\n";
++ }
+ }
+
+ void dependency_calculate_psr(const char *filename)
diff --git a/games-emulation/zsnes/files/zsnes-1.51-gcc43.patch b/games-emulation/zsnes/files/zsnes-1.51-gcc43.patch
new file mode 100644
index 000000000000..4650bc12a7d1
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-gcc43.patch
@@ -0,0 +1,48 @@
+--- src/parsegen.cpp
++++ src/parsegen.cpp
+@@ -31,6 +31,7 @@
+ #include <sstream>
+ #include <set>
+ #include <stack>
++#include <cstring>
+ using namespace std;
+
+ #include <errno.h>
+@@ -1828,7 +1829,7 @@
+ }
+ }
+
+-int main(size_t argc, const char **argv)
++int main(int argc, const char **argv)
+ {
+ const char *cheader_file = 0;
+ bool compile = false;
+--- src/tools/depbuild.cpp
++++ src/tools/depbuild.cpp
+@@ -24,6 +24,7 @@
+ #include <iostream>
+ #include <string>
+ #include <cstdio>
++#include <cstdlib>
+ using namespace std;
+
+ #include "fileutil.h"
+@@ -183,7 +184,7 @@
+ }
+ }
+
+-int main(size_t argc, const char *const *const argv)
++int main(int argc, const char *const *const argv)
+ {
+ if (argc < 5)
+ {
+--- src/tools/strutil.h
++++ src/tools/strutil.h
+@@ -25,6 +25,7 @@
+ #include <string>
+ #include <vector>
+ #include <cctype>
++#include <cstring>
+
+ struct ci_char_traits : public std::char_traits<char>
+ {
diff --git a/games-emulation/zsnes/files/zsnes-1.51-gcc47.patch b/games-emulation/zsnes/files/zsnes-1.51-gcc47.patch
new file mode 100644
index 000000000000..e58102415212
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-gcc47.patch
@@ -0,0 +1,15 @@
+Fix compile with gcc47
+Bug #419635
+https://bugs.gentoo.org/show_bug.cgi?id=419635
+Submitted by Nikos Chantziaras
+
+--- a/src/tools/depbuild.cpp
++++ b/src/tools/depbuild.cpp
+@@ -25,6 +25,7 @@
+ #include <string>
+ #include <cstdio>
+ #include <cstdlib>
++#include <unistd.h>
+ using namespace std;
+
+ #include "fileutil.h"
diff --git a/games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch b/games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch
new file mode 100644
index 000000000000..880e08c698fe
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-libao-thread.patch
@@ -0,0 +1,25 @@
+--- linux/audio.c.old 2007-01-09 20:19:12.000000000 -0500
++++ linux/audio.c 2007-12-30 20:33:07.000000000 -0500
+@@ -177,11 +177,7 @@
+ }
+ else
+ {
+- if (pthread_create(&audio_thread, 0, SoundThread_ao, 0))
+- {
+- puts("pthread_create() failed.");
+- }
+- else if (pthread_mutex_init(&audio_mutex, 0))
++ if (pthread_mutex_init(&audio_mutex, 0))
+ {
+ puts("pthread_mutex_init() failed.");
+ }
+@@ -189,6 +185,10 @@
+ {
+ puts("pthread_cond_init() failed.");
+ }
++ else if (pthread_create(&audio_thread, 0, SoundThread_ao, 0))
++ {
++ puts("pthread_create() failed.");
++ }
+ InitSampleControl();
+ }
diff --git a/games-emulation/zsnes/files/zsnes-1.51-libpng.patch b/games-emulation/zsnes/files/zsnes-1.51-libpng.patch
new file mode 100644
index 000000000000..4e49054c0972
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-libpng.patch
@@ -0,0 +1,33 @@
+--- acinclude.m4
++++ acinclude.m4
+@@ -163,21 +163,21 @@
+ libpng_prefix="")
+
+ min_libpng_version=ifelse([$1], ,1.2.0,$1)
+-tempLIBS="$LIBS"
+-tempCFLAGS="$CFLAGS"
+-if test x$libpng_prefix != x ; then
+- LIBPNG_LIBS="-L$libpng_prefix"
+- LIBPNG_CFLAGS="-I$libpng_prefix"
+-fi
+-LIBPNG_LIBS="$LIBPNG_LIBS -lpng -lm"
+-LIBS="$LIBS $LIBPNG_LIBS"
+-CFLAGS="$CFLAGS $LIBPNG_CFLAGS"
+
+ AC_MSG_CHECKING(for libpng - version >= $min_libpng_version)
+
+ dnl <--- disable for no user choice part #2
+ if test x$enable_libpng != xno; then
+ dnl --->
++ tempLIBS="$LIBS"
++ tempCFLAGS="$CFLAGS"
++ if test x$libpng_prefix != x ; then
++ LIBPNG_LIBS="-L$libpng_prefix"
++ LIBPNG_CFLAGS="-I$libpng_prefix"
++ fi
++ LIBPNG_LIBS="$LIBPNG_LIBS -lpng -lm"
++ LIBS="$LIBS $LIBPNG_LIBS"
++ CFLAGS="$CFLAGS $LIBPNG_CFLAGS"
+
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #include <png.h>
diff --git a/games-emulation/zsnes/files/zsnes-1.51-libpng15.patch b/games-emulation/zsnes/files/zsnes-1.51-libpng15.patch
new file mode 100644
index 000000000000..b32c30967547
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-libpng15.patch
@@ -0,0 +1,12 @@
+Use existing png_set_IHDR() and stop accessing PNG structure members directly
+
+--- src/zip/zpng.c
++++ src/zip/zpng.c
+@@ -129,7 +129,6 @@
+ png_set_IHDR(png_ptr, info_ptr, width, height, 8,
+ PNG_COLOR_TYPE_RGB, PNG_INTERLACE_NONE,
+ PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
+- info_ptr->color_type = PNG_COLOR_TYPE_RGB;
+
+ //Allocate an array of scanline pointers
+ row_pointers = (png_bytep*)malloc(height*sizeof(png_bytep));
diff --git a/games-emulation/zsnes/files/zsnes-1.51-stack-align.patch b/games-emulation/zsnes/files/zsnes-1.51-stack-align.patch
new file mode 100644
index 000000000000..32136643caec
--- /dev/null
+++ b/games-emulation/zsnes/files/zsnes-1.51-stack-align.patch
@@ -0,0 +1,15 @@
+--- zsnes_1_51/src/linux/sdllink.c.old
++++ zsnes_1_51/src/linux/sdllink.c
+@@ -773,11 +773,11 @@ BOOL InitInput()
+ {
+ InitJoystickInput();
+ return TRUE;
+ }
+
+-int startgame()
++int __attribute__((force_align_arg_pointer)) startgame()
+ {
+ static bool ranonce = false;
+ int status;
+
+ if (!ranonce)
diff --git a/games-emulation/zsnes/metadata.xml b/games-emulation/zsnes/metadata.xml
new file mode 100644
index 000000000000..8eb5529c51c4
--- /dev/null
+++ b/games-emulation/zsnes/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <use>
+ <flag name="debug">Enable the builtin debugger</flag>
+ <flag name="pax_kernel">Triggers a paxmarking of the binary</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">zsnes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/zsnes/zsnes-1.51-r4.ebuild b/games-emulation/zsnes/zsnes-1.51-r4.ebuild
new file mode 100644
index 000000000000..64f551b5bcc3
--- /dev/null
+++ b/games-emulation/zsnes/zsnes-1.51-r4.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils autotools flag-o-matic toolchain-funcs multilib pax-utils games
+
+DESCRIPTION="SNES (Super Nintendo) emulator that uses x86 assembly"
+HOMEPAGE="http://www.zsnes.com/ http://ipherswipsite.com/zsnes/"
+SRC_URI="mirror://sourceforge/zsnes/${PN}${PV//./}src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* amd64 x86 ~x86-fbsd ~amd64-linux ~x86-linux"
+IUSE="ao custom-cflags +debug opengl pax_kernel png"
+
+RDEPEND="
+ media-libs/libsdl[sound,video,abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.3-r1[abi_x86_32(-)]
+ ao? ( media-libs/libao[abi_x86_32(-)] )
+ debug? ( sys-libs/ncurses:0[abi_x86_32(-)] )
+ opengl? ( virtual/opengl[abi_x86_32(-)] )
+ png? ( media-libs/libpng:0[abi_x86_32(-)] )"
+DEPEND="${RDEPEND}
+ dev-lang/nasm
+ debug? ( virtual/pkgconfig )
+ amd64? ( >=sys-apps/portage-2.1 )"
+
+S=${WORKDIR}/${PN}_${PV//./_}/src
+
+src_prepare() {
+ # Fixing compilation without libpng installed
+ # Fix bug #186111
+ # Fix bug #214697
+ # Fix bug #170108
+ # Fix bug #260247
+ # Fix compability with libpng15 wrt #378735
+ # Fix buffer overwrite #257963
+ # Fix gcc47 compile #419635
+ # Fix stack alignment issue #503138
+ epatch \
+ "${FILESDIR}"/${P}-libpng.patch \
+ "${FILESDIR}"/${P}-archopt-july-23-update.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-libao-thread.patch \
+ "${FILESDIR}"/${P}-depbuild.patch \
+ "${FILESDIR}"/${P}-CC-quotes.patch \
+ "${FILESDIR}"/${P}-libpng15.patch \
+ "${FILESDIR}"/${P}-buffer.patch \
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${FILESDIR}"/${P}-stack-align.patch \
+ "${FILESDIR}"/${P}-cross-compile.patch \
+ "${FILESDIR}"/${P}-arch.patch
+
+ # The sdl detection logic uses AC_PROG_PATH instead of
+ # AC_PROG_TOOL, so force the var to get set the way we
+ # need for things to work correctly.
+ tc-is-cross-compiler && export ac_cv_path_SDL_CONFIG=${CHOST}-sdl-config
+
+ sed -i -e '67i#define OF(x) x' zip/zunzip.h || die
+
+ # Remove hardcoded CFLAGS and LDFLAGS
+ sed -i \
+ -e '/^CFLAGS=.*local/s:-pipe.*:-Wall -I.":' \
+ -e '/^LDFLAGS=.*local/d' \
+ -e '/\w*CFLAGS=.*fomit/s:-O3.*$STRIP::' \
+ -e '/lncurses/s:-lncurses:`pkg-config ncurses --libs`:' \
+ -e '/lcurses/s:-lcurses:`pkg-config ncurses --libs`:' \
+ configure.in || die
+ sed -i \
+ -e 's/configure.in/configure.ac/' \
+ Makefile.in || die
+ mv configure.in configure.ac || die
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ export BUILD_CXX=$(tc-getBUILD_CXX)
+ export NFLAGS=-O1
+ use amd64 && multilib_toolchain_setup x86
+ use custom-cflags || strip-flags
+
+ append-flags -U_FORTIFY_SOURCE #257963
+
+ egamesconf \
+ $(use_enable ao libao) \
+ $(use_enable debug debugger) \
+ $(use_enable png libpng) \
+ $(use_enable opengl) \
+ --disable-debug \
+ --disable-cpucheck
+}
+
+src_compile() {
+ emake makefile.dep
+ emake
+}
+
+src_install() {
+ dogamesbin zsnes
+ if use pax_kernel; then
+ pax-mark m "${D}""${GAMES_BINDIR}"/zsnes || die
+ fi
+ newman linux/zsnes.1 zsnes.6
+ dodoc \
+ ../docs/{readme.1st,authors.txt,srcinfo.txt,stdards.txt,support.txt,thanks.txt,todo.txt,README.LINUX} \
+ ../docs/readme.txt/*
+ dohtml -r ../docs/readme.htm/*
+ make_desktop_entry zsnes ZSNES
+ newicon icons/48x48x32.png ${PN}.png
+ prepgamesdirs
+}