summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-action
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-action')
-rw-r--r--games-action/0verkill/0verkill-0.16-r3.ebuild66
-rw-r--r--games-action/0verkill/Manifest1
-rw-r--r--games-action/0verkill/files/0verkill-0.16-CC.patch50
-rw-r--r--games-action/0verkill/files/0verkill-0.16-docs.patch32
-rw-r--r--games-action/0verkill/files/0verkill-0.16-gentoo-paths.patch23
-rw-r--r--games-action/0verkill/files/0verkill-0.16-home-overflow.patch26
-rw-r--r--games-action/0verkill/files/0verkill-0.16-ovflfix.patch24
-rw-r--r--games-action/0verkill/files/0verkill-0.16-segv.patch39
-rw-r--r--games-action/0verkill/files/0verkill-0.16-underflow-check.patch17
-rw-r--r--games-action/0verkill/metadata.xml5
-rw-r--r--games-action/abuse/Manifest1
-rw-r--r--games-action/abuse/abuse-0.8.ebuild46
-rw-r--r--games-action/abuse/files/abuse-0.8-gentoo.patch24
-rw-r--r--games-action/abuse/metadata.xml5
-rw-r--r--games-action/accelerator3d/Manifest1
-rw-r--r--games-action/accelerator3d/accelerator3d-0.1.1-r2.ebuild45
-rw-r--r--games-action/accelerator3d/files/accelerator3d-0.1.1-gentoo-paths.patch53
-rw-r--r--games-action/accelerator3d/files/accelerator3d-0.1.1-gllightmodel.patch11
-rw-r--r--games-action/accelerator3d/metadata.xml8
-rw-r--r--games-action/armagetronad/Manifest1
-rw-r--r--games-action/armagetronad/armagetronad-0.2.8.3.2.ebuild76
-rw-r--r--games-action/armagetronad/metadata.xml8
-rw-r--r--games-action/atanks/Manifest1
-rw-r--r--games-action/atanks/atanks-6.1.ebuild52
-rw-r--r--games-action/atanks/metadata.xml8
-rw-r--r--games-action/awesomenauts/Manifest1
-rw-r--r--games-action/awesomenauts/awesomenauts-2013.5.21.3.ebuild100
-rw-r--r--games-action/awesomenauts/metadata.xml10
-rw-r--r--games-action/barrage/Manifest1
-rw-r--r--games-action/barrage/barrage-1.0.4.ebuild31
-rw-r--r--games-action/barrage/metadata.xml8
-rw-r--r--games-action/battalion/Manifest1
-rw-r--r--games-action/battalion/battalion-1.4b.ebuild70
-rw-r--r--games-action/battalion/files/battalion-1.4b-warning.patch12
-rw-r--r--games-action/battalion/metadata.xml5
-rw-r--r--games-action/beathazardultra/Manifest1
-rw-r--r--games-action/beathazardultra/beathazardultra-20130308.ebuild83
-rw-r--r--games-action/beathazardultra/metadata.xml10
-rw-r--r--games-action/bomberclone/Manifest1
-rw-r--r--games-action/bomberclone/bomberclone-0.11.8.ebuild50
-rw-r--r--games-action/bomberclone/files/bomberclone-0.11.8-underlink.patch20
-rw-r--r--games-action/bomberclone/metadata.xml8
-rw-r--r--games-action/brutal-legend/Manifest1
-rw-r--r--games-action/brutal-legend/brutal-legend-20130615-r1.ebuild87
-rw-r--r--games-action/brutal-legend/metadata.xml23
-rw-r--r--games-action/btanks/Manifest1
-rw-r--r--games-action/btanks/btanks-0.9.8083.ebuild54
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-gcc46.patch10
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-gcc47.patch103
-rw-r--r--games-action/btanks/files/btanks-0.9.8083-scons-blows.patch93
-rw-r--r--games-action/btanks/metadata.xml16
-rw-r--r--games-action/bzflag/Manifest1
-rw-r--r--games-action/bzflag/bzflag-2.4.2.ebuild71
-rw-r--r--games-action/bzflag/files/bzflag-2.4.2-nocxxflags.patch56
-rw-r--r--games-action/bzflag/metadata.xml8
-rw-r--r--games-action/chickens/Manifest1
-rw-r--r--games-action/chickens/chickens-0.2.4.ebuild59
-rw-r--r--games-action/chickens/metadata.xml5
-rw-r--r--games-action/chromium-bsu/Manifest1
-rw-r--r--games-action/chromium-bsu/chromium-bsu-0.9.15.1.ebuild78
-rw-r--r--games-action/chromium-bsu/metadata.xml14
-rw-r--r--games-action/clanbomber/Manifest1
-rw-r--r--games-action/clanbomber/clanbomber-2.1.1.ebuild45
-rw-r--r--games-action/clanbomber/files/clanbomber-2.1.1-automake112.patch11
-rw-r--r--games-action/clanbomber/files/clanbomber-2.1.1-boost150.patch31
-rw-r--r--games-action/clanbomber/metadata.xml12
-rw-r--r--games-action/cs2d/Manifest5
-rw-r--r--games-action/cs2d/cs2d-0123.ebuild72
-rw-r--r--games-action/cs2d/cs2d-0127.ebuild71
-rw-r--r--games-action/cs2d/metadata.xml13
-rw-r--r--games-action/d1x-rebirth/Manifest7
-rw-r--r--games-action/d1x-rebirth/d1x-rebirth-0.58.1.ebuild108
-rw-r--r--games-action/d1x-rebirth/files/d1x-rebirth-0.58.1-flags.patch11
-rw-r--r--games-action/d1x-rebirth/metadata.xml21
-rw-r--r--games-action/d2x-rebirth/Manifest4
-rw-r--r--games-action/d2x-rebirth/d2x-rebirth-0.58.1.ebuild94
-rw-r--r--games-action/d2x-rebirth/files/d2x-rebirth-0.58.1-flags.patch10
-rw-r--r--games-action/d2x-rebirth/metadata.xml18
-rw-r--r--games-action/deathchase3d/Manifest1
-rw-r--r--games-action/deathchase3d/deathchase3d-0.9.ebuild27
-rw-r--r--games-action/deathchase3d/files/deathchase3d-0.9-underlink.patch11
-rw-r--r--games-action/deathchase3d/metadata.xml5
-rw-r--r--games-action/descent1-demodata/Manifest1
-rw-r--r--games-action/descent1-demodata/descent1-demodata-1.4.ebuild61
-rw-r--r--games-action/descent1-demodata/metadata.xml11
-rw-r--r--games-action/descent2-data/descent2-data-1.0.ebuild99
-rw-r--r--games-action/descent2-data/metadata.xml5
-rw-r--r--games-action/descent2-demodata/Manifest1
-rw-r--r--games-action/descent2-demodata/descent2-demodata-1.0.ebuild74
-rw-r--r--games-action/descent2-demodata/metadata.xml5
-rw-r--r--games-action/descent3-demo/Manifest1
-rw-r--r--games-action/descent3-demo/descent3-demo-1.4.0a.ebuild63
-rw-r--r--games-action/descent3-demo/metadata.xml12
-rw-r--r--games-action/descent3/Manifest2
-rw-r--r--games-action/descent3/descent3-1.4.0b-r2.ebuild102
-rw-r--r--games-action/descent3/metadata.xml8
-rw-r--r--games-action/extreme-tuxracer/Manifest1
-rw-r--r--games-action/extreme-tuxracer/extreme-tuxracer-0.6.0.ebuild58
-rw-r--r--games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-libsdl.patch39
-rw-r--r--games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-segfault.patch8
-rw-r--r--games-action/extreme-tuxracer/files/extreme-tuxracer.svg210
-rw-r--r--games-action/extreme-tuxracer/metadata.xml12
-rw-r--r--games-action/fakk2/fakk2-1.02.ebuild68
-rw-r--r--games-action/fakk2/metadata.xml8
-rw-r--r--games-action/formido/Manifest2
-rw-r--r--games-action/formido/formido-1.0.1.ebuild47
-rw-r--r--games-action/formido/metadata.xml5
-rw-r--r--games-action/garden/Manifest2
-rw-r--r--games-action/garden/files/garden-1.0.8-dash.patch33
-rw-r--r--games-action/garden/files/garden-1.0.8-drop-AS_INIT.patch19
-rw-r--r--games-action/garden/files/garden-1.0.8-underlink.patch19
-rw-r--r--games-action/garden/files/garden-1.0.9-dash.patch33
-rw-r--r--games-action/garden/files/garden-1.0.9-resources.patch7
-rw-r--r--games-action/garden/garden-1.0.8-r1.ebuild48
-rw-r--r--games-action/garden/garden-1.0.9.ebuild47
-rw-r--r--games-action/garden/metadata.xml8
-rw-r--r--games-action/geki2-KXL/Manifest2
-rw-r--r--games-action/geki2-KXL/files/geki2-KXL-2.0.3-cflags.patch9
-rw-r--r--games-action/geki2-KXL/files/geki2-KXL-2.0.3-paths.patch44
-rw-r--r--games-action/geki2-KXL/geki2-KXL-2.0.3-r2.ebuild41
-rw-r--r--games-action/geki2-KXL/metadata.xml5
-rw-r--r--games-action/geki3-KXL/Manifest2
-rw-r--r--games-action/geki3-KXL/files/geki3-KXL-1.0.3-paths.patch41
-rw-r--r--games-action/geki3-KXL/geki3-KXL-1.0.3-r2.ebuild44
-rw-r--r--games-action/geki3-KXL/metadata.xml5
-rw-r--r--games-action/gltron/Manifest2
-rw-r--r--games-action/gltron/files/gltron-0.70-configure.patch24
-rw-r--r--games-action/gltron/files/gltron-0.70-debian.patch35
-rw-r--r--games-action/gltron/files/gltron-0.70-gcc49.patch13
-rw-r--r--games-action/gltron/files/gltron-0.70-prototypes.patch24
-rw-r--r--games-action/gltron/gltron-0.70-r1.ebuild52
-rw-r--r--games-action/gltron/metadata.xml8
-rw-r--r--games-action/heretic2-demo/Manifest1
-rw-r--r--games-action/heretic2-demo/heretic2-demo-1.06a.ebuild58
-rw-r--r--games-action/heretic2-demo/metadata.xml8
-rw-r--r--games-action/heretic2/Manifest3
-rw-r--r--games-action/heretic2/heretic2-1.06c-r1.ebuild85
-rw-r--r--games-action/heretic2/metadata.xml9
-rw-r--r--games-action/heroes/Manifest4
-rw-r--r--games-action/heroes/files/0.21-cvs-segfault-fix.patch17
-rw-r--r--games-action/heroes/files/heroes-0.21-automake-1.12.patch11
-rw-r--r--games-action/heroes/files/heroes-0.21-gcc4.patch184
-rw-r--r--games-action/heroes/files/heroes-0.21-underlink.patch11
-rw-r--r--games-action/heroes/heroes-0.21-r1.ebuild71
-rw-r--r--games-action/heroes/metadata.xml8
-rw-r--r--games-action/hotline-miami/Manifest1
-rw-r--r--games-action/hotline-miami/hotline-miami-1.0.9a_p20140221.ebuild88
-rw-r--r--games-action/hotline-miami/metadata.xml9
-rw-r--r--games-action/intrusion2/Manifest1
-rw-r--r--games-action/intrusion2/intrusion2-1.024.ebuild75
-rw-r--r--games-action/intrusion2/metadata.xml5
-rw-r--r--games-action/koth/Manifest1
-rw-r--r--games-action/koth/files/koth-0.8.0-gcc-3.4.patch29
-rw-r--r--games-action/koth/koth-0.8.0.ebuild37
-rw-r--r--games-action/koth/metadata.xml8
-rw-r--r--games-action/lugaru-demo/Manifest1
-rw-r--r--games-action/lugaru-demo/lugaru-demo-1.0c.ebuild58
-rw-r--r--games-action/lugaru-demo/metadata.xml5
-rw-r--r--games-action/lugaru/Manifest1
-rw-r--r--games-action/lugaru/lugaru-1.0c-r1.ebuild59
-rw-r--r--games-action/lugaru/metadata.xml5
-rw-r--r--games-action/luola/Manifest3
-rw-r--r--games-action/luola/files/luola-1.3.2-underlink.patch11
-rw-r--r--games-action/luola/luola-1.3.2.ebuild59
-rw-r--r--games-action/luola/metadata.xml8
-rw-r--r--games-action/maelstrom/Manifest1
-rw-r--r--games-action/maelstrom/files/maelstrom-3.0.6-64bits.patch15
-rw-r--r--games-action/maelstrom/files/maelstrom-3.0.6-gcc34.patch30
-rw-r--r--games-action/maelstrom/files/maelstrom-3.0.6-r1-security.patch380
-rw-r--r--games-action/maelstrom/files/maelstrom-3.0.6-security.patch380
-rw-r--r--games-action/maelstrom/files/maelstrom-3.0.6-warnings.patch20
-rw-r--r--games-action/maelstrom/files/maelstrom-gcc34.patch30
-rw-r--r--games-action/maelstrom/maelstrom-3.0.6-r2.ebuild60
-rw-r--r--games-action/maelstrom/metadata.xml5
-rw-r--r--games-action/metadata.xml35
-rw-r--r--games-action/minetest/Manifest1
-rw-r--r--games-action/minetest/files/minetest-0.4.10-as-needed.patch35
-rw-r--r--games-action/minetest/files/minetest-0.4.10-shared-irrlicht.patch23
-rw-r--r--games-action/minetest/files/minetest-0.4.10-system-lua.patch37
-rw-r--r--games-action/minetest/files/minetestserver.confd16
-rw-r--r--games-action/minetest/files/minetestserver.initd36
-rw-r--r--games-action/minetest/metadata.xml55
-rw-r--r--games-action/minetest/minetest-0.4.10-r1.ebuild150
-rw-r--r--games-action/minetest/minetest-0.4.10-r2.ebuild147
-rw-r--r--games-action/minetest_game/Manifest1
-rw-r--r--games-action/minetest_game/metadata.xml15
-rw-r--r--games-action/minetest_game/minetest_game-0.4.10.ebuild31
-rw-r--r--games-action/moon-buggy/Manifest1
-rw-r--r--games-action/moon-buggy/metadata.xml5
-rw-r--r--games-action/moon-buggy/moon-buggy-1.0.51.ebuild40
-rw-r--r--games-action/mutantstorm-demo/Manifest1
-rw-r--r--games-action/mutantstorm-demo/metadata.xml37
-rw-r--r--games-action/mutantstorm-demo/mutantstorm-demo-1.33.ebuild45
-rw-r--r--games-action/nighthawk/Manifest1
-rw-r--r--games-action/nighthawk/files/nighthawk-2.2-gcc42.patch24
-rw-r--r--games-action/nighthawk/files/nighthawk.patch46
-rw-r--r--games-action/nighthawk/metadata.xml5
-rw-r--r--games-action/nighthawk/nighthawk-2.2.ebuild31
-rw-r--r--games-action/noiz2sa/Manifest1
-rw-r--r--games-action/noiz2sa/files/noiz2sa-0.51a-gcc41.patch17
-rw-r--r--games-action/noiz2sa/files/noiz2sa-0.51a-underlink.patch31
-rw-r--r--games-action/noiz2sa/metadata.xml8
-rw-r--r--games-action/noiz2sa/noiz2sa-0.51a.ebuild46
-rw-r--r--games-action/openastromenace/Manifest1
-rw-r--r--games-action/openastromenace/metadata.xml8
-rw-r--r--games-action/openastromenace/openastromenace-1.3.2.ebuild76
-rw-r--r--games-action/openclonk/Manifest2
-rw-r--r--games-action/openclonk/files/openclonk-5.5.1-jpeg9.patch20
-rw-r--r--games-action/openclonk/files/openclonk-5.5.1-paths.patch67
-rw-r--r--games-action/openclonk/files/openclonk-5.5.1-tinyxml-shared.patch25
-rw-r--r--games-action/openclonk/files/openclonk-wrapper-script.sh9
-rw-r--r--games-action/openclonk/metadata.xml21
-rw-r--r--games-action/openclonk/openclonk-5.5.1.ebuild121
-rw-r--r--games-action/openlierox/Manifest1
-rw-r--r--games-action/openlierox/files/openlierox-0.58_rc1-curl.patch72
-rw-r--r--games-action/openlierox/files/openlierox-0.58_rc1-icu.patch67
-rw-r--r--games-action/openlierox/metadata.xml17
-rw-r--r--games-action/openlierox/openlierox-0.58_rc3.ebuild72
-rw-r--r--games-action/orbital-eunuchs-sniper/Manifest1
-rw-r--r--games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-datadir.patch36
-rw-r--r--games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-gcc43.patch10
-rw-r--r--games-action/orbital-eunuchs-sniper/metadata.xml5
-rw-r--r--games-action/orbital-eunuchs-sniper/orbital-eunuchs-sniper-1.30.ebuild39
-rw-r--r--games-action/phobiaii/Manifest1
-rw-r--r--games-action/phobiaii/metadata.xml5
-rw-r--r--games-action/phobiaii/phobiaii-1.1.ebuild37
-rw-r--r--games-action/poopmup/Manifest1
-rw-r--r--games-action/poopmup/files/poopmup-1.2-freeglut.patch10
-rw-r--r--games-action/poopmup/files/poopmup-1.2-gcc43.patch42
-rw-r--r--games-action/poopmup/files/poopmup-1.2-ldflags.patch11
-rw-r--r--games-action/poopmup/metadata.xml8
-rw-r--r--games-action/poopmup/poopmup-1.2.ebuild61
-rw-r--r--games-action/postalplus/metadata.xml5
-rw-r--r--games-action/postalplus/postalplus-1.ebuild38
-rw-r--r--games-action/powermanga/Manifest3
-rw-r--r--games-action/powermanga/files/powermanga-0.91-automake-1.13.patch11
-rw-r--r--games-action/powermanga/files/powermanga-0.91-flags.patch11
-rw-r--r--games-action/powermanga/files/powermanga-0.91-segfault.patch22
-rw-r--r--games-action/powermanga/files/powermanga-0.91-underlink.patch21
-rw-r--r--games-action/powermanga/files/powermanga-0.93-flags.patch11
-rw-r--r--games-action/powermanga/files/powermanga-0.93.1-flags.patch11
-rw-r--r--games-action/powermanga/metadata.xml5
-rw-r--r--games-action/powermanga/powermanga-0.91.ebuild76
-rw-r--r--games-action/powermanga/powermanga-0.93.1.ebuild72
-rw-r--r--games-action/powermanga/powermanga-0.93.ebuild72
-rw-r--r--games-action/rafkill/Manifest1
-rw-r--r--games-action/rafkill/files/rafkill-1.2.3-build.patch27
-rw-r--r--games-action/rafkill/files/rafkill-1.2.3-gcc43.patch106
-rw-r--r--games-action/rafkill/files/rafkill-1.2.3-gcc47.patch11
-rw-r--r--games-action/rafkill/files/rafkill-1.2.3-ldflags.patch17
-rw-r--r--games-action/rafkill/metadata.xml8
-rw-r--r--games-action/rafkill/rafkill-1.2.3.ebuild44
-rw-r--r--games-action/rrootage/Manifest1
-rw-r--r--games-action/rrootage/files/rrootage-0.23a-gcc41.patch28
-rw-r--r--games-action/rrootage/metadata.xml8
-rw-r--r--games-action/rrootage/rrootage-0.23a.ebuild70
-rw-r--r--games-action/rune/Manifest1
-rw-r--r--games-action/rune/metadata.xml37
-rw-r--r--games-action/rune/rune-1.07-r2.ebuild130
-rw-r--r--games-action/shadowgrounds-bin/Manifest1
-rw-r--r--games-action/shadowgrounds-bin/metadata.xml5
-rw-r--r--games-action/shadowgrounds-bin/shadowgrounds-bin-0_beta12-r1.ebuild66
-rw-r--r--games-action/shadowgrounds-survivor-bin/Manifest1
-rw-r--r--games-action/shadowgrounds-survivor-bin/metadata.xml5
-rw-r--r--games-action/shadowgrounds-survivor-bin/shadowgrounds-survivor-bin-0_beta11-r1.ebuild64
-rw-r--r--games-action/shootingstar/Manifest1
-rw-r--r--games-action/shootingstar/files/1.2.0-gcc34.patch23
-rw-r--r--games-action/shootingstar/files/shootingstar-1.2.0-gcc44.patch10
-rw-r--r--games-action/shootingstar/metadata.xml5
-rw-r--r--games-action/shootingstar/shootingstar-1.2.0.ebuild50
-rw-r--r--games-action/slune/Manifest1
-rw-r--r--games-action/slune/metadata.xml5
-rw-r--r--games-action/slune/slune-1.0.15-r1.ebuild76
-rw-r--r--games-action/snipes/Manifest1
-rw-r--r--games-action/snipes/files/snipes-1.0.4-nongnulinker.patch20
-rw-r--r--games-action/snipes/metadata.xml5
-rw-r--r--games-action/snipes/snipes-1.0.4.ebuild36
-rw-r--r--games-action/solar2/Manifest2
-rw-r--r--games-action/solar2/metadata.xml11
-rw-r--r--games-action/solar2/solar2-1.10.ebuild106
-rw-r--r--games-action/spacearyarya-kxl/Manifest1
-rw-r--r--games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-flags.patch11
-rw-r--r--games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-gentoo-paths.patch74
-rw-r--r--games-action/spacearyarya-kxl/metadata.xml5
-rw-r--r--games-action/spacearyarya-kxl/spacearyarya-kxl-1.0.2-r1.ebuild38
-rw-r--r--games-action/spacetripper-demo/Manifest1
-rw-r--r--games-action/spacetripper-demo/metadata.xml5
-rw-r--r--games-action/spacetripper-demo/spacetripper-demo-1.ebuild50
-rw-r--r--games-action/super-hexagon/Manifest1
-rw-r--r--games-action/super-hexagon/metadata.xml11
-rw-r--r--games-action/super-hexagon/super-hexagon-20141027.ebuild85
-rw-r--r--games-action/supertuxkart/Manifest2
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-cmake.patch20
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-desktopfile.patch24
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-gentoo.patch47
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-icon-dest.patch19
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-irrlicht.patch69
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-jpeg9.patch11
-rw-r--r--games-action/supertuxkart/files/supertuxkart-0.8.1-mesa-10.x.patch38
-rw-r--r--games-action/supertuxkart/metadata.xml12
-rw-r--r--games-action/supertuxkart/supertuxkart-0.8.1.ebuild92
-rw-r--r--games-action/swordandsworcery/Manifest1
-rw-r--r--games-action/swordandsworcery/files/swordandsworcery-wrapper23
-rw-r--r--games-action/swordandsworcery/metadata.xml11
-rw-r--r--games-action/swordandsworcery/swordandsworcery-1.02.ebuild109
-rw-r--r--games-action/teeworlds/Manifest1
-rw-r--r--games-action/teeworlds/files/0.6.3/01-use-system-wavpack.patch101
-rw-r--r--games-action/teeworlds/files/0.6.3/02-fixed-wavpack-sound-loading.patch109
-rw-r--r--games-action/teeworlds/files/0.6.3/03-use-system-pnglite.patch160
-rw-r--r--games-action/teeworlds/files/0.6.3/04-dedicated.patch15
-rw-r--r--games-action/teeworlds/files/0.6.3/05-cc-cflags.patch18
-rw-r--r--games-action/teeworlds/files/teeworlds-init.d40
-rw-r--r--games-action/teeworlds/files/teeworlds.xpm66
-rw-r--r--games-action/teeworlds/files/teeworlds_srv.cfg7
-rw-r--r--games-action/teeworlds/metadata.xml6
-rw-r--r--games-action/teeworlds/teeworlds-0.6.3.ebuild118
-rw-r--r--games-action/towbowl-tactics/Manifest1
-rw-r--r--games-action/towbowl-tactics/files/towbowl-tactics-0.5-gentoo.patch42
-rw-r--r--games-action/towbowl-tactics/metadata.xml5
-rw-r--r--games-action/towbowl-tactics/towbowl-tactics-0.5.ebuild52
-rw-r--r--games-action/transcend/Manifest1
-rw-r--r--games-action/transcend/metadata.xml8
-rw-r--r--games-action/transcend/transcend-0.3.ebuild64
-rw-r--r--games-action/trine-bin/Manifest1
-rw-r--r--games-action/trine-bin/metadata.xml5
-rw-r--r--games-action/trine-bin/trine-bin-1.08.ebuild69
-rw-r--r--games-action/trine2/Manifest1
-rw-r--r--games-action/trine2/metadata.xml10
-rw-r--r--games-action/trine2/trine2-1.16.ebuild134
-rw-r--r--games-action/trosh/Manifest2
-rw-r--r--games-action/trosh/metadata.xml6
-rw-r--r--games-action/trosh/trosh-20.ebuild51
-rw-r--r--games-action/tuxkart/Manifest1
-rw-r--r--games-action/tuxkart/metadata.xml8
-rw-r--r--games-action/tuxkart/tuxkart-0.4.0.ebuild54
-rw-r--r--games-action/violetland/Manifest1
-rw-r--r--games-action/violetland/files/violetland-0.4.3-boost150.patch41
-rw-r--r--games-action/violetland/metadata.xml8
-rw-r--r--games-action/violetland/violetland-0.4.3.ebuild54
-rw-r--r--games-action/wordwarvi/Manifest1
-rw-r--r--games-action/wordwarvi/files/wordwarvi-1.00-sound.patch80
-rw-r--r--games-action/wordwarvi/metadata.xml8
-rw-r--r--games-action/wordwarvi/wordwarvi-1.00.ebuild54
-rw-r--r--games-action/xblast/Manifest6
-rw-r--r--games-action/xblast/metadata.xml8
-rw-r--r--games-action/xblast/xblast-2.10.4.ebuild71
-rw-r--r--games-action/xbomber/Manifest1
-rw-r--r--games-action/xbomber/files/xbomber-101-gcc4.patch11
-rw-r--r--games-action/xbomber/files/xbomber-101-ldflags.patch15
-rw-r--r--games-action/xbomber/files/xbomber-101-va_list.patch48
-rw-r--r--games-action/xbomber/metadata.xml5
-rw-r--r--games-action/xbomber/xbomber-101.ebuild45
-rw-r--r--games-action/xpilot/Manifest1
-rw-r--r--games-action/xpilot/metadata.xml8
-rw-r--r--games-action/xpilot/xpilot-4.5.5.ebuild53
355 files changed, 11163 insertions, 0 deletions
diff --git a/games-action/0verkill/0verkill-0.16-r3.ebuild b/games-action/0verkill/0verkill-0.16-r3.ebuild
new file mode 100644
index 00000000000..9af4419c159
--- /dev/null
+++ b/games-action/0verkill/0verkill-0.16-r3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils games
+
+DESCRIPTION="a bloody 2D action deathmatch-like game in ASCII-ART"
+HOMEPAGE="http://artax.karlin.mff.cuni.cz/~brain/0verkill/"
+SRC_URI="http://artax.karlin.mff.cuni.cz/~brain/0verkill/release/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc sparc x86"
+IUSE="X"
+
+DEPEND="X? ( x11-libs/libXpm )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-docs.patch \
+ "${FILESDIR}"/${P}-home-overflow.patch \
+ "${FILESDIR}"/${P}-segv.patch \
+ "${FILESDIR}"/${P}-gentoo-paths.patch \
+ "${FILESDIR}"/${P}-ovflfix.patch \
+ "${FILESDIR}"/${P}-CC.patch \
+ "${FILESDIR}"/${P}-underflow-check.patch #136222 \
+ sed -i \
+ -e "s:data/:${GAMES_DATADIR}/${PN}/data/:" cfg.h \
+ || die "sed failed"
+ sed -i \
+ -e "s:@CFLAGS@ -O3 :@CFLAGS@ :" Makefile.in \
+ || die "sed failed"
+ sed -i \
+ -e "/gettimeofday/s/getopt/getopt calloc/" configure.in \
+ || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf $(use_with X x)
+}
+
+src_install() {
+ local x
+ dogamesbin 0verkill
+ for x in avi bot editor server test_server ; do
+ newgamesbin ${x} 0verkill-${x}
+ done
+ if use X ; then
+ dogamesbin x0verkill
+ for x in avi editor ; do
+ newgamesbin ${x} 0verkill-${x}
+ done
+ fi
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r data grx
+
+ dohtml doc/*.html
+ rm doc/*.html doc/README.OS2 doc/Readme\ Win32.txt doc/COPYING
+ dodoc doc/*
+
+ prepgamesdirs
+}
diff --git a/games-action/0verkill/Manifest b/games-action/0verkill/Manifest
new file mode 100644
index 00000000000..fe6f4567ebb
--- /dev/null
+++ b/games-action/0verkill/Manifest
@@ -0,0 +1 @@
+DIST 0verkill-0.16.tgz 276579 SHA256 8091261c3fef3535edb97ab46cb48c067befb329e951bfa3f1b54ae6b7e1dadf SHA512 6ab273085f2be3a6d0a2b785a51a9bfd52add0212b3c8522b22255c4e3e48a9470f20d9d678158233da9c9465563279079c29ca5526d322247f2ef1d74107144 WHIRLPOOL 7a1dff93014ea67f6d16efea408ed77219a391b015a0d533a53d52eb735d8b84c8cc0f4e1cb6997aca2b3d238b57f7cff780f11fe838ded362769529cf437665
diff --git a/games-action/0verkill/files/0verkill-0.16-CC.patch b/games-action/0verkill/files/0verkill-0.16-CC.patch
new file mode 100644
index 00000000000..b2ba0f014d8
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-CC.patch
@@ -0,0 +1,50 @@
+--- Makefile.in.orig 2010-11-08 13:30:42.060916323 -0500
++++ Makefile.in 2010-11-08 13:31:03.199940471 -0500
+@@ -24,7 +24,7 @@
+ server.o: server.c server.h net.h data.h hash.h cfg.h time.h math.h config.h error.h
+ client.o: client.c data.h sprite.h cfg.h net.h hash.h time.h math.h console.h help.h blit.h config.h error.h
+ xclient.o: client.c data.h sprite.h cfg.h net.h hash.h time.h math.h console.h help.h config.h error.h
+- gcc -c $(CFLAGS) -DXWINDOW -o xclient.o client.c
++ $(CC) -c $(CFLAGS) -DXWINDOW -o xclient.o client.c
+ time.o: time.c time.h error.h
+ help.o: help.c blit.h error.h
+ avihelp.o: avihelp.c blit.h error.h
+@@ -38,29 +38,29 @@
+
+
+ avi: avi.o blit.o console.o kbd.o time.o avihelp.o error.o
+- gcc $(LDFLAGS) -o avi avi.o blit.o console.o kbd.o error.o time.o avihelp.o $(LIBS)
++ $(CC) $(LDFLAGS) -o avi avi.o blit.o console.o kbd.o error.o time.o avihelp.o $(LIBS)
+
+ xavi: avi.o blit.o xinterface.o xkbd.o time.o avihelp.o error.o
+- gcc $(LDFLAGS) -o xavi avi.o blit.o xinterface.o xkbd.o error.o time.o avihelp.o $(LIBS) $(XLIBS)
++ $(CC) $(LDFLAGS) -o xavi avi.o blit.o xinterface.o xkbd.o error.o time.o avihelp.o $(LIBS) $(XLIBS)
+
+ bot: bot.o data.o hash.o time.o net.o crc32.o md5.o md5hl.o error.o
+- gcc $(LDFLAGS) -o bot bot.o data.o hash.o time.o net.o error.o md5.o md5hl.o crc32.o sprite.o $(LIBS)
++ $(CC) $(LDFLAGS) -o bot bot.o data.o hash.o time.o net.o error.o md5.o md5hl.o crc32.o sprite.o $(LIBS)
+
+ 0verkill: client.o data.o sprite.o blit.o console.o hash.o time.o net.o error.o crc32.o md5.o md5hl.o kbd.o help.o
+- gcc $(LDFLAGS) -o 0verkill client.o data.o sprite.o blit.o console.o error.o hash.o time.o md5.o md5hl.o kbd.o net.o crc32.o help.o $(LIBS)
++ $(CC) $(LDFLAGS) -o 0verkill client.o data.o sprite.o blit.o console.o error.o hash.o time.o md5.o md5hl.o kbd.o net.o crc32.o help.o $(LIBS)
+ @OVERKILL_SPECIAL@
+
+ x0verkill: xclient.o data.o sprite.o blit.o xinterface.o hash.o time.o net.o crc32.o error.o xkbd.o help.o md5.o md5hl.o
+- gcc $(LDFLAGS) -o x0verkill xclient.o data.o blit.o sprite.o xinterface.o xkbd.o error.o md5.o md5hl.o hash.o time.o net.o crc32.o help.o $(LIBS) $(XLIBS)
++ $(CC) $(LDFLAGS) -o x0verkill xclient.o data.o blit.o sprite.o xinterface.o xkbd.o error.o md5.o md5hl.o hash.o time.o net.o crc32.o help.o $(LIBS) $(XLIBS)
+
+ server: server.o data.o sprite.o blit.o console.o hash.o time.o kbd.o net.o crc32.o md5.o md5hl.o error.o
+- gcc $(LDFLAGS) -o server server.o data.o sprite.o blit.o console.o hash.o time.o kbd.o md5.o md5hl.o error.o net.o crc32.o $(LIBS)
++ $(CC) $(LDFLAGS) -o server server.o data.o sprite.o blit.o console.o hash.o time.o kbd.o md5.o md5hl.o error.o net.o crc32.o $(LIBS)
+
+ editor: editor.o data.o blit.o sprite.o console.o hash.o time.o kbd.o md5.o md5hl.o error.o
+- gcc $(LDFLAGS) -o editor editor.o data.o blit.o sprite.o console.o hash.o md5.o md5hl.o error.o time.o kbd.o $(LIBS)
++ $(CC) $(LDFLAGS) -o editor editor.o data.o blit.o sprite.o console.o hash.o md5.o md5hl.o error.o time.o kbd.o $(LIBS)
+
+ xeditor: editor.o data.o blit.o sprite.o xinterface.o hash.o time.o xkbd.o md5.o md5hl.o error.o
+- gcc $(LDFLAGS) -o xeditor editor.o data.o blit.o sprite.o xinterface.o hash.o md5.o error.o md5hl.o time.o xkbd.o $(LIBS) $(XLIBS)
++ $(CC) $(LDFLAGS) -o xeditor editor.o data.o blit.o sprite.o xinterface.o hash.o md5.o error.o md5hl.o time.o xkbd.o $(LIBS) $(XLIBS)
+
+ test_server: test_server.o net.o data.o crc32.o blit.o sprite.o time.o hash.o console.o kbd.o md5.o md5hl.o error.o
+- gcc $(LDFLAGS) -o test_server test_server.o net.o data.o crc32.o blit.o sprite.o time.o hash.o md5.o md5hl.o error.o console.o kbd.o $(LIBS)
++ $(CC) $(LDFLAGS) -o test_server test_server.o net.o data.o crc32.o blit.o sprite.o time.o hash.o md5.o md5hl.o error.o console.o kbd.o $(LIBS)
diff --git a/games-action/0verkill/files/0verkill-0.16-docs.patch b/games-action/0verkill/files/0verkill-0.16-docs.patch
new file mode 100644
index 00000000000..90d049309f4
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-docs.patch
@@ -0,0 +1,32 @@
+--- 0verkill-0.16/doc/README.html
++++ 0verkill-0.16-gentoo/doc/README.html
+@@ -30,7 +30,7 @@
+ <center><h1><a name="running">RUNNING</a></h1></center>
+
+ <p><h2><a name="server">Running server</a></h2>
+-<p>First thing to start 0verkill is run the server - type <i>server</i>. Server
++<p>First thing to start 0verkill is run the server - type <i>0verkill-server</i>. Server
+ takes options <i>-p</i> and <i>-n</i>. As usual, option <i>-h</i> prints help.
+
+ <p> Option <i>-p</i> takes one argument: port number. Server needs UDP port
+@@ -84,9 +84,9 @@
+
+ <p><h2><a name="testserver">Testing Program</a></h2>
+
+-<p>There's <i>test_server</i> program in the distribution. It avoids testing
++<p>There's <i>0verkill-test_server</i> program in the distribution. It avoids testing
+ remote server if it's up and how many players there is. To use it simply type
+-<i>test_server -a &lt;server address&gt; -p &lt;port number &gt;</i>.
++<i>0verkill-test_server -a &lt;server address&gt; -p &lt;port number &gt;</i>.
+
+ <center><h1><a name="controls">GAME CONTROLS</a></h1></center>
+
+--- 0verkill-0.16/doc/adding_a_level.txt
++++ 0verkill-0.16-gentoo/doc/adding_a_level.txt
+@@ -19,5 +19,5 @@
+ 5) If you want to create some cool new graphics, run
+ "avi grx/graphics_file.avi". Then add it to the data/new_level.sp
+
+-6) When the level is done, run "server -lX", where X is again from (1). And
++6) When the level is done, run "0verkill-server -lX", where X is again from (1). And
+ play!
diff --git a/games-action/0verkill/files/0verkill-0.16-gentoo-paths.patch b/games-action/0verkill/files/0verkill-0.16-gentoo-paths.patch
new file mode 100644
index 00000000000..a5ecaec0168
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-gentoo-paths.patch
@@ -0,0 +1,23 @@
+--- sprite.c.orig 2007-11-15 18:26:30.000000000 -0500
++++ sprite.c 2007-11-15 18:26:57.000000000 -0500
+@@ -2,6 +2,7 @@
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <unistd.h>
+
+ #ifndef WIN32
+ #include "config.h"
+@@ -188,6 +189,12 @@
+
+ if (!(f=fopen(filename,"rb")))
+ {
++ chdir(DATA_PATH);
++ }
++ if (!(f=fopen(filename,"rb"))) {
++ chdir(DATA_PATH "/../");
++ }
++ if (!(f=fopen(filename,"rb"))) {
+ unsigned char msg[256];
+ snprintf(msg,256,"Error opening file \"%s\"!\n",filename);
+ ERROR(msg);
diff --git a/games-action/0verkill/files/0verkill-0.16-home-overflow.patch b/games-action/0verkill/files/0verkill-0.16-home-overflow.patch
new file mode 100644
index 00000000000..ec9b7efb36e
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-home-overflow.patch
@@ -0,0 +1,26 @@
+--- client.c.orig 2001-12-16 04:26:38.000000000 -0500
++++ client.c 2003-11-17 15:12:52.850772508 -0500
+@@ -191,9 +191,9 @@
+ unsigned char txt[256];
+
+ #ifndef WIN32
+- sprintf(txt,"%s/%s",getenv("HOME"),CFG_FILE);
++ snprintf(txt,sizeof(txt),"%s/%s",getenv("HOME"),CFG_FILE);
+ #else
+- sprintf(txt,"./%s",CFG_FILE);
++ snprintf(txt,sizeof(txt),"./%s",CFG_FILE);
+ #endif
+ stream=fopen(txt,"r");
+ if (!stream)return;
+@@ -223,9 +223,9 @@
+ unsigned char txt[256];
+
+ #ifndef WIN32
+- sprintf(txt,"%s/%s",getenv("HOME"),CFG_FILE);
++ snprintf(txt,sizeof(txt),"%s/%s",getenv("HOME"),CFG_FILE);
+ #else
+- sprintf(txt,"./%s",CFG_FILE);
++ snprintf(txt,sizeof(txt),"./%s",CFG_FILE);
+ #endif
+ stream=fopen(txt,"w");
+ if (!stream)return;
diff --git a/games-action/0verkill/files/0verkill-0.16-ovflfix.patch b/games-action/0verkill/files/0verkill-0.16-ovflfix.patch
new file mode 100644
index 00000000000..3df8a078954
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-ovflfix.patch
@@ -0,0 +1,24 @@
+--- server.c.old 2010-11-08 11:53:18.000000000 +0100
++++ server.c 2010-11-08 11:53:43.000000000 +0100
+@@ -905,8 +905,8 @@
+ int len;
+
+ packet[0]=P_MESSAGE;
+- if (!name){snprintf(packet+1,256,"%s",msg);len=strlen(msg)+1+1;}
+- else {snprintf(packet+1,256,"%s> %s",name,msg);len=strlen(name)+strlen(msg)+1+3;}
++ if (!name){snprintf(packet+1,255,"%s",msg);len=strlen(msg)+1+1;}
++ else {snprintf(packet+1,255,"%s> %s",name,msg);len=strlen(name)+strlen(msg)+1+3;}
+ send_chunk_packet_to_player(packet,len,player);
+ }
+
+--- console.c.old 2010-11-08 11:53:26.000000000 +0100
++++ console.c 2010-11-08 11:54:44.000000000 +0100
+@@ -206,7 +206,7 @@
+ void c_setcolor_3b(unsigned char a)
+ {
+ char txt[8];
+- snprintf(txt,16,"\033[%dm",30+(a&7));
++ snprintf(txt,sizeof(txt),"\033[%dm",30+(a&7));
+ my_print(txt);
+ }
+
diff --git a/games-action/0verkill/files/0verkill-0.16-segv.patch b/games-action/0verkill/files/0verkill-0.16-segv.patch
new file mode 100644
index 00000000000..9f9656dfd9f
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-segv.patch
@@ -0,0 +1,39 @@
+diff -Naurp 0verkill-0.16.old/data.c 0verkill-0.16/data.c
+--- 0verkill-0.16.old/data.c 2007-10-30 19:49:59.000000000 +0100
++++ 0verkill-0.16/data.c 2007-10-30 20:25:08.000000000 +0100
+@@ -471,7 +471,7 @@ my_double can_go_x(my_double old_x,my_do
+ for (x=double2int(old_x)+1;x<=round_up(new_x);x++) /* go to the right */
+ {
+ if (x>AREA_X-1) return int2double(AREA_X-1);
+- for (y=yh;y<=yl;y++)
++ for (y=(yh>=0?yh:0);y<=yl;y++)
+ if ((area_a[x+y*AREA_X]&240)==TYPE_WALL)
+ return int2double(x-1);
+ }
+@@ -479,7 +479,7 @@ my_double can_go_x(my_double old_x,my_do
+ for (x=round_up(old_x)-1;x>=double2int(new_x);x--) /* go to the left */
+ {
+ if (x<0) return 0;
+- for (y=yh;y<=yl;y++)
++ for (y=(yh>=0?yh:0);y<=yl;y++)
+ if ((area_a[x+y*AREA_X]&240)==TYPE_WALL) return int2double(x+1);
+ }
+ if(flag)*flag=0;
+@@ -501,7 +501,7 @@ my_double can_go_y(my_double old_y, my_d
+ for (y=double2int(old_y)+1;y<=round_up(new_y);y++) /* go down */
+ {
+ if (y>AREA_Y-1) return int2double(AREA_Y-1);
+- for (x=xl;x<=xr;x++)
++ for (x=(xl>=0?xl:0);x<=xr;x++)
+ if ((area_a[x+y*AREA_X]&240)==TYPE_WALL||(!down_ladder&&((area_a[x+y*AREA_X]&240)==TYPE_JUMP||(area_a[x+y*AREA_X]&240)==TYPE_JUMP_FOREGROUND))) return int2double(y-1);
+ }
+ else
+@@ -510,7 +510,7 @@ my_double can_go_y(my_double old_y, my_d
+ for (y=round_up(old_y)-1;y>=double2int(new_y);y--) /* go up */
+ {
+ if (y<0) return 0;
+- for (x=xl;x<=xr;x++)
++ for (x=(xl>=0?xl:0);x<=xr;x++)
+ if ((area_a[x+y*AREA_X]&240)==TYPE_WALL) return int2double(y+1);
+ }
+ }
diff --git a/games-action/0verkill/files/0verkill-0.16-underflow-check.patch b/games-action/0verkill/files/0verkill-0.16-underflow-check.patch
new file mode 100644
index 00000000000..d0af396deaf
--- /dev/null
+++ b/games-action/0verkill/files/0verkill-0.16-underflow-check.patch
@@ -0,0 +1,17 @@
+The vulnerability is cause due to an integer underflow error in "recv_packet()"
+within the handling of a received UDP packet. This can be exploited to cause
+out-of-bounds memory access which crashes the server process via a UDP packet
+that is smaller than 12 bytes in size.
+
+http://bugs.gentoo.org/136222
+
+--- 0verkill-0.16/net.c
++++ 0verkill-0.16/net.c
+@@ -84,6 +84,7 @@
+ p=mem_alloc(max_len+12);
+ if (!p)return -1; /* not enough memory */
+ retval=recvfrom(fd,p,max_len+12,0,addr,addr_len);
++ if (retval<12)return -1; /* not enough data from network */
+ memcpy(packet,p+12,max_len);
+ crc=p[0]+(p[1]<<8)+(p[2]<<16)+(p[3]<<24);
+ s=p[4]+(p[5]<<8)+(p[6]<<16)+(p[7]<<24);
diff --git a/games-action/0verkill/metadata.xml b/games-action/0verkill/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/0verkill/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/abuse/Manifest b/games-action/abuse/Manifest
new file mode 100644
index 00000000000..5cf67eb4b30
--- /dev/null
+++ b/games-action/abuse/Manifest
@@ -0,0 +1 @@
+DIST abuse-0.8.tar.gz 6053500 SHA256 0104db5fd2695c9518583783f7aaa7e5c0355e27c5a803840a05aef97f9d3488 SHA512 5c60dcf6910f9f751da26e919cd289c12349bb82eb925f9a41dc921263ece0d0f5f24c2ab2d1c718c0a5d0315453f92dfcba665fe5082eb4135ed737d2859d18 WHIRLPOOL f33cc8f2238e59e4aa6b8387987859baada02f292cbfc45c451eb1d0db41c36f2548cb2d9e527c5437957aacd3062680b6e7c32082788cedd15e78b4963f9b5e
diff --git a/games-action/abuse/abuse-0.8.ebuild b/games-action/abuse/abuse-0.8.ebuild
new file mode 100644
index 00000000000..10f8166b689
--- /dev/null
+++ b/games-action/abuse/abuse-0.8.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils games
+
+DESCRIPTION="port of Abuse by Crack Dot Com"
+HOMEPAGE="http://abuse.zoy.org/"
+SRC_URI="http://abuse.zoy.org/raw-attachment/wiki/download/${P}.tar.gz"
+
+LICENSE="GPL-2 WTFPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=">=media-libs/libsdl-1.1.6[sound,opengl,video]
+ media-libs/sdl-mixer
+ virtual/opengl"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ --with-assetdir="${GAMES_DATADIR}/${PN}"
+}
+
+src_install() {
+ # Source-based install
+ default
+
+ doicon doc/${PN}.png
+ make_desktop_entry abuse Abuse
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "NOTE: If you had previous version of abuse installed"
+ elog "you may need to remove ~/.abuse for the game to work correctly."
+}
diff --git a/games-action/abuse/files/abuse-0.8-gentoo.patch b/games-action/abuse/files/abuse-0.8-gentoo.patch
new file mode 100644
index 00000000000..c5d97834d9e
--- /dev/null
+++ b/games-action/abuse/files/abuse-0.8-gentoo.patch
@@ -0,0 +1,24 @@
+diff -ru abuse-0.8.orig/Makefile.am abuse-0.8/Makefile.am
+--- abuse-0.8.orig/Makefile.am 2011-05-09 03:58:04.000000000 -0400
++++ abuse-0.8/Makefile.am 2011-05-16 22:22:51.642655295 -0400
+@@ -2,8 +2,6 @@
+
+ SUBDIRS = src data doc
+
+-EXTRA_DIST = COPYING.GPL COPYING.WTFPL PACKAGERS bootstrap
+-
+ dist-hook:
+ @echo ""
+ @echo " ===================================================="
+diff -ru abuse-0.8.orig/configure.ac abuse-0.8/configure.ac
+--- abuse-0.8.orig/configure.ac 2011-05-09 03:58:04.000000000 -0400
++++ abuse-0.8/configure.ac 2011-05-16 22:22:35.771824632 -0400
+@@ -90,8 +90,6 @@
+ fi
+ AM_CONDITIONAL(HAVE_NONFREE, test "${ac_cv_have_nonfree}" = "yes")
+
+-# Optimizations
+-CXXFLAGS="${CXXFLAGS} ${OPT} ${REL}"
+ # Code qui fait des warnings == code de porc == deux baffes dans ta gueule
+ CXXFLAGS="${CXXFLAGS} -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wsign-compare"
+
diff --git a/games-action/abuse/metadata.xml b/games-action/abuse/metadata.xml
new file mode 100644
index 00000000000..f72870c0c28
--- /dev/null
+++ b/games-action/abuse/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/accelerator3d/Manifest b/games-action/accelerator3d/Manifest
new file mode 100644
index 00000000000..0cd6132197d
--- /dev/null
+++ b/games-action/accelerator3d/Manifest
@@ -0,0 +1 @@
+DIST accelerator-0.1.1.tar.bz2 1183838 SHA256 02fac1b6fc9bb5708f53ef7bcf123f5a4a04261e2764f984d3e3c64e06a74712 SHA512 f4321beb5f5b61c10d0b275321641ec173636267ae08cf88f7a2ecaaf0799cfe6593cbc7343c8ebfa72853c59773841295b1aca9a0ac0ef510de390107aa01da WHIRLPOOL e6d705361e24cd8eebabaf4c3a8b3ba803ea8d897ff93a48f3ec2f300d0f6ed0cf57b2ef036dd8e8bf031c6ab03ff6c97ca59f013400376a91d291270b0e14f0
diff --git a/games-action/accelerator3d/accelerator3d-0.1.1-r2.ebuild b/games-action/accelerator3d/accelerator3d-0.1.1-r2.ebuild
new file mode 100644
index 00000000000..a59cbf7d958
--- /dev/null
+++ b/games-action/accelerator3d/accelerator3d-0.1.1-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils python-r1 games
+
+DESCRIPTION="Fast-paced, 3D, first-person shoot/dodge-'em-up, in the vain of Tempest or n2o"
+HOMEPAGE="http://accelerator3d.sourceforge.net/"
+SRC_URI="mirror://sourceforge/accelerator3d/accelerator-${PV}.tar.bz2"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 x86 ~x86-fbsd"
+IUSE=""
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}
+ dev-python/pyode[${PYTHON_USEDEP}]
+ dev-python/pygame[${PYTHON_USEDEP}]
+ dev-python/pyopengl[${PYTHON_USEDEP}]"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-gentoo-paths.patch \
+ "${FILESDIR}"/${P}-gllightmodel.patch
+ sed -i \
+ -e "s:@GENTOO_DATADIR@:${GAMES_DATADIR}/${PN}:" \
+ accelerator.py || die
+}
+
+src_install() {
+ python_scriptinto "${GAMES_BINDIR}"
+ python_foreach_impl python_newscript accelerator.py accelerator
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins gfx/* snd/*
+ dodoc CHANGELOG README
+ make_desktop_entry accelerator
+
+ prepgamesdirs
+}
diff --git a/games-action/accelerator3d/files/accelerator3d-0.1.1-gentoo-paths.patch b/games-action/accelerator3d/files/accelerator3d-0.1.1-gentoo-paths.patch
new file mode 100644
index 00000000000..ab8637f24f2
--- /dev/null
+++ b/games-action/accelerator3d/files/accelerator3d-0.1.1-gentoo-paths.patch
@@ -0,0 +1,53 @@
+--- accelerator.py.old 2006-04-18 21:51:28.000000000 +0200
++++ accelerator.py 2006-04-18 22:07:28.000000000 +0200
+@@ -72,7 +72,7 @@
+ # default parameters on it (min/mag filters, wrapping).
+ def __init__(self,texfile,mipmap = False):
+ global activeTexture
+- filename = os.path.join('gfx',texfile)
++ filename = os.path.join('@GENTOO_DATADIR@',texfile)
+ image = pygame.image.load(filename)
+ data = pygame.image.tostring(image,'RGBX')
+ self.__texref = glGenTextures(1)
+@@ -599,8 +599,8 @@
+ for i in xrange(len(self.__menu[j][0])):
+ font.addString(self.__menu[j][0][i])
+ if (soundon):
+- self.__browsesound = pygame.mixer.Sound(os.path.join('snd','menu_browse.wav'))
+- self.__selectsound = pygame.mixer.Sound(os.path.join('snd','menu_select.wav'))
++ self.__browsesound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','menu_browse.wav'))
++ self.__selectsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','menu_select.wav'))
+
+ def doLoop(self):
+ global elapsed, z_increment, font
+@@ -792,19 +792,19 @@
+
+ # sound!
+ if soundon:
+- self.__shootsound = pygame.mixer.Sound(os.path.join('snd','shoot.wav'))
+- self.__cluonsound = pygame.mixer.Sound(os.path.join('snd','cluon.wav'))
+- self.__bogonsound = pygame.mixer.Sound(os.path.join('snd','bogon.wav'))
+- self.__shipdeadsound = pygame.mixer.Sound(os.path.join('snd','ship_explode.wav'))
+- self.__shocksound = pygame.mixer.Sound(os.path.join('snd','electricshock.wav'))
+- self.__thudsound = pygame.mixer.Sound(os.path.join('snd','thud.wav'))
+- self.__enginesound = pygame.mixer.Sound(os.path.join('snd','engine.wav'))
+- self.__chargesound = pygame.mixer.Sound(os.path.join('snd','neon.wav'))
++ self.__shootsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','shoot.wav'))
++ self.__cluonsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','cluon.wav'))
++ self.__bogonsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','bogon.wav'))
++ self.__shipdeadsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','ship_explode.wav'))
++ self.__shocksound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','electricshock.wav'))
++ self.__thudsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','thud.wav'))
++ self.__enginesound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','engine.wav'))
++ self.__chargesound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','neon.wav'))
+ self.__chargeplaying = False
+- self.__scrapesound = pygame.mixer.Sound(os.path.join('snd','scrape.wav'))
++ self.__scrapesound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','scrape.wav'))
+ self.__scrapeplaying = False
+- self.__slamsound = pygame.mixer.Sound(os.path.join('snd','slam.wav'))
+- self.__phlogsound = pygame.mixer.Sound(os.path.join('snd','phlogiston.wav'))
++ self.__slamsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','slam.wav'))
++ self.__phlogsound = pygame.mixer.Sound(os.path.join('@GENTOO_DATADIR@','phlogiston.wav'))
+
+ # reserve channel 0 for bullet sounds
+ pygame.mixer.set_reserved(2)
diff --git a/games-action/accelerator3d/files/accelerator3d-0.1.1-gllightmodel.patch b/games-action/accelerator3d/files/accelerator3d-0.1.1-gllightmodel.patch
new file mode 100644
index 00000000000..b850ccfa5ba
--- /dev/null
+++ b/games-action/accelerator3d/files/accelerator3d-0.1.1-gllightmodel.patch
@@ -0,0 +1,11 @@
+--- accelerator.py
++++ accelerator.py
+@@ -274,7 +274,7 @@
+ glColorMaterial(GL_FRONT,GL_AMBIENT_AND_DIFFUSE)
+ glMaterialfv(GL_FRONT,GL_SHININESS,128)
+ glMaterialfv(GL_FRONT,GL_SPECULAR,(0.5,0.5,0.5,1))
+- glLightModel(GL_LIGHT_MODEL_COLOR_CONTROL_EXT,GL_SEPARATE_SPECULAR_COLOR_EXT) # GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR
++ glLightModeli(GL_LIGHT_MODEL_COLOR_CONTROL_EXT,GL_SEPARATE_SPECULAR_COLOR_EXT) # GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR
+ glEnable(GL_LINE_SMOOTH)
+ glEnable(GL_NORMALIZE)
+ #glPolygonMode(GL_FRONT,GL_LINE)
diff --git a/games-action/accelerator3d/metadata.xml b/games-action/accelerator3d/metadata.xml
new file mode 100644
index 00000000000..c22ed7a0945
--- /dev/null
+++ b/games-action/accelerator3d/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">accelerator3d</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/armagetronad/Manifest b/games-action/armagetronad/Manifest
new file mode 100644
index 00000000000..30678d89d9b
--- /dev/null
+++ b/games-action/armagetronad/Manifest
@@ -0,0 +1 @@
+DIST armagetronad-0.2.8.3.2.src.tar.bz2 1841407 SHA256 f444e481de94e6c0e3933c709d46effd2adfe823f5ef44768adcc8003b8ba7c5 SHA512 ffe16d55d4ea3c9e3f4f8828a9ffb09274b20a33c6d5c91cccbe846fa93f7d1d78e565db3c9403debf9f7bfde76322477a84349d85b475ed20c184da281107a4 WHIRLPOOL f04902c7bf3b13ec35497202a658ef96846b59d4245c72a17793b186d06a8f2d2dc1960b563b785cfb46aa9e2252a8ba22436df44e4ccfa2e8c872b4eb51eb4a
diff --git a/games-action/armagetronad/armagetronad-0.2.8.3.2.ebuild b/games-action/armagetronad/armagetronad-0.2.8.3.2.ebuild
new file mode 100644
index 00000000000..405b703a05c
--- /dev/null
+++ b/games-action/armagetronad/armagetronad-0.2.8.3.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils gnome2-utils games
+
+DESCRIPTION="Fast-paced 3D lightcycle game based on Tron"
+HOMEPAGE="http://armagetronad.org/"
+SRC_URI="http://launchpad.net/armagetronad/${PV:0:5}/${PV}/+download/armagetronad-${PV}.src.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dedicated sound"
+
+RDEPEND="
+ dev-libs/libxml2
+ !dedicated? (
+ media-libs/libpng:0
+ media-libs/sdl-image[jpeg,png]
+ virtual/glu
+ virtual/opengl
+ sound? (
+ media-libs/libsdl[X,sound,opengl,video]
+ media-libs/sdl-mixer
+ )
+ !sound? ( media-libs/libsdl[X,opengl,video] )
+ )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e 's/"png_check_sig"/"png_sig_cmp"/' \
+ -e 's#aa_docdir=.*$#aa_docdir=${docdir}#' \
+ configure || die
+}
+
+src_configure() {
+ # --enable-games just messes up paths
+ egamesconf \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable dedicated) \
+ $(use_enable sound music) \
+ --disable-sysinstall \
+ --disable-useradd \
+ --disable-uninstall \
+ --disable-games
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install
+ einstalldocs
+
+ # misplaced desktop-file/icons
+ rm -rf "${ED%/}${GAMES_DATADIR}"/armagetronad/desktop
+ doicon -s 48 desktop/icons/large/armagetronad.png
+ make_desktop_entry ${PN}
+
+ 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-action/armagetronad/metadata.xml b/games-action/armagetronad/metadata.xml
new file mode 100644
index 00000000000..3ddf64ba758
--- /dev/null
+++ b/games-action/armagetronad/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="launchpad">armagetronad</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/atanks/Manifest b/games-action/atanks/Manifest
new file mode 100644
index 00000000000..79f5a6e7e01
--- /dev/null
+++ b/games-action/atanks/Manifest
@@ -0,0 +1 @@
+DIST atanks-6.1.tar.gz 2786775 SHA256 116f5160b61116729d655a9c9110a6e358e8c45b696ed0e9c347bf89ab4afaab SHA512 1463455afcd67d042fda964f9c8b0caa9627611e758cb3badb5f8080b84644ec3452b78f2160d967ed9ebf427f426594fd0c6ee661fe48a731fcee85f14a3adb WHIRLPOOL d803d6885f185e4f5645a57b1be67a918b2682f74d725b891a057b2b4be23c90507202c314c22db553f2b0593df1dace498aff5ad44a678c1f4adcfc89be22f9
diff --git a/games-action/atanks/atanks-6.1.ebuild b/games-action/atanks/atanks-6.1.ebuild
new file mode 100644
index 00000000000..ea1acef41d3
--- /dev/null
+++ b/games-action/atanks/atanks-6.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils games
+
+DESCRIPTION="Worms and Scorched Earth-like game"
+HOMEPAGE="http://atanks.sourceforge.net/"
+SRC_URI="mirror://sourceforge/atanks/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="media-libs/allegro:0[X]"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ find . -type f -name ".directory" -exec rm -vf '{}' +
+}
+
+src_compile() {
+ emake \
+ BINDIR="${GAMES_BINDIR}" \
+ INSTALLDIR="${GAMES_DATADIR}/${PN}"
+}
+
+src_install() {
+ dogamesbin ${PN}
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r button misc missile sound stock tank tankgun text title unicode.dat *.txt
+ doicon -s 48 ${PN}.png
+ make_desktop_entry atanks "Atomic Tanks"
+ dodoc Changelog README TODO
+ 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-action/atanks/metadata.xml b/games-action/atanks/metadata.xml
new file mode 100644
index 00000000000..b9994564225
--- /dev/null
+++ b/games-action/atanks/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">atanks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/awesomenauts/Manifest b/games-action/awesomenauts/Manifest
new file mode 100644
index 00000000000..c71ad8a3f4f
--- /dev/null
+++ b/games-action/awesomenauts/Manifest
@@ -0,0 +1 @@
+DIST Awesomenauts-Linux-2013-5-21-3.bin 753089168 SHA256 ad35716fd0360ee711d07c67436b654e61157d2eb1c76d7857d0335d8da7a42e SHA512 d69e6fe2ef167fd67492f4a67063bcbe43c42c1a55aed545097959156a5da51500da83b3c0cd5d7221588a9a781eda6e9e9bf63a2e3f1a9202e2980680300ff1 WHIRLPOOL b70c61431f51aea70d1c7cee32109e810e48448ba2e2d7a250b7dcecc34d9ff2d6a9cbf2f94eca6da74a533357d9d0422defb69fec90a6dc07207d35e42b4189
diff --git a/games-action/awesomenauts/awesomenauts-2013.5.21.3.ebuild b/games-action/awesomenauts/awesomenauts-2013.5.21.3.ebuild
new file mode 100644
index 00000000000..544451bba1a
--- /dev/null
+++ b/games-action/awesomenauts/awesomenauts-2013.5.21.3.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils unpacker games
+
+DESCRIPTION="Team-based competetive arena play"
+HOMEPAGE="http://www.awesomenauts.com/"
+SRC_URI="Awesomenauts-Linux-${PV//./-}.bin"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs"
+RESTRICT="bindist fetch bundled-libs? ( splitdebug )"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/Awesomenauts.bin.x86
+ ${MYGAMEDIR#/}/Settings.bin.x86
+ ${MYGAMEDIR#/}/lib/*"
+
+RDEPEND="
+ virtual/opengl
+ virtual/glu
+ amd64? (
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=virtual/glu-9.0-r1[abi_x86_32(-)]
+ >=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ !bundled-libs? (
+ >=media-libs/libtheora-1.1.1[abi_x86_32(-)]
+ >=media-libs/libsdl-1.2.15-r4:0[X,opengl,video,abi_x86_32(-)]
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ >=media-libs/libogg-1.3.0[abi_x86_32(-)]
+ >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)]
+ media-gfx/nvidia-cg-toolkit[multilib]
+ )
+ )
+ x86? (
+ media-libs/freetype
+ x11-libs/libX11
+ !bundled-libs? (
+ media-gfx/nvidia-cg-toolkit
+ media-libs/libogg
+ media-libs/libsdl:0[X,opengl,video]
+ media-libs/libtheora
+ media-libs/libvorbis
+ media-libs/openal
+ )
+ )"
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}/data
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+ einfo
+}
+
+src_unpack() {
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ if use !bundled-libs ; then
+ rm -rv lib || die
+ fi
+}
+
+src_install() {
+ insinto "${MYGAMEDIR}"
+ doins -r *
+
+ doicon -s 256 AwesomenautsIcon.png
+ make_desktop_entry "${PN}" "Awesomenauts" "AwesomenautsIcon"
+ games_make_wrapper "${PN}" "./Awesomenauts.bin.x86" "${MYGAMEDIR}" "${MYGAMEDIR}/lib"
+ make_desktop_entry "${PN}-settings" "Awesomenauts (settings)" "AwesomenautsIcon"
+ games_make_wrapper "${PN}-settings" "./Settings.bin.x86" "${MYGAMEDIR}" "${MYGAMEDIR}/lib"
+
+ fperms +x "${MYGAMEDIR}"/{Awesomenauts,Settings}.bin.x86
+
+ 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-action/awesomenauts/metadata.xml b/games-action/awesomenauts/metadata.xml
new file mode 100644
index 00000000000..fcab3b2f70a
--- /dev/null
+++ b/games-action/awesomenauts/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>
+ Use the upstream provided bundled libraries.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/games-action/barrage/Manifest b/games-action/barrage/Manifest
new file mode 100644
index 00000000000..5a1223e40e9
--- /dev/null
+++ b/games-action/barrage/Manifest
@@ -0,0 +1 @@
+DIST barrage-1.0.4.tar.gz 484641 SHA256 ad74e049dfded3bca28b8dc1c5870408cfad9e024b35cc5b501ba90486d9af25 SHA512 c866c0b98541c0c878ff015d99a2ae62e123c8095e94f64ef5aed26d68b734432110181c11a5b429d4feb808b2b276ac94295ff2b23ddfc64a8790d04a89a966 WHIRLPOOL d54022bd246ee22058e46d3d7add739d41dacc78be13030159c2463429057a19a149c687ccb25cd1385704f5f291b6cd697a900d3a8851a18a833f911ea9e188
diff --git a/games-action/barrage/barrage-1.0.4.ebuild b/games-action/barrage/barrage-1.0.4.ebuild
new file mode 100644
index 00000000000..ad389c81cb3
--- /dev/null
+++ b/games-action/barrage/barrage-1.0.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="A violent point-and-click shooting game"
+HOMEPAGE="http://lgames.sourceforge.net"
+SRC_URI="mirror://sourceforge/lgames/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND=">=media-libs/libsdl-1.2[sound,video]
+ >=media-libs/sdl-mixer-1.2.4"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ egamesconf --datadir="${GAMES_DATADIR_BASE}"
+}
+
+src_install() {
+ default
+ newicon barrage48.png ${PN}.png
+ make_desktop_entry ${PN} Barrage
+ rm "${D}"/usr/share/applications/${PN}.desktop
+ prepgamesdirs
+}
diff --git a/games-action/barrage/metadata.xml b/games-action/barrage/metadata.xml
new file mode 100644
index 00000000000..0f9429dd0de
--- /dev/null
+++ b/games-action/barrage/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">lgames</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/battalion/Manifest b/games-action/battalion/Manifest
new file mode 100644
index 00000000000..a43a97f59a1
--- /dev/null
+++ b/games-action/battalion/Manifest
@@ -0,0 +1 @@
+DIST battalion1.4b.tar.bz2 942342 SHA256 983db152b44b33396ab242946b51d33c405e0bef8649e2cc9e38d6229d9735f7 SHA512 c3c615772012c63a709aaeaf4f23246760bf577b82eeec7cf5b2a479c6240fe4a2f839aca50540299ed4bee9b297f61fb8b7e1f5af74ea357f0d7e749d86f84b WHIRLPOOL 4816460b6e07046934852ca7c079f13eca05827f34b19c13b00f98ced0caa57e848b9d1f3badaa31a82a0dcfba61a9591d70f815cb83596a6901728fd45088c5
diff --git a/games-action/battalion/battalion-1.4b.ebuild b/games-action/battalion/battalion-1.4b.ebuild
new file mode 100644
index 00000000000..e0ee2f00a88
--- /dev/null
+++ b/games-action/battalion/battalion-1.4b.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="Be a rampaging monster and destroy the city"
+HOMEPAGE="http://evlweb.eecs.uic.edu/aej/AndyBattalion.html"
+SRC_URI="http://evlweb.eecs.uic.edu/aej/BATTALION/${PN}${PV}.tar.bz2"
+
+LICENSE="battalion HPND"
+SLOT="0"
+KEYWORDS="ppc x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ virtual/glu
+ x11-libs/libX11"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${PN}${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-warning.patch
+ # Modify data paths
+ sed -i \
+ -e "s:SOUNDS/:${GAMES_DATADIR}/${PN}/SOUNDS/:" \
+ -e "s:MUSIC/:${GAMES_DATADIR}/${PN}/MUSIC/:" \
+ audio.c || die
+ sed -i \
+ -e "s:DATA/:${GAMES_DATADIR}/${PN}/DATA/:" \
+ -e "s:/usr/tmp:${GAMES_STATEDIR}:" \
+ battalion.c || die
+ sed -i \
+ -e "s:TEXTURES/:${GAMES_DATADIR}/${PN}/TEXTURES/:" \
+ graphics.c || die
+
+ # Modify Makefile and add CFLAGS
+ sed -i \
+ -e "s:-O2:${CFLAGS}:" \
+ -e "/^CC/d" \
+ Makefile || die
+ # Only .raw sound files are used on Linux. The .au files are not needed.
+ rm -f {SOUNDS,MUSIC}/*.au
+}
+
+src_compile() {
+ emake LIBFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dogamesbin battalion
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r DATA MUSIC SOUNDS TEXTURES
+ dodoc README
+
+ dodir "${GAMES_STATEDIR}"
+ touch "${D}${GAMES_STATEDIR}"/battalion_hiscore
+ fperms 660 "${GAMES_STATEDIR}"/battalion_hiscore
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "Sound and music are not enabled by default."
+ elog "Use the S and M keys to enable them in-game, or start the game with"
+ elog "the -s and -m switches: battalion -s -m"
+}
diff --git a/games-action/battalion/files/battalion-1.4b-warning.patch b/games-action/battalion/files/battalion-1.4b-warning.patch
new file mode 100644
index 00000000000..91fd8ee51d3
--- /dev/null
+++ b/games-action/battalion/files/battalion-1.4b-warning.patch
@@ -0,0 +1,12 @@
+diff -ru battalion1.4b.orig/net.c battalion1.4b/net.c
+--- battalion1.4b.orig/net.c 2002-05-06 09:57:01.000000000 -0400
++++ battalion1.4b/net.c 2015-03-30 18:29:23.885306334 -0400
+@@ -378,7 +378,7 @@
+
+ /* nother copy of this elsewhere */
+
+- sprintf(mesg, "%s %d %3.1f %3.1f %3.1f %3.1f %0.3f %d %d #", MESG_NEW_TANK,
++ sprintf(mesg, "%s %d %3.1f %3.1f %3.1f %3.1f %0.3f %d #", MESG_NEW_TANK,
+ tempTank->number,
+ tempTank->x-globalxshift,
+ tempTank->z-globalzshift,
diff --git a/games-action/battalion/metadata.xml b/games-action/battalion/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/battalion/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/beathazardultra/Manifest b/games-action/beathazardultra/Manifest
new file mode 100644
index 00000000000..59ff987f1f8
--- /dev/null
+++ b/games-action/beathazardultra/Manifest
@@ -0,0 +1 @@
+DIST beathazard-installer_03-08-13 183569201 SHA256 ba5d67d820b3367b7080cd73f433d13964285904a55d5be6578bbe9966963faa SHA512 273f550034473d43ac4ceb41018b540f6518393606249de490642a4e6f0dfb5f0b860d3a633db0f90f3b9fce1dc156cf4bd80d383f7e6eae91a5e7bd9e9427d4 WHIRLPOOL 91032365fce84eff65361397935f9e36eae8740f5ae947c976e2e30e76396e55423d8d959ce4476688d8c77d92b57c951c581023e675b1c59f8c286172ff5ec3
diff --git a/games-action/beathazardultra/beathazardultra-20130308.ebuild b/games-action/beathazardultra/beathazardultra-20130308.ebuild
new file mode 100644
index 00000000000..c3fd1359329
--- /dev/null
+++ b/games-action/beathazardultra/beathazardultra-20130308.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: unbundle allegro[gtk...] (no multilib on amd64 and 5.0.9 soname)
+
+EAPI=5
+inherit eutils unpacker games
+
+DESCRIPTION="Intense music-driven arcade shooter powered by your music"
+HOMEPAGE="http://www.coldbeamgames.com/"
+SRC_URI="beathazard-installer_03-08-13"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs"
+RESTRICT="bindist fetch splitdebug"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/BeatHazard_Linux2
+ ${MYGAMEDIR#/}/hge_lib/*"
+
+DEPEND="app-arch/unzip"
+RDEPEND="
+ virtual/opengl
+ amd64? (
+ !bundled-libs? (
+ >=media-libs/libpng-1.2.51:1.2[abi_x86_32(-)]
+ >=virtual/jpeg-0-r2[abi_x86_32(-)]
+ )
+ >=x11-libs/gtk+-2.24.23:2[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
+ >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)]
+ >=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
+ )
+ x86? (
+ x11-libs/gtk+:2
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ !bundled-libs? (
+ media-libs/libpng:1.2
+ virtual/jpeg
+ )
+ )"
+
+S=${WORKDIR}/data
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+ einfo
+}
+
+src_unpack() {
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ if ! use bundled-libs ; then
+ einfo "Removing bundled libs..."
+ rm -v all/hge_lib/libjpeg.so* all/hge_lib/libpng12.so* || die
+ fi
+}
+
+src_install() {
+ insinto "${MYGAMEDIR}"
+ doins -r all/*
+
+ dodoc Linux.README
+
+ newicon SmileLogo.png ${PN}.png
+ make_desktop_entry ${PN}
+ games_make_wrapper ${PN} "./BeatHazard_Linux2" "${MYGAMEDIR}" "${MYGAMEDIR}/hge_lib"
+
+ fperms +x "${MYGAMEDIR}"/BeatHazard_Linux2
+ prepgamesdirs
+}
diff --git a/games-action/beathazardultra/metadata.xml b/games-action/beathazardultra/metadata.xml
new file mode 100644
index 00000000000..fcab3b2f70a
--- /dev/null
+++ b/games-action/beathazardultra/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>
+ Use the upstream provided bundled libraries.
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/games-action/bomberclone/Manifest b/games-action/bomberclone/Manifest
new file mode 100644
index 00000000000..2f5378b24c2
--- /dev/null
+++ b/games-action/bomberclone/Manifest
@@ -0,0 +1 @@
+DIST bomberclone-0.11.8.tar.bz2 7966452 SHA256 2f6993ee4a63e8cea51f9605e35de4b4ec12a5abafd25309c313ddb0fba35230 SHA512 a5e52db43f7f508993231ec13bb2705f60e25cfc21d15c17d9b422c6fc948dc14cc8c4519acfac2e9b7b32a3072dc3a521fbf28b2150a86cfb4099ced72ab79b WHIRLPOOL 89ecc1ce9f18342ea0bf4cb099e26eed8dc2ebddf71c75356f522a0a2b5d593d1525234c104d441f4d3073efb01e78fe234b0a7aabb81baa236df6c5133084c4
diff --git a/games-action/bomberclone/bomberclone-0.11.8.ebuild b/games-action/bomberclone/bomberclone-0.11.8.ebuild
new file mode 100644
index 00000000000..155c9d2cb05
--- /dev/null
+++ b/games-action/bomberclone/bomberclone-0.11.8.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils autotools games
+
+DESCRIPTION="BomberMan clone with network game support"
+HOMEPAGE="http://www.bomberclone.de/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~mips ppc ppc64 x86"
+IUSE="X"
+
+DEPEND=">=media-libs/libsdl-1.1.0
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer[mod]
+ X? ( x11-libs/libXt )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ ecvs_clean
+ epatch "${FILESDIR}"/${P}-underlink.patch
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ $(use_with X x) \
+ --datadir="${GAMES_DATADIR_BASE}"
+ sed -i \
+ -e "/PACKAGE_DATA_DIR/ s:/usr/games/share/games/:${GAMES_DATADIR}/:" \
+ config.h \
+ || die
+}
+
+src_install() {
+ dogamesbin src/${PN}
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r data/{gfx,maps,player,tileset,music}
+ find "${D}" -name "Makefile*" -exec rm -f '{}' +
+
+ dodoc AUTHORS ChangeLog README TODO
+ doicon data/pixmaps/bomberclone.png
+ make_desktop_entry bomberclone Bomberclone
+ prepgamesdirs
+}
diff --git a/games-action/bomberclone/files/bomberclone-0.11.8-underlink.patch b/games-action/bomberclone/files/bomberclone-0.11.8-underlink.patch
new file mode 100644
index 00000000000..d534df6192b
--- /dev/null
+++ b/games-action/bomberclone/files/bomberclone-0.11.8-underlink.patch
@@ -0,0 +1,20 @@
+--- configure.in.old 2011-06-18 18:23:48.633605738 +0200
++++ configure.in 2011-06-18 18:26:26.910628408 +0200
+@@ -33,7 +33,7 @@
+ )
+
+ CFLAGS="$SDL_CFLAGS $CFLAGS"
+- LIBS="$SDL_LIBS $LIBS"
++ LIBS="$SDL_LIBS $LIBS -lm"
+
+
+ dnl Checks for header files.
+@@ -84,7 +84,7 @@
+ CFLAGS="$CFLAGS -Wall"
+ AC_MSG_WARN(Disable Warning as Error Treatment)
+ else
+- CFLAGS="$CFLAGS -Wall -Werror"
++ CFLAGS="$CFLAGS -Wall"
+ fi
+
+
diff --git a/games-action/bomberclone/metadata.xml b/games-action/bomberclone/metadata.xml
new file mode 100644
index 00000000000..2c5c4b0302a
--- /dev/null
+++ b/games-action/bomberclone/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">bomberclone</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/brutal-legend/Manifest b/games-action/brutal-legend/Manifest
new file mode 100644
index 00000000000..d12c10b2392
--- /dev/null
+++ b/games-action/brutal-legend/Manifest
@@ -0,0 +1 @@
+DIST BrutalLegend-Linux-2013-06-15-setup.bin 8999631895 SHA256 133cc6f565966503d347722a9bd13dd27f86c6ff75f5586cbc4e6ef6bbb8640a SHA512 4099ed07cf78d62617eeac7de396aa01e4e9b0514861a1b0e8988f383b458281be0b3c84c33e2a2e85f80fbbacf8a4b381fc880b138af2e73a226a492cf9620a WHIRLPOOL a50abc04f02bd8ef720f86c9962976c434f8aacc9c814dd6eff2e68fb5db4bbac797e5fbbdd1112298e5a9198144dc18cf18cb7693822a5df4fe95fcda569db0
diff --git a/games-action/brutal-legend/brutal-legend-20130615-r1.ebuild b/games-action/brutal-legend/brutal-legend-20130615-r1.ebuild
new file mode 100644
index 00000000000..dc4da5e8e87
--- /dev/null
+++ b/games-action/brutal-legend/brutal-legend-20130615-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: unbundle libsdl-2
+
+EAPI=5
+
+inherit eutils unpacker gnome2-utils games
+
+TIMESTAMP=${PV:0:4}-${PV:4:2}-${PV:6:2}
+DESCRIPTION="Unleash the power of Heavy Metal to reign down fire from the sky"
+HOMEPAGE="https://www.ea.com/de/brutal-legend"
+SRC_URI="BrutalLegend-Linux-${TIMESTAMP}-setup.bin"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RESTRICT="bindist fetch splitdebug"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/lib/*
+ ${MYGAMEDIR#/}/Buddha.bin.x86"
+
+RDEPEND="
+ amd64? (
+ >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)]
+ >=virtual/glu-9.0-r1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXau-1.0.7-r1[abi_x86_32(-)]
+ >=x11-libs/libXdmcp-1.1.1-r1[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=x11-libs/libxcb-1.9.1[abi_x86_32(-)]
+ )
+ x86? (
+ sys-libs/zlib
+ virtual/glu
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libxcb
+
+ )"
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}/data
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " https://www.humblebundle.com/store"
+ einfo "and move it to ${DISTDIR}"
+}
+
+src_unpack() {
+ unpack_zip ${A}
+}
+
+src_install() {
+ newicon -s 256 Buddha.png ${PN}.png
+ games_make_wrapper ${PN} "./Buddha.bin.x86" "${MYGAMEDIR}" "${MYGAMEDIR}/lib"
+ make_desktop_entry ${PN}
+
+ dodir "${MYGAMEDIR}"
+ # this is over 9000!!!! ...eh, 8GB data
+ mv * "${D%/}/${MYGAMEDIR}" || die
+
+ fperms +x "${MYGAMEDIR}/Buddha.bin.x86"
+ 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-action/brutal-legend/metadata.xml b/games-action/brutal-legend/metadata.xml
new file mode 100644
index 00000000000..61daea7cd59
--- /dev/null
+++ b/games-action/brutal-legend/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <longdescription lang="en">
+ Jack Black stars as Eddie Riggs, a roadie who’s sucked into a
+ mythical Age of Rock to fight evil, liberate an army of headbangers
+ from a life of oppression, find love, and discover his life’s
+ purpose. Heavy stuff until one realizes the universe of Brütal
+ Legend has sprung up from the mind of legendary game director Tim
+ Schafer.
+
+ Enter the world of Heavy Metal where mountains are made of
+ amplifiers, killer spiders spin guitar strings, druids want to
+ kill you, and Rock Legends roam the landscape.
+
+ Armed with a massive battle-axe, guitar, and his hot-rod, Eddie
+ will rip the faces off of demons. As Eddie, expect to crush skulls,
+ ravage the road in the Deuce, and unleash the power of Heavy Metal
+ to reign down fire from the sky — all to save humanity and become
+ a brutal legend.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-action/btanks/Manifest b/games-action/btanks/Manifest
new file mode 100644
index 00000000000..28d357168d3
--- /dev/null
+++ b/games-action/btanks/Manifest
@@ -0,0 +1 @@
+DIST btanks-0.9.8083.tar.bz2 28754069 SHA256 3fd2ce6a2b45f7a60c3b114fa9aff13cb3dd9fbb6a65cdc9798b76c4fa2c4341 SHA512 beef8f480e4c20c4f3d29aaa63fd52b370b89cceb8a7dda92f0d0fa5517969abf1fce6b0109782300f1b5bb92cf3c599677b168cd66f3b44c2d2dd1742ce0241 WHIRLPOOL 5320ce692ae5c6a760121fb52120ff35632d06610dfa514897f6569f7b5a9c8246b824a81b50d74c649dff7c0cb84b9af537edbb5d2fc88b7bafdf92d0b1c749
diff --git a/games-action/btanks/btanks-0.9.8083.ebuild b/games-action/btanks/btanks-0.9.8083.ebuild
new file mode 100644
index 00000000000..c2789ee7147
--- /dev/null
+++ b/games-action/btanks/btanks-0.9.8083.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils scons-utils games
+
+DESCRIPTION="Fast 2D tank arcade game with multiplayer and split-screen modes"
+HOMEPAGE="http://btanks.sourceforge.net/"
+SRC_URI="mirror://sourceforge/btanks/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=">=dev-lang/lua-5.1:0
+ media-libs/libsdl[joystick,video]
+ media-libs/libvorbis
+ virtual/opengl
+ dev-libs/expat
+ media-libs/smpeg
+ media-libs/sdl-image[jpeg,png]
+ media-libs/sdl-gfx"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -rf sdlx/gfx
+ epatch "${FILESDIR}"/${P}-scons-blows.patch \
+ "${FILESDIR}"/${P}-gcc46.patch \
+ "${FILESDIR}"/${P}-gcc47.patch
+}
+
+src_compile() {
+ escons \
+ prefix="${GAMES_PREFIX}" \
+ lib_dir="$(games_get_libdir)"/${PN} \
+ plugins_dir="$(games_get_libdir)"/${PN} \
+ resources_dir="${GAMES_DATADIR}"/${PN}
+}
+
+src_install() {
+ dogamesbin build/release/engine/btanks
+ newgamesbin build/release/editor/bted btanksed
+ exeinto "$(games_get_libdir)"/${PN}
+ doexe build/release/*/*.so
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r data
+ newicon engine/src/bt.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "Battle Tanks"
+ dodoc ChangeLog *.txt
+ prepgamesdirs
+}
diff --git a/games-action/btanks/files/btanks-0.9.8083-gcc46.patch b/games-action/btanks/files/btanks-0.9.8083-gcc46.patch
new file mode 100644
index 00000000000..367c33cc6f2
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-gcc46.patch
@@ -0,0 +1,10 @@
+--- engine/sl08/sl08.h.old 2011-04-19 17:20:34.055776870 +0200
++++ engine/sl08/sl08.h 2011-04-19 17:20:59.471398921 +0200
+@@ -22,6 +22,7 @@
+ /* DO NOT MODIFY THIS FILE: IT'S AUTOGENERATED */
+
+ #include <list>
++#include <cstddef>
+
+ #ifndef NULL
+ #define NULL ((void*) 0)
diff --git a/games-action/btanks/files/btanks-0.9.8083-gcc47.patch b/games-action/btanks/files/btanks-0.9.8083-gcc47.patch
new file mode 100644
index 00000000000..13a4cf3723a
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-gcc47.patch
@@ -0,0 +1,103 @@
+--- mrt/base_file.h.old 2012-10-08 10:16:43.941487723 +0200
++++ mrt/base_file.h 2012-10-08 10:18:55.788771445 +0200
+@@ -20,6 +20,7 @@
+ */
+
+ #include <string>
++#include <unistd.h>
+ #include "export_mrt.h"
+
+ namespace mrt {
+--- math/range_list.h.old 2012-10-08 09:49:34.283887937 +0200
++++ math/range_list.h 2012-10-08 09:50:36.258212096 +0200
+@@ -53,14 +53,14 @@
+ return;
+ }
+
+- typename parent_type::iterator i = lower_bound(value);
++ typename parent_type::iterator i = this->lower_bound(value);
+ if (i != parent_type::end()) {
+ if (i->first == value)
+ return;
+
+ if (value + 1 == i->first) {
+ T e = i->second;
+- erase(i);
++ this->erase(i);
+ i = parent_type::insert(typename parent_type::value_type(value, e)).first; //expand beginning
+ i = pack_left(i);
+ }
+--- engine/sl08/sl08.h.old 2012-10-04 09:50:37.845681514 +0200
++++ engine/sl08/sl08.h 2012-10-08 09:58:32.873166723 +0200
+@@ -272,7 +272,7 @@
+ inline slot1(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1) const {
+ return (object->*func) (a1) ;
+@@ -293,7 +293,7 @@
+ inline slot1 () : object(NULL), func(NULL) {}
+ inline slot1 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1) const {
+ (object->*func) (a1);
+@@ -447,7 +447,7 @@
+ inline slot2(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1, arg2_type a2) const {
+ return (object->*func) (a1, a2) ;
+@@ -468,7 +468,7 @@
+ inline slot2 () : object(NULL), func(NULL) {}
+ inline slot2 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1, arg2_type a2) const {
+ (object->*func) (a1, a2);
+@@ -643,7 +643,7 @@
+ inline slot3 () : object(NULL), func(NULL) {}
+ inline slot3 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3) const {
+ (object->*func) (a1, a2, a3);
+@@ -797,7 +797,7 @@
+ inline slot4(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) const {
+ return (object->*func) (a1, a2, a3, a4) ;
+@@ -818,7 +818,7 @@
+ inline slot4 () : object(NULL), func(NULL) {}
+ inline slot4 (object_type *object, func_t func) : object(object), func(func) {}
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref) { object = o; func = f; this->connect(signal_ref); }
+
+ inline void operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) const {
+ (object->*func) (a1, a2, a3, a4);
+@@ -972,7 +972,7 @@
+ inline slot5(object_type *object, func_t func, signal_type * signal = NULL) : object(object), func(func) {}
+
+ inline void assign(object_type *o, func_t f) { object = o; func = f; }
+- inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; connect(signal_ref); }
++ inline void assign(object_type *o, func_t f, signal_type &signal_ref = NULL) { object = o; func = f; this->connect(signal_ref); }
+
+ inline return_type operator() (arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) const {
+ return (object->*func) (a1, a2, a3, a4, a5) ;
diff --git a/games-action/btanks/files/btanks-0.9.8083-scons-blows.patch b/games-action/btanks/files/btanks-0.9.8083-scons-blows.patch
new file mode 100644
index 00000000000..47ce410f0bf
--- /dev/null
+++ b/games-action/btanks/files/btanks-0.9.8083-scons-blows.patch
@@ -0,0 +1,93 @@
+--- mrt/export_base.h.old 2010-01-09 17:38:47.000000000 +0100
++++ mrt/export_base.h 2010-01-09 17:39:23.000000000 +0100
+@@ -1,7 +1,7 @@
+ #ifndef MRT_EXPORT_MACRO_H__
+ #define MRT_EXPORT_MACRO_H__
+
+-// Shared library support
++/* Shared library support */
+ #ifdef _WINDOWS
+
+ # pragma warning(disable:4251) /* needs to have dll-interface used by client */
+--- SConstruct.old 2010-01-09 17:43:36.000000000 +0100
++++ SConstruct 2010-01-09 17:45:25.000000000 +0100
+@@ -50,7 +50,7 @@
+ 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'])
++ env['CFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+ if os.environ.has_key('CXX'):
+ env['CXX'] = os.environ['CXX']
+ if os.environ.has_key('CXXFLAGS'):
+@@ -91,19 +91,9 @@
+ #env.Append(CPPDEFINES = ['NDEBUG'])
+
+ else:
+- if env['gcc_visibility']:
+- env.Append(CCFLAGS=['-fvisibility=hidden']);
+- env.Append(CXXFLAGS=['-fvisibility-inlines-hidden', '-fvisibility=hidden']);
+-
+- if debug:
+- env.Append(CCFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2'])
+- env.Append(CPPFLAGS=['-ggdb', '-D_FORTIFY_SOURCE=2'])
+- else:
+- env.Append(CCFLAGS=['-O3'])
+- env.Append(CPPFLAGS=['-O3'])
+
+- env.Append(CPPFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread'])
+- env.Append(CCFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pipe', '-pthread'])
++ env.Append(CPPFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pthread'])
++ env.Append(CCFLAGS=['-Wall', '-Wno-deprecated', '-pedantic', '-Wno-long-long', '-pthread'])
+
+
+ conf_env = env.Clone()
+--- sdlx/SConscript.old 2010-01-09 17:46:05.000000000 +0100
++++ sdlx/SConscript 2010-01-09 17:46:55.000000000 +0100
+@@ -12,7 +12,7 @@
+
+ env.MergeFlags(sdl_cflags, sdl_libs)
+
+-libs = ['mrt', 'SDL', 'SDL_image']
++libs = ['mrt', 'SDL', 'SDL_image', 'SDL_gfx']
+
+ if sys.platform != "win32":
+ c_map_env= env.Clone()
+@@ -35,7 +35,6 @@
+ sdlx_sources = ['cursor.cpp', 'sdl_ex.cpp', 'surface.cpp', 'system.cpp', 'joystick.cpp',
+ 'thread.cpp', 'mutex.cpp', 'semaphore.cpp', 'color.cpp',
+ c_map, 'font.cpp', 'timer.cpp', 'module.cpp', 'file_rw.cpp',
+- 'gfx/SDL_rotozoom.c',
+ ] # 'ttf.cpp',
+
+ if sys.platform == 'win32':
+--- sdlx/surface.cpp.old 2010-01-09 17:47:33.000000000 +0100
++++ sdlx/surface.cpp 2010-01-09 17:48:19.000000000 +0100
+@@ -425,7 +425,7 @@
+ throw_sdl(("SDL_SetColorKey"));
+ }
+
+-#include "gfx/SDL_rotozoom.h"
++#include <SDL_rotozoom.h>
+
+ void Surface::rotozoom(const sdlx::Surface &src, double angle, double zoom, bool smooth) {
+ if (src.isNull())
+--- sdlx/wrappers/glSDL.c.old 2010-01-09 17:48:50.000000000 +0100
++++ sdlx/wrappers/glSDL.c 2010-01-09 17:49:23.000000000 +0100
+@@ -11,8 +11,6 @@
+
+ #ifdef HAVE_OPENGL
+
+-//#define LEAK_TRACKING
+-
+ #define DBG(x) /*error messages, warnings*/
+ #define DBG2(x) /*texture allocation*/
+ #define DBG3(x) /*chopping/tiling*/
+@@ -951,7 +949,6 @@
+ }
+ gl_doublebuf = flags & SDL_DOUBLEBUF;
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, gl_doublebuf);
+- //SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, gl_doublebuf ? 1: 0);
+
+ scale = 1;
+
diff --git a/games-action/btanks/metadata.xml b/games-action/btanks/metadata.xml
new file mode 100644
index 00000000000..f9be16e9e21
--- /dev/null
+++ b/games-action/btanks/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <longdescription lang="en">
+"Battle Tanks" is a funny battle on your desk, where you can choose one of three
+vehicles and eliminate your enemy using the whole arsenal of weapons. It has
+original cartoon-like graphics and cool music, it's fun and dynamic, it has
+several network modes for deathmatch and cooperative --- what else is needed to
+have fun with your friends? And all is packed and ready for you in "Battle
+Tanks".
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">btanks</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/bzflag/Manifest b/games-action/bzflag/Manifest
new file mode 100644
index 00000000000..84c0d87b471
--- /dev/null
+++ b/games-action/bzflag/Manifest
@@ -0,0 +1 @@
+DIST bzflag-2.4.2.tar.bz2 15971448 SHA256 4f7bc52284cc4b39fc352855e555b2b064c1de6a18f7474e249073070762c811 SHA512 e5645e825f19896ad4dc1e3bf97c9b52ed3838210d97d5532936a9306623283330c9535288af90f86e32c88a1a7996b2c872b9c081558eea48400b86b3a1a6ff WHIRLPOOL 82a5e543a8fdcb80c516394c63901c80c77fc659090f952cb36f65a9fb14c5ca06d6547dc9d347c6abf0ee706c40437f80edf20c424775bf6e202423e025794c
diff --git a/games-action/bzflag/bzflag-2.4.2.ebuild b/games-action/bzflag/bzflag-2.4.2.ebuild
new file mode 100644
index 00000000000..954ad9958e2
--- /dev/null
+++ b/games-action/bzflag/bzflag-2.4.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils flag-o-matic games
+
+DESCRIPTION="3D tank combat simulator game"
+HOMEPAGE="http://www.bzflag.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="dedicated sdl upnp"
+
+UIDEPEND="virtual/opengl
+ virtual/glu
+ media-libs/libsdl[sound,joystick,video]
+ media-libs/glew
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXmu
+ x11-libs/libXt
+ x11-libs/libXxf86vm"
+
+DEPEND=">=net-misc/curl-7.15.0
+ sys-libs/ncurses
+ net-dns/c-ares
+ upnp? ( net-libs/miniupnpc )
+ sdl? ( ${UIDEPEND} )
+ !sdl? ( !dedicated? ( ${UIDEPEND} ) )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-nocxxflags.patch
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use dedicated && ! use sdl ; then
+ ewarn
+ ewarn "You are building a server-only copy of BZFlag"
+ ewarn
+ myconf="--disable-client --without-SDL"
+ fi
+ egamesconf \
+ --disable-ccachetest \
+ --without-regex \
+ $(use_enable upnp UPnP) \
+ ${myconf}
+}
+
+src_install() {
+ default
+ dodoc PORTING DEVINFO
+
+ if use sdl || ! use dedicated ; then
+ newicon "data/bzflag-48x48.png" ${PN}.png
+ make_desktop_entry ${PN} "BZFlag"
+ fi
+
+ prune_libtool_files --modules
+ prepgamesdirs
+}
diff --git a/games-action/bzflag/files/bzflag-2.4.2-nocxxflags.patch b/games-action/bzflag/files/bzflag-2.4.2-nocxxflags.patch
new file mode 100644
index 00000000000..0b74d57bc41
--- /dev/null
+++ b/games-action/bzflag/files/bzflag-2.4.2-nocxxflags.patch
@@ -0,0 +1,56 @@
+--- configure.ac.old 2013-05-12 13:33:05.738250140 +0200
++++ configure.ac 2013-05-12 13:33:24.732927312 +0200
+@@ -89,7 +89,7 @@
+ AM_INIT_AUTOMAKE([1.6 dist-zip dist-bzip2])
+
+ dnl all configured definitions get written here
+-AM_CONFIG_HEADER([include/config.h])
++AC_CONFIG_HEADER([include/config.h])
+
+ AC_SUBST(MAJOR_VERSION)
+ AC_SUBST(MINOR_VERSION)
+@@ -689,13 +689,9 @@
+ else
+ FLAGS="$FLAGS=$host_cpu"
+ fi
+- CONF_CFLAGS="$CONF_CFLAGS $FLAGS";
+- CONF_CXXFLAGS="$CONF_CXXFLAGS $FLAGS";
+ CONF_CXXFLAGS="$CONF_CXXFLAGS -fsigned-char";;
+ ppc)
+ FLAGS="-mcpu=$host_cpu"
+- CONF_CFLAGS="$CONF_CFLAGS $FLAGS";
+- CONF_CXXFLAGS="$CONF_CXXFLAGS $FLAGS";;
+ esac;;
+ cygwin)
+ AC_DEFINE(HALF_RATE_AUDIO, 1, [Half rate Audio])
+@@ -755,8 +751,6 @@
+ else
+ if test "$GCC" = yes ; then
+ OPTIMIZE="-fexpensive-optimizations"
+- CONF_CFLAGS="$CONF_CFLAGS $OPTIMIZE"
+- CONF_CXXFLAGS="$CONF_CXXFLAGS $OPTIMIZE"
+ fi
+ AC_DEFINE(NDEBUG, 1, [Debugging disabled])
+ fi
+--- src/other/ares/configure.ac.old 2013-05-12 13:44:25.147676903 +0200
++++ src/other/ares/configure.ac 2013-05-12 13:44:39.353684194 +0200
+@@ -7,7 +7,7 @@
+ CARES_OVERRIDE_AUTOCONF
+
+ AC_CONFIG_SRCDIR([ares_ipv6.h])
+-AM_CONFIG_HEADER([ares_config.h ares_build.h])
++AC_CONFIG_HEADER([ares_config.h ares_build.h])
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_MAINTAINER_MODE
+
+--- src/other/curl/configure.ac.old 2013-05-12 13:49:00.814352825 +0200
++++ src/other/curl/configure.ac 2013-05-12 13:49:15.216341340 +0200
+@@ -34,7 +34,7 @@
+ terms of the curl license; see COPYING for more details])
+
+ AC_CONFIG_SRCDIR([lib/urldata.h])
+-AM_CONFIG_HEADER(lib/curl_config.h src/curl_config.h include/curl/curlbuild.h)
++AC_CONFIG_HEADER(lib/curl_config.h src/curl_config.h include/curl/curlbuild.h)
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_MAINTAINER_MODE
+
diff --git a/games-action/bzflag/metadata.xml b/games-action/bzflag/metadata.xml
new file mode 100644
index 00000000000..ebec991ee84
--- /dev/null
+++ b/games-action/bzflag/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">bzflag</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/chickens/Manifest b/games-action/chickens/Manifest
new file mode 100644
index 00000000000..898ae81c965
--- /dev/null
+++ b/games-action/chickens/Manifest
@@ -0,0 +1 @@
+DIST ChickensForLinux-Linux-0.2.4.tar.gz 1455207 SHA256 604dc614793b5bee2346639df14ab846cf878fed09ef695804d5aa21d85b518b SHA512 d94a70818a766fde443e86184418990d789246c239da01c6c1a2c9e7d8c1d6bb52ed28efbb4ecdb6b079c585e1ba18bc8efcd4f1cbf718ff39757831265c7a78 WHIRLPOOL 2b1d7c088dac8d975eb7b45b138f6786ae6aaa6bcaf5be1554b80f8fa397560a43d209c0fe5fd0491531b1f1e41db1706482bab23c85f00f86482db0b3070947
diff --git a/games-action/chickens/chickens-0.2.4.ebuild b/games-action/chickens/chickens-0.2.4.ebuild
new file mode 100644
index 00000000000..b40213dba25
--- /dev/null
+++ b/games-action/chickens/chickens-0.2.4.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+MY_P="ChickensForLinux-Linux-${PV}"
+DESCRIPTION="Target chickens with rockets and shotguns. Funny"
+HOMEPAGE="http://www.chickensforlinux.com/"
+SRC_URI="http://www.chickensforlinux.com/${MY_P}.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+RESTRICT="mirror bindist"
+
+DEPEND="<media-libs/allegro-5"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ sed -i \
+ -e "s:HighScores:${GAMES_STATEDIR}/${PN}/HighScores:" \
+ -e "s:....\(.\)\(_\)\(.*.4x0\)\(.\):M\4\2\x42\x6Fn\1s\2:" \
+ highscore.cpp HighScores \
+ || die "sed failed"
+ sed -i \
+ -e "s:options.cfg:${GAMES_SYSCONFDIR}/${PN}/options.cfg:" \
+ -e "s:\"sound/:\"${GAMES_DATADIR}/${PN}/sound/:" \
+ -e "s:\"dat/:\"${GAMES_DATADIR}/${PN}/dat/:" \
+ main.cpp README \
+ || die "sed failed"
+ sed -i \
+ -e '/^CPPFLAGS/d' \
+ -e 's:g++:\\$(CXX) \\$(CXXFLAGS) \\$(LDFLAGS):' \
+ configure \
+ || die "sed failed"
+}
+
+src_configure() {
+ bash ./configure || die "configure failed"
+}
+
+src_install() {
+ dogamesbin ${PN}
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r dat sound
+ dodoc AUTHOR README
+ insinto "${GAMES_STATEDIR}"/${PN}
+ doins HighScores
+ insinto "${GAMES_SYSCONFDIR}"/${PN}
+ doins options.cfg
+ fperms g+w "${GAMES_STATEDIR}"/${PN}/HighScores
+ make_desktop_entry ${PN} Chickens
+ prepgamesdirs
+}
diff --git a/games-action/chickens/metadata.xml b/games-action/chickens/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/chickens/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/chromium-bsu/Manifest b/games-action/chromium-bsu/Manifest
new file mode 100644
index 00000000000..7aa8abe7ebb
--- /dev/null
+++ b/games-action/chromium-bsu/Manifest
@@ -0,0 +1 @@
+DIST chromium-bsu-0.9.15.1.tar.gz 1689634 SHA256 861b4dc01b662f3d3d03a8e20e76b1b4abd336910e05b770e6e6df0ce2ac8405 SHA512 1e62161a10a5eb4246c0e04a13e7d8b521218aa709cced5bed1440055bb91bbcff45a85e544bdc6854f1ed727ea15257d34a3c988c65818bfbfe8004ac76c104 WHIRLPOOL 5f8b8d108e84698e0465c7ab098f94118bb135566c7e5caf6d892bfff5005e730ca8409c3a3dd50e63aa303015b320d18a18a41fb3f58c0af46e67b6b314611d
diff --git a/games-action/chromium-bsu/chromium-bsu-0.9.15.1.ebuild b/games-action/chromium-bsu/chromium-bsu-0.9.15.1.ebuild
new file mode 100644
index 00000000000..80b6eba68b1
--- /dev/null
+++ b/games-action/chromium-bsu/chromium-bsu-0.9.15.1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils games
+
+DESCRIPTION="Chromium B.S.U. - an arcade game"
+HOMEPAGE="http://chromium-bsu.sourceforge.net/"
+SRC_URI="mirror://sourceforge/chromium-bsu/${P}.tar.gz"
+
+LICENSE="Clarified-Artistic"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="mixer nls +sdl"
+
+RDEPEND="media-fonts/dejavu
+ media-libs/quesoglc
+ media-libs/glpng
+ virtual/opengl
+ virtual/glu
+ x11-libs/libXmu
+ mixer? ( media-libs/sdl-mixer )
+ !mixer? (
+ media-libs/freealut
+ media-libs/openal
+ )
+ nls? ( virtual/libintl )
+ sdl? (
+ media-libs/libsdl[X]
+ media-libs/sdl-image[png]
+ )
+ !sdl? ( media-libs/freeglut )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_configure() {
+ egamesconf \
+ --disable-ftgl \
+ --enable-glc \
+ $(use_enable mixer sdlmixer) \
+ $(use_enable !mixer openal) \
+ $(use_enable nls) \
+ $(use_enable sdl) \
+ $(use_enable sdl sdlimage) \
+ $(use_enable !sdl glut)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # remove installed /usr/games/share stuff
+ rm -rf "${D}"/"${GAMES_PREFIX}"/share/
+
+ newicon -s 64 misc/${PN}.png ${PN}.png
+ domenu misc/chromium-bsu.desktop
+
+ # install documentation
+ dodoc AUTHORS README NEWS
+ dohtml "${S}"/data/doc/*.htm
+ dohtml -r "${S}"/data/doc/images
+
+ 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-action/chromium-bsu/metadata.xml b/games-action/chromium-bsu/metadata.xml
new file mode 100644
index 00000000000..7027aec6876
--- /dev/null
+++ b/games-action/chromium-bsu/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name="mixer">
+ Enables <pkg>media-libs/sdl-mixer</pkg> sound backend instead of
+ <pkg>media-libs/openal</pkg> one.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">chromium-bsu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/clanbomber/Manifest b/games-action/clanbomber/Manifest
new file mode 100644
index 00000000000..805cdafbf9a
--- /dev/null
+++ b/games-action/clanbomber/Manifest
@@ -0,0 +1 @@
+DIST clanbomber-2.1.1.tar.lzma 2070392 SHA256 82aa263e6560f7e12a9bf590df1046cb4da8fc855162ab9ad09f89ec2e617e3b SHA512 b2d634c20d60cd7c080263a8ebea931bd623342c32380494c0076441021719135ca7861e0467e0c71cd46bb4ed85d3ce364dbfa2c8399eaf058f62f294a21c32 WHIRLPOOL d7d9c71ea20d8f1bcd1420156516c9f969880d4ba7907093361ee1713b8984a1fe1c11bda1f7f3f46a3503d257b180be8ec9e028a5b624531cfc7a493fa9c144
diff --git a/games-action/clanbomber/clanbomber-2.1.1.ebuild b/games-action/clanbomber/clanbomber-2.1.1.ebuild
new file mode 100644
index 00000000000..0c4bbbdfb8f
--- /dev/null
+++ b/games-action/clanbomber/clanbomber-2.1.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils games
+
+DESCRIPTION="Bomberman-like multiplayer game"
+HOMEPAGE="http://savannah.nongnu.org/projects/clanbomber/"
+SRC_URI="http://download.savannah.gnu.org/releases/${PN}/${P}.tar.lzma"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[sound,joystick,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer
+ media-libs/sdl-ttf
+ media-libs/sdl-gfx
+ dev-libs/boost
+ media-fonts/dejavu"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( AUTHORS ChangeLog ChangeLog.hg IDEAS NEWS QUOTES README TODO )
+
+src_prepare() {
+ sed -i -e 's/menuentry//' src/Makefile.am || die
+ epatch \
+ "${FILESDIR}"/${P}-automake112.patch \
+ "${FILESDIR}"/${P}-boost150.patch
+ eautoreconf
+}
+
+src_install() {
+ default
+ newicon src/pics/cup2.png ${PN}.png
+ make_desktop_entry ${PN}2 ClanBomber2
+ rm -f "${D}${GAMES_DATADIR}"/${PN}/fonts/DejaVuSans-Bold.ttf
+ dosym /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf \
+ "${GAMES_DATADIR}"/${PN}/fonts/DejaVuSans-Bold.ttf
+ prepgamesdirs
+}
diff --git a/games-action/clanbomber/files/clanbomber-2.1.1-automake112.patch b/games-action/clanbomber/files/clanbomber-2.1.1-automake112.patch
new file mode 100644
index 00000000000..e3223108c36
--- /dev/null
+++ b/games-action/clanbomber/files/clanbomber-2.1.1-automake112.patch
@@ -0,0 +1,11 @@
+--- configure.ac.old 2012-11-15 09:35:24.682199511 +0100
++++ configure.ac 2012-11-15 09:36:02.367839076 +0100
+@@ -2,7 +2,7 @@
+ AC_PREREQ([2.63])
+ AC_INIT([ClanBomber], [2.1.1], [rsl@members.fsf.org])
+ #AM_INIT_AUTOMAKE([-Wall -Werror foreign])#foreign is for NEWS COPYING ETC
+-AM_INIT_AUTOMAKE([dist-lzma -Wall -Werror])
++AM_INIT_AUTOMAKE([-Wall])
+
+
+ #CXXFLAGS="-O6 -g3"
diff --git a/games-action/clanbomber/files/clanbomber-2.1.1-boost150.patch b/games-action/clanbomber/files/clanbomber-2.1.1-boost150.patch
new file mode 100644
index 00000000000..34335bc79f9
--- /dev/null
+++ b/games-action/clanbomber/files/clanbomber-2.1.1-boost150.patch
@@ -0,0 +1,31 @@
+--- src/MapEntry.cpp.old 2012-11-15 10:55:40.123259605 +0100
++++ src/MapEntry.cpp 2012-11-15 10:57:35.217379211 +0100
+@@ -50,7 +50,7 @@
+ enabled = true;
+
+ // extract map name
+- map_name = filename.stem();
++ map_name = filename.stem().string();
+
+ // is the file writable?
+ if (access(path / filename, W_OK) == 0) {
+--- src/Map.cpp.old 2012-11-15 10:52:56.884424228 +0100
++++ src/Map.cpp 2012-11-15 10:54:16.334992079 +0100
+@@ -116,7 +116,7 @@
+ for (boost::filesystem::directory_iterator dir_iter(path);
+ dir_iter != end_iter; dir_iter++) {
+ if (dir_iter->path().extension() == ".map") {
+- map_list.push_back(new MapEntry(path, dir_iter->filename()));
++ map_list.push_back(new MapEntry(path, dir_iter->path().filename()));
+ }
+ }
+ }
+@@ -126,7 +126,7 @@
+ for (boost::filesystem::directory_iterator dir_iter(path);
+ dir_iter != end_iter; dir_iter++) {
+ if (dir_iter->path().extension() == ".map") {
+- map_list.push_back(new MapEntry(path, dir_iter->filename()));
++ map_list.push_back(new MapEntry(path, dir_iter->path().filename()));
+ }
+ }
+ }
diff --git a/games-action/clanbomber/metadata.xml b/games-action/clanbomber/metadata.xml
new file mode 100644
index 00000000000..77a5395f55f
--- /dev/null
+++ b/games-action/clanbomber/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+ClanBomber is a free (GPL) Bomberman-like multiplayer game that uses ClanLib, a free multi
+platform C++ game SDK. First "ClanBomber" was only a working title for a small game started in
+September 1998, that has only been started to learn how to use ClanLib. But the ClanBomber
+project has grown into a real game. It is fully playable and features Computer controlled
+bombers, however, it is recommended to play ClanBomber with friends (3-8 players are really fun).
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/cs2d/Manifest b/games-action/cs2d/Manifest
new file mode 100644
index 00000000000..fa4f0b718b8
--- /dev/null
+++ b/games-action/cs2d/Manifest
@@ -0,0 +1,5 @@
+DIST cs2d.png 479 SHA256 4114a718e4e1c9b6686571d41f2e66598940e112f129b2c858b2d75ba4f0e607 SHA512 e8894771deedb8e5018d0be986a53920e8f37fe10485df499e4c271d14014701cf345858ba7904ab6db4178f2cb2244684620a6c5ceacba26f62a29c3bd0463b WHIRLPOOL fb831b0ac2ba015f759bd83bee10289031eb62f8ec0cdd3e550fd3b42db1223ff1450d40eb339f85f997bafb1befb65885918674fa38662400dcc155aec0b285
+DIST cs2d_0123_linux.zip 866041 SHA256 8bf7642999718af788991eb5aa0a1924bf7f4090f6b035434e237b4e0ac99d32 SHA512 93979b83bcee95cacc933f05cf8aecf223b52d4cbea006d3c9a9c5f4cb1f72ab7dc07e102ce4915ad84fd208db5a5e7ebfeec89ee342ca806ccbc5a22692d0fc WHIRLPOOL ad9f6d09ac609acf3fdd2f9137970e02a3aca1cdbf5a5f79d7dc9dcebb06f544dd68fa0a9aac48eebe5f18db55b3b5799a422c4390757d8bddc23560c062c343
+DIST cs2d_0123_win.zip 8107120 SHA256 da3e771bb1219a2037ca00101072ffd20fc89227710dcd9e2f7939b787a1dac5 SHA512 847961422a3451af67024b5c0044291adee7f0edb0832c288e7fa7f9333000de2d0be9c4f12112e199e32b4c1f4b8e61788ed7e0eb6ae2b49d6acbd9ab82726b WHIRLPOOL 340eff3c3436d143b3e01e6c8081c8b995d076cbd10dfce8cd13e4077b29f6741f0b6ec89c5bd9c4fbbd07d642ab3875628a52f6a12cbd902a7858fb86c6f51d
+DIST cs2d_0127_linux.zip 878017 SHA256 69b28886aff60cc128e0ad9845e9d120beb9250cb1c99fc18c65f8de82f115c7 SHA512 738be401192a795e76404cf3a97986fcfba2dc082dcec5c546a1c133a50b0a651b2d1f94885f77d830c90b0c37612e615e47fbf51a6f677a56034be62a8c5a6a WHIRLPOOL b5b4d467643587fcfcb03857f654967cf2bd5c4524a1b6a093350a6b580b14673e58be21cd1b381a9c6140c0181b92a0817f96cc6e330a0a0765f9a3deb445c1
+DIST cs2d_0127_win.zip 8229767 SHA256 e143b48d8ec425a8d0fac65998386a49db6ad32e9c09804605bb8399cf422d9c SHA512 cbc3c7c8246907d8c8d8143679e13144449048df09398b4f25cc50ecae0473d8bc186752418727297da0f79b4b323d272a9e1b97a0b0249243bb9098abc23897 WHIRLPOOL ea014b6f5e29a15b324210dabf1ed5a124b06b32371d88b192f815abfc9ede4771b9c5862f7299b18611fed41191a06b4f0e8d205bd026458fb61425706f34f3
diff --git a/games-action/cs2d/cs2d-0123.ebuild b/games-action/cs2d/cs2d-0123.ebuild
new file mode 100644
index 00000000000..c684eb459b4
--- /dev/null
+++ b/games-action/cs2d/cs2d-0123.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils games
+
+DESCRIPTION="Counter-Strike 2D is freeware clone of Counter-Strike with some added features in gameplay"
+HOMEPAGE="http://www.cs2d.com/"
+SRC_URI="http://dev.gentoo.org/~maksbotan/cs2d/cs2d_${PV}_linux.zip
+ http://dev.gentoo.org/~maksbotan/cs2d/cs2d_${PV}_win.zip
+ http://dev.gentoo.org/~maksbotan/cs2d/cs2d.png"
+LICENSE="freedist"
+
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND="
+ x86? (
+ media-libs/openal
+ media-libs/freetype:2
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ virtual/opengl
+ )
+ amd64? (
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=media-libs/freetype-2.5.0.1:2[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
+ )"
+
+QA_PRESTRIPPED="opt/cs2d/CounterStrike2D"
+QA_EXECSTACK="opt/cs2d/CounterStrike2D"
+
+S=${WORKDIR}
+
+src_prepare() {
+ # removing windows files
+ rm -f *.exe *.bat || die
+
+ # OpenAL is default sound driver
+ sed -i \
+ -e 's:^sounddriver.*$:sounddriver OpenAL Default:' \
+ sys/config.cfg || die
+}
+
+src_install() {
+ insinto "${GAMES_PREFIX_OPT}"/${PN}
+ doins -r .
+ # avoid file collision with untracked file
+ rm -f "${ED%/}/${GAMES_PREFIX_OPT}"/${PN}/sys/core/started.cfg
+
+ make_desktop_entry CounterStrike2D "Counter Strike 2D"
+ make_desktop_entry "CounterStrike2D -fullscreen -24bit" "Counter Strike 2D - FULLSCREEN"
+ games_make_wrapper CounterStrike2D ./CounterStrike2D \
+ "${GAMES_PREFIX_OPT}"/${PN} "${GAMES_PREFIX_OPT}"/${PN}
+
+ doicon "${DISTDIR}"/${PN}.png
+
+ prepgamesdirs
+
+ # fixing permissions
+ fperms -R g+w "${GAMES_PREFIX_OPT}"/${PN}/maps
+ fperms -R g+w "${GAMES_PREFIX_OPT}"/${PN}/screens
+ fperms -R g+w "${GAMES_PREFIX_OPT}"/${PN}/sys
+ fperms ug+x "${GAMES_PREFIX_OPT}"/${PN}/CounterStrike2D
+}
diff --git a/games-action/cs2d/cs2d-0127.ebuild b/games-action/cs2d/cs2d-0127.ebuild
new file mode 100644
index 00000000000..34eb6bce4f9
--- /dev/null
+++ b/games-action/cs2d/cs2d-0127.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils games
+
+DESCRIPTION="Counter-Strike 2D is freeware clone of Counter-Strike with some added features in gameplay"
+HOMEPAGE="http://www.cs2d.com/"
+SRC_URI="http://dev.gentoo.org/~maksbotan/cs2d/cs2d_${PV}_linux.zip
+ http://dev.gentoo.org/~maksbotan/cs2d/cs2d_${PV}_win.zip
+ http://dev.gentoo.org/~maksbotan/cs2d/cs2d.png"
+LICENSE="freedist"
+
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+
+DEPEND="app-arch/unzip"
+RDEPEND="
+ x86? (
+ media-libs/openal
+ media-libs/freetype:2
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ virtual/opengl
+ )
+ amd64? (
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=media-libs/freetype-2.5.0.1:2[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
+ )"
+
+QA_PREBUILT="opt/cs2d/CounterStrike2D"
+
+S=${WORKDIR}
+
+src_prepare() {
+ # removing windows files
+ rm -f *.exe *.bat || die
+
+ # OpenAL is default sound driver
+ sed -i \
+ -e 's:^sounddriver.*$:sounddriver OpenAL Default:' \
+ sys/config.cfg || die
+}
+
+src_install() {
+ insinto "${GAMES_PREFIX_OPT}"/${PN}
+ doins -r .
+ # avoid file collision with untracked file
+ rm -f "${ED%/}/${GAMES_PREFIX_OPT}"/${PN}/sys/core/started.cfg
+
+ make_desktop_entry CounterStrike2D "Counter Strike 2D"
+ make_desktop_entry "CounterStrike2D -fullscreen -24bit" "Counter Strike 2D - FULLSCREEN"
+ games_make_wrapper CounterStrike2D ./CounterStrike2D \
+ "${GAMES_PREFIX_OPT}"/${PN} "${GAMES_PREFIX_OPT}"/${PN}
+
+ doicon "${DISTDIR}"/${PN}.png
+
+ prepgamesdirs
+
+ # fixing permissions
+ fperms -R g+w "${GAMES_PREFIX_OPT}"/${PN}/maps
+ fperms -R g+w "${GAMES_PREFIX_OPT}"/${PN}/screens
+ fperms -R g+w "${GAMES_PREFIX_OPT}"/${PN}/sys
+ fperms ug+x "${GAMES_PREFIX_OPT}"/${PN}/CounterStrike2D
+}
diff --git a/games-action/cs2d/metadata.xml b/games-action/cs2d/metadata.xml
new file mode 100644
index 00000000000..921b2ff4ce3
--- /dev/null
+++ b/games-action/cs2d/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>proxy-maintainers</herd>
+<herd>games</herd>
+<maintainer>
+ <email>maksbotan@gentoo.org</email>
+ <name>Maxim Koltsov</name>
+</maintainer>
+<maintainer>
+ <email>oleg@kaa.org.ua</email>
+</maintainer>
+</pkgmetadata>
diff --git a/games-action/d1x-rebirth/Manifest b/games-action/d1x-rebirth/Manifest
new file mode 100644
index 00000000000..457a92b5f0d
--- /dev/null
+++ b/games-action/d1x-rebirth/Manifest
@@ -0,0 +1,7 @@
+DIST d1datapt.zip 439942 SHA256 60f93aa9bd1ff1f910388ed762480b4208eb3a9e71edb84529eb9b50e2f10495 SHA512 41b7777ef679ed0904a5e64534ef0b145e9c49546c9449a569cf0ac75ada3d6095a603136211f939daaf97aa7f09511db85416fefea7ce1447cfe8df7a16b555 WHIRLPOOL b801993a36e99c79d3c756c2d343e3c5d315f3cd991fa2cf678cf2592f7ad3243bb85341fcd335be4ba16b40a3bae25423159730d81a419b52e3127044ea85dd
+DIST d1x-rebirth_v0.58.1-src.tar.gz 1247599 SHA256 5befc8a2ab1159fdb4d4141ba9f0e229450592d5ada209e832101da5b0b3e38e SHA512 d1bdaeee07c5ac34b2e6839fea1449344d206f76f1eb2ba3fd4fa7cbe6acd82c2e8d7140b2d6297add3d5e8fb7fe4ca2b1c22c900def94603c218f6660644c80 WHIRLPOOL d379e3bf408fc51c9e2caea0d774272ce00a4dc52f460daa0b373ae6d08f305fe067e2e86a0164e7bb8c9f51f797cb29c8b38248555a5d3fd394ff88d6d170cd
+DIST d1xr-briefings-ger.zip 16798 SHA256 38f8b9dd5fcab8b675a5112290e4dda771d4bc7a613292a589f6535a8c53861a SHA512 956a3ef1fe7379b71d5f651fdcb1f26b786883a35193a0a22009204e885a12fceb3a69c6accbeb2bd20be65afe087d23532d7ef3439edd97cc8904968bf519e3 WHIRLPOOL 0c4e7934eac399b6fed216648ba35ba100234f73a802112b900064584b4fb471bafc9e377af735a4d05fa65105a40ee4db781a1e07310a1e6b5feb4a9a10a29d
+DIST d1xr-opl3-music.zip 81503503 SHA256 8fe8fede12ca735cac28133e4a581c4026ed22845ab016814a745b2c10b81603 SHA512 4ac82c4bc2ddb02e2941746921443e38b698c6e54cfcab317fc9108f84ada7b868ec2ee3c70b28c1dfe9f41e2aadab4124c8daa65a409905cba5d674f0aab8a8 WHIRLPOOL a7fab740a6cf885984b93f1eb2512362d7c3b05eb65e5f1eecf4c374bf6ba9e04e6d91130d8ff14d113fa9639501cba768a9d7344af291975b095a6604066735
+DIST d1xr-sc55-music.zip 72803408 SHA256 b27f7b9dc5f9c2744402c56c9499dfd9503c17e73a2a5223e745529d7867962f SHA512 3cdce5b6535e28397b3216cc9ca05cccf7194349c62d64c54300f02f39248b98598d170599e5c61b6900d780e4917f905c3c31eb814fbb8429221c804cbd8bf9 WHIRLPOOL d248894b95d5a1d2d8d375cf231fbfde114548e328addf3ae71c90eb436c628b6feb7d207877fd59f815d4b4f00ea76b6e2c23c4a12cd8e2e228967beb91b693
+DIST d1xrdata.zip 1364601 SHA256 54fdc858925b0b41f7ac7ca1fc03fee325f4e5e52e6cc09d4ba4b8b4d4fdd53b SHA512 9ca4ac459367476250bef6eb7f3fccdb4070f4ed5c00dad318c1d63e7bcb2c61ef8cb8233f3f2156f46ed4ba57232033f2b456078f883a96ab7ebd5b5df84c59 WHIRLPOOL 4e4f54e3ad31b55d04344dce64c7398e4f1cb58ef8017dc8c118a13033d2255c0e8d27ffd5045ed137abef54332cbb8ee8f9754d6a89f086c71a40114596ac48
+DIST dxx-rebirth_icons.zip 137392 SHA256 d38ba8730335b13d63ddf9119ad180e3f6c29e3f238baad87080cf60c4730efc SHA512 d13edc1897cf047a1fa0bf23c2b64334f095d9a28255fb500f7f0ffb6122559eb10fea372b02c52c71ac467d8276ece4c7dff4069585ab74dfa9ebb8bda2deb2 WHIRLPOOL d32d828501a2d5f65e1373a8f042be539f7f6433565dd2130173aea673d58dd9063b52005a6fe7398bcb88a996fd9d88e189d582c16ed4bc9bd7fc6c465087b3
diff --git a/games-action/d1x-rebirth/d1x-rebirth-0.58.1.ebuild b/games-action/d1x-rebirth/d1x-rebirth-0.58.1.ebuild
new file mode 100644
index 00000000000..186b95f9d6d
--- /dev/null
+++ b/games-action/d1x-rebirth/d1x-rebirth-0.58.1.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+CDROM_OPTIONAL="yes"
+inherit eutils cdrom scons-utils games
+
+DV=1
+MY_P=${PN}_v${PV}-src
+DESCRIPTION="Descent Rebirth - enhanced Descent ${DV} engine"
+HOMEPAGE="http://www.dxx-rebirth.com/"
+SRC_URI="http://www.dxx-rebirth.com/download/dxx/${MY_P}.tar.gz
+ http://www.dxx-rebirth.com/download/dxx/res/d1xrdata.zip
+ http://www.dxx-rebirth.com/download/dxx/res/dxx-rebirth_icons.zip
+ opl3-musicpack? ( http://www.dxx-rebirth.com/download/dxx/res/d${DV}xr-opl3-music.zip )
+ sc55-musicpack? ( http://www.dxx-rebirth.com/download/dxx/res/d${DV}xr-sc55-music.zip ) cdinstall? ( http://www.dxx-rebirth.com/download/dxx/res/d1datapt.zip )
+ linguas_de? ( http://www.dxx-rebirth.com/download/dxx/res/d${DV}xr-briefings-ger.zip )"
+
+LICENSE="D1X GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 x86"
+IUSE="cdinstall debug demo ipv6 linguas_de +music opengl opl3-musicpack sc55-musicpack"
+REQUIRED_USE="?? ( cdinstall demo )
+ ?? ( opl3-musicpack sc55-musicpack )
+ opl3-musicpack? ( music )
+ sc55-musicpack? ( music )"
+
+RDEPEND="dev-games/physfs[hog,zip]
+ media-libs/libsdl[X,sound,joystick,opengl?,video]
+ cdinstall? ( !games-action/descent1-demodata )
+ music? (
+ media-libs/sdl-mixer[timidity]
+ )
+ opengl? (
+ virtual/opengl
+ virtual/glu
+ )"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+PDEPEND="demo? ( games-action/descent1-demodata )"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${MY_P}.tar.gz dxx-rebirth_icons.zip
+ if use cdinstall ; then
+ unpack d1datapt.zip
+ cdrom_get_cds descent/descent.hog
+ mkdir "${S}"/Data
+ cp \
+ ${CDROM_ROOT}/descent/descent.{hog,pig} \
+ ${CDROM_ROOT}/descent/chaos.{hog,msn} \
+ "${S}"/Data || die
+ fi
+}
+
+src_prepare() {
+ if use cdinstall ; then
+ cd Data
+ patch -p0 < "${WORKDIR}"/d1datapt/descent.hog.diff descent.hog
+ patch -p0 < "${WORKDIR}"/d1datapt/descent.pig.diff descent.pig
+ fi
+ epatch "${FILESDIR}"/${P}-flags.patch
+}
+
+src_compile() {
+ escons \
+ verbosebuild=1 \
+ sharepath="${GAMES_DATADIR}/d${DV}x" \
+ $(use_scons ipv6) \
+ $(use_scons music sdlmixer) \
+ $(use_scons debug) \
+ $(use_scons opengl) || die
+}
+
+src_install() {
+ dodoc {CHANGELOG,INSTALL,README,RELEASE-NOTES}.txt
+
+ insinto "${GAMES_DATADIR}/d${DV}x"
+ doins "${DISTDIR}"/d1xrdata.zip
+ # None of the following zip files need to be extracted.
+ use linguas_de && doins "${DISTDIR}"/d${DV}xr-briefings-ger.zip
+ use opl3-musicpack && doins "${DISTDIR}"/d${DV}xr-opl3-music.zip
+ use sc55-musicpack && doins "${DISTDIR}"/d${DV}xr-sc55-music.zip
+
+ if use cdinstall ; then
+ doins Data/descent.{hog,pig}
+ insinto "${GAMES_DATADIR}"/d${DV}x/missions
+ doins Data/chaos.{hog,msn}
+ fi
+ doicon "${WORKDIR}/${PN}.xpm"
+
+ dogamesbin d${DV}x-rebirth
+ make_desktop_entry d${DV}x-rebirth "Descent ${DV} Rebirth"
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ if ! use cdinstall ; then
+ echo
+ elog "To play the full game enable USE=\"cdinstall\" or manually "
+ elog "copy the files to ${GAMES_DATADIR}/d${DV}x."
+ elog "See /usr/share/doc/${PF}/INSTALL.txt for details."
+ echo
+ fi
+}
diff --git a/games-action/d1x-rebirth/files/d1x-rebirth-0.58.1-flags.patch b/games-action/d1x-rebirth/files/d1x-rebirth-0.58.1-flags.patch
new file mode 100644
index 00000000000..51723ffb137
--- /dev/null
+++ b/games-action/d1x-rebirth/files/d1x-rebirth-0.58.1-flags.patch
@@ -0,0 +1,11 @@
+diff -ru d1x-rebirth_v0.58.1-src.orig/SConstruct d1x-rebirth_v0.58.1-src/SConstruct
+--- d1x-rebirth_v0.58.1-src.orig/SConstruct 2013-08-03 08:13:39.000000000 -0400
++++ d1x-rebirth_v0.58.1-src/SConstruct 2015-01-27 02:38:03.847800615 -0500
+@@ -218,7 +218,6 @@
+ env.Append(CPPFLAGS = ['-g'])
+ else:
+ env.Append(CPPDEFINES = ['NDEBUG', 'RELEASE'])
+- env.Append(CPPFLAGS = ['-O2'])
+
+ # profiler?
+ if (self.user_settings.profiler == 1):
diff --git a/games-action/d1x-rebirth/metadata.xml b/games-action/d1x-rebirth/metadata.xml
new file mode 100644
index 00000000000..f6929f28423
--- /dev/null
+++ b/games-action/d1x-rebirth/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <longdescription>
+Descent 1 is a classic first-person shooter released in 1995 by Interplay
+and Parallax. It was one of the first games with true 3-dimensional
+graphics, movement, and light sourcing. D1X-Rebirth is a modification of the
+Descent 1 source that was released by Parallax and is based on the D1X source.
+</longdescription>
+ <use>
+ <flag name="demo">Use the demo data instead of the full game</flag>
+ <flag name="music">Support for ingame music</flag>
+ <flag name="linguas_de">Provides German translations for the game's
+ briefings, robot descriptions, and outro of the original campaign</flag>
+ <flag name="opl3-musicpack">Include alternate version of the game's music, recorded
+ with the Yamaha YMF262 OPL3 soundchip</flag>
+ <flag name="sc55-musicpack">Include alternate version of the game's music, recorded
+ with the Roland Sound Canvas SC-55 MIDI module</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-action/d2x-rebirth/Manifest b/games-action/d2x-rebirth/Manifest
new file mode 100644
index 00000000000..9d8946f0ac0
--- /dev/null
+++ b/games-action/d2x-rebirth/Manifest
@@ -0,0 +1,4 @@
+DIST d2x-rebirth-0.58.1.tar.gz 1361470 SHA256 511a42d1043bb9e54e30628cdc340a2f0649b59f47c71f5dcadf27379195aa3c SHA512 82188421d5ed83006f1a81151aa80ff0efb1685a356b885985ef1ae69107082dad1f1a0a0e6e07e16234d91abc8013272f05e1273f647f4481add01f3e756df4 WHIRLPOOL 02bb414fed790b01cfea71e9321dc79bbfa7d4b9cd0a68ac7ca1f1303236dbf75e44f3ed9253a9d3513823dda2dbf51e403545dfab72c3c90442d5362b40743f
+DIST d2xr-briefings-ger.zip 11717 SHA256 e190321e657c1ad55998b91d610534fd0275f29ab12fe56018e47d3e603704f9 SHA512 479aa577dc65271c705e80404ec46e6c59ee3a5122d6e9705dbdd16b71b16c0d3447426e3e74937aa20eb7026f67a3896c5e814fbfcede9164bd557b6eb8423c WHIRLPOOL 65093403524bd82fb4396a5cabf9317effdaf447f18e421b6a59642103bc690ddaa240e0d2db3fbfe1a4bbd83d9f62bfe5b70fdfe8dc76f0cfe00433d25a9e1f
+DIST d2xr-opl3-music.zip 22710919 SHA256 6890c6cf8a40c30a2b88339fe1affd25d210e45b504b0f0f76dba7ba97f813d7 SHA512 876321a9a16403f6e9d12e10bb73c9cdc57e1a106fa64833a1be8cc17b74f6f13e57e40f051a1b40e7bc88b95bfe86cff181c93c8619383dfdeb74f36f5cce86 WHIRLPOOL 86cccdbe071654b7f3ba2f774c762b3ab81797916e8a2053466320a54693a1913de9a6759eb29a4acde5a5611c58d1371338bed140a4084f7d005d48151a639b
+DIST d2xr-sc55-music.zip 19579531 SHA256 ace152182c70b9a7ae6f911bddbc239566220a287ab5419cab260d5af739bf16 SHA512 290713b05627bf65bdc55fc6631a0c86e50f484a167f3fd20b3fe2bc5b772437939b5bf32eea852874dd983fbd47f160cae2412a2d6c5319f0d1583a33d28da6 WHIRLPOOL 1cc02d95dfffc36676a8cd3129580ba11c4a5cb13ee54bcdbe9e30e9fd9d8365bf0a8fc0d3e4b962607887b41bd056678d578cf9a5896ba1c9f4d1bef13c3edd
diff --git a/games-action/d2x-rebirth/d2x-rebirth-0.58.1.ebuild b/games-action/d2x-rebirth/d2x-rebirth-0.58.1.ebuild
new file mode 100644
index 00000000000..ab5974cb93b
--- /dev/null
+++ b/games-action/d2x-rebirth/d2x-rebirth-0.58.1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils scons-utils games
+
+DV=2
+MY_P=dxx-rebirth-${PV}-d2x
+DESCRIPTION="Descent Rebirth - enhanced Descent ${DV} engine"
+HOMEPAGE="http://www.dxx-rebirth.com/"
+SRC_URI="https://github.com/dxx-rebirth/dxx-rebirth/archive/0.58.1-d2x.tar.gz -> ${P}.tar.gz
+ opl3-musicpack? ( http://www.dxx-rebirth.com/download/dxx/res/d${DV}xr-opl3-music.zip )
+ sc55-musicpack? ( http://www.dxx-rebirth.com/download/dxx/res/d${DV}xr-sc55-music.zip )
+ linguas_de? ( http://www.dxx-rebirth.com/download/dxx/res/d${DV}xr-briefings-ger.zip )"
+
+LICENSE="D1X GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="cdinstall debug demo ipv6 linguas_de +music opengl opl3-musicpack sc55-musicpack"
+REQUIRED_USE="?? ( opl3-musicpack sc55-musicpack )
+ opl3-musicpack? ( music )
+ sc55-musicpack? ( music )"
+
+RDEPEND="dev-games/physfs[hog,mvl,zip]
+ media-libs/libsdl[X,sound,joystick,opengl?,video]
+ music? (
+ media-libs/sdl-mixer[timidity,vorbis]
+ )
+ opengl? (
+ virtual/opengl
+ virtual/glu
+ )"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+PDEPEND="cdinstall? ( games-action/descent2-data )
+ demo? ( games-action/descent2-demodata )"
+
+S=${WORKDIR}/${MY_P}
+
+src_unpack() {
+ unpack ${P}.tar.gz
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-flags.patch
+
+ DOCS=( {CHANGELOG,INSTALL,README,RELEASE-NOTES}.txt )
+ edos2unix ${DOCS[@]}
+}
+
+src_compile() {
+ escons \
+ verbosebuild=1 \
+ sharepath="${GAMES_DATADIR}/d${DV}x" \
+ $(use_scons ipv6) \
+ $(use_scons music sdlmixer) \
+ $(use_scons debug) \
+ $(use_scons opengl) \
+ || die
+}
+
+src_install() {
+ dodoc ${DOCS[@]}
+
+ insinto "${GAMES_DATADIR}/d${DV}x"
+
+ # None of the following zip files need to be extracted.
+ use linguas_de && newins "${DISTDIR}"/d${DV}xr-briefings-ger.zip d${DV}xr-briefings-ger.dxa
+ use opl3-musicpack && newins "${DISTDIR}"/d${DV}xr-opl3-music.zip d${DV}xr-opl3-music.dxa
+ use sc55-musicpack && newins "${DISTDIR}"/d${DV}xr-sc55-music.zip d${DV}xr-sc55-music.dxa
+
+ doicon ${PN}.xpm
+
+ dogamesbin ${PN}
+ make_desktop_entry ${PN} "Descent ${DV} Rebirth"
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ if ! use cdinstall ; then
+ echo
+ elog "To play the full game enable USE=\"cdinstall\" or manually "
+ elog "copy the files to ${GAMES_DATADIR}/d${DV}x."
+ elog "See /usr/share/doc/${PF}/INSTALL.txt for details."
+ echo
+ fi
+ elog 'AddOns now use filename extension ".dxa".'
+ elog 'Your old AddOns will not work anymore.'
+ elog 'You can either re-download them or simply'
+ elog 'rename them from *.zip to *.dxa.'
+}
diff --git a/games-action/d2x-rebirth/files/d2x-rebirth-0.58.1-flags.patch b/games-action/d2x-rebirth/files/d2x-rebirth-0.58.1-flags.patch
new file mode 100644
index 00000000000..6da154555b3
--- /dev/null
+++ b/games-action/d2x-rebirth/files/d2x-rebirth-0.58.1-flags.patch
@@ -0,0 +1,10 @@
+--- SConstruct.orig 2014-07-02 01:37:25.546536553 -0400
++++ SConstruct 2014-07-02 01:39:26.564324558 -0400
+@@ -220,7 +220,6 @@
+ env.Append(CPPFLAGS = ['-g'])
+ else:
+ env.Append(CPPDEFINES = ['NDEBUG', 'RELEASE'])
+- env.Append(CPPFLAGS = ['-O2'])
+
+ # profiler?
+ if (self.user_settings.profiler == 1):
diff --git a/games-action/d2x-rebirth/metadata.xml b/games-action/d2x-rebirth/metadata.xml
new file mode 100644
index 00000000000..5a4f52b78c1
--- /dev/null
+++ b/games-action/d2x-rebirth/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name="demo">Install <pkg>games-action/descent2-demodata</pkg> as well</flag>
+ <flag name="music">Support for ingame music</flag>
+ <flag name="linguas_de">Provides German translations for the game's
+ briefings, robot descriptions, and outro of the original campaign</flag>
+ <flag name="opl3-musicpack">Include alternate version of the game's music, recorded
+ with the Yamaha YMF262 OPL3 soundchip</flag>
+ <flag name="sc55-musicpack">Include alternate version of the game's music, recorded
+ with the Roland Sound Canvas SC-55 MIDI module</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">dxx-rebirth/dxx-rebirth</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/deathchase3d/Manifest b/games-action/deathchase3d/Manifest
new file mode 100644
index 00000000000..8c9b3fed664
--- /dev/null
+++ b/games-action/deathchase3d/Manifest
@@ -0,0 +1 @@
+DIST deathchase3d-0.9.tar.gz 587888 SHA256 42b4c5551be4662fcba6a6c7476ff6235307cf39e13781d6f1f13abe26a7db2a SHA512 21e382ec389ff64e11562f9715ab53662d6f2150af7f7f940311acd0abad76da3904f4bae849479a04af99b0001fefe77509755975636de81767a9faa4487d90 WHIRLPOOL 221de1a91f7130afb8623089be88c435fa16e52d41f81f7350491a63d50b2a01da9f2a65c62c4155e281e04121c4e868edd3a2175c1d6254ee1800e92fc26a6a
diff --git a/games-action/deathchase3d/deathchase3d-0.9.ebuild b/games-action/deathchase3d/deathchase3d-0.9.ebuild
new file mode 100644
index 00000000000..35290c1aaab
--- /dev/null
+++ b/games-action/deathchase3d/deathchase3d-0.9.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+inherit games
+
+DESCRIPTION="A remake of the Sinclair Spectrum game of the same name"
+HOMEPAGE="http://www.autismuk.freeserve.co.uk/"
+SRC_URI="http://www.autismuk.freeserve.co.uk/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-underlink.patch )
+
+src_install() {
+ dogamesbin "${PN}/${PN}"
+ dodoc README
+ dohtml "${PN}/docs/en/index.html"
+ prepgamesdirs
+}
diff --git a/games-action/deathchase3d/files/deathchase3d-0.9-underlink.patch b/games-action/deathchase3d/files/deathchase3d-0.9-underlink.patch
new file mode 100644
index 00000000000..79d1f69c752
--- /dev/null
+++ b/games-action/deathchase3d/files/deathchase3d-0.9-underlink.patch
@@ -0,0 +1,11 @@
+--- deathchase3d/Makefile.in.old 2011-06-13 09:22:44.140587725 +0200
++++ deathchase3d/Makefile.in 2011-06-13 09:22:49.932942379 +0200
+@@ -248,7 +248,7 @@
+ bin_PROGRAMS = deathchase3d
+
+ deathchase3d_SOURCES = treedraw.c tree.c sprites.c objects.c level.c io.c globals.c font.c draw.c main.c
+-deathchase3d_LDADD =
++deathchase3d_LDADD = -lm
+
+ SUBDIRS = docs
+
diff --git a/games-action/deathchase3d/metadata.xml b/games-action/deathchase3d/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/deathchase3d/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/descent1-demodata/Manifest b/games-action/descent1-demodata/Manifest
new file mode 100644
index 00000000000..db59b3257a4
--- /dev/null
+++ b/games-action/descent1-demodata/Manifest
@@ -0,0 +1 @@
+DIST desc14sw.exe 2892216 SHA256 3dadb7fbc01efce2904d0908c55d9a9cf1f402e83bf771970552efaca15efcb0 SHA512 121bd909285138eef3009af4a46174a4af241b139230eda5c232fe710b17419e385ffeb97e13678c253390e6393615006c739a8dd4b0e14b375678491629ab3e WHIRLPOOL 5fbc95c6cbb5d26c30c3a5b9cf79b0fe0932d1a1b3886dc4db1e396854592c63e22e7f539b5fef04cb0eefaf902202a1de397d85adab8a7e2466c98127108534
diff --git a/games-action/descent1-demodata/descent1-demodata-1.4.ebuild b/games-action/descent1-demodata/descent1-demodata-1.4.ebuild
new file mode 100644
index 00000000000..2e467ac5086
--- /dev/null
+++ b/games-action/descent1-demodata/descent1-demodata-1.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+MY_PV=${PV/./}
+DEMO="desc${MY_PV}sw.exe"
+
+DESCRIPTION="Demo data files for Descent 1"
+HOMEPAGE="http://en.wikipedia.org/wiki/Descent_%28computer_game%29"
+SRC_URI="http://icculus.org/d2x/data/${DEMO}
+ mirror://3dgamers/descent/${DEMO}
+ ftp://ftp.funet.fi/pub/msdos/games/interplay/${DEMO}"
+
+# See readme.txt
+LICENSE="free-noncomm"
+
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="app-arch/unzip
+ app-arch/unarj"
+
+S=${WORKDIR}
+
+src_unpack() {
+ unpack_zip ${A}
+
+ unarj e DESCENT1.SOW || die
+ mv descent.pig{,1}
+ unarj e DESCENT2.SOW || die
+ mv descent.pig{,2}
+
+ # From the sows, big porkie pies shall grow
+ cat descent.pig{1,2} > descent.pig || die
+
+ rm *{1,2} *.{bat,exe,EXE,SOW,ubn}
+}
+
+src_install() {
+ local dir=${GAMES_DATADIR}/d1x
+
+ insinto "${dir}"
+ doins descent.*
+
+ dodoc *.txt
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ elog "A client is needed to run the game, e.g. d1x-rebirth."
+ elog "Not all Descent 1 clients support the demo data."
+ echo
+}
diff --git a/games-action/descent1-demodata/metadata.xml b/games-action/descent1-demodata/metadata.xml
new file mode 100644
index 00000000000..821c5f02b7f
--- /dev/null
+++ b/games-action/descent1-demodata/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Descent 1 is a classic first-person shooter released in 1995 by Interplay
+and Parallax. It was one of the first games with true 3-dimensional
+graphics, movement, and light sourcing. This is the demo data for the game
+which is used by the various Descent 1 source ports.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/descent2-data/descent2-data-1.0.ebuild b/games-action/descent2-data/descent2-data-1.0.ebuild
new file mode 100644
index 00000000000..d75199b3fdf
--- /dev/null
+++ b/games-action/descent2-data/descent2-data-1.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cdrom games
+
+MY_PV=${PV/./}
+SOW="descent2.sow"
+
+DESCRIPTION="Data files for Descent 2"
+HOMEPAGE="http://www.interplay.com/games/product.asp?GameID=109"
+SRC_URI=""
+# Don't have a method of applying the ver 1.2 patch in Linux
+# http://www.interplay.com/support/product.asp?GameID=109
+# mirror://3dgamers/descent2/d2ptch${MY_PV}.exe
+
+# See readme.txt
+LICENSE="${PN}"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="videos"
+
+# d2x-0.2.5-r2 may include the CD data itself.
+# d2x-0.2.5-r3 does not include the CD data.
+# d2x-rebirth is favoured because it is stable.
+#RDEPEND="|| (
+# games-action/d2x-rebirth
+# >=games-action/d2x-0.2.5-r3 )"
+RDEPEND="!<games-action/d2x-0.2.5-r3"
+DEPEND="app-arch/unarj"
+
+S=${WORKDIR}
+dir=${GAMES_DATADIR}/d2x
+
+pkg_setup() {
+ games_pkg_setup
+
+ local m f need_cd="n"
+
+ # Could have the ${SOW} file in ${DISTDIR}
+ if [[ -e "${DISTDIR}/${SOW}" ]] ; then
+ einfo "Using ${SOW} from ${DISTDIR}"
+ # Check that the movies are available in ${DISTDIR} if needed
+ if use videos ; then
+ for m in {intro,other,robots}-{h,l}.mvl ; do
+ [[ -e "${DISTDIR}/${m}" ]] || need_cd="y"
+ done
+ fi
+ else
+ need_cd="y"
+ fi
+
+ if [[ "${need_cd}" == "y" ]] ; then
+ # The Descent 2 CD is needed
+ cdrom_get_cds "d2data/${SOW}"
+ fi
+}
+
+src_unpack() {
+ local m f="${DISTDIR}/${SOW}"
+
+ [[ -e "${f}" ]] || f="${CDROM_ROOT}/d2data/${SOW}"
+ # Extract level data
+ unarj e "${f}" || die
+
+ if use videos ; then
+ # Include both high and low resolution movie files
+ for m in {intro,other,robots}-{h,l}.mvl ; do
+ f="${DISTDIR}/${m}"
+ [[ -e "${f}" ]] || f="${CDROM_ROOT}/d2data/${m}"
+ einfo "Copying ${m}"
+ cp -f "${f}" . || die
+ done
+ fi
+
+ rm -f endnote.txt
+ mkdir doc
+ mv -f *.txt doc
+
+ # Remove files not needed by any Linux native client
+ rm -f *.{bat,dll,exe,ini,lst}
+}
+
+src_install() {
+ insinto "${dir}"
+ doins *
+
+ dodoc doc/*
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ elog "A client is needed to run the game, e.g. games-action/d2x-rebirth."
+ echo
+}
diff --git a/games-action/descent2-data/metadata.xml b/games-action/descent2-data/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/descent2-data/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/descent2-demodata/Manifest b/games-action/descent2-demodata/Manifest
new file mode 100644
index 00000000000..8892d01648e
--- /dev/null
+++ b/games-action/descent2-demodata/Manifest
@@ -0,0 +1 @@
+DIST d2demo10.zip 4306833 SHA256 f8d005670fe5cd17e07ca9bf4022f1045aed436639c37f1e83dd647e14fcec1f SHA512 a4229be701a4b2fc28d3c71591a477d242c1c784dc233c1e9ca6b798b3774de9744d8a91b0b80904b3fe63e1285b79234bf48681cddaeca702b3d9ce4c2b6fab WHIRLPOOL 063961a4cc768f4553c460413d862c7dc604d3be69b87b31af1db6ab7a2da80e1e7213ef590283126b85dd1c45745f4f4f9c61b0bfb286bb178d2cbf57fec77e
diff --git a/games-action/descent2-demodata/descent2-demodata-1.0.ebuild b/games-action/descent2-demodata/descent2-demodata-1.0.ebuild
new file mode 100644
index 00000000000..8494642e873
--- /dev/null
+++ b/games-action/descent2-demodata/descent2-demodata-1.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+MY_PN="d2demo"
+MY_PV=${PV/./}
+DEMO="${MY_PN}${MY_PV}.zip"
+
+DESCRIPTION="Demo data files for Descent 2"
+HOMEPAGE="http://www.interplay.com/games/product.asp?GameID=109"
+SRC_URI="ftp://ftp.funet.fi/pub/msdos/games/interplay/${DEMO}
+ ftp://ftp.demon.co.uk/pub/ibmpc/dos/games/descent/${DEMO}
+ mirror://3dgamers/descent2/${DEMO}"
+
+# See README.TXT
+LICENSE="free-noncomm"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+# d2x-0.2.5-r2 may include the demo data itself
+# d2x-0.2.5-r3 does not include the demo data
+#RDEPEND="|| (
+# games-action/d2x-rebirth
+# >=games-action/d2x-0.2.5-r3 )"
+RDEPEND="!<games-action/d2x-0.2.5-r3"
+DEPEND="app-arch/unzip
+ app-arch/unarj"
+
+S=${WORKDIR}
+dir=${GAMES_DATADIR}/d2x
+
+src_unpack() {
+ unpack ${A}
+
+ # This is much more fun than simply downloading
+ # http://www.icculus.org/d2x/data/d2shar10.tar.gz
+ unarj e D2_1.SOW || die
+ mv ${MY_PN}.ham{,1}
+ unarj e D2_2.SOW || die
+ mv ${MY_PN}.ham{,2}
+ mv ${MY_PN}.pig{,2}
+ unarj e D2_3.SOW || die
+ mv ${MY_PN}.pig{,3}
+
+ # From the sows, big porkie pies shall grow
+ cat ${MY_PN}.ham{1,2} > ${MY_PN}.ham || die
+ cat ${MY_PN}.pig{2,3} > ${MY_PN}.pig || die
+
+ rm *{1,2,3} *.{386,bat,ubn} eregcard.ini
+ mkdir controls
+ mv *.b50 descent2.* controls
+}
+
+src_install() {
+ insinto "${dir}"
+ # The "controls" directory is not needed, nor the ini files
+ doins d2demo.*
+
+ dodoc *.txt
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ elog "A client is needed to run the game, e.g. games-action/d2x-xl."
+ elog "Not all Descent 2 clients support the demo data."
+ echo
+}
diff --git a/games-action/descent2-demodata/metadata.xml b/games-action/descent2-demodata/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/descent2-demodata/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/descent3-demo/Manifest b/games-action/descent3-demo/Manifest
new file mode 100644
index 00000000000..ec5774ba32d
--- /dev/null
+++ b/games-action/descent3-demo/Manifest
@@ -0,0 +1 @@
+DIST descent3-demo.run 45118289 SHA256 9304dff200a062bb5bd1fa69517b5cc6c19db0a63c06b2084f05c98c9eca786c SHA512 8f5e790257d0477e4238aae8fb5b4b1f21e23f188775cb53a5197baf0c174017d821e3a8dd696f9c0fd27838e08cff4bde0d6f5a9dca87a7e8af29cdc627d29c WHIRLPOOL 42d4aabadf185fe88e9e2dff91595a8895a2f51e212e7efbdcaccb9b55d380c10a3fbb0e4c5c2814d3017e0d90ba46c70a2d770bc7a8cbe25b6fc210a0a4204c
diff --git a/games-action/descent3-demo/descent3-demo-1.4.0a.ebuild b/games-action/descent3-demo/descent3-demo-1.4.0a.ebuild
new file mode 100644
index 00000000000..cf1e1ee7ad3
--- /dev/null
+++ b/games-action/descent3-demo/descent3-demo-1.4.0a.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+DESCRIPTION="Indoor/outdoor 3D combat with evil robotic mining spacecraft"
+HOMEPAGE="http://www.lokigames.com/products/descent3/"
+SRC_URI="mirror://lokigames/loki_demos/${PN}.run"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RESTRICT="mirror bindist strip"
+
+DEPEND="games-util/loki_patch"
+RDEPEND="sys-libs/glibc
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]"
+
+dir="${GAMES_PREFIX_OPT}/${PN}"
+QA_PREBUILT="${dir:1}/descent3_demo.x86
+ ${dir:1}/netgames/*.d3m"
+
+S=${WORKDIR}
+
+src_install() {
+ local demo="data/demos/descent3_demo"
+ local exe="descent3_demo.x86"
+
+ loki_patch patch.dat data/ || die
+
+ insinto "${dir}"
+ exeinto "${dir}"
+ doins -r "${demo}"/*
+ doexe "${demo}/${exe}"
+
+ # Required directory
+ keepdir "${dir}"/missions
+
+ # Fix for 2.6 kernel crash
+ cd "${Ddir}"
+ ln -sf ppics.hog PPics.Hog
+
+ games_make_wrapper ${PN} "./${exe}" "${dir}"
+ newicon "${demo}"/launch/box.png ${PN}.png
+ make_desktop_entry ${PN} "Descent 3 (Demo)" ${PN}
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "To play the game run:"
+ elog " descent3-demo"
+ elog
+ elog "If the game appears blank, then run it windowed with:"
+ elog " descent3-demo -w"
+ echo
+}
diff --git a/games-action/descent3-demo/metadata.xml b/games-action/descent3-demo/metadata.xml
new file mode 100644
index 00000000000..799357326be
--- /dev/null
+++ b/games-action/descent3-demo/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Descent 3 is a first-person 3-D action flight-sim which takes place in both
+indoor and outdoor arenas. The game was ported to Linux by the now defunct Loki
+Entertainment and is commercial software. You can still pick up a copy from
+Tuxgames (http://www.tuxgames.com), but supplies are limited, as the publisher
+is no longer in business. This is the free demo version of the full game.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/descent3/Manifest b/games-action/descent3/Manifest
new file mode 100644
index 00000000000..f183613e101
--- /dev/null
+++ b/games-action/descent3/Manifest
@@ -0,0 +1,2 @@
+DIST descent3-1.4.0a-x86.run 2736956 SHA256 fe894b1cbcb16ec813c368f16549c38a3cd65514494f0be0b3095e936c9f67fe
+DIST descent3-1.4.0b-x86.run 4504631 SHA256 4c56ab91c332b0ccdc052fa3dd1c3a72cda204724bc98429cda22379269720e1
diff --git a/games-action/descent3/descent3-1.4.0b-r2.ebuild b/games-action/descent3/descent3-1.4.0b-r2.ebuild
new file mode 100644
index 00000000000..d2221e24a52
--- /dev/null
+++ b/games-action/descent3/descent3-1.4.0b-r2.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker cdrom multilib games
+
+IUSE="nocd videos"
+DESCRIPTION="Descent 3 - 3-Dimensional indoor/outdoor spaceship combat"
+HOMEPAGE="http://www.lokigames.com/products/descent3/"
+SRC_URI="mirror://lokigames/${PN}/${PN}-1.4.0a-x86.run
+ mirror://lokigames/${PN}/${P}-x86.run"
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="strip"
+
+RDEPEND="sys-libs/glibc
+ media-libs/libsdl[abi_x86_32(-)]
+ media-libs/smpeg[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]"
+
+dir=${GAMES_PREFIX_OPT}/${PN}
+Ddir=${D}/${dir}
+
+pkg_setup() {
+ games_pkg_setup
+ if use videos ; then
+ ewarn "The installed game takes about 1.2GB of space!"
+ elif use nocd ; then
+ ewarn "The installed game takes about 510MB of space!"
+ else
+ ewarn "The installed game takes about 220MB of space!"
+ fi
+}
+
+src_unpack() {
+ if use videos ; then
+ cdrom_get_cds missions/d3.mn3 movies/level1.mve
+ else
+ cdrom_get_cds missions/d3.mn3
+ fi
+ mkdir -p "${S}"/{a,b} || die
+ cd "${S}"/a || die
+ unpack_makeself ${PN}-1.4.0a-x86.run
+ cd "${S}"/b || die
+ unpack_makeself ${P}-x86.run
+}
+
+src_install() {
+ einfo "Copying files... this may take a while..."
+ exeinto "${dir}"
+ doexe ${CDROM_ROOT}/bin/x86/glibc-2.1/{${PN},nettest}
+ insinto "${dir}"
+ doins ${CDROM_ROOT}/{FAQ.txt,README{,.mercenary},d3.hog,icon.{bmp,xpm}}
+
+ cd "${Ddir}" || die
+ # TODO: move this to src_unpack where it belongs
+ tar xzf ${CDROM_ROOT}/data.tar.gz || die
+ tar xzf ${CDROM_ROOT}/shared.tar.gz || die
+
+ if use nocd; then
+ doins -r ${CDROM_ROOT}/missions
+ fi
+
+ if use videos ; then
+ cdrom_load_next_cd
+ doins -r ${CDROM_ROOT}/movies
+ fi
+
+ cd "${S}"/a || die
+ bin/Linux/x86/loki_patch --verify patch.dat || die
+ bin/Linux/x86/loki_patch patch.dat "${Ddir}" >& /dev/null || die
+ cd "${S}"/b || die
+ bin/Linux/x86/loki_patch --verify patch.dat || die
+ bin/Linux/x86/loki_patch patch.dat "${Ddir}" >& /dev/null || die
+
+ # now, since these files are coming off a cd, the times/sizes/md5sums wont
+ # be different ... that means portage will try to unmerge some files (!)
+ # we run touch on ${D} so as to make sure portage doesnt do any such thing
+ find "${Ddir}" -exec touch '{}' +
+
+ games_make_wrapper descent3 ./descent3.dynamic "${dir}" "${dir}"
+ newicon ${CDROM_ROOT}/icon.xpm ${PN}.xpm
+
+ # Fix for 2.6 kernel crash
+ cd "${Ddir}" || die
+ ln -sf ppics.hog PPics.Hog
+
+ prepgamesdirs
+ make_desktop_entry ${PN} "Descent 3" ${PN}
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "To play the game run:"
+ elog " descent3"
+ echo
+}
diff --git a/games-action/descent3/metadata.xml b/games-action/descent3/metadata.xml
new file mode 100644
index 00000000000..cefc721b94c
--- /dev/null
+++ b/games-action/descent3/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Descent 3 is a first-person 3-D action flight-sim which takes place in both indoor and outdoor arenas. The game was ported to Linux by the now defunct Loki Entertainment and is commercial software. You can still pick up a copy from Tuxgames (http://www.tuxgames.com), but supplies are limited, as the publisher is no longer in business.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/extreme-tuxracer/Manifest b/games-action/extreme-tuxracer/Manifest
new file mode 100644
index 00000000000..b10a054370c
--- /dev/null
+++ b/games-action/extreme-tuxracer/Manifest
@@ -0,0 +1 @@
+DIST etr-0.6.0.tar.xz 32889668 SHA256 44312719a1e9aa33e5aa0c8ad50bb52df702d64fd2d16bf2abda62ee27bf893a SHA512 c3127dd1f8d9b856cc42808713a53b48a64821f020ecf3bfaae8be96e36eaddfadfedcf394d445ea1f49df650763b50d35a5ad9cac03308bcb1a4a473e4906d8 WHIRLPOOL d003d5ef070ed15d4521cc2025ceb372b18b69f3172065159b5fd18bf5f2126da4cc8c179b95311c63afd5093ec2700483697544ade7ad02e1f255e1cdfc44e4
diff --git a/games-action/extreme-tuxracer/extreme-tuxracer-0.6.0.ebuild b/games-action/extreme-tuxracer/extreme-tuxracer-0.6.0.ebuild
new file mode 100644
index 00000000000..b3578999273
--- /dev/null
+++ b/games-action/extreme-tuxracer/extreme-tuxracer-0.6.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils autotools gnome2-utils games
+
+DESCRIPTION="High speed arctic racing game based on Tux Racer"
+HOMEPAGE="http://extremetuxracer.sourceforge.net/"
+SRC_URI="mirror://sourceforge/extremetuxracer/etr-${PV/_/}.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="virtual/opengl
+ virtual/glu
+ media-libs/libsdl[X,joystick,sound,video]
+ media-libs/sdl-mixer[vorbis]
+ media-libs/sdl-image[png]
+ media-libs/freetype:2"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/etr-${PV/_/}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-libsdl.patch \
+ "${FILESDIR}"/${P}-segfault.patch
+ # kind of ugly in there so we'll do it ourselves
+ sed -i -e '/SUBDIRS/s/resources doc//' Makefile.am || die
+ eautoreconf
+}
+
+src_install() {
+ default
+ dodoc doc/{code,courses_events,guide,score_algorithm}
+ doicon -s 48 resources/etr.png
+ newicon -s scalable resources/etracericon.svg etr.svg
+ domenu resources/etr.desktop
+ 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-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-libsdl.patch b/games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-libsdl.patch
new file mode 100644
index 00000000000..71378483c17
--- /dev/null
+++ b/games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-libsdl.patch
@@ -0,0 +1,39 @@
+From 2c08358e424b36d50e6088e5acadc6d8ac2762a9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 16 May 2014 23:26:18 +0200
+Subject: [PATCH] Append SDL flags to CXXFLAGS rather than CFLAGS.
+
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5646c82..b3732c8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,19 +43,19 @@ AC_FUNC_MALLOC
+ AC_CHECK_FUNCS([floor getcwd memmove memset mkdir pow sqrt strchr strdup])
+
+ AM_PATH_SDL([1.0.0])
+-CFLAGS="$CFLAGS $SDL_CFLAGS"
++CXXFLAGS="$CXXFLAGS $SDL_CFLAGS"
+ LIBS="$LIBS $SDL_LIBS"
+
+ PKG_CHECK_MODULES([SDLIMAGE], [SDL_image],
+ [
+- CFLAGS="${CFLAGS} $SDLIMAGE_CFLAGS"
++ CXXFLAGS="${CXXFLAGS} $SDLIMAGE_CFLAGS"
+ LIBS="${LIBS} $SDLIMAGE_LIBS"
+ ],
+ [AC_MSG_ERROR([SDL_image not found])])
+
+ PKG_CHECK_MODULES([SDLMIXER], [SDL_mixer],
+ [
+- CFLAGS="${CFLAGS} $SDLMIXER_CFLAGS"
++ CXXFLAGS="${CXXFLAGS} $SDLMIXER_CFLAGS"
+ LIBS="${LIBS} $SDLMIXER_LIBS"
+ ],
+ [AC_MSG_ERROR([SDL_mixer not found])])
+--
+1.9.3
+
diff --git a/games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-segfault.patch b/games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-segfault.patch
new file mode 100644
index 00000000000..c5101444426
--- /dev/null
+++ b/games-action/extreme-tuxracer/files/extreme-tuxracer-0.6.0-segfault.patch
@@ -0,0 +1,8 @@
+--- physics.cpp
++++ physics.cpp
+@@ -126,3 +126,5 @@
+ TCollidable *trees = &Course.CollArr[0];
++ if (trees == NULL)
++ return false;
+ size_t num_trees = Course.CollArr.size();
+ size_t tree_type = trees[0].tree_type;
diff --git a/games-action/extreme-tuxracer/files/extreme-tuxracer.svg b/games-action/extreme-tuxracer/files/extreme-tuxracer.svg
new file mode 100644
index 00000000000..1ee01ebb2ec
--- /dev/null
+++ b/games-action/extreme-tuxracer/files/extreme-tuxracer.svg
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ version="1.0"
+ width="48"
+ height="48"
+ id="svg2464">
+ <defs
+ id="defs2466">
+ <linearGradient
+ id="linearGradient4129">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4131" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4133" />
+ </linearGradient>
+ <linearGradient
+ x1="108.53113"
+ y1="192.81239"
+ x2="108.53113"
+ y2="53.398727"
+ id="linearGradient12059"
+ xlink:href="#linearGradient4129"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient5159">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop5161" />
+ <stop
+ style="stop-color:#2a7fff;stop-opacity:0"
+ offset="1"
+ id="stop5163" />
+ </linearGradient>
+ <linearGradient
+ x1="88.097565"
+ y1="68.650604"
+ x2="88.097565"
+ y2="77.480812"
+ id="linearGradient2450"
+ xlink:href="#linearGradient5159"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.3429133,-2.2699906,2.2782501,-1.3380448,-7.0230568,313.38235)" />
+ <linearGradient
+ id="linearGradient7112">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop7114" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop7116" />
+ </linearGradient>
+ <linearGradient
+ x1="84.634148"
+ y1="64.585365"
+ x2="84.68293"
+ y2="66.780487"
+ id="linearGradient2462"
+ xlink:href="#linearGradient7112"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.644587,0,0,2.6349994,-77.487777,-68.55094)" />
+ <linearGradient
+ id="linearGradient8084">
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1"
+ offset="0"
+ id="stop8086" />
+ <stop
+ style="stop-color:#5a7ea4;stop-opacity:1"
+ offset="1"
+ id="stop8088" />
+ </linearGradient>
+ <linearGradient
+ x1="79.428566"
+ y1="70.612816"
+ x2="79.428566"
+ y2="129.2305"
+ id="linearGradient2460"
+ xlink:href="#linearGradient8084"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.302046,0,0,0.2967233,124.91587,77.317344)" />
+ <linearGradient
+ x1="108.53113"
+ y1="192.81239"
+ x2="108.53113"
+ y2="53.398727"
+ id="linearGradient2506"
+ xlink:href="#linearGradient4129"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="88.097565"
+ y1="68.650604"
+ x2="88.097565"
+ y2="77.480812"
+ id="linearGradient2508"
+ xlink:href="#linearGradient5159"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.3429133,-2.2699906,2.2782501,-1.3380448,-7.0230568,313.38235)" />
+ <linearGradient
+ x1="79.428566"
+ y1="70.612816"
+ x2="79.428566"
+ y2="129.2305"
+ id="linearGradient2510"
+ xlink:href="#linearGradient8084"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.302046,0,0,0.2967233,124.91587,77.317344)" />
+ <linearGradient
+ x1="84.634148"
+ y1="64.585365"
+ x2="84.68293"
+ y2="66.780487"
+ id="linearGradient2512"
+ xlink:href="#linearGradient7112"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.644587,0,0,2.6349994,-77.487777,-68.55094)" />
+ <linearGradient
+ x1="108.53113"
+ y1="192.81239"
+ x2="108.53113"
+ y2="53.398727"
+ id="linearGradient2542"
+ xlink:href="#linearGradient4129"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ x1="88.097565"
+ y1="68.650604"
+ x2="88.097565"
+ y2="77.480812"
+ id="linearGradient2544"
+ xlink:href="#linearGradient5159"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.3429133,-2.2699906,2.2782501,-1.3380448,-7.0230568,313.38235)" />
+ <linearGradient
+ x1="79.428566"
+ y1="70.612816"
+ x2="79.428566"
+ y2="129.2305"
+ id="linearGradient2546"
+ xlink:href="#linearGradient8084"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.302046,0,0,0.2967233,124.91587,77.317344)" />
+ <linearGradient
+ x1="84.634148"
+ y1="64.585365"
+ x2="84.68293"
+ y2="66.780487"
+ id="linearGradient2548"
+ xlink:href="#linearGradient7112"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.644587,0,0,2.6349994,-77.487777,-68.55094)" />
+ </defs>
+ <g
+ id="layer1">
+ <g
+ transform="matrix(0.734375,0,0,0.737226,-3.8201516,15.714349)"
+ id="g2496">
+ <g
+ transform="matrix(0.978721,0,0,0.9787233,13.660731,-13.740884)"
+ id="g2532">
+ <path
+ d="M 195 101.42857 A 93.571426 93.571426 0 1 1 7.8571472,101.42857 A 93.571426 93.571426 0 1 1 195 101.42857 z"
+ transform="matrix(0.3391532,0,0,0.3379237,-9.9160368,-8.4959852)"
+ style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+ id="path12045" />
+ <path
+ d="M 195 101.42857 A 93.571426 93.571426 0 1 1 7.8571472,101.42857 A 93.571426 93.571426 0 1 1 195 101.42857 z"
+ transform="matrix(0.2961456,0,0,0.295072,-5.5538568,-4.1495872)"
+ style="opacity:0.45209578;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2542);stroke-width:9.31759739;stroke-linecap:round;stroke-linejoin:round;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+ id="path12047" />
+ <path
+ d="M 195 101.42857 A 93.571426 93.571426 0 1 1 7.8571472,101.42857 A 93.571426 93.571426 0 1 1 195 101.42857 z"
+ transform="matrix(0.3248275,0,0,0.3236499,-8.4629968,-7.0482002)"
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#aa4400;stroke-width:8.25348759;stroke-linecap:round;stroke-linejoin:round;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
+ id="path12049" />
+ <path
+ d="M 6.0446932,-0.29403324 C 11.545213,5.5034088 20.474153,17.00584 25.565293,29.543389 C 30.234423,41.041589 39.365963,47.028059 45.356503,49.859509 C 57.100873,40.038519 60.363683,22.914829 52.321773,9.3211878 C 43.362913,-5.8223962 23.762373,-10.866786 8.5637129,-1.9404222 C 7.6895929,-1.4270402 6.8510432,-0.87475524 6.0446932,-0.29403324 z "
+ style="opacity:0.17543862;fill:url(#linearGradient2544);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:10;stroke-miterlimit:4;stroke-opacity:1;display:inline"
+ id="path12051" />
+ <g
+ transform="translate(-130.04499,-80.64053)"
+ style="display:inline"
+ id="g2455">
+ <path
+ d="M 131.77538,107.29307 C 131.77538,107.29307 139.53824,90.000623 163.64399,102.48962 C 176.30972,96.917602 174.67542,95.764764 175.08401,97.301891 C 175.49257,98.838991 173.44971,104.60316 174.06256,106.14026 C 174.67542,107.67736 177.38226,114.08344 175.90116,114.21008 C 173.654,114.40222 165.48256,110.75159 164.8697,111.52014 C 164.25684,112.28869 144.03253,124.39343 131.77538,107.29307 z "
+ style="fill:url(#linearGradient2546);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.70597196;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path12053" />
+ <path
+ d="M 130.37031,107.47813 C 130.37031,107.47813 138.41158,88.598822 164.18304,102.14104 C 177.72397,96.099119 175.97674,94.849075 176.41355,96.515817 C 176.85035,98.18256 174.66635,104.4328 175.32154,106.09955 C 175.97674,107.76629 178.87063,114.7126 177.28716,114.84993 C 174.88474,115.05826 166.14866,111.09975 165.49345,111.93312 C 164.89392,112.69569 146.73988,123.74999 133.61953,111.41774 C 132.401,110.27239 131.48391,109.05388 130.37031,107.47813 z "
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#142f56;stroke-width:2.63978887;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path12055" />
+ <path
+ d="M 133.43416,107.02999 L 164.39518,107.41561 L 172.90946,106.13024 L 174.1995,99.446337 L 164.52419,104.33073 C 154.6965,99.733162 144.70187,95.760779 135.24022,104.33073 L 133.43416,107.02999 z "
+ style="opacity:0.35714285;fill:url(#linearGradient2548);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ id="path12057" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/games-action/extreme-tuxracer/metadata.xml b/games-action/extreme-tuxracer/metadata.xml
new file mode 100644
index 00000000000..93658409190
--- /dev/null
+++ b/games-action/extreme-tuxracer/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <longdescription lang="en">
+Extreme Tux Racer is an open source racing game featuring Tux the Linux Penguin.
+ETRacer continues in the tracks of Tux Racer and its forks.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">extremetuxracer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/fakk2/fakk2-1.02.ebuild b/games-action/fakk2/fakk2-1.02.ebuild
new file mode 100644
index 00000000000..508b6dc5b68
--- /dev/null
+++ b/games-action/fakk2/fakk2-1.02.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cdrom games
+
+DESCRIPTION="Heavy Metal: FAKK2 - 3D third-person action shooter based on the Heavy Metal comics/movies"
+HOMEPAGE="http://www.lokigames.com/products/fakk2/"
+SRC_URI=""
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+KEYWORDS="x86"
+IUSE="nocd"
+RESTRICT="strip"
+
+RDEPEND="virtual/opengl"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}/${PN}
+Ddir=${D}/${dir}
+
+pkg_setup() {
+ games_pkg_setup
+ if use nocd ; then
+ ewarn "The installed game takes about 378MB of space!"
+ fi
+}
+
+src_install() {
+ cdrom_get_cds fakk
+ einfo "Copying files... this may take a while..."
+ exeinto "${dir}"
+ doexe ${CDROM_ROOT}/bin/x86/glibc-2.1/${PN}
+ insinto "${dir}"
+ doins ${CDROM_ROOT}/{README,icon.{bmp,xpm}}
+ exeinto "${dir}"/fakk
+ doexe ${CDROM_ROOT}/bin/x86/glibc-2.1/fakk/{c,f}game.so
+ if use nocd ; then
+ insinto "${dir}"/fakk
+ doins ${CDROM_ROOT}/fakk/pak{0,1,2,3}.pk3
+ doins ${CDROM_ROOT}/fakk/default.cfg
+ fi
+
+ # now, since these files are coming off a cd, the times/sizes/md5sums wont
+ # be different ... that means portage will try to unmerge some files (!)
+ # we run touch on ${D} so as to make sure portage doesnt do any such thing
+ find "${Ddir}" -exec touch '{}' \;
+
+ games_make_wrapper ${PN} ./${PN} "${dir}" "${dir}"
+ newicon ${CDROM_ROOT}/icon.xpm ${PN}.xpm
+
+ prepgamesdirs
+ make_desktop_entry ${PN} "FAKK2" ${PN}
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ ewarn "There are two possible security bugs in this package, both causing a denial of"
+ ewarn "service. One affects the game when running a server, the other when running as"
+ ewarn "a client. For more information, see bug #82149."
+ echo
+ elog "To play the game run:"
+ elog " fakk2"
+}
diff --git a/games-action/fakk2/metadata.xml b/games-action/fakk2/metadata.xml
new file mode 100644
index 00000000000..1f425a350d7
--- /dev/null
+++ b/games-action/fakk2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Heavy Metal: F.A.K.K.2 is a third-person 3-D action game based on characters from the Heavy Metal comics and movies. Years have passed since Julie Strain (a.k.a. F.A.K.K.2) defeated the would-be God Lord Tyler on the bloody battlefields of the Holy Land. She has long since put the pain of those days behind her and brought her homeworld of Eden to a perfect natural balance. But far away in the deepest nebulas of space, the greatest evil of all stirs, ready to make its final move -- to take control of the entire universe. A lone beacon hurtles toward Eden, hoping to summon the god-slayer F.A.K.K.2 one last time. It bears nothing more than an onimous warning: "GITH IS COMING." The game was ported to Linux by the now defunct Loki Entertainment and is commercial software. You can still pick up a copy from Tuxgames (http://www.tuxgames.com), but supplies are limited, as the publisher is no longer in business.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/formido/Manifest b/games-action/formido/Manifest
new file mode 100644
index 00000000000..e381e885b2f
--- /dev/null
+++ b/games-action/formido/Manifest
@@ -0,0 +1,2 @@
+DIST formido-1.0.1.tar.gz 3117496 SHA256 bfea3f9d66fe657551ae8f060de939465634d6eac552849215f33769a9cf4f86 SHA512 72c4b92806eed79290da571c47fcd5427ccd0fafd3d5c5bc1cf641790e13b622eb40f8226e54daf30d1f301743f670115efe8f30279ed83b8fd58d69b6a7e123 WHIRLPOOL 7bf882a4fc41bdbb391efd083f3e866b8a2b37567ef6c0b739b50326777bc2355beffbf4bf857582b06a1b317b78dbf5f30a84a930cef775fabe8cff2d9d076b
+DIST formido-music.tar.bz2 6159005 SHA256 3e9d076139f80e257ba2586c474e18361db5197a555956ebf4dc3053b2a2ce6e SHA512 116ff8af42b68cf641f459b642d42c579decf8ee1314a45de30d4f5452e1669dab5cfdc3a61a72359305f690e686312ea0e1666e724de8b214f3d4d8f6034bd3 WHIRLPOOL 4143aedfb9df1ba0781ebf57cd8c1ae981bbba513ca9aaa2e774723263c6daea2b96534b773d6c67069c762cfb0c606c7028da589122f9ec111cbcd7606fa680
diff --git a/games-action/formido/formido-1.0.1.ebuild b/games-action/formido/formido-1.0.1.ebuild
new file mode 100644
index 00000000000..4413b2482db
--- /dev/null
+++ b/games-action/formido/formido-1.0.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="A shooting game in the spirit of Phobia games"
+HOMEPAGE="http://www.mhgames.org/oldies/formido/"
+SRC_URI="http://noe.falzon.free.fr/prog/${P}.tar.gz
+ http://koti.mbnet.fi/lsoft/formido/formido-music.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT=0
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl
+ media-libs/sdl-image
+ media-libs/sdl-mixer"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd "${S}"/data
+ unpack ${PN}-music.tar.bz2
+}
+
+src_prepare() {
+ sed -i \
+ -e "s:g++:$(tc-getCXX):" \
+ -e "/^FLAGS=/s:$: ${CXXFLAGS}:" \
+ -e "/^LINKFLAGS=/s:=.*:=${LDFLAGS}:" \
+ -e "s:\${DATDIR}:${GAMES_DATADIR}/${PN}/data:" \
+ -e "s:\${DEFCONFIGDIR}:${GAMES_DATADIR}/${PN}:" \
+ Makefile \
+ || die "sed failed"
+}
+
+src_install() {
+ dogamesbin ${PN}
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r ${PN}.cfg data
+ newicon data/icon.dat ${PN}.bmp
+ make_desktop_entry ${PN} Formido /usr/share/pixmaps/${PN}.bmp
+ dodoc README README-1.0.1
+ prepgamesdirs
+}
diff --git a/games-action/formido/metadata.xml b/games-action/formido/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/formido/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/garden/Manifest b/games-action/garden/Manifest
new file mode 100644
index 00000000000..492e4c97a18
--- /dev/null
+++ b/games-action/garden/Manifest
@@ -0,0 +1,2 @@
+DIST garden-1.0.8.tar.gz 2666132 SHA256 3b882e3030838679af3ee40e51fb792ca48fa83799ac6d74f9565954d736ce69 SHA512 eb3f97853b158633533083ef7c475ff2487b484a1b42be133a22e7842a3abd8e306a5009c4da6a6b0ba2ab10a71c40660da237740fe7b2a0fa6378a9af1de7bd WHIRLPOOL bab3199190d170ac0ebddf65461546a688094feca65203ba408788653e7294984b46b55c7c3b1ab4e1e80f1218094c93694fb42b3657dd73ef14153ee723dd30
+DIST garden-1.0.9.tar.gz 2714783 SHA256 daf8732c229a4cc04f460514bff1ba05171faada9e19575c72a50a914f2352e3 SHA512 e8f52fc0ebf9eaa7933ae1faa5610e8a27a5e7cfc59d033714c4306a53680feeddd52b1fb3050f2d72addba03ee383e71e57eac02270f3d2369aed054a9a9848 WHIRLPOOL 77a8f3add973467a6f5d1ccc85fdcfd9ca2ea1e6a841c0c14b4860545a0aeaccbf3ae8934fde6045f5f3848d33fbe68f65773fffc07e8c3971e8a6b1d8373e7b
diff --git a/games-action/garden/files/garden-1.0.8-dash.patch b/games-action/garden/files/garden-1.0.8-dash.patch
new file mode 100644
index 00000000000..2d8630236ff
--- /dev/null
+++ b/games-action/garden/files/garden-1.0.8-dash.patch
@@ -0,0 +1,33 @@
+--- configure.ac.orig 2015-05-04 14:48:03.467935640 -0400
++++ configure.ac 2015-05-04 14:48:24.729199607 -0400
+@@ -80,7 +80,7 @@
+ [have_allegro="no"])
+ AC_MSG_RESULT([$have_allegro])
+ LIBS=$LIBS_SAVE
+- AS_IF([test "x$have_allegro" == "xyes"],
++ AS_IF([test "x$have_allegro" = "xyes"],
+ [return 0],
+ [return 1])
+ }
+@@ -89,7 +89,7 @@
+ AM_PATH_ALLEGRO([4.2.0])
+
+ try_link_allegro "$allegro_LIBS"
+-AS_IF([test "x$?" == "x0"],
++AS_IF([test "x$?" = "x0"],
+ [[LIBS="$LIBS $allegro_LIBS"
+ ALLEGRO_LIB=`echo $allegro_LIBS | sed -e 's/-l\([^[:blank:]]*\).*/\1/'`
+ have_allegro="yes"]])
+@@ -103,10 +103,10 @@
+ for lib in $ALLEGRO_LIBS
+ do
+ ldflag="-l$lib"
+- AS_IF([test "x$have_allegro" == "xyes"],
++ AS_IF([test "x$have_allegro" = "xyes"],
+ [break])
+ try_link_allegro $ldflag
+- AS_IF([test "x$?" == "x0"],
++ AS_IF([test "x$?" = "x0"],
+ [LIBS="$LIBS $ldflag"
+ ALLEGRO_LIB="$lib"
+ have_allegro="yes"])
diff --git a/games-action/garden/files/garden-1.0.8-drop-AS_INIT.patch b/games-action/garden/files/garden-1.0.8-drop-AS_INIT.patch
new file mode 100644
index 00000000000..69cff8fa319
--- /dev/null
+++ b/games-action/garden/files/garden-1.0.8-drop-AS_INIT.patch
@@ -0,0 +1,19 @@
+At least for autoconf-2.69 AS_INIT is called by AC_INIT.
+
+When using /bin/dash calling AS_INIT directly leads to infinite
+reexec loop.
+
+Gentoo-bug: http://bugs.gentoo.org/475248
+diff --git a/configure.ac b/configure.ac
+index eb0002f..6c77ef9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -5,7 +5,7 @@ AC_PREREQ(2.62)
+ AC_INIT([GARDEN],
+ [1.0.8],
+ [bubla@users.sourceforge.net])
+-AS_INIT
++
+ AC_CONFIG_AUX_DIR([build-aux])
+ AM_INIT_AUTOMAKE([-Wall])
+ AC_CONFIG_SRCDIR([src/input.h])
diff --git a/games-action/garden/files/garden-1.0.8-underlink.patch b/games-action/garden/files/garden-1.0.8-underlink.patch
new file mode 100644
index 00000000000..bd25a4d5738
--- /dev/null
+++ b/games-action/garden/files/garden-1.0.8-underlink.patch
@@ -0,0 +1,19 @@
+--- bin/Makefile.am.old 2011-06-22 18:16:30.654661047 +0200
++++ bin/Makefile.am 2011-06-22 18:16:55.662251326 +0200
+@@ -9,6 +9,7 @@
+ garden_LDFLAGS = -static
+ else #unix version :-)
+ AM_CPPFLAGS = -D'DATADIR="@DATADIR_NAME@"'
++garden_LDADD = -lm
+ endif
+
+ #how to build resources?
+--- Makefile.am.old 2011-06-22 18:19:37.787560851 +0200
++++ Makefile.am 2011-06-22 18:19:44.078960907 +0200
+@@ -1,5 +1,5 @@
+ ACLOCAL_AMFLAGS= -I m4
+-SUBDIRS = bin resources
++SUBDIRS = bin
+
+ if NO_EXISTING_DATA
+ SUBDIRS += data
diff --git a/games-action/garden/files/garden-1.0.9-dash.patch b/games-action/garden/files/garden-1.0.9-dash.patch
new file mode 100644
index 00000000000..2d8630236ff
--- /dev/null
+++ b/games-action/garden/files/garden-1.0.9-dash.patch
@@ -0,0 +1,33 @@
+--- configure.ac.orig 2015-05-04 14:48:03.467935640 -0400
++++ configure.ac 2015-05-04 14:48:24.729199607 -0400
+@@ -80,7 +80,7 @@
+ [have_allegro="no"])
+ AC_MSG_RESULT([$have_allegro])
+ LIBS=$LIBS_SAVE
+- AS_IF([test "x$have_allegro" == "xyes"],
++ AS_IF([test "x$have_allegro" = "xyes"],
+ [return 0],
+ [return 1])
+ }
+@@ -89,7 +89,7 @@
+ AM_PATH_ALLEGRO([4.2.0])
+
+ try_link_allegro "$allegro_LIBS"
+-AS_IF([test "x$?" == "x0"],
++AS_IF([test "x$?" = "x0"],
+ [[LIBS="$LIBS $allegro_LIBS"
+ ALLEGRO_LIB=`echo $allegro_LIBS | sed -e 's/-l\([^[:blank:]]*\).*/\1/'`
+ have_allegro="yes"]])
+@@ -103,10 +103,10 @@
+ for lib in $ALLEGRO_LIBS
+ do
+ ldflag="-l$lib"
+- AS_IF([test "x$have_allegro" == "xyes"],
++ AS_IF([test "x$have_allegro" = "xyes"],
+ [break])
+ try_link_allegro $ldflag
+- AS_IF([test "x$?" == "x0"],
++ AS_IF([test "x$?" = "x0"],
+ [LIBS="$LIBS $ldflag"
+ ALLEGRO_LIB="$lib"
+ have_allegro="yes"])
diff --git a/games-action/garden/files/garden-1.0.9-resources.patch b/games-action/garden/files/garden-1.0.9-resources.patch
new file mode 100644
index 00000000000..6acd6f5f78d
--- /dev/null
+++ b/games-action/garden/files/garden-1.0.9-resources.patch
@@ -0,0 +1,7 @@
+--- Makefile.am.orig 2015-05-04 16:57:07.510191036 -0400
++++ Makefile.am 2015-05-04 16:57:14.581946228 -0400
+@@ -1,3 +1,3 @@
+ ACLOCAL_AMFLAGS= -I m4
+
+-SUBDIRS = src resources data
++SUBDIRS = src data
diff --git a/games-action/garden/garden-1.0.8-r1.ebuild b/games-action/garden/garden-1.0.8-r1.ebuild
new file mode 100644
index 00000000000..41ad07d0de3
--- /dev/null
+++ b/games-action/garden/garden-1.0.8-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils autotools games
+
+DESCRIPTION="Multiplatform vertical shoot-em-up with non-traditional elements"
+HOMEPAGE="http://garden.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="<media-libs/allegro-5"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-underlink.patch \
+ "${FILESDIR}"/${P}-dash.patch \
+ "${FILESDIR}"/${P}-drop-AS_INIT.patch #475248
+ eautoreconf
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog NEWS README" \
+ default
+ doicon -s scalable resources/garden.svg
+ make_desktop_entry garden "Garden of coloured lights"
+ 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-action/garden/garden-1.0.9.ebuild b/games-action/garden/garden-1.0.9.ebuild
new file mode 100644
index 00000000000..62df12c7f80
--- /dev/null
+++ b/games-action/garden/garden-1.0.9.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils autotools games
+
+DESCRIPTION="Multiplatform vertical shoot-em-up with non-traditional elements"
+HOMEPAGE="http://garden.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND="<media-libs/allegro-5"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-dash.patch \
+ "${FILESDIR}"/${P}-resources.patch
+ eautoreconf
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog NEWS README" \
+ default
+ doicon -s scalable resources/garden.svg
+ make_desktop_entry garden "Garden of coloured lights"
+ 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-action/garden/metadata.xml b/games-action/garden/metadata.xml
new file mode 100644
index 00000000000..e6459c07f8a
--- /dev/null
+++ b/games-action/garden/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">garden</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/geki2-KXL/Manifest b/games-action/geki2-KXL/Manifest
new file mode 100644
index 00000000000..25a2cb8008d
--- /dev/null
+++ b/games-action/geki2-KXL/Manifest
@@ -0,0 +1,2 @@
+DIST geki2-KXL-2.0.3.tar.gz 708419 SHA256 24338682c9a10d5d796ffad352983481c440ee625d713ef4cc9b51b9da0c5391 SHA512 15d97e72f7490b0a1fa32f3ce002f99fe88183664cb3833bb6a2513de26a0dfb0cd2e723c59d0b6bdd9620b200da2e0e7612d44c02fd1be8721441417a9cb3e5 WHIRLPOOL 0b35053f535b4fd88f64bed805b8ef099071e7eed436a341a7ef64f19a7b8bb3e4b622852b3ce513c8909d488134d332720fed58279864ff7740d1490fcdafb1
+DIST geki2-KXL.png 883 SHA256 b4b314907aa0e563a60b25c4ab25d91dab872f4c2110a0ef3e487aa4855793fe SHA512 20d58e6cc3fd5b6283e6042f8660c73b5a938157ab871dd78e7a2ea2c1187ecae63bcfd46b885255181028531ebbba2c2bf93138e311adf7be10026497a85b74 WHIRLPOOL 654fc705a64a6eeacae285bcdfdac1e3e0e691ab3351209b3ce63d15cce9091b384667cbb1034280fb082215feff0675e3fca6884673a37201c74d6aa476d0c3
diff --git a/games-action/geki2-KXL/files/geki2-KXL-2.0.3-cflags.patch b/games-action/geki2-KXL/files/geki2-KXL-2.0.3-cflags.patch
new file mode 100644
index 00000000000..9812e6de30a
--- /dev/null
+++ b/games-action/geki2-KXL/files/geki2-KXL-2.0.3-cflags.patch
@@ -0,0 +1,9 @@
+--- src/Makefile.am.old 2012-11-10 21:50:02.159117541 +0100
++++ src/Makefile.am 2012-11-10 21:50:20.658715770 +0100
+@@ -4,5 +4,5 @@
+ boss.h extern.h ranking.h your.h game.h\
+ geki2.h load.h opening.h my.h misc.h
+
+-CFLAGS = @X_CFLAGS@ @KXL_CFLAGS@
++AM_CFLAGS = @X_CFLAGS@ @KXL_CFLAGS@
+ LIBS = @X_LIBS@ -lX11 @KXL_LIBS@ -lKXL
diff --git a/games-action/geki2-KXL/files/geki2-KXL-2.0.3-paths.patch b/games-action/geki2-KXL/files/geki2-KXL-2.0.3-paths.patch
new file mode 100644
index 00000000000..1e4d7dba67d
--- /dev/null
+++ b/games-action/geki2-KXL/files/geki2-KXL-2.0.3-paths.patch
@@ -0,0 +1,44 @@
+--- bmp/Makefile.am
++++ bmp/Makefile.am
+@@ -1,4 +1,4 @@
+-bmpdir = $(prefix)/share/geki2/bmp
++bmpdir = $(BMP_PATH)
+ bmp_DATA = back1.bmp boss2.bmp enemyshot4.bmp kuru.bmp myshot.bmp back2.bmp\
+ boss3.bmp enemyshot5.bmp mboss.bmp uraura.bmp back3.bmp\
+ boss3laser.bmp flash.bmp uturn.bmp back4.bmp back6.bmp boss6.bmp\
+--- configure.in
++++ configure.in
+@@ -25,9 +25,9 @@
+ BMP_PATH=/usr/local/share/geki2/bmp
+ WAV_PATH=/usr/local/share/geki2/wav
+ else
+- DATA_PATH=$prefix/share/geki2/data
+- BMP_PATH=$prefix/share/geki2/bmp
+- WAV_PATH=$prefix/share/geki2/wav
++ DATA_PATH=$datadir/geki2/data
++ BMP_PATH=$datadir/geki2/bmp
++ WAV_PATH=$datadir/geki2/wav
+ fi
+ AC_DEFINE_UNQUOTED(DATA_PATH,"$DATA_PATH")
+ AC_DEFINE_UNQUOTED(BMP_PATH,"$BMP_PATH")
+--- data/Makefile.am
++++ data/Makefile.am
+@@ -1,9 +1,7 @@
+-datadir = $(prefix)/share/geki2/data
++datadir = $(DATA_PATH)
+ data_DATA = stage1.dat stage2.dat stage3.dat stage4.dat stage5.dat stage6.dat\
+ map1.dat map2.dat map3.dat map4.dat map5.dat map6.dat
+ EXTRA_DIST = stage1.dat stage2.dat stage3.dat stage4.dat stage5.dat stage6.dat\
+ map1.dat map2.dat map3.dat map4.dat map5.dat map6.dat .score
+
+-install:
+- $(INSTALL) -c -m 666 ./.score $(DESTDIR)$(DATA_PATH)
+
+--- wav/Makefile.am
++++ wav/Makefile.am
+@@ -1,4 +1,4 @@
+-wavdir = $(prefix)/share/geki2/wav
++wavdir = $(WAV_PATH)
+ wav_DATA = bgm1.wav bgm2.wav bgm3.wav bgm4.wav bgm5.wav\
+ bomb.wav laser5.wav warning.wav boss.wav open.wav\
+ laser.wav pow.wav go.wav bgm6.wav
diff --git a/games-action/geki2-KXL/geki2-KXL-2.0.3-r2.ebuild b/games-action/geki2-KXL/geki2-KXL-2.0.3-r2.ebuild
new file mode 100644
index 00000000000..49eb8af82c7
--- /dev/null
+++ b/games-action/geki2-KXL/geki2-KXL-2.0.3-r2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+inherit autotools eutils games
+
+DESCRIPTION="2D length scroll shooting game"
+HOMEPAGE="http://triring.net/ps2linux/games/kxl/kxlgames.html"
+SRC_URI="mirror://gentoo/${P}.tar.gz
+ mirror://gentoo/${PN}.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-games/KXL"
+RDEPEND="${DEPEND}
+ media-fonts/font-adobe-100dpi"
+
+src_prepare() {
+ rm -f missing
+ sed -i \
+ -e '1i #include <string.h>' \
+ -e "s:DATA_PATH \"/.score\":\"${GAMES_STATEDIR}/${PN}\":" \
+ src/ranking.c \
+ || die "sed failed"
+ epatch "${FILESDIR}"/${P}-paths.patch \
+ "${FILESDIR}"/${P}-cflags.patch
+ eautoreconf
+}
+
+src_install() {
+ default
+ insinto "${GAMES_STATEDIR}"
+ newins data/.score ${PN}
+ fperms g+w "${GAMES_STATEDIR}"/${PN}
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry geki2 Geki2
+ prepgamesdirs
+}
diff --git a/games-action/geki2-KXL/metadata.xml b/games-action/geki2-KXL/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/geki2-KXL/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/geki3-KXL/Manifest b/games-action/geki3-KXL/Manifest
new file mode 100644
index 00000000000..54fd47dda1d
--- /dev/null
+++ b/games-action/geki3-KXL/Manifest
@@ -0,0 +1,2 @@
+DIST geki3-KXL-1.0.3.tar.gz 695913 SHA256 5308488d3c31731c75d671d9a6b61ebcfc7e97c651a76f0ef869c8aa3a3865f8 SHA512 23433c40bb800fa6da132a87dc89ed18c156dba44f3479be39b00ac48942cbf9e3ae7318149d3184f4ba8c340c937fa44e334dad5c8e800b9906bd26cdd34fd7 WHIRLPOOL 9c826dc2e821e875aacfbb7184faa79920e40672060a2a17c9792caae0b172510441a970f9c15d534da23e380e7eab23233fbfc52c960a2dd436ff66eb6433c6
+DIST geki3-KXL.png 1142 SHA256 9fc2bc6f5abb44c3b863378d13ddc5f892ff284d4ea6092af3bb55bbf78a6046 SHA512 bb78a188954e530638ebf3ded88a8a19402081d071341924f57b3cc1721de523cf099eac2585ea5a5dd0b86e67f68260d469db06408e86aea68e4950526103bd WHIRLPOOL de1bce90c5b7c36fe202a881f4070d0393d39a534586f0378747caef9c8dbad91b3cc373276777d655a03c2ca385d0f258792cfccd3ab82335eef0fd132236cc
diff --git a/games-action/geki3-KXL/files/geki3-KXL-1.0.3-paths.patch b/games-action/geki3-KXL/files/geki3-KXL-1.0.3-paths.patch
new file mode 100644
index 00000000000..039b185d0b1
--- /dev/null
+++ b/games-action/geki3-KXL/files/geki3-KXL-1.0.3-paths.patch
@@ -0,0 +1,41 @@
+--- bmp/Makefile.am
++++ bmp/Makefile.am
+@@ -1,4 +1,4 @@
+-bmpdir = $(prefix)/share/geki3/bmp
++bmpdir = $(BMP_PATH)
+ bmp_DATA = back1.bmp boss2.bmp enemyshot1.bmp missile.bmp\
+ pata.bmp back2.bmp boss3.bmp enemyshot2.bmp mogu.bmp\
+ pata_ball.bmp back3.bmp boss4.bmp frame.bmp mogu_ball.bmp\
+--- configure.in
++++ configure.in
+@@ -25,9 +25,9 @@
+ BMP_PATH=/usr/local/share/geki3/bmp
+ WAV_PATH=/usr/local/share/geki3/wav
+ else
+- DATA_PATH=$prefix/share/geki3/data
+- BMP_PATH=$prefix/share/geki3/bmp
+- WAV_PATH=$prefix/share/geki3/wav
++ DATA_PATH=$datadir/geki3/data
++ BMP_PATH=$datadir/geki3/bmp
++ WAV_PATH=$datadir/geki3/wav
+ fi
+ AC_DEFINE_UNQUOTED(DATA_PATH,"$DATA_PATH")
+ AC_DEFINE_UNQUOTED(BMP_PATH,"$BMP_PATH")
+--- data/Makefile.am
++++ data/Makefile.am
+@@ -1,6 +1,4 @@
+-datadir = $(prefix)/share/geki3/data
++datadir = $(DATA_PATH)
+ data_DATA = stage1.dat stage2.dat stage3.dat stage4.dat
+ EXTRA_DIST = stage1.dat stage2.dat stage3.dat stage4.dat .score
+
+-install:
+- $(INSTALL) -c -m 666 ./.score $(DESTDIR)$(DATA_PATH)
+--- wav/Makefile.am
++++ wav/Makefile.am
+@@ -1,4 +1,4 @@
+-wavdir = $(prefix)/share/geki3/wav
++wavdir = $(WAV_PATH)
+ wav_DATA = bgm1.wav bgm2.wav bgm3.wav bgm4.wav boom.wav boss.wav go.wav \
+ laser.wav open.wav pow.wav warning.wav
+ EXTRA_DIST = bgm1.wav bgm2.wav bgm3.wav bgm4.wav boom.wav boss.wav go.wav \
diff --git a/games-action/geki3-KXL/geki3-KXL-1.0.3-r2.ebuild b/games-action/geki3-KXL/geki3-KXL-1.0.3-r2.ebuild
new file mode 100644
index 00000000000..06f91689280
--- /dev/null
+++ b/games-action/geki3-KXL/geki3-KXL-1.0.3-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils games
+
+DESCRIPTION="2D length scroll shooting game"
+HOMEPAGE="http://triring.net/ps2linux/games/kxl/kxlgames.html"
+SRC_URI="mirror://gentoo/${P}.tar.gz
+ mirror://gentoo/${PN}.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="dev-games/KXL"
+RDEPEND="${DEPEND}
+ media-fonts/font-adobe-100dpi"
+
+src_prepare() {
+ rm -f missing
+ sed -i \
+ -e '1i #include <string.h>' \
+ -e "s:DATA_PATH \"/.score\":\"${GAMES_STATEDIR}/${PN}\":" \
+ src/ranking.c \
+ || die "sed failed"
+ sed -i -e '/CFLAGS/s/$/ @CFLAGS@/' src/Makefile.am || die #bug 426890
+ epatch "${FILESDIR}"/${P}-paths.patch
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_install() {
+ default
+ emake DESTDIR="${D}" install
+ insinto "${GAMES_STATEDIR}"
+ newins data/.score ${PN}
+ fperms g+w "${GAMES_STATEDIR}"/${PN}
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry geki3 Geki3
+ prepgamesdirs
+}
diff --git a/games-action/geki3-KXL/metadata.xml b/games-action/geki3-KXL/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/geki3-KXL/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/gltron/Manifest b/games-action/gltron/Manifest
new file mode 100644
index 00000000000..06472db6c74
--- /dev/null
+++ b/games-action/gltron/Manifest
@@ -0,0 +1,2 @@
+DIST gltron-0.70-source.tar.gz 2182440 SHA256 e0c8ebb41a18a1f8d7302a9c2cb466f5b1dd63e9a9966c769075e6b6bdad8bb0 SHA512 297708a145d995bfd186f1745ffa674ab44238e8c2fb627245de3c1602f578afdd9223fae696107769b3b29da476cd9623ee37183618bfb13a9a9cfa59e41bf2 WHIRLPOOL d734840ea4d4181d2531d7596a380edd96b2cecc91786428f183ea06903f8ce7183d51bf6655abbd56d07d5fa272a91c1d5b2691cf49408f28f773bb63121bc7
+DIST gltron.png 7570 SHA256 1f7262feb4f3bdff36573fe51dedd93905feb2ec9a54a3f8ec0a964489c40abd SHA512 d83eb90b4d070d4dc5e93bf90cf81629b6a8bb200ca5e2963b757e282aeae62288560a6ded6159a170c301f0119592ac743a15ab604a6ba98a4ee93d00c02d0a WHIRLPOOL 78cea6ca679908f536995d5398a236e03563097719033dccdb3f33892b3d41954e68d84b55367674a2cb77cb4cde49650c01febba95e34257d3790393aa23f23
diff --git a/games-action/gltron/files/gltron-0.70-configure.patch b/games-action/gltron/files/gltron-0.70-configure.patch
new file mode 100644
index 00000000000..91414b3956e
--- /dev/null
+++ b/games-action/gltron/files/gltron-0.70-configure.patch
@@ -0,0 +1,24 @@
+configure.in is written poorly so it just stomps all over CFLAGS
+
+--- configure
++++ configure
+@@ -2805,7 +2805,7 @@
+ RANLIB="$ac_cv_prog_RANLIB"
+ fi
+
+-CFLAGS="-DSEPARATOR=\"'/'\""
++CFLAGS="$CFLAGS -DSEPARATOR=\"'/'\""
+
+ # Check whether --enable-warn or --disable-warn was given.
+ if test "${enable_warn+set}" = set; then
+@@ -2852,10 +2852,6 @@
+ else
+ enable_optimize=s
+ fi;
+-if test "x$enable_optimize" ; then
+- CFLAGS="$CFLAGS -O$enable_optimize"
+- CXXFLAGS="$CXXFLAGS -O$enable_optimize"
+-fi
+
+ # Check whether --with-sdl-prefix or --without-sdl-prefix was given.
+ if test "${with_sdl_prefix+set}" = set; then
diff --git a/games-action/gltron/files/gltron-0.70-debian.patch b/games-action/gltron/files/gltron-0.70-debian.patch
new file mode 100644
index 00000000000..464cf592820
--- /dev/null
+++ b/games-action/gltron/files/gltron-0.70-debian.patch
@@ -0,0 +1,35 @@
+Ripped from Debian patchset 6
+
+--- src/include/game/game_data.h
++++ src/include/game/game_data.h
+@@ -71,7 +71,7 @@
+ typedef struct AI {
+ int active;
+ int tdiff;
+- long lasttime;
++ unsigned int lasttime;
+ segment2 left, right, front, backleft;
+ } AI;
+
+--- src/include/video/fonttex.h
++++ src/include/video/fonttex.h
+@@ -10,7 +10,7 @@
+ int lower; /* lowest ascii character (normally: 32) */
+ int upper; /* highest ascii character (normally: 126) */
+
+- int *texID;
++ unsigned int *texID;
+
+ char *fontname;
+ char *bitmapname;
+--- src/video/trail.c
++++ src/video/trail.c
+@@ -19,7 +19,7 @@
+ n[1] = s->vStart.v[1] - s->vDirection.v[0];
+ tmp[0] = eye[0] - s->vStart.v[0];
+ tmp[1] = eye[1] - s->vStart.v[1];
+- if(n[0] == n[1] == 0) return length(tmp);
++ if(n[0] == 0 && n[1] == 0) return length(tmp);
+ return abs(scalarprod2(n, tmp) / length(n));
+ }
+
diff --git a/games-action/gltron/files/gltron-0.70-gcc49.patch b/games-action/gltron/files/gltron-0.70-gcc49.patch
new file mode 100644
index 00000000000..4a1d5cbe1e1
--- /dev/null
+++ b/games-action/gltron/files/gltron-0.70-gcc49.patch
@@ -0,0 +1,13 @@
+--- 1/lua/src/lib/liolib.c
++++ 1/lua/src/lib/liolib.c
+@@ -6,9 +6,9 @@
+ */
+
+
++#define __USE_MISC /* for mkstemp() */
+ #include <ctype.h>
+ #include <stdio.h>
+-#define __USE_MISC /* for mkstemp() */
+ #include <stdlib.h>
+ #include <string.h>
+ #include <time.h>
diff --git a/games-action/gltron/files/gltron-0.70-prototypes.patch b/games-action/gltron/files/gltron-0.70-prototypes.patch
new file mode 100644
index 00000000000..d697f1ad59a
--- /dev/null
+++ b/games-action/gltron/files/gltron-0.70-prototypes.patch
@@ -0,0 +1,24 @@
+scripting.h declares these params as const so make sure they're the same.
+
+--- nebu/scripting/scripting.c
++++ nebu/scripting/scripting.c
+@@ -169,16 +169,16 @@
+ return status;
+ }
+
+-void scripting_RunFile(char *name) {
++void scripting_RunFile(const char *name) {
+ lua_dofile(L, name);
+ }
+
+-void scripting_Run(char *command) {
++void scripting_Run(const char *command) {
+ /* fprintf(stderr, "[command] %s\n", command); */
+ lua_dostring(L, command);
+ }
+
+-void scripting_RunFormat(char *format, ... ) {
++void scripting_RunFormat(const char *format, ... ) {
+ char buf[4096];
+ va_list ap;
+ va_start(ap, format);
diff --git a/games-action/gltron/gltron-0.70-r1.ebuild b/games-action/gltron/gltron-0.70-r1.ebuild
new file mode 100644
index 00000000000..8c909d21379
--- /dev/null
+++ b/games-action/gltron/gltron-0.70-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="3d tron, just like the movie"
+HOMEPAGE="http://gltron.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}-source.tar.gz
+ mirror://gentoo/${PN}.png"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ media-libs/libpng:0
+ media-libs/libsdl[sound,video]
+ media-libs/sdl-mixer[vorbis]
+ media-libs/sdl-sound[vorbis,mikmod]
+ media-libs/smpeg
+ media-libs/libmikmod"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-configure.patch \
+ "${FILESDIR}"/${P}-prototypes.patch \
+ "${FILESDIR}"/${P}-debian.patch \
+ "${FILESDIR}"/${P}-gcc49.patch
+ sed -i \
+ -e '/^gltron_LINK/s/$/ $(LDFLAGS)/' \
+ Makefile.in || die
+}
+
+src_configure() {
+ # warn/debug/profile just modify CFLAGS, they aren't
+ # real options, so don't utilize USE flags here
+ egamesconf \
+ --disable-warn \
+ --disable-debug \
+ --disable-profile
+}
+
+src_install() {
+ default
+ doicon "${DISTDIR}"/${PN}.png
+ make_desktop_entry ${PN} GLtron
+ prepgamesdirs
+}
diff --git a/games-action/gltron/metadata.xml b/games-action/gltron/metadata.xml
new file mode 100644
index 00000000000..cf879222734
--- /dev/null
+++ b/games-action/gltron/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">gltron</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/heretic2-demo/Manifest b/games-action/heretic2-demo/Manifest
new file mode 100644
index 00000000000..5486ab4435b
--- /dev/null
+++ b/games-action/heretic2-demo/Manifest
@@ -0,0 +1 @@
+DIST heretic2-demo.run 55065564 SHA256 623e1a277ff8eb47e48a6fa50f32eb1325eba1591cebdea002a32599464b881a SHA512 62aba7b4569b76bf9a01864652da7be8e268ad3cad4eb5b986b7e84adbd88e826799d021b141f9a7a1135520e440de4ce2e57c5be6ceaa85dc08295d5e3ad30e WHIRLPOOL fdde3e8caf5114e37e9db16801e99638a1fbe20b40c6bdf913d57d8e5f4774fa3d84bb44a365bb16ea6fefd1ad88e08c924bedd6ef58a50bc9612193cc4e8220
diff --git a/games-action/heretic2-demo/heretic2-demo-1.06a.ebuild b/games-action/heretic2-demo/heretic2-demo-1.06a.ebuild
new file mode 100644
index 00000000000..c41275b5a31
--- /dev/null
+++ b/games-action/heretic2-demo/heretic2-demo-1.06a.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker multilib games
+
+DESCRIPTION="Third-person classic magical action-adventure game"
+HOMEPAGE="http://www.lokigames.com/products/heretic2/
+ http://www.hereticii.com/"
+SRC_URI="mirror://lokigames/loki_demos/${PN}.run"
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RESTRICT="strip"
+QA_TEXTRELS="${GAMES_PREFIX_OPT:1}/heretic2-demo/ref_glx.so"
+
+DEPEND="games-util/loki_patch"
+RDEPEND="
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}/${PN}
+Ddir=${D}/${dir}
+QA_PREBUILT="${dir:1}/*"
+
+src_install() {
+ ABI=x86
+
+ local demo="data/demos/heretic2_demo"
+ local exe="heretic2_demo.x86"
+
+ loki_patch patch.dat data/ || die
+
+ # Remove bad opengl library
+ rm -r "${demo}/gl_drivers/"
+
+ # Change to safe default of 800x600 and option of normal opengl driver
+ sed -i \
+ -e "s:fullscreen \"1\":fullscreen \"1\"\nset vid_mode \"4\":" \
+ -e "s:libGL:/usr/$(get_libdir)/libGL:" \
+ "${demo}"/base/default.cfg || die
+
+ insinto "${dir}"
+ exeinto "${dir}"
+ doins -r "${demo}"/*
+ doexe "${demo}/${exe}"
+
+ games_make_wrapper ${PN} "./${exe}" "${dir}" "${dir}"
+ newicon "${demo}"/icon.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "Heretic 2 (Demo)" ${PN}
+
+ prepgamesdirs
+}
diff --git a/games-action/heretic2-demo/metadata.xml b/games-action/heretic2-demo/metadata.xml
new file mode 100644
index 00000000000..a72ae8ca031
--- /dev/null
+++ b/games-action/heretic2-demo/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Power up your mana and help Corvus find the cure to a plague of epic dimensions -- and save the worlds of D'sparil before it's too late! A high-powered and mystical three-dimensional environment will enthrall you, with spectacular sound and visual effects, non-stop action and adventure. Prepare to be ensnared in the visual feast that is the worlds of D'sparil. This is the demo version of the commercially-ported game.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/heretic2/Manifest b/games-action/heretic2/Manifest
new file mode 100644
index 00000000000..a4f91c36ed4
--- /dev/null
+++ b/games-action/heretic2/Manifest
@@ -0,0 +1,3 @@
+DIST heretic2-1.06b-unified-x86.run 4718161 SHA256 5fccb3ed0948af96b8f92232dc0e89f700b32a753ef303f707b82189d9d2b4fb
+DIST heretic2-1.06c-unified-x86.run 3667873 SHA256 0e8fbd4a9df001a7b2df7e860f5506069ffaae2f898e066b7b72fbc83e1496f0
+DIST heretic2-maps-1.0.run 6257076 SHA256 c4dc02af9c426ecaf59ce3a4c487c3e452b430eca1bb0e3a33f98f9d2ac47543
diff --git a/games-action/heretic2/heretic2-1.06c-r1.ebuild b/games-action/heretic2/heretic2-1.06c-r1.ebuild
new file mode 100644
index 00000000000..7fe8d103636
--- /dev/null
+++ b/games-action/heretic2/heretic2-1.06c-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker cdrom multilib games
+
+DESCRIPTION="Third-person classic magical action-adventure game"
+HOMEPAGE="http://lokigames.com/products/heretic2/
+ http://www.ravensoft.com/heretic2.html"
+SRC_URI="mirror://lokigames/${PN}/${P/%?/b}-unified-x86.run
+ mirror://lokigames/${PN}/${P}-unified-x86.run
+ mirror://lokigames/${PN}/${PN}-maps-1.0.run"
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RESTRICT="strip"
+QA_TEXTRELS="${GAMES_PREFIX_OPT:1}/${PN}/base/*.so"
+
+DEPEND="games-util/loki_patch"
+RDEPEND="virtual/opengl
+ amd64? (
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ )
+ x86? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )"
+
+S=${WORKDIR}
+
+src_unpack() {
+ cdrom_get_cds bin/x86/glibc-2.1/${PN}
+ mkdir ${A}
+
+ local f
+ for f in * ; do
+ cd "${S}"/${f}
+ unpack_makeself ${f}
+ done
+}
+
+src_install() {
+ has_multilib_profile && ABI=x86
+
+ local dir=${GAMES_PREFIX_OPT}/${PN}
+
+ cd "${CDROM_ROOT}"
+
+ insinto "${dir}"
+ doins -r base help Manual.html README README.more
+
+ exeinto "${dir}"
+ doexe bin/x86/glibc-2.1/${PN}
+
+ games_make_wrapper ${PN} ./${PN} "${dir}" "${dir}"
+ sed -i \
+ -e 's/^exec /__GL_ExtensionStringVersion=17700 exec /' \
+ "${D}/${GAMES_BINDIR}/${PN}" || die
+ newicon icon.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "Heretic II"
+
+ cd "${D}/${dir}"
+ ln -s "${CDROM_ROOT}"/*.gz .
+ unpack ./*.gz
+ rm -f *.gz
+
+ local d
+ for d in "${S}"/* ; do
+ pushd "${d}" > /dev/null
+ loki_patch patch.dat "${D}/${dir}" || die
+ popd > /dev/null
+ done
+
+ rmdir gl_drivers
+ sed -i \
+ "128i set gl_driver \"/usr/$(get_libdir)/libGL.so\"" \
+ base/default.cfg || die
+
+ prepgamesdirs
+}
diff --git a/games-action/heretic2/metadata.xml b/games-action/heretic2/metadata.xml
new file mode 100644
index 00000000000..668ca6c7066
--- /dev/null
+++ b/games-action/heretic2/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>tristan@gentoo.org</email>
+ <name>Tristan Heaven</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/games-action/heroes/Manifest b/games-action/heroes/Manifest
new file mode 100644
index 00000000000..584f60dc89f
--- /dev/null
+++ b/games-action/heroes/Manifest
@@ -0,0 +1,4 @@
+DIST heroes-0.21.tar.bz2 709079 SHA256 47c0dd6dea64a971236d2fb5ec94e3526741ebfaf73110535ed438035d18da74 SHA512 fc0ac1fdf7e686388c90162b6cd76d638d295fa5919a9fdd4e944a85ca4f60b1b0a01873820b2c718ae9c960ca3d7e28ec62c09d6cd0f052e62fd2e76a96be82 WHIRLPOOL 519e479ee2e99e23c9209b20245f36a08053023ce6ef0ca1cceb1b358438f0f4bac9a1db467c742fbc63144b114a7e7f69c31b2aac4301617b7f28b908893091
+DIST heroes-data-1.5.tar.bz2 391970 SHA256 f3fa8bd0dd15795b906a8b0cfcfdf0d077404c8577a694347f9e3b1115c231ae SHA512 a4cb1508c2010b2157dc0e1d0a7973131fa167cb1f3c93649c3bc9b2c37419e4429e33cde14f3b67c7a4670f751ff4c28d88604102780bdb1fe5c77a93e1a213 WHIRLPOOL 0c0af90877703e36fb8d86f65cabf815b82b62885405102e32a957fa69d3d2a671c357995d151c001c351194d69ec98231f2465a1b92ff585e760205d37d8388
+DIST heroes-sound-effects-1.0.tar.bz2 389883 SHA256 400439d4c6d031ed55ebbb18a8c99928e8b7a99c220ab8ccd3a21eca04f2072c SHA512 51da63373f1bdb2314a8c3164028ee9cbb95958bfe8f13b1119236f035282a711efcc6ef5a84fd647c1e8451b4da788a74e4b8506e1476a437299dfc7b2046d1 WHIRLPOOL e272e0bda99d1331992bfbe74bbd9898bd10ebabff57fed37470c66bdde66e91ae856bf700aead6b8a18d1edf68b3e574281ca3c1c7dfd598decafe7bfe22bb7
+DIST heroes-sound-tracks-1.0.tar.bz2 1245613 SHA256 2a20bd584a97881421b1c5ef0575284f3dae2a6c0866b9d5faedc47b524cd573 SHA512 3e7ee2890c47366a39cfc7d7b9a1e5fdf3c3379013ca96072586ba909e2a602b114c728ffbe9dfe8eb6b62232cb6c25b13475f2a33da0243ea1ffb3f040842f0 WHIRLPOOL d1b05ec10b0de0d3c8348dbce832efe9b3aa7dd9dbcffb7824c1e4cd0b0c8770c305b3de4d9d7464e984e7ada7b4557bd6850316b24138ca5d0ea19bd9ddbaf5
diff --git a/games-action/heroes/files/0.21-cvs-segfault-fix.patch b/games-action/heroes/files/0.21-cvs-segfault-fix.patch
new file mode 100644
index 00000000000..99f770631f6
--- /dev/null
+++ b/games-action/heroes/files/0.21-cvs-segfault-fix.patch
@@ -0,0 +1,17 @@
+===================================================================
+RCS file: /cvsroot/heroes/heroes/src/menus.c,v
+retrieving revision 1.108.2.1
+retrieving revision 1.108.2.2
+diff -u -r1.108.2.1 -r1.108.2.2
+--- heroes/heroes/src/menus.c 2002/06/16 19:16:09 1.108.2.1
++++ heroes/heroes/src/menus.c 2002/08/22 11:45:51 1.108.2.2
+@@ -219,7 +219,8 @@
+ { N_("NEW LEVEL"), editor_menu },
+ /* TRANS: Load an existing level for edition. */
+ { N_("LOAD LEVEL"), editor_selector },
+- { N_("GO BACK"), 0 }
++ { N_("GO BACK"), 0 },
++ { 0, 0 }
+ };
+
+ a_menu *editor_menu_data;
diff --git a/games-action/heroes/files/heroes-0.21-automake-1.12.patch b/games-action/heroes/files/heroes-0.21-automake-1.12.patch
new file mode 100644
index 00000000000..1a645df91ac
--- /dev/null
+++ b/games-action/heroes/files/heroes-0.21-automake-1.12.patch
@@ -0,0 +1,11 @@
+--- heroes-0.21/configure.ac
++++ heroes-0.21/configure.ac
+@@ -112,7 +112,7 @@
+ # Checks for typedefs, structures, and compiler characteristics.
+ # ==============================================================
+
+-AM_C_PROTOTYPES
++AC_C_PROTOTYPES
+ AC_C_CONST
+ AC_TYPE_UID_T dnl This checks for gid_t too.
+ AC_CHECK_TYPES([ssize_t])
diff --git a/games-action/heroes/files/heroes-0.21-gcc4.patch b/games-action/heroes/files/heroes-0.21-gcc4.patch
new file mode 100644
index 00000000000..573db41c0e2
--- /dev/null
+++ b/games-action/heroes/files/heroes-0.21-gcc4.patch
@@ -0,0 +1,184 @@
+--- src/hedlite.c.old 2006-01-28 14:05:05.000000000 -0700
++++ src/hedlite.c 2006-01-28 14:07:20.000000000 -0700
+@@ -45,7 +45,7 @@
+ #include "dirname.h"
+
+ static a_pcx_image heditrsc;
+-static a_pcx_image tile_set_img;
++static a_pcx_image tile_set_img_local;
+
+ unsigned short int xdalles = 0;
+ unsigned short int ydalles = 0;
+@@ -144,9 +144,9 @@
+ static void
+ copy_tile (int src_, a_pixel *dest)
+ {
+- int i = tile_set_img.width;
++ int i = tile_set_img_local.width;
+ int j;
+- a_pixel *src = tile_set_img.buffer + src_;
++ a_pixel *src = tile_set_img_local.buffer + src_;
+ for (j = 20; j > 0; j--) {
+ fastmem4 (src, dest, 24 >> 2);
+ src += i;
+@@ -157,9 +157,9 @@
+ static void
+ copy_tile_pcx (int src_, a_pixel *dest)
+ {
+- int i = tile_set_img.width;
++ int i = tile_set_img_local.width;
+ int j;
+- a_pixel *src = tile_set_img.buffer + src_;
++ a_pixel *src = tile_set_img_local.buffer + src_;
+ for (j = 20; j > 0; j--) {
+ fastmem4 (src, dest, 24 >> 2);
+ src += i;
+@@ -170,9 +170,9 @@
+ static void
+ copy_tile_transp (int src_, a_pixel *dest)
+ {
+- int i = tile_set_img.width;
++ int i = tile_set_img_local.width;
+ int j, k;
+- a_pixel *src = tile_set_img.buffer + src_;
++ a_pixel *src = tile_set_img_local.buffer + src_;
+ for (j = 20; j > 0; j--) {
+ for (k = 24; k > 0; k--) {
+ if (*src != 0)
+@@ -188,9 +188,9 @@
+ static void
+ copy_tile_transp_pcx (int src_, a_pixel *dest)
+ {
+- int i = tile_set_img.width;
++ int i = tile_set_img_local.width;
+ int j, k;
+- a_pixel *src = tile_set_img.buffer + src_;
++ a_pixel *src = tile_set_img_local.buffer + src_;
+ for (j = 20; j > 0; j--) {
+ for (k = 24; k > 0; k--) {
+ if (*src != 0)
+@@ -555,7 +555,7 @@
+ static void
+ update_middle_panel (void)
+ {
+- rectangle_copy (xdalles, 0, 144, 200, 145, 0, &tile_set_img);
++ rectangle_copy (xdalles, 0, 144, 200, 145, 0, &tile_set_img_local);
+ frame (145 + xdallesdec, ydalles, 23, 19, 15);
+ rectangle_copy (0, 64, 30, 6, 290, 64, &heditrsc);
+ sprintf (nombre, "%u", (xdalles + xdallesdec) / 24);
+@@ -670,7 +670,7 @@
+ curdalled (void)
+ {
+ int i =
+- (xdalles + xdallesdec) / 24 + (ydalles / 20) * (tile_set_img.width / 24);
++ (xdalles + xdallesdec) / 24 + (ydalles / 20) * (tile_set_img_local.width / 24);
+ return i;
+ }
+
+@@ -894,7 +894,7 @@
+ free (tempc);
+ putc (0xC, fpcx);
+ for (i1 = 0; i1 < 768; i1++)
+- putc (tile_set_img.palette.global[i1] << 2, fpcx);
++ putc (tile_set_img_local.palette.global[i1] << 2, fpcx);
+ fclose (fpcx);
+ }
+
+@@ -1225,7 +1225,7 @@
+ }
+ } else if (i == HK_End) {
+ if (mod & HK_MOD_Ctrl) {
+- xdalles = (tile_set_img.width / 24) * 24 - 144;
++ xdalles = (tile_set_img_local.width / 24) * 24 - 144;
+ update_middle_panel ();
+ }
+ } else if (i == HK_PageDown) {
+@@ -1250,7 +1250,7 @@
+ }
+ } else if (i == HK_Right) {
+ if (mod & HK_MOD_Ctrl) {
+- if (xdalles + 168U < tile_set_img.width) {
++ if (xdalles + 168U < tile_set_img_local.width) {
+ xdalles += 24;
+ update_middle_panel ();
+ } else if (xdallesdec < 120) {
+@@ -1337,7 +1337,7 @@
+ } else if (i == HK_Space) {
+ j = curdallep ();
+ level_map[j].number =
+- xdalles + xdallesdec + ydalles * (tile_set_img.width);
++ xdalles + xdallesdec + ydalles * (tile_set_img_local.width);
+ level_map[j].type = ddef[curdalled ()].type;
+ level_map[j].info = ddef[curdalled ()].info;
+ gestclav (HK_i, HK_MOD_None);
+@@ -1351,9 +1351,9 @@
+ level_map[j].collision[3] = 0;
+ }
+ for (j = hplaninfo.xt * hplaninfo.yt - 1; j >= 0; j--) {
+- k = (((level_map[j].number % tile_set_img.width) / 24) +
+- (level_map[j].number / (tile_set_img.width * 20)) *
+- (tile_set_img.width / 24));
++ k = (((level_map[j].number % tile_set_img_local.width) / 24) +
++ (level_map[j].number / (tile_set_img_local.width * 20)) *
++ (tile_set_img_local.width / 24));
+ level_map[j].type = ddef[k].type;
+ if (level_map[j].type != t_tunnel) {
+ if (level_map[j].type == t_anim || i == 0x1749)
+@@ -1404,7 +1404,7 @@
+ if (mod & HK_MOD_Ctrl) {
+ for (j = hplaninfo.xt * hplaninfo.yt - 1; j >= 0; j--) {
+ level_map[j].number = xdalles + xdallesdec +
+- ydalles * (tile_set_img.width);
++ ydalles * (tile_set_img_local.width);
+ level_map[j].type = ddef[curdalled ()].type;
+ level_map[j].info = ddef[curdalled ()].info;
+ }
+@@ -1414,7 +1414,7 @@
+
+ level_map[j].number =
+ (((j % hplaninfo.xt) + (j / hplaninfo.xt)) & 1) * 20 *
+- tile_set_img.width;
++ tile_set_img_local.width;
+ update_left_panel ();
+ }
+ } else if (i == HK_F3) {
+@@ -1427,7 +1427,7 @@
+ if (level_map[curdallep ()].sprite == 0)
+
+ level_map[curdallep ()].sprite =
+- (short int) (xdalles + xdallesdec + ydalles * (tile_set_img.width));
++ (short int) (xdalles + xdallesdec + ydalles * (tile_set_img_local.width));
+ else
+ level_map[curdallep ()].sprite = 0;
+ update_left_panel ();
+@@ -1707,17 +1707,17 @@
+ hplaninfo.tile_set_name), ".pie");
+
+ pcx_load_from_rsc ("editor-img", &heditrsc);
+- pcx_load (tile_set_name, &tile_set_img);
++ pcx_load (tile_set_name, &tile_set_img_local);
+
+ /* read the tileset definition */
+- XCALLOC_ARRAY (ddef, (tile_set_img.width / 24) * 10);
++ XCALLOC_ARRAY (ddef, (tile_set_img_local.width / 24) * 10);
+ if (!((ftmp = fopen (dallepie, "rb")) == NULL))
+- fread (ddef, sizeof (a_tile_info), (tile_set_img.width / 24) * 10, ftmp);
++ fread (ddef, sizeof (a_tile_info), (tile_set_img_local.width / 24) * 10, ftmp);
+ fclose (ftmp);
+
+ outwayinit ();
+ XCALLOC_ARRAY (hedit_buffer, xbuf * 200);
+- set_pal (tile_set_img.palette.global, 0, 256 * 3);
++ set_pal (tile_set_img_local.palette.global, 0, 256 * 3);
+ rectangle_copy (0, 0, 30, 200, 290, 0, &heditrsc);
+ strupr (levelnomshort);
+ draw_text (levelnomshort, 305, 29, 8, 1);
+@@ -1767,7 +1767,7 @@
+ free (ddef);
+ free (level_map);
+ img_free (&heditrsc);
+- img_free (&tile_set_img);
++ img_free (&tile_set_img_local);
+ }
+
+ free (dallepie);
diff --git a/games-action/heroes/files/heroes-0.21-underlink.patch b/games-action/heroes/files/heroes-0.21-underlink.patch
new file mode 100644
index 00000000000..4b805aebc70
--- /dev/null
+++ b/games-action/heroes/files/heroes-0.21-underlink.patch
@@ -0,0 +1,11 @@
+--- src/Makefile.am.old 2011-06-10 11:32:03.905618275 +0200
++++ src/Makefile.am 2011-06-10 11:32:15.539347083 +0200
+@@ -42,7 +42,7 @@
+ heroeslvl_SOURCES = heroeslvl.c
+
+ heroes_LDADD = lvl/libhlvl.a media/libhmcommon.a ../lib/libheroes.a \
+- $(INTLLIBS) $(LIBALT_LOCAL_XLDADD) $(LIBALT_XLDADD)
++ $(INTLLIBS) $(LIBALT_LOCAL_XLDADD) $(LIBALT_XLDADD) -lm
+ heroes_LDFLAGS = $(LIBALT_XLDFLAGS)
+
+ ## Depend upon Makefile because the value of LIBALT_LOCAL_LDADD might
diff --git a/games-action/heroes/heroes-0.21-r1.ebuild b/games-action/heroes/heroes-0.21-r1.ebuild
new file mode 100644
index 00000000000..08774f50a27
--- /dev/null
+++ b/games-action/heroes/heroes-0.21-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+
+inherit eutils autotools games
+
+data_ver=1.5
+snd_trk_ver=1.0
+snd_eff_ver=1.0
+
+DESCRIPTION="Heroes Enjoy Riding Over Empty Slabs: similar to Tron and Nibbles"
+HOMEPAGE="http://heroes.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2
+ mirror://sourceforge/${PN}/${PN}-data-${data_ver}.tar.bz2
+ mirror://sourceforge/${PN}/${PN}-sound-tracks-${snd_trk_ver}.tar.bz2
+ mirror://sourceforge/${PN}/${PN}-sound-effects-${snd_eff_ver}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE="sdl nls ggi"
+RESTRICT="test"
+
+RDEPEND="nls? ( virtual/libintl )
+ sdl? ( media-libs/libsdl media-libs/sdl-mixer )
+ ggi? ( media-libs/libggi media-libs/libgii media-libs/libmikmod )
+ !sdl? ( !ggi? ( media-libs/libsdl media-libs/sdl-mixer ) )"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )"
+
+src_prepare() {
+ #56118
+ epatch "${FILESDIR}"/${PV}-cvs-segfault-fix.patch \
+ "${FILESDIR}/${P}"-gcc4.patch \
+ "${FILESDIR}/${P}"-underlink.patch \
+ "${FILESDIR}"/${P}-automake-1.12.patch
+ sed -i 's:$(localedir):/usr/share/locale:' \
+ $(find . -name 'Makefile.in*') \
+ || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ if use sdl || ! use ggi ; then
+ myconf="${myconf} --with-sdl --with-sdl-mixer"
+ else
+ myconf="${myconf} --with-ggi --with-mikmod"
+ fi
+
+ local pkg
+ for pkg in ${A//.tar.bz2} ; do
+ cd "${WORKDIR}"/${pkg}
+ egamesconf \
+ --disable-heroes-debug \
+ --disable-optimizations \
+ $(use_enable nls) \
+ ${myconf}
+ done
+}
+
+src_install() {
+ local pkg
+ for pkg in ${A//.tar.bz2} ; do
+ cd "${WORKDIR}"/${pkg}
+ emake DESTDIR="${D}" install
+ done
+ prepgamesdirs
+}
diff --git a/games-action/heroes/metadata.xml b/games-action/heroes/metadata.xml
new file mode 100644
index 00000000000..1ce25c83167
--- /dev/null
+++ b/games-action/heroes/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">heroes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/hotline-miami/Manifest b/games-action/hotline-miami/Manifest
new file mode 100644
index 00000000000..3118e19dc6e
--- /dev/null
+++ b/games-action/hotline-miami/Manifest
@@ -0,0 +1 @@
+DIST HotlineMiami_linux_1392944501.tar.gz 207632875 SHA256 338268eecbd63ab5cf168d85ef6c7b36f2a6999adb359222b5372651b08ba805 SHA512 d1c1b7cbb910969ae120a12d982ed2ba7c935912bdc4e72e3a42b7aeb468b33c6536f4e43f97942155656be705e060d6fe9da37b04040c6aebf81ca80300d546 WHIRLPOOL 2bd29ad11c4cecab02e0936a7a531d4eb2a5f55cbec80cc0699a3ae493c934fb1a175e1474f46dc5b2cddcb5f824cefb661b9e09e94ac6cf61474f50191a6459
diff --git a/games-action/hotline-miami/hotline-miami-1.0.9a_p20140221.ebuild b/games-action/hotline-miami/hotline-miami-1.0.9a_p20140221.ebuild
new file mode 100644
index 00000000000..761e343c209
--- /dev/null
+++ b/games-action/hotline-miami/hotline-miami-1.0.9a_p20140221.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: unbundle Qt5
+# remove emul-linux-x86* deps (bug 484060)
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="High-octane action game overflowing with raw brutality"
+HOMEPAGE="http://www.devolverdigital.com/games/view/hotline-miami"
+SRC_URI="HotlineMiami_linux_1392944501.tar.gz"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bundled-libs +launcher"
+RESTRICT="bindist fetch splitdebug"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/lib/*
+ ${MYGAMEDIR#/}/Hotline
+ ${MYGAMEDIR#/}/hotline_launcher"
+
+RDEPEND="
+ amd64? (
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ !bundled-libs? (
+ media-gfx/nvidia-cg-toolkit[multilib]
+ >=media-libs/libogg-1.3.0[abi_x86_32(-)]
+ >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)]
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ )
+ launcher? (
+ >=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
+ >=x11-libs/libXrender-0.9.8[abi_x86_32(-)]
+ >=x11-libs/libxcb-1.9.1[abi_x86_32(-)]
+ )
+ )
+ x86? (
+ x11-libs/libX11
+ !bundled-libs? (
+ media-gfx/nvidia-cg-toolkit
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ )
+ launcher? (
+ media-libs/freetype
+ x11-libs/libXext
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libxcb
+ )
+ )"
+
+S=${WORKDIR}
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " https://www.humblebundle.com/store"
+ einfo "and move it to ${DISTDIR}"
+}
+
+src_install() {
+ insinto "${MYGAMEDIR}"
+ doins HotlineMiami_GL.wad *.ogg
+
+ exeinto "${MYGAMEDIR}"
+ doexe Hotline
+ use launcher && doexe hotline_launcher
+
+ exeinto "${MYGAMEDIR}/lib"
+ use launcher && doexe lib/libQt5*
+ use bundled-libs && doexe libCg* libopenal*
+
+ games_make_wrapper ${PN} "./Hotline" "${MYGAMEDIR}" "${MYGAMEDIR}/lib"
+ make_desktop_entry ${PN}
+ if use launcher ; then
+ games_make_wrapper ${PN}-launcher "./hotline_launcher" "${MYGAMEDIR}" "${MYGAMEDIR}/lib"
+ make_desktop_entry ${PN}-launcher "${PN} (launcher)"
+ fi
+
+ prepgamesdirs
+}
diff --git a/games-action/hotline-miami/metadata.xml b/games-action/hotline-miami/metadata.xml
new file mode 100644
index 00000000000..83ea9430635
--- /dev/null
+++ b/games-action/hotline-miami/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>Use bundled libraries.</flag>
+ <flag name='launcher'>Install qt launcher</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-action/intrusion2/Manifest b/games-action/intrusion2/Manifest
new file mode 100644
index 00000000000..745607a5049
--- /dev/null
+++ b/games-action/intrusion2/Manifest
@@ -0,0 +1 @@
+DIST intrusion2-1370288626-bin 88713512 SHA256 03fd442816119c5c9e10112b5ac13ae43af3853f0a879dc8ec6f693541ad4841 SHA512 ce3fc5c9dc388cd777e978c54b6696d102870f8111122e646637e12cb336767c60ffa8864ffa634012868f2b9ca231598e89438f226ca4465d8c4e936d492b06 WHIRLPOOL bb75c60b07eb91bf8c0f3f47fb2d91403ea8b8376ed88c53e9cf57ca8c829f55a574e7355572cd4ace6ddcf3f0aae10a73f2d5f021c94893bde5b4fcc9c4243e
diff --git a/games-action/intrusion2/intrusion2-1.024.ebuild b/games-action/intrusion2/intrusion2-1.024.ebuild
new file mode 100644
index 00000000000..b22ca07bc1a
--- /dev/null
+++ b/games-action/intrusion2/intrusion2-1.024.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+USELESS_ID="1370288626"
+DESCRIPTION="Fast paced action sidescroller set in a sci-fi environment"
+HOMEPAGE="http://intrusion2.com"
+SRC_URI="intrusion2-${USELESS_ID}-bin"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+RESTRICT="bindist fetch"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/${PN}"
+
+RDEPEND="
+ amd64? (
+ >=dev-libs/glib-2.34.3:2[abi_x86_32(-)]
+ >=dev-libs/atk-2.10.0[abi_x86_32(-)]
+ >=x11-libs/gdk-pixbuf-2.30.7[abi_x86_32(-)]
+ >=x11-libs/gtk+-2.24.23:2[abi_x86_32(-)]
+ >=x11-libs/pango-1.36.3[abi_x86_32(-)]
+ >=media-libs/gst-plugins-base-0.10.36[abi_x86_32(-)]
+ >=media-libs/gstreamer-0.10.36-r2[abi_x86_32(-)]
+ >=media-libs/fontconfig-2.10.92[abi_x86_32(-)]
+ >=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
+ >=x11-libs/libSM-1.2.1-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)]
+ >=x11-libs/libXtst-1.2.1-r1[abi_x86_32(-)]
+ )
+ x86? (
+ dev-libs/glib:2
+ dev-libs/atk
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ x11-libs/pango
+ media-libs/gst-plugins-base
+ media-libs/gstreamer
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXtst
+ )"
+
+S=${WORKDIR}
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+ einfo
+}
+
+src_unpack() { :; }
+
+src_install() {
+ exeinto "${MYGAMEDIR}"
+ newexe "${DISTDIR}"/${SRC_URI} ${PN}
+
+ games_make_wrapper ${PN} "${MYGAMEDIR}/${PN}"
+ make_desktop_entry ${PN}
+
+ prepgamesdirs
+}
diff --git a/games-action/intrusion2/metadata.xml b/games-action/intrusion2/metadata.xml
new file mode 100644
index 00000000000..cad5a2aa177
--- /dev/null
+++ b/games-action/intrusion2/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/koth/Manifest b/games-action/koth/Manifest
new file mode 100644
index 00000000000..d5c50fe3a9c
--- /dev/null
+++ b/games-action/koth/Manifest
@@ -0,0 +1 @@
+DIST koth-0.8.0.tar.bz2 140569 SHA256 1f61e1c354ab2b425b33b1504fb181d8bf9e0b6e154c6d3a516b2f98f7c805d8 SHA512 edda377be9074298c63e85cad5f37f55dc67f0e9a7d075a94207559265ffbf8a5eadbd2dc0e4a06e535e6da9fcfd309d01141ba8be04cf8960b0229e0ce4ab9f WHIRLPOOL 0416e96f6e11fca4d567246184ab851dd4b225214c2982de4e966fb5d1274338956915571e2b53af1f1c0cd37b9a611fe468079550631f80f3b28de8f8c26870
diff --git a/games-action/koth/files/koth-0.8.0-gcc-3.4.patch b/games-action/koth/files/koth-0.8.0-gcc-3.4.patch
new file mode 100644
index 00000000000..4a858cbe03a
--- /dev/null
+++ b/games-action/koth/files/koth-0.8.0-gcc-3.4.patch
@@ -0,0 +1,29 @@
+--- relay.c.old 2004-11-01 09:19:04.835537536 +0000
++++ relay.c 2004-11-01 09:19:59.453234384 +0000
+@@ -260,6 +260,7 @@
+ else goto bail;
+ goto nextpkt;
+ bail:
++ ;
+ }
+ }
+ }
+--- ballistics.c.old 2004-11-01 09:19:33.132235784 +0000
++++ ballistics.c 2004-11-01 09:20:16.849589736 +0000
+@@ -92,6 +92,7 @@
+ break;
+ case WALL_LAST:
+ /* just to satisfy gcc -Wall */
++ ;
+ }
+ }
+
+@@ -210,7 +211,7 @@
+ break;
+ case WALL_RANDOM: /* both of this can't happen, */
+ case WALL_LAST: /* so they are here to satisfy gcc -Wall */
+-
++ ;
+ }
+ }
+ return FLYING;
diff --git a/games-action/koth/koth-0.8.0.ebuild b/games-action/koth/koth-0.8.0.ebuild
new file mode 100644
index 00000000000..a3a78b6d553
--- /dev/null
+++ b/games-action/koth/koth-0.8.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="Multiplayer, networked game of little tanks with really big weapons"
+HOMEPAGE="http://www.nongnu.org/koth/"
+SRC_URI="http://savannah.nongnu.org/download/${PN}/default.pkg/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 ppc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="media-libs/libggi"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i 's:-g -O2::' configure \
+ || die "sed configure failed"
+ cd src
+ epatch "${FILESDIR}"/${P}-gcc-3.4.patch
+ sed -i "s:/etc/koth:${GAMES_SYSCONFDIR}:" cfgfile.h \
+ || die "sed cfgfile.h failed"
+ sed -i 's:(uint16):(uint16_t):' gfx.c gfx.h \
+ || die "sed gfx.c gfx.h failed"
+}
+
+DOCS="AUTHORS ChangeLog NEWS README doc/*.txt"
+
+src_install() {
+ default
+ insinto "${GAMES_SYSCONFDIR}"
+ doins src/koth.cfg
+ prepgamesdirs
+}
diff --git a/games-action/koth/metadata.xml b/games-action/koth/metadata.xml
new file mode 100644
index 00000000000..fffb26d543b
--- /dev/null
+++ b/games-action/koth/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+King of the Hill (KOTH) is a multiplayer, networked artillery game of little tanks with really big weapons set out to destroy one another. Best-known games of this type include the classic DOS game "Scorched Earth: The Mother of All Games" and "Scorched Tanks" for the Amiga.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/lugaru-demo/Manifest b/games-action/lugaru-demo/Manifest
new file mode 100644
index 00000000000..fe704640c68
--- /dev/null
+++ b/games-action/lugaru-demo/Manifest
@@ -0,0 +1 @@
+DIST lugaru-linux-x86-1.0c.bin 35539193 SHA256 ad330c9f5496a1fc54fb3640723420a80dfee9da47a71ef7a34a38848c885ade SHA512 fda5287b3836f0f81f391b93aee991ac003bc6e4adbb4d064c05853fd3d348bb71d4e4d1f078dcf149b76e507b26f051205446d5d26e10159e83b59231e756f5 WHIRLPOOL 5a2b8422bd572ba88c47872f642c57d5469c5484172456a103e05e51421eef5e12f6173a6353c4bd816bb4e68b1a4c6a319d135b4e4068251bbf7c7a70b98107
diff --git a/games-action/lugaru-demo/lugaru-demo-1.0c.ebuild b/games-action/lugaru-demo/lugaru-demo-1.0c.ebuild
new file mode 100644
index 00000000000..83bf6185a32
--- /dev/null
+++ b/games-action/lugaru-demo/lugaru-demo-1.0c.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="3D arcade with unique fighting system and anthropomorphic characters"
+HOMEPAGE="http://www.wolfire.com/lugaru"
+SRC_URI="http://cdn.wolfire.com/games/lugaru/lugaru-linux-x86-${PV}.bin"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+RESTRICT="mirror bindist strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND="sys-libs/glibc
+ amd64? (
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ )
+ x86? (
+ x11-libs/libX11
+ x11-libs/libXext
+ )"
+
+QA_PREBUILT="${GAMES_PREFIX_OPT:1}"/${PN}/lugaru
+
+S=${WORKDIR}/data
+
+src_unpack() {
+ tail -c +194469 "${DISTDIR}"/${A} > ${A}.zip
+ unpack ./${A}.zip
+ rm -f ${A}.zip
+
+ # Duplicate file and can't be handled by portage, bug #14983
+ rm -f "${S}/Data/Textures/Quit.png "
+}
+
+src_install() {
+ local dir=${GAMES_PREFIX_OPT}/${PN}
+
+ insinto "${dir}"
+ doins -r Data
+
+ dodoc *.txt
+
+ exeinto "${dir}"
+ doexe lugaru
+ games_make_wrapper ${PN} ./lugaru "${dir}" "${dir}"
+
+ newicon lugaru.png ${PN}.png
+ make_desktop_entry ${PN} "Lugaru Demo" ${PN}
+
+ prepgamesdirs
+}
diff --git a/games-action/lugaru-demo/metadata.xml b/games-action/lugaru-demo/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/lugaru-demo/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/lugaru/Manifest b/games-action/lugaru/Manifest
new file mode 100644
index 00000000000..d4abb32e4f7
--- /dev/null
+++ b/games-action/lugaru/Manifest
@@ -0,0 +1 @@
+DIST lugaru-full-linux-x86-1.0c.bin 35539077 SHA256 fde77b630c15e94e7f9b28fead0baeb233901eb94dd0b8a898c27d3fcf22f040 SHA512 80bc94d2e3151972ac806d2ab381b10656aa7ed61e20a1cbe9f72be75532b39ef3dde67bd2f05328b8c675c4ea38d1b6ea606b06689abba708ef8ab53f595c19 WHIRLPOOL eed29393a37575cdc3ffeda6336b6de93185d825e6895f5a07bd92c02a900d1a14f9654f8fdbd36d4dd2994d70448a77df8d424cfbd8c11205139e582e5ac7d4
diff --git a/games-action/lugaru/lugaru-1.0c-r1.ebuild b/games-action/lugaru/lugaru-1.0c-r1.ebuild
new file mode 100644
index 00000000000..42f5ac60df8
--- /dev/null
+++ b/games-action/lugaru/lugaru-1.0c-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+DESCRIPTION="3D arcade with unique fighting system and anthropomorphic characters"
+HOMEPAGE="http://www.wolfire.com/lugaru"
+SRC_URI="${PN}-full-linux-x86-${PV}.bin"
+
+LICENSE="GPL-2 free-noncomm"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+RESTRICT="fetch strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND="sys-libs/glibc
+ amd64? (
+ media-libs/libsdl[abi_x86_32(-)]
+ media-libs/openal[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ )
+ x86? (
+ media-libs/libsdl
+ media-libs/openal
+ x11-libs/libX11
+ x11-libs/libXext
+ )"
+
+S=${WORKDIR}/data
+
+src_unpack() {
+ # self unpacking zip archive; unzip warns about the exe stuff
+ unpack_zip ${A}
+
+ # Duplicate file and can't be handled by portage, bug #14983
+ rm -f "${S}/Data/Textures/Quit.png " || die
+}
+
+src_install() {
+ local dir=${GAMES_PREFIX_OPT}/lugaru
+
+ insinto "${dir}"
+ doins -r Data
+
+ dodoc *.txt
+
+ exeinto "${dir}"
+ doexe ${PN}
+ games_make_wrapper ${PN} ./${PN} "${dir}" "${dir}"
+
+ doicon ${PN}.png
+ make_desktop_entry ${PN} Lugaru ${PN}
+
+ prepgamesdirs
+}
diff --git a/games-action/lugaru/metadata.xml b/games-action/lugaru/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/lugaru/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/luola/Manifest b/games-action/luola/Manifest
new file mode 100644
index 00000000000..eeca78bed5d
--- /dev/null
+++ b/games-action/luola/Manifest
@@ -0,0 +1,3 @@
+DIST luola-1.3.2.tar.gz 1774711 SHA256 3d0af35f379f9e058a0178f341100c1f9d28ced21d6c623a458661ca44cda337 SHA512 4e8b2f5e813dbb4d951632ded20f013aae6837d525d0068b430ae41319503f206ec27f2873cff241af8ba4cd1728ec89dcf8279a94dbb3094330de1ca531712f WHIRLPOOL 0de87e0ae1bd5075048ae5b5142143da82c430c5ed596fb46e2738f7e4d9f3b8e35fdd3e03a1c2b9b944a419f253877bf29c64c27c628caf32ca752cefeefa80
+DIST nostalgia-1.2.tar.gz 1475672 SHA256 675b51423cae1fcf2c4b0cb774e2130c8ce761b6cd91c1db59a6fca0ba18f202 SHA512 06a03b3398204c04f88fccbbf6a59f11da043c73dc203fe258e09e036364ee73cae337b9828bd27b52ebee6ff456c317143444c3b6c395addcdedf720988731f WHIRLPOOL f9bfff140085d2eaf4ff0e02844e7d3dbc7de20a5592324edbbcc1306de09b0955dfd731a3685361b97b8045dbf59e35ef54cc0b37db6670022ac63e1f9a3ecc
+DIST stdlevels-6.0.tar.gz 1850148 SHA256 70882a078de3e81793c31d1cfea11981dae4c1475c6f8a68c514e2461a64338b SHA512 d1823ca8340dea8766310962507bc5aad06c0f737c16c3ce32afaafc0e83a8b7b4d301d5cf65a0466fdaee9ec2a7ce718d03be61b383ac6fe030101466eff11a WHIRLPOOL fd2ec19f95a695ea1f2450063daff43b5d745d0b9cb788f6a722585706a8ec7be615d5bb3f369b7921c8a5471d559f55ba7e5aad3629aaec4d255cc95fe4d776
diff --git a/games-action/luola/files/luola-1.3.2-underlink.patch b/games-action/luola/files/luola-1.3.2-underlink.patch
new file mode 100644
index 00000000000..5bf998177be
--- /dev/null
+++ b/games-action/luola/files/luola-1.3.2-underlink.patch
@@ -0,0 +1,11 @@
+--- src/Makefile.am.old 2011-06-17 08:41:40.882481147 +0200
++++ src/Makefile.am 2011-06-17 08:41:58.497602372 +0200
+@@ -2,7 +2,7 @@
+
+ bin_PROGRAMS = luola
+
+-luola_LDADD = @SDL_LIBS@
++luola_LDADD = @SDL_LIBS@ -lm
+
+ luola_SOURCES = \
+ defines.h \
diff --git a/games-action/luola/luola-1.3.2.ebuild b/games-action/luola/luola-1.3.2.ebuild
new file mode 100644
index 00000000000..15a6a2ce588
--- /dev/null
+++ b/games-action/luola/luola-1.3.2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils autotools gnome2-utils games
+
+DESCRIPTION="A 2D multiplayer arcade game resembling V-Wing"
+HOMEPAGE="https://freecode.com/projects/luola"
+SRC_URI="mirror://gentoo/${P}.tar.gz
+ mirror://gentoo/stdlevels-6.0.tar.gz
+ mirror://gentoo/nostalgia-1.2.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[X,sound,joystick,video]
+ media-libs/sdl-gfx
+ media-libs/sdl-image[jpeg,png]
+ media-libs/sdl-mixer
+ media-libs/sdl-ttf"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-underlink.patch
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf --enable-sound
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ insinto "${GAMES_DATADIR}"/${PN}/levels
+ doins "${WORKDIR}"/*.{lev,png}
+ dodoc AUTHORS ChangeLog DATAFILE FAQ LEVELFILE README TODO \
+ RELEASENOTES.txt ../README.Nostalgia
+ newdoc ../README README.stdlevels
+ doicon -s 64 luola.png
+ make_desktop_entry luola Luola
+ 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-action/luola/metadata.xml b/games-action/luola/metadata.xml
new file mode 100644
index 00000000000..7833f208568
--- /dev/null
+++ b/games-action/luola/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="freecode">luola</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/maelstrom/Manifest b/games-action/maelstrom/Manifest
new file mode 100644
index 00000000000..06f2c6b0c30
--- /dev/null
+++ b/games-action/maelstrom/Manifest
@@ -0,0 +1 @@
+DIST Maelstrom-3.0.6.tar.gz 1007421 SHA256 bb6ca1952d1080e25f8716a2d08a4241614ee72d54f13c8a60eecadf7ea6198d SHA512 fecd2411f5d2109aa99e5a6c65702c74f9f79326fc9f074a53005238c846780f231776b9c170ceb54b0470894b856abaa4708c59afd912fa5b2868e6776893ca WHIRLPOOL 36e9266a246a9bd55923e81e89d6a59956d3f7c15d8231b2973c8b1c77280828b7508cbc1978ea069a7149a1b4e2ba2de2f8debd8da55c0c082f125039d60829
diff --git a/games-action/maelstrom/files/maelstrom-3.0.6-64bits.patch b/games-action/maelstrom/files/maelstrom-3.0.6-64bits.patch
new file mode 100644
index 00000000000..bdf04d3ad30
--- /dev/null
+++ b/games-action/maelstrom/files/maelstrom-3.0.6-64bits.patch
@@ -0,0 +1,15 @@
+--- screenlib/SDL_FrameBuf.cpp.old 2006-10-25 22:37:21.000000000 +0200
++++ screenlib/SDL_FrameBuf.cpp 2006-10-25 22:38:26.000000000 +0200
+@@ -847,10 +847,8 @@
+ /* Update the dirty rectangle map with the new list */
+ for ( i=0; i<dirtymaplen; ++i ) {
+ if ( dirtymap[i] != NULL ) {
+- dirtymap[i] = (SDL_Rect *)(
+- ((int)dirtymap[i]-(int)updatelist) +
+- (int)newlist
+- );
++ dirtymap[i] = newlist
++ + (dirtymap[i]-updatelist);
+ }
+ }
+ delete[] updatelist;
diff --git a/games-action/maelstrom/files/maelstrom-3.0.6-gcc34.patch b/games-action/maelstrom/files/maelstrom-3.0.6-gcc34.patch
new file mode 100644
index 00000000000..6ceb421f16b
--- /dev/null
+++ b/games-action/maelstrom/files/maelstrom-3.0.6-gcc34.patch
@@ -0,0 +1,30 @@
+diff -ur Maelstrom-3.0.6-orig/buttonlist.h Maelstrom-3.0.6/buttonlist.h
+--- Maelstrom-3.0.6-orig/buttonlist.h 2004-08-28 01:43:55.867378220 -0400
++++ Maelstrom-3.0.6/buttonlist.h 2004-08-28 01:44:23.700062593 -0400
+@@ -16,7 +16,7 @@
+
+ void Add_Button(Uint16 x, Uint16 y, Uint16 width, Uint16 height,
+ void (*callback)(void)) {
+- struct button *belem;
++ button *belem;
+
+ for ( belem=&button_list; belem->next; belem=belem->next );
+ belem->next = new button;
+@@ -30,7 +30,7 @@
+ }
+
+ void Activate_Button(Uint16 x, Uint16 y) {
+- struct button *belem;
++ button *belem;
+
+ for ( belem=button_list.next; belem; belem=belem->next ) {
+ if ( (x >= belem->x1) && (x <= belem->x2) &&
+@@ -42,7 +42,7 @@
+ }
+
+ void Delete_Buttons(void) {
+- struct button *belem, *btemp;
++ button *belem, *btemp;
+
+ for ( belem=button_list.next; belem; ) {
+ btemp = belem;
diff --git a/games-action/maelstrom/files/maelstrom-3.0.6-r1-security.patch b/games-action/maelstrom/files/maelstrom-3.0.6-r1-security.patch
new file mode 100644
index 00000000000..ae22c0cdd11
--- /dev/null
+++ b/games-action/maelstrom/files/maelstrom-3.0.6-r1-security.patch
@@ -0,0 +1,380 @@
+diff -ur Maelstrom-3.0.6-orig/controls.cpp Maelstrom-3.0.6/controls.cpp
+--- Maelstrom-3.0.6-orig/controls.cpp 2001-03-25 03:04:28 +0900
++++ Maelstrom-3.0.6/controls.cpp 2003-05-21 11:25:53 +0900
+@@ -83,7 +83,7 @@
+ if ( fname ) {
+ *fname = datafile;
+ }
+- sprintf(datafile, "%s"DIR_SEP"%s", home, MAELSTROM_DATA);
++ snprintf(datafile, sizeof(datafile), "%s"DIR_SEP"%s", home, MAELSTROM_DATA);
+ if ( (data=fopen(datafile, mode)) == NULL )
+ return(NULL);
+ return(data);
+diff -ur Maelstrom-3.0.6-orig/dialog.h Maelstrom-3.0.6/dialog.h
+--- Maelstrom-3.0.6-orig/dialog.h 2001-07-21 00:08:10 +0900
++++ Maelstrom-3.0.6/dialog.h 2003-05-21 11:24:33 +0900
+@@ -92,7 +92,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+@@ -878,7 +878,7 @@
+ if ( entry->text ) {
+ Fontserv->FreeText(entry->text);
+ }
+- sprintf(buf, "%d", *entry->variable);
++ snprintf(buf, sizeof(buf), "%d", *entry->variable);
+
+ if ( entry->hilite ) {
+ clear = Fg;
+diff -ur Maelstrom-3.0.6-orig/load.cpp Maelstrom-3.0.6/load.cpp
+--- Maelstrom-3.0.6-orig/load.cpp 2000-02-15 11:47:39 +0900
++++ Maelstrom-3.0.6/load.cpp 2003-05-21 11:26:18 +0900
+@@ -81,7 +81,7 @@
+ SDL_Surface *bmp, *title;
+
+ /* Open the title file -- we know its colormap is our global one */
+- sprintf(file, "Images"DIR_SEP"Maelstrom_Titles#%d.bmp", title_id);
++ snprintf(file, sizeof(file), "Images"DIR_SEP"Maelstrom_Titles#%d.bmp", title_id);
+ bmp = SDL_LoadBMP(path.Path(file));
+ if ( bmp == NULL ) {
+ return(NULL);
+@@ -103,7 +103,7 @@
+ Uint16 w, h;
+
+ /* Open the cicn sprite file.. */
+- sprintf(file, "Images"DIR_SEP"Maelstrom_Icon#%hd.cicn", cicn_id);
++ snprintf(file, sizeof(file), "Images"DIR_SEP"Maelstrom_Icon#%hd.cicn", cicn_id);
+ if ( (cicn_src=SDL_RWFromFile(path.Path(file), "r")) == NULL ) {
+ error("GetCIcon(%hd): Can't open CICN %s: ",
+ cicn_id, path.Path(file));
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_FontServ.h Maelstrom-3.0.6/maclib/Mac_FontServ.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_FontServ.h 1999-12-03 02:15:33 +0900
++++ Maelstrom-3.0.6/maclib/Mac_FontServ.h 2003-05-21 11:28:43 +0900
+@@ -135,7 +135,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_Resource.h Maelstrom-3.0.6/maclib/Mac_Resource.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_Resource.h 1999-12-04 03:01:47 +0900
++++ Maelstrom-3.0.6/maclib/Mac_Resource.h 2003-05-21 11:28:35 +0900
+@@ -96,7 +96,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_Sound.h Maelstrom-3.0.6/maclib/Mac_Sound.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_Sound.h 2002-10-20 11:53:34 +0900
++++ Maelstrom-3.0.6/maclib/Mac_Sound.h 2003-05-21 11:28:27 +0900
+@@ -199,7 +199,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_Wave.h Maelstrom-3.0.6/maclib/Mac_Wave.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_Wave.h 2000-01-26 01:44:10 +0900
++++ Maelstrom-3.0.6/maclib/Mac_Wave.h 2003-05-21 11:28:20 +0900
+@@ -108,7 +108,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/macres.cpp Maelstrom-3.0.6/maclib/macres.cpp
+--- Maelstrom-3.0.6-orig/maclib/macres.cpp 2000-01-26 01:44:20 +0900
++++ Maelstrom-3.0.6/maclib/macres.cpp 2003-05-21 11:30:01 +0900
+@@ -58,8 +58,8 @@
+ ids[j], res->ResourceName(types[i], ids[j]));
+ if ( argv[2] ) {
+ char path[23];
+- sprintf(path,"%s/%s:%hu", argv[2],
+- types[i], ids[j]);
++ snprintf(path, sizeof(path), "%s/%s:%hu",
++ argv[2], types[i], ids[j]);
+ FILE *output;
+ Mac_ResData *D;
+ if ( (output=fopen(path, "w")) != NULL ) {
+diff -ur Maelstrom-3.0.6-orig/maclib/snd2wav.cpp Maelstrom-3.0.6/maclib/snd2wav.cpp
+--- Maelstrom-3.0.6-orig/maclib/snd2wav.cpp 2001-03-28 12:54:50 +0900
++++ Maelstrom-3.0.6/maclib/snd2wav.cpp 2003-05-21 11:29:23 +0900
+@@ -82,7 +82,7 @@
+ continue;
+ }
+ wave.Load(snd, rate);
+- sprintf(wavname, "snd_%d.wav", ids[i]);
++ snprintf(wavname, sizeof(wavname), "snd_%d.wav", ids[i]);
+ wave.Save(wavname);
+ }
+ delete macx;
+diff -ur Maelstrom-3.0.6-orig/main.cpp Maelstrom-3.0.6/main.cpp
+--- Maelstrom-3.0.6-orig/main.cpp 2002-10-20 11:53:32 +0900
++++ Maelstrom-3.0.6/main.cpp 2003-05-21 11:27:02 +0900
+@@ -445,7 +445,7 @@
+ DrawText(xOff+309-7, yOff+240-6, text, geneva, STYLE_BOLD,
+ 0x00, 0x00, 0x00);
+ }
+- sprintf(text, "%d", gSoundLevel);
++ snprintf(text, sizeof(text), "%d", gSoundLevel);
+ DrawText(xOff+309-7, yOff+240-6, text, geneva, STYLE_BOLD,
+ 30000>>8, 30000>>8, 0xFF);
+ screen->Update();
+@@ -547,11 +547,11 @@
+ }
+ DrawText(xOff+5, botDiv+42+(index*18), hScores[index].name,
+ font, STYLE_BOLD, R, G, B);
+- sprintf(buffer, "%u", hScores[index].score);
++ snprintf(buffer, sizeof(buffer), "%u", hScores[index].score);
+ sw = fontserv->TextWidth(buffer, font, STYLE_BOLD);
+ DrawText(sRt-sw, botDiv+42+(index*18), buffer,
+ font, STYLE_BOLD, R, G, B);
+- sprintf(buffer, "%u", hScores[index].wave);
++ snprintf(buffer, sizeof(buffer), "%u", hScores[index].wave);
+ sw = fontserv->TextWidth(buffer, font, STYLE_BOLD);
+ DrawText(wRt-sw, botDiv+42+(index*18), buffer,
+ font, STYLE_BOLD, R, G, B);
+@@ -560,7 +560,7 @@
+
+ DrawText(xOff+5, botDiv+46+(10*18)+3, "Last Score: ",
+ bigfont, STYLE_NORM, 0xFF, 0xFF, 0xFF);
+- sprintf(buffer, "%d", GetScore());
++ snprintf(buffer, sizeof(buffer), "%d", GetScore());
+ sw = fontserv->TextWidth("Last Score: ", bigfont, STYLE_NORM);
+ DrawText(xOff+5+sw, botDiv+46+(index*18)+3, buffer,
+ bigfont, STYLE_NORM, 0xFF, 0xFF, 0xFF);
+diff -ur Maelstrom-3.0.6-orig/myerror.cpp Maelstrom-3.0.6/myerror.cpp
+--- Maelstrom-3.0.6-orig/myerror.cpp 1998-07-14 10:50:17 +0900
++++ Maelstrom-3.0.6/myerror.cpp 2003-05-21 11:23:33 +0900
+@@ -16,7 +16,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(mesg, fmt, ap);
++ vsnprintf(mesg, sizeof(mesg), fmt, ap);
+ fputs(mesg, stderr);
+ va_end(ap);
+ }
+@@ -27,7 +27,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(mesg, fmt, ap);
++ vsnprintf(mesg, sizeof(mesg), fmt, ap);
+ fputs(mesg, stdout);
+ va_end(ap);
+ }
+@@ -37,7 +37,7 @@
+ char buffer[BUFSIZ];
+
+ if ( *msg ) {
+- sprintf(buffer, "%s: %s\n", msg, strerror(errno));
++ snprintf(buffer, sizeof(buffer), "%s: %s\n", msg, strerror(errno));
+ error(buffer);
+ } else
+ error((char *)strerror(errno));
+diff -ur Maelstrom-3.0.6-orig/netlogic/game.cpp Maelstrom-3.0.6/netlogic/game.cpp
+--- Maelstrom-3.0.6-orig/netlogic/game.cpp 2001-07-23 11:24:03 +0900
++++ Maelstrom-3.0.6/netlogic/game.cpp 2003-05-21 11:33:19 +0900
+@@ -232,7 +232,7 @@
+
+ lastDisplayed = gDisplayed;
+ screen->FillRect(0, 0, SCREEN_WIDTH, 12, ourBlack);
+- sprintf(caption,
++ snprintf(caption, sizeof(caption),
+ "You are player %d --- displaying player %d",
+ gOurPlayer+1, gDisplayed+1);
+ DrawText(SPRITES_WIDTH, 11, caption, geneva,
+@@ -357,7 +357,7 @@
+ /* -- Erase old and draw new score */
+ screen->FillRect(45, gStatusLine+1,
+ score_width, text_height, ourBlack);
+- sprintf(numbuf, "%d", Score);
++ snprintf(numbuf, sizeof(numbuf), "%d", Score);
+ score_width = DrawText(45, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -380,7 +380,7 @@
+ if (lastWave != gWave) {
+ screen->FillRect(255, gStatusLine+1,
+ wave_width, text_height, ourBlack);
+- sprintf(numbuf, "%d", gWave);
++ snprintf(numbuf, sizeof(numbuf), "%d", gWave);
+ wave_width = DrawText(255, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -391,7 +391,7 @@
+ if (lastLives != Lives) {
+ screen->FillRect(319, gStatusLine+1,
+ lives_width, text_height, ourBlack);
+- sprintf(numbuf, "%-3.1d", Lives);
++ snprintf(numbuf, sizeof(numbuf), "%-3.1d", Lives);
+ lives_width = DrawText(319, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -402,7 +402,7 @@
+ if (lastBonus != Bonus) {
+ screen->FillRect(384, gStatusLine+1,
+ bonus_width, text_height, ourBlack);
+- sprintf(numbuf, "%-7.1d", Bonus);
++ snprintf(numbuf, sizeof(numbuf), "%-7.1d", Bonus);
+ bonus_width = DrawText(384, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -414,7 +414,7 @@
+ if (lastFrags != Frags) {
+ screen->FillRect(fragoff, gStatusLine+1,
+ frags_width, text_height, ourBlack);
+- sprintf(numbuf, "%-3.1d", Frags);
++ snprintf(numbuf, sizeof(numbuf), "%-3.1d", Frags);
+ frags_width = DrawText(fragoff, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -747,10 +747,11 @@
+ for ( i=0; i<gNumPlayers; ++i ) {
+ char buffer[BUFSIZ], num1[12], num2[12];
+
+- sprintf(num1, "%7.1d", final[i].Score);
+- sprintf(num2, "%3.1d", final[i].Frags);
+- sprintf(buffer, "Player %d: %-.7s Points, %-.3s Frags",
+- final[i].Player, num1, num2);
++ snprintf(num1, sizeof(num1), "%7.1d", final[i].Score);
++ snprintf(num2, sizeof(num2), "%3.1d", final[i].Frags);
++ snprintf(buffer, sizeof(buffer),
++ "Player %d: %-.7s Points, %-.3s Frags",
++ final[i].Player, num1, num2);
+ DrawText(160, 380+i*newyork_height, buffer,
+ newyork, STYLE_NORM, 30000>>8, 30000>>8, 0xFF);
+ }
+@@ -898,7 +899,7 @@
+
+
+ /* -- Draw the wave completed message */
+- sprintf(numbuf, "Wave %d completed.", gWave);
++ snprintf(numbuf, sizeof(numbuf), "Wave %d completed.", gWave);
+ sw = fontserv->TextWidth(numbuf, geneva, STYLE_BOLD);
+ x = (SCREEN_WIDTH - sw) / 2;
+ DrawText(x, 150, numbuf, geneva, STYLE_BOLD, 0xFF, 0xFF, 0x00);
+@@ -935,7 +936,7 @@
+ if (OurShip->GetBonusMult() != 1) {
+ SDL_Surface *sprite;
+
+- sprintf(numbuf, "%-5.1d", OurShip->GetBonus());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetBonus());
+ DrawText(x, 200, numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+ x += 75;
+@@ -951,10 +952,10 @@
+ Delay(SOUND_DELAY);
+ sound->PlaySound(gFunk, 5);
+
+- sprintf(numbuf, "%-5.1d", OurShip->GetBonus());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetBonus());
+ bonus_width = DrawText(x, 200, numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+- sprintf(numbuf, "%-5.1d", OurShip->GetScore());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetScore());
+ score_width = DrawText(xt, 220, numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+ screen->Update();
+@@ -997,12 +998,12 @@
+
+ screen->FillRect(x, 200-text_height+2,
+ bonus_width, text_height, ourBlack);
+- sprintf(numbuf, "%-5.1d", OurShip->GetBonus());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetBonus());
+ bonus_width = DrawText(x, 200, numbuf,
+ geneva, STYLE_BOLD, 0xFF, 0xFF, 0xFF);
+ screen->FillRect(xt, 220-text_height+2,
+ score_width, text_height, ourBlack);
+- sprintf(numbuf, "%-5.1d", OurShip->GetScore());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetScore());
+ score_width = DrawText(xt, 220, numbuf,
+ geneva, STYLE_BOLD, 0xFF, 0xFF, 0xFF);
+
+@@ -1015,7 +1016,7 @@
+ HandleEvents(10);
+
+ /* -- Draw the "next wave" message */
+- sprintf(numbuf, "Prepare for Wave %d...", gWave+1);
++ snprintf(numbuf, sizeof(numbuf), "Prepare for Wave %d...", gWave+1);
+ sw = fontserv->TextWidth(numbuf, geneva, STYLE_BOLD);
+ x = (SCREEN_WIDTH - sw)/2;
+ DrawText(x, 259, numbuf, geneva, STYLE_BOLD, 0xFF, 0xFF, 0x00);
+diff -ur Maelstrom-3.0.6-orig/netlogic/netplay.cpp Maelstrom-3.0.6/netlogic/netplay.cpp
+--- Maelstrom-3.0.6-orig/netlogic/netplay.cpp 2002-10-20 13:11:52 +0900
++++ Maelstrom-3.0.6/netlogic/netplay.cpp 2003-05-21 11:31:43 +0900
+@@ -670,7 +670,9 @@
+ strcpy(message, "Waiting for players:");
+ for ( i=0; i<gNumPlayers; ++i ) {
+ if ( ! acked[i] )
+- sprintf(&message[strlen(message)], " %d", i+1);
++ snprintf(&message[strlen(message)],
++ sizeof(message)-strlen(message),
++ " %d", i+1);
+ }
+ Message(message);
+
+@@ -725,7 +727,7 @@
+ /* Check the player... */
+ if ( (i != gOurPlayer) && (netbuf[1] == gOurPlayer) ) {
+ /* Print message, sleep 3 seconds absolutely */
+- sprintf(message,
++ snprintf(message, sizeof(message),
+ "Error: Another player (%d) thinks they are player 1!\r\n", i+1);
+ ErrorMessage(message);
+ /* Suck up retransmission packets */
+diff -ur Maelstrom-3.0.6-orig/netscore.cpp Maelstrom-3.0.6/netscore.cpp
+--- Maelstrom-3.0.6-orig/netscore.cpp 2001-07-23 12:25:17 +0900
++++ Maelstrom-3.0.6/netscore.cpp 2003-05-21 11:27:18 +0900
+@@ -59,7 +59,7 @@
+
+ /* Send the scores */
+ crc = get_checksum(key, KEY_LEN);
+- sprintf(netbuf, SCOREFMT, crc, high.name, high.score, high.wave);
++ snprintf(netbuf, sizeof(netbuf), SCOREFMT, crc, high.name, high.score, high.wave);
+ SDLNet_TCP_Send(remote, netbuf, strlen(netbuf));
+ n = SDLNet_TCP_Recv(remote, netbuf, 1024);
+ if ( n > 0 ) {
+diff -ur Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.cpp Maelstrom-3.0.6/screenlib/SDL_FrameBuf.cpp
+--- Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.cpp 2001-07-23 06:03:13 +0900
++++ Maelstrom-3.0.6/screenlib/SDL_FrameBuf.cpp 2003-05-21 11:31:01 +0900
+@@ -628,7 +628,7 @@
+
+ found = 0;
+ for ( which=0; !found; ++which ) {
+- sprintf(file, "%s%d.bmp", prefix, which);
++ snprintf(file, sizeof(file), "%s%d.bmp", prefix, which);
+ if ( ((fp=fopen(file, "r")) == NULL) &&
+ ((fp=fopen(file, "w")) != NULL) ) {
+ found = 1;
+diff -ur Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.h Maelstrom-3.0.6/screenlib/SDL_FrameBuf.h
+--- Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.h 2000-09-25 02:55:39 +0900
++++ Maelstrom-3.0.6/screenlib/SDL_FrameBuf.h 2003-05-21 11:27:41 +0900
+@@ -165,7 +165,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
diff --git a/games-action/maelstrom/files/maelstrom-3.0.6-security.patch b/games-action/maelstrom/files/maelstrom-3.0.6-security.patch
new file mode 100644
index 00000000000..ae22c0cdd11
--- /dev/null
+++ b/games-action/maelstrom/files/maelstrom-3.0.6-security.patch
@@ -0,0 +1,380 @@
+diff -ur Maelstrom-3.0.6-orig/controls.cpp Maelstrom-3.0.6/controls.cpp
+--- Maelstrom-3.0.6-orig/controls.cpp 2001-03-25 03:04:28 +0900
++++ Maelstrom-3.0.6/controls.cpp 2003-05-21 11:25:53 +0900
+@@ -83,7 +83,7 @@
+ if ( fname ) {
+ *fname = datafile;
+ }
+- sprintf(datafile, "%s"DIR_SEP"%s", home, MAELSTROM_DATA);
++ snprintf(datafile, sizeof(datafile), "%s"DIR_SEP"%s", home, MAELSTROM_DATA);
+ if ( (data=fopen(datafile, mode)) == NULL )
+ return(NULL);
+ return(data);
+diff -ur Maelstrom-3.0.6-orig/dialog.h Maelstrom-3.0.6/dialog.h
+--- Maelstrom-3.0.6-orig/dialog.h 2001-07-21 00:08:10 +0900
++++ Maelstrom-3.0.6/dialog.h 2003-05-21 11:24:33 +0900
+@@ -92,7 +92,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+@@ -878,7 +878,7 @@
+ if ( entry->text ) {
+ Fontserv->FreeText(entry->text);
+ }
+- sprintf(buf, "%d", *entry->variable);
++ snprintf(buf, sizeof(buf), "%d", *entry->variable);
+
+ if ( entry->hilite ) {
+ clear = Fg;
+diff -ur Maelstrom-3.0.6-orig/load.cpp Maelstrom-3.0.6/load.cpp
+--- Maelstrom-3.0.6-orig/load.cpp 2000-02-15 11:47:39 +0900
++++ Maelstrom-3.0.6/load.cpp 2003-05-21 11:26:18 +0900
+@@ -81,7 +81,7 @@
+ SDL_Surface *bmp, *title;
+
+ /* Open the title file -- we know its colormap is our global one */
+- sprintf(file, "Images"DIR_SEP"Maelstrom_Titles#%d.bmp", title_id);
++ snprintf(file, sizeof(file), "Images"DIR_SEP"Maelstrom_Titles#%d.bmp", title_id);
+ bmp = SDL_LoadBMP(path.Path(file));
+ if ( bmp == NULL ) {
+ return(NULL);
+@@ -103,7 +103,7 @@
+ Uint16 w, h;
+
+ /* Open the cicn sprite file.. */
+- sprintf(file, "Images"DIR_SEP"Maelstrom_Icon#%hd.cicn", cicn_id);
++ snprintf(file, sizeof(file), "Images"DIR_SEP"Maelstrom_Icon#%hd.cicn", cicn_id);
+ if ( (cicn_src=SDL_RWFromFile(path.Path(file), "r")) == NULL ) {
+ error("GetCIcon(%hd): Can't open CICN %s: ",
+ cicn_id, path.Path(file));
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_FontServ.h Maelstrom-3.0.6/maclib/Mac_FontServ.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_FontServ.h 1999-12-03 02:15:33 +0900
++++ Maelstrom-3.0.6/maclib/Mac_FontServ.h 2003-05-21 11:28:43 +0900
+@@ -135,7 +135,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_Resource.h Maelstrom-3.0.6/maclib/Mac_Resource.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_Resource.h 1999-12-04 03:01:47 +0900
++++ Maelstrom-3.0.6/maclib/Mac_Resource.h 2003-05-21 11:28:35 +0900
+@@ -96,7 +96,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_Sound.h Maelstrom-3.0.6/maclib/Mac_Sound.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_Sound.h 2002-10-20 11:53:34 +0900
++++ Maelstrom-3.0.6/maclib/Mac_Sound.h 2003-05-21 11:28:27 +0900
+@@ -199,7 +199,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/Mac_Wave.h Maelstrom-3.0.6/maclib/Mac_Wave.h
+--- Maelstrom-3.0.6-orig/maclib/Mac_Wave.h 2000-01-26 01:44:10 +0900
++++ Maelstrom-3.0.6/maclib/Mac_Wave.h 2003-05-21 11:28:20 +0900
+@@ -108,7 +108,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
+diff -ur Maelstrom-3.0.6-orig/maclib/macres.cpp Maelstrom-3.0.6/maclib/macres.cpp
+--- Maelstrom-3.0.6-orig/maclib/macres.cpp 2000-01-26 01:44:20 +0900
++++ Maelstrom-3.0.6/maclib/macres.cpp 2003-05-21 11:30:01 +0900
+@@ -58,8 +58,8 @@
+ ids[j], res->ResourceName(types[i], ids[j]));
+ if ( argv[2] ) {
+ char path[23];
+- sprintf(path,"%s/%s:%hu", argv[2],
+- types[i], ids[j]);
++ snprintf(path, sizeof(path), "%s/%s:%hu",
++ argv[2], types[i], ids[j]);
+ FILE *output;
+ Mac_ResData *D;
+ if ( (output=fopen(path, "w")) != NULL ) {
+diff -ur Maelstrom-3.0.6-orig/maclib/snd2wav.cpp Maelstrom-3.0.6/maclib/snd2wav.cpp
+--- Maelstrom-3.0.6-orig/maclib/snd2wav.cpp 2001-03-28 12:54:50 +0900
++++ Maelstrom-3.0.6/maclib/snd2wav.cpp 2003-05-21 11:29:23 +0900
+@@ -82,7 +82,7 @@
+ continue;
+ }
+ wave.Load(snd, rate);
+- sprintf(wavname, "snd_%d.wav", ids[i]);
++ snprintf(wavname, sizeof(wavname), "snd_%d.wav", ids[i]);
+ wave.Save(wavname);
+ }
+ delete macx;
+diff -ur Maelstrom-3.0.6-orig/main.cpp Maelstrom-3.0.6/main.cpp
+--- Maelstrom-3.0.6-orig/main.cpp 2002-10-20 11:53:32 +0900
++++ Maelstrom-3.0.6/main.cpp 2003-05-21 11:27:02 +0900
+@@ -445,7 +445,7 @@
+ DrawText(xOff+309-7, yOff+240-6, text, geneva, STYLE_BOLD,
+ 0x00, 0x00, 0x00);
+ }
+- sprintf(text, "%d", gSoundLevel);
++ snprintf(text, sizeof(text), "%d", gSoundLevel);
+ DrawText(xOff+309-7, yOff+240-6, text, geneva, STYLE_BOLD,
+ 30000>>8, 30000>>8, 0xFF);
+ screen->Update();
+@@ -547,11 +547,11 @@
+ }
+ DrawText(xOff+5, botDiv+42+(index*18), hScores[index].name,
+ font, STYLE_BOLD, R, G, B);
+- sprintf(buffer, "%u", hScores[index].score);
++ snprintf(buffer, sizeof(buffer), "%u", hScores[index].score);
+ sw = fontserv->TextWidth(buffer, font, STYLE_BOLD);
+ DrawText(sRt-sw, botDiv+42+(index*18), buffer,
+ font, STYLE_BOLD, R, G, B);
+- sprintf(buffer, "%u", hScores[index].wave);
++ snprintf(buffer, sizeof(buffer), "%u", hScores[index].wave);
+ sw = fontserv->TextWidth(buffer, font, STYLE_BOLD);
+ DrawText(wRt-sw, botDiv+42+(index*18), buffer,
+ font, STYLE_BOLD, R, G, B);
+@@ -560,7 +560,7 @@
+
+ DrawText(xOff+5, botDiv+46+(10*18)+3, "Last Score: ",
+ bigfont, STYLE_NORM, 0xFF, 0xFF, 0xFF);
+- sprintf(buffer, "%d", GetScore());
++ snprintf(buffer, sizeof(buffer), "%d", GetScore());
+ sw = fontserv->TextWidth("Last Score: ", bigfont, STYLE_NORM);
+ DrawText(xOff+5+sw, botDiv+46+(index*18)+3, buffer,
+ bigfont, STYLE_NORM, 0xFF, 0xFF, 0xFF);
+diff -ur Maelstrom-3.0.6-orig/myerror.cpp Maelstrom-3.0.6/myerror.cpp
+--- Maelstrom-3.0.6-orig/myerror.cpp 1998-07-14 10:50:17 +0900
++++ Maelstrom-3.0.6/myerror.cpp 2003-05-21 11:23:33 +0900
+@@ -16,7 +16,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(mesg, fmt, ap);
++ vsnprintf(mesg, sizeof(mesg), fmt, ap);
+ fputs(mesg, stderr);
+ va_end(ap);
+ }
+@@ -27,7 +27,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(mesg, fmt, ap);
++ vsnprintf(mesg, sizeof(mesg), fmt, ap);
+ fputs(mesg, stdout);
+ va_end(ap);
+ }
+@@ -37,7 +37,7 @@
+ char buffer[BUFSIZ];
+
+ if ( *msg ) {
+- sprintf(buffer, "%s: %s\n", msg, strerror(errno));
++ snprintf(buffer, sizeof(buffer), "%s: %s\n", msg, strerror(errno));
+ error(buffer);
+ } else
+ error((char *)strerror(errno));
+diff -ur Maelstrom-3.0.6-orig/netlogic/game.cpp Maelstrom-3.0.6/netlogic/game.cpp
+--- Maelstrom-3.0.6-orig/netlogic/game.cpp 2001-07-23 11:24:03 +0900
++++ Maelstrom-3.0.6/netlogic/game.cpp 2003-05-21 11:33:19 +0900
+@@ -232,7 +232,7 @@
+
+ lastDisplayed = gDisplayed;
+ screen->FillRect(0, 0, SCREEN_WIDTH, 12, ourBlack);
+- sprintf(caption,
++ snprintf(caption, sizeof(caption),
+ "You are player %d --- displaying player %d",
+ gOurPlayer+1, gDisplayed+1);
+ DrawText(SPRITES_WIDTH, 11, caption, geneva,
+@@ -357,7 +357,7 @@
+ /* -- Erase old and draw new score */
+ screen->FillRect(45, gStatusLine+1,
+ score_width, text_height, ourBlack);
+- sprintf(numbuf, "%d", Score);
++ snprintf(numbuf, sizeof(numbuf), "%d", Score);
+ score_width = DrawText(45, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -380,7 +380,7 @@
+ if (lastWave != gWave) {
+ screen->FillRect(255, gStatusLine+1,
+ wave_width, text_height, ourBlack);
+- sprintf(numbuf, "%d", gWave);
++ snprintf(numbuf, sizeof(numbuf), "%d", gWave);
+ wave_width = DrawText(255, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -391,7 +391,7 @@
+ if (lastLives != Lives) {
+ screen->FillRect(319, gStatusLine+1,
+ lives_width, text_height, ourBlack);
+- sprintf(numbuf, "%-3.1d", Lives);
++ snprintf(numbuf, sizeof(numbuf), "%-3.1d", Lives);
+ lives_width = DrawText(319, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -402,7 +402,7 @@
+ if (lastBonus != Bonus) {
+ screen->FillRect(384, gStatusLine+1,
+ bonus_width, text_height, ourBlack);
+- sprintf(numbuf, "%-7.1d", Bonus);
++ snprintf(numbuf, sizeof(numbuf), "%-7.1d", Bonus);
+ bonus_width = DrawText(384, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -414,7 +414,7 @@
+ if (lastFrags != Frags) {
+ screen->FillRect(fragoff, gStatusLine+1,
+ frags_width, text_height, ourBlack);
+- sprintf(numbuf, "%-3.1d", Frags);
++ snprintf(numbuf, sizeof(numbuf), "%-3.1d", Frags);
+ frags_width = DrawText(fragoff, gStatusLine+11,
+ numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+@@ -747,10 +747,11 @@
+ for ( i=0; i<gNumPlayers; ++i ) {
+ char buffer[BUFSIZ], num1[12], num2[12];
+
+- sprintf(num1, "%7.1d", final[i].Score);
+- sprintf(num2, "%3.1d", final[i].Frags);
+- sprintf(buffer, "Player %d: %-.7s Points, %-.3s Frags",
+- final[i].Player, num1, num2);
++ snprintf(num1, sizeof(num1), "%7.1d", final[i].Score);
++ snprintf(num2, sizeof(num2), "%3.1d", final[i].Frags);
++ snprintf(buffer, sizeof(buffer),
++ "Player %d: %-.7s Points, %-.3s Frags",
++ final[i].Player, num1, num2);
+ DrawText(160, 380+i*newyork_height, buffer,
+ newyork, STYLE_NORM, 30000>>8, 30000>>8, 0xFF);
+ }
+@@ -898,7 +899,7 @@
+
+
+ /* -- Draw the wave completed message */
+- sprintf(numbuf, "Wave %d completed.", gWave);
++ snprintf(numbuf, sizeof(numbuf), "Wave %d completed.", gWave);
+ sw = fontserv->TextWidth(numbuf, geneva, STYLE_BOLD);
+ x = (SCREEN_WIDTH - sw) / 2;
+ DrawText(x, 150, numbuf, geneva, STYLE_BOLD, 0xFF, 0xFF, 0x00);
+@@ -935,7 +936,7 @@
+ if (OurShip->GetBonusMult() != 1) {
+ SDL_Surface *sprite;
+
+- sprintf(numbuf, "%-5.1d", OurShip->GetBonus());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetBonus());
+ DrawText(x, 200, numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+ x += 75;
+@@ -951,10 +952,10 @@
+ Delay(SOUND_DELAY);
+ sound->PlaySound(gFunk, 5);
+
+- sprintf(numbuf, "%-5.1d", OurShip->GetBonus());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetBonus());
+ bonus_width = DrawText(x, 200, numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+- sprintf(numbuf, "%-5.1d", OurShip->GetScore());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetScore());
+ score_width = DrawText(xt, 220, numbuf, geneva, STYLE_BOLD,
+ 0xFF, 0xFF, 0xFF);
+ screen->Update();
+@@ -997,12 +998,12 @@
+
+ screen->FillRect(x, 200-text_height+2,
+ bonus_width, text_height, ourBlack);
+- sprintf(numbuf, "%-5.1d", OurShip->GetBonus());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetBonus());
+ bonus_width = DrawText(x, 200, numbuf,
+ geneva, STYLE_BOLD, 0xFF, 0xFF, 0xFF);
+ screen->FillRect(xt, 220-text_height+2,
+ score_width, text_height, ourBlack);
+- sprintf(numbuf, "%-5.1d", OurShip->GetScore());
++ snprintf(numbuf, sizeof(numbuf), "%-5.1d", OurShip->GetScore());
+ score_width = DrawText(xt, 220, numbuf,
+ geneva, STYLE_BOLD, 0xFF, 0xFF, 0xFF);
+
+@@ -1015,7 +1016,7 @@
+ HandleEvents(10);
+
+ /* -- Draw the "next wave" message */
+- sprintf(numbuf, "Prepare for Wave %d...", gWave+1);
++ snprintf(numbuf, sizeof(numbuf), "Prepare for Wave %d...", gWave+1);
+ sw = fontserv->TextWidth(numbuf, geneva, STYLE_BOLD);
+ x = (SCREEN_WIDTH - sw)/2;
+ DrawText(x, 259, numbuf, geneva, STYLE_BOLD, 0xFF, 0xFF, 0x00);
+diff -ur Maelstrom-3.0.6-orig/netlogic/netplay.cpp Maelstrom-3.0.6/netlogic/netplay.cpp
+--- Maelstrom-3.0.6-orig/netlogic/netplay.cpp 2002-10-20 13:11:52 +0900
++++ Maelstrom-3.0.6/netlogic/netplay.cpp 2003-05-21 11:31:43 +0900
+@@ -670,7 +670,9 @@
+ strcpy(message, "Waiting for players:");
+ for ( i=0; i<gNumPlayers; ++i ) {
+ if ( ! acked[i] )
+- sprintf(&message[strlen(message)], " %d", i+1);
++ snprintf(&message[strlen(message)],
++ sizeof(message)-strlen(message),
++ " %d", i+1);
+ }
+ Message(message);
+
+@@ -725,7 +727,7 @@
+ /* Check the player... */
+ if ( (i != gOurPlayer) && (netbuf[1] == gOurPlayer) ) {
+ /* Print message, sleep 3 seconds absolutely */
+- sprintf(message,
++ snprintf(message, sizeof(message),
+ "Error: Another player (%d) thinks they are player 1!\r\n", i+1);
+ ErrorMessage(message);
+ /* Suck up retransmission packets */
+diff -ur Maelstrom-3.0.6-orig/netscore.cpp Maelstrom-3.0.6/netscore.cpp
+--- Maelstrom-3.0.6-orig/netscore.cpp 2001-07-23 12:25:17 +0900
++++ Maelstrom-3.0.6/netscore.cpp 2003-05-21 11:27:18 +0900
+@@ -59,7 +59,7 @@
+
+ /* Send the scores */
+ crc = get_checksum(key, KEY_LEN);
+- sprintf(netbuf, SCOREFMT, crc, high.name, high.score, high.wave);
++ snprintf(netbuf, sizeof(netbuf), SCOREFMT, crc, high.name, high.score, high.wave);
+ SDLNet_TCP_Send(remote, netbuf, strlen(netbuf));
+ n = SDLNet_TCP_Recv(remote, netbuf, 1024);
+ if ( n > 0 ) {
+diff -ur Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.cpp Maelstrom-3.0.6/screenlib/SDL_FrameBuf.cpp
+--- Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.cpp 2001-07-23 06:03:13 +0900
++++ Maelstrom-3.0.6/screenlib/SDL_FrameBuf.cpp 2003-05-21 11:31:01 +0900
+@@ -628,7 +628,7 @@
+
+ found = 0;
+ for ( which=0; !found; ++which ) {
+- sprintf(file, "%s%d.bmp", prefix, which);
++ snprintf(file, sizeof(file), "%s%d.bmp", prefix, which);
+ if ( ((fp=fopen(file, "r")) == NULL) &&
+ ((fp=fopen(file, "w")) != NULL) ) {
+ found = 1;
+diff -ur Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.h Maelstrom-3.0.6/screenlib/SDL_FrameBuf.h
+--- Maelstrom-3.0.6-orig/screenlib/SDL_FrameBuf.h 2000-09-25 02:55:39 +0900
++++ Maelstrom-3.0.6/screenlib/SDL_FrameBuf.h 2003-05-21 11:27:41 +0900
+@@ -165,7 +165,7 @@
+ va_list ap;
+
+ va_start(ap, fmt);
+- vsprintf(errbuf, fmt, ap);
++ vsnprintf(errbuf, sizeof(errbuf), fmt, ap);
+ va_end(ap);
+ errstr = errbuf;
+ }
diff --git a/games-action/maelstrom/files/maelstrom-3.0.6-warnings.patch b/games-action/maelstrom/files/maelstrom-3.0.6-warnings.patch
new file mode 100644
index 00000000000..aa374b096c3
--- /dev/null
+++ b/games-action/maelstrom/files/maelstrom-3.0.6-warnings.patch
@@ -0,0 +1,20 @@
+--- Maelstrom-netd.c.orig 2014-03-18 01:00:28.408099526 -0400
++++ Maelstrom-netd.c 2014-03-18 01:01:29.892142782 -0400
+@@ -1,7 +1,9 @@
+
+ /* Here we go... */
+
++#include <stdlib.h>
+ #include <stdio.h>
++#include <time.h>
+ #include <string.h>
+ #include <signal.h>
+ #include <errno.h>
+@@ -9,6 +11,7 @@
+ #include <sys/time.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
++#include <arpa/inet.h>
+ #include <netdb.h>
+ #include <unistd.h>
+
diff --git a/games-action/maelstrom/files/maelstrom-gcc34.patch b/games-action/maelstrom/files/maelstrom-gcc34.patch
new file mode 100644
index 00000000000..6ceb421f16b
--- /dev/null
+++ b/games-action/maelstrom/files/maelstrom-gcc34.patch
@@ -0,0 +1,30 @@
+diff -ur Maelstrom-3.0.6-orig/buttonlist.h Maelstrom-3.0.6/buttonlist.h
+--- Maelstrom-3.0.6-orig/buttonlist.h 2004-08-28 01:43:55.867378220 -0400
++++ Maelstrom-3.0.6/buttonlist.h 2004-08-28 01:44:23.700062593 -0400
+@@ -16,7 +16,7 @@
+
+ void Add_Button(Uint16 x, Uint16 y, Uint16 width, Uint16 height,
+ void (*callback)(void)) {
+- struct button *belem;
++ button *belem;
+
+ for ( belem=&button_list; belem->next; belem=belem->next );
+ belem->next = new button;
+@@ -30,7 +30,7 @@
+ }
+
+ void Activate_Button(Uint16 x, Uint16 y) {
+- struct button *belem;
++ button *belem;
+
+ for ( belem=button_list.next; belem; belem=belem->next ) {
+ if ( (x >= belem->x1) && (x <= belem->x2) &&
+@@ -42,7 +42,7 @@
+ }
+
+ void Delete_Buttons(void) {
+- struct button *belem, *btemp;
++ button *belem, *btemp;
+
+ for ( belem=button_list.next; belem; ) {
+ btemp = belem;
diff --git a/games-action/maelstrom/maelstrom-3.0.6-r2.ebuild b/games-action/maelstrom/maelstrom-3.0.6-r2.ebuild
new file mode 100644
index 00000000000..32a05bce9e2
--- /dev/null
+++ b/games-action/maelstrom/maelstrom-3.0.6-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils games
+
+MY_P=Maelstrom-${PV}
+DESCRIPTION="An asteroids battle game"
+HOMEPAGE="http://www.libsdl.org/projects/Maelstrom/"
+SRC_URI="http://www.libsdl.org/projects/Maelstrom/src/${MY_P}.tar.gz"
+
+KEYWORDS="~alpha amd64 ppc x86"
+SLOT="0"
+LICENSE="GPL-2"
+IUSE=""
+
+DEPEND="media-libs/libsdl[sound,joystick,video]
+ media-libs/sdl-net"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-security.patch \
+ "${FILESDIR}"/${P}-64bits.patch \
+ "${FILESDIR}"/${P}-gcc34.patch \
+ "${FILESDIR}"/${P}-warnings.patch
+
+ # Install the data into $(datadir)/..., not $(prefix)/games/...
+ sed -i \
+ -e "s:(prefix)/games/:(datadir)/:" configure.in || die
+ sed -i \
+ -e '/make install_gamedata/ { s:=:=$(DESTDIR)/:; s/make/$(MAKE)/; s/install_gamedata/install-binPROGRAMS install_gamedata/; }' Makefile.am || die
+ # Install the high scores file in ${GAMES_STATEDIR}
+ sed -i \
+ -e "s:path.Path(MAELSTROM_SCORES):\"${GAMES_STATEDIR}/\"MAELSTROM_SCORES:" scores.cpp || die
+ mv configure.{in,ac}
+ rm aclocal.m4 acinclude.m4
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc Changelog README* Docs/{Maelstrom-Announce,*FAQ,MaelstromGPL_press_release,*.Paper,Technical_Notes*}
+ newicon "${D}${GAMES_DATADIR}"/Maelstrom/icon.xpm maelstrom.xpm
+ make_desktop_entry Maelstrom "Maelstrom" maelstrom
+
+ # Put the high scores file in the right place
+ insinto "${GAMES_STATEDIR}"
+ doins "${D}${GAMES_DATADIR}"/Maelstrom/Maelstrom-Scores
+ # clean up some cruft
+ rm -f \
+ "${D}${GAMES_DATADIR}"/Maelstrom/Maelstrom-Scores \
+ "${D}${GAMES_DATADIR}"/Maelstrom/Images/Makefile*
+ # make sure we can update the high scores
+ fperms 664 "${GAMES_STATEDIR}"/Maelstrom-Scores
+ prepgamesdirs
+}
diff --git a/games-action/maelstrom/metadata.xml b/games-action/maelstrom/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/maelstrom/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/metadata.xml b/games-action/metadata.xml
new file mode 100644
index 00000000000..dd0a884f010
--- /dev/null
+++ b/games-action/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-action category contains action games.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie games-action enthält Actionspiele.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría games-action contiene juegos de acción.
+ </longdescription>
+ <longdescription lang="ja">
+ games-actionカテゴリーにはアクション・ゲームが含まれています。
+ </longdescription>
+ <longdescription lang="nl">
+ De games-action categorie bevat actiespellen.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm games-action chứa các trò chơi thuộc thể loại hành động.
+ </longdescription>
+ <longdescription lang="sk">
+ Kategória games-action obsahuje akčné hry.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria games-action contiene giochi d'azione.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria games-action contém jogos de ação.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria games-action zawiera gry akcji.
+ </longdescription>
+</catmetadata>
+
diff --git a/games-action/minetest/Manifest b/games-action/minetest/Manifest
new file mode 100644
index 00000000000..e05f300fa62
--- /dev/null
+++ b/games-action/minetest/Manifest
@@ -0,0 +1 @@
+DIST minetest-0.4.10.tar.gz 5291236 SHA256 05d15c8e2c8e53ee9d3006e79c2b59200311a7b879220d8b6f6a6fd2acf806b6 SHA512 0d2f2590df530df9bed11a08a3e67dfa39dae1987b8c1f6a4f4f2ace2c40dea3b5afce445e3b2e17b2bd8a426bdd53d717989018f5da531b1eb10965d953c3bf WHIRLPOOL 016c2bc6f9aed44943f238491c445f48013f76a74f9c09e56c1e70e03fa3ded72b042b9dffa0bed81a9dcdc84358a9be88bbf32119dd45a1e2a9873031be1009
diff --git a/games-action/minetest/files/minetest-0.4.10-as-needed.patch b/games-action/minetest/files/minetest-0.4.10-as-needed.patch
new file mode 100644
index 00000000000..83d1ca7b0b9
--- /dev/null
+++ b/games-action/minetest/files/minetest-0.4.10-as-needed.patch
@@ -0,0 +1,35 @@
+commit a88bfd5b77fa0b5c60e438c0011dbdcee5e14dfd
+Author: hasufell <hasufell@gentoo.org>
+Date: Mon Nov 25 00:28:55 2013 +0100
+
+ CMAKE: fix linking order
+
+ this also fixes linking with as-needed wrt
+ https://github.com/minetest/minetest/issues/617
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a1fee7a..a72bd4a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -427,18 +427,18 @@ if(BUILD_CLIENT)
+ set(minetest_LIBS
+ ${PROJECT_NAME}
+ ${ZLIB_LIBRARIES}
+- ${IRRLICHT_LIBRARY}
++ ${X11_LIBRARIES}
+ ${OPENGL_LIBRARIES}
++ ${OPENGLES2_LIBRARIES}
+ ${JPEG_LIBRARIES}
+ ${BZIP2_LIBRARIES}
+ ${PNG_LIBRARIES}
+- ${X11_LIBRARIES}
++ ${IRRLICHT_LIBRARY}
+ ${GETTEXT_LIBRARY}
+ ${SOUND_LIBRARIES}
+ ${SQLITE3_LIBRARY}
+ ${LUA_LIBRARY}
+ ${JSON_LIBRARY}
+- ${OPENGLES2_LIBRARIES}
+ ${PLATFORM_LIBS}
+ ${CLIENT_PLATFORM_LIBS}
+ )
diff --git a/games-action/minetest/files/minetest-0.4.10-shared-irrlicht.patch b/games-action/minetest/files/minetest-0.4.10-shared-irrlicht.patch
new file mode 100644
index 00000000000..b552c093703
--- /dev/null
+++ b/games-action/minetest/files/minetest-0.4.10-shared-irrlicht.patch
@@ -0,0 +1,23 @@
+commit 11d35e62fe13b47c5b34139559e650dfe6ebbd84
+Author: hasufell <julian.ospald@googlemail.com>
+Date: Sat Jun 8 13:40:30 2013 +0200
+
+ CMAKE: use shared lib from Irrlicht
+
+diff --git a/cmake/Modules/FindIrrlicht.cmake b/cmake/Modules/FindIrrlicht.cmake
+index bd00422..4632993 100644
+--- a/cmake/Modules/FindIrrlicht.cmake
++++ b/cmake/Modules/FindIrrlicht.cmake
+@@ -50,10 +50,11 @@ else()
+ /usr/include/irrlicht
+ )
+
+- FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.a Irrlicht
++ FIND_LIBRARY(IRRLICHT_LIBRARY NAMES libIrrlicht.so Irrlicht
+ PATHS
+ /usr/local/lib
+ /usr/lib
++ /usr/lib64
+ )
+ endif()
+
diff --git a/games-action/minetest/files/minetest-0.4.10-system-lua.patch b/games-action/minetest/files/minetest-0.4.10-system-lua.patch
new file mode 100644
index 00000000000..c31c8514ea2
--- /dev/null
+++ b/games-action/minetest/files/minetest-0.4.10-system-lua.patch
@@ -0,0 +1,37 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -215,8 +215,6 @@
+ message (STATUS "LuaJIT headers: ${LUA_INCLUDE_DIR}")
+ else (NOT ${DISABLE_LUAJIT} MATCHES "1")
+ message (STATUS "LuaJIT detection disabled! (DISABLE_LUAJIT=1)")
+- set(LUA_LIBRARY "")
+- set(LUA_INCLUDE_DIR "")
+ endif (NOT DISABLE_LUAJIT)
+
+ set(USE_LUAJIT 0)
+@@ -267,11 +265,22 @@
+ endif (VALID_LUAJIT_VERSION)
+ endif (LUA_LIBRARY AND LUA_INCLUDE_DIR)
+
++OPTION(WITH_BUNDLED_LUA "Use bundled lua")
++
+ if(NOT USE_LUAJIT)
+ message (STATUS "LuaJIT not found, using bundled Lua.")
+- set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src")
+- set(LUA_LIBRARY "lua")
+- add_subdirectory(lua)
++ if (WITH_BUNDLED_LUA)
++ set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src")
++ set(LUA_LIBRARY "lua")
++ add_subdirectory(lua)
++ else (WITH_BUNDLED_LUA)
++ find_package(Lua51)
++ if(LUA51_FOUND)
++ message (STATUS "Lua51 found")
++ else(LUA51_FOUND)
++ message (FATAL_ERROR "Lua51 not found!")
++ endif(LUA51_FOUND)
++ endif(WITH_BUNDLED_LUA)
+ endif(NOT USE_LUAJIT)
+
+ mark_as_advanced(LUA_LIBRARY)
diff --git a/games-action/minetest/files/minetestserver.confd b/games-action/minetest/files/minetestserver.confd
new file mode 100644
index 00000000000..ec3d0138cb7
--- /dev/null
+++ b/games-action/minetest/files/minetestserver.confd
@@ -0,0 +1,16 @@
+# /etc/conf.d/minetest-server: config file for /etc/init.d/minetest-server
+
+# user
+USER="minetest"
+
+# group
+GROUP="@GROUP@"
+
+# pidfile
+PIDFILE="/var/run/minetest.pid"
+
+# executable
+MINETESTBIN="@BINDIR@/minetestserver"
+
+# additional arguments for the server
+ARGS="--logfile /var/lib/minetest/minetest-server.log"
diff --git a/games-action/minetest/files/minetestserver.initd b/games-action/minetest/files/minetestserver.initd
new file mode 100644
index 00000000000..88bfba9edd3
--- /dev/null
+++ b/games-action/minetest/files/minetestserver.initd
@@ -0,0 +1,36 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="Minetest dedicated server"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "starting server"
+ start-stop-daemon \
+ --start \
+ --quiet \
+ --make-pidfile \
+ --pidfile "${PIDFILE}" \
+ --background \
+ --user ${USER} \
+ --group ${GROUP} \
+ --exec "${MINETESTBIN}" -- ${ARGS}
+
+ eend $?
+}
+
+stop() {
+ ebegin "stopping server"
+ start-stop-daemon \
+ --stop \
+ --signal 15 \
+ --quiet \
+ --pidfile "${PIDFILE}"
+
+ eend $?
+}
diff --git a/games-action/minetest/metadata.xml b/games-action/minetest/metadata.xml
new file mode 100644
index 00000000000..e8a8611674d
--- /dev/null
+++ b/games-action/minetest/metadata.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>maddin081591@gmail.com</email>
+ <name>Martin-Kevin Neumann</name>
+ <description>Proxy maintainer, CC him on bugs</description>
+ </maintainer>
+ <longdescription lang="en">
+ Minetest is an infinite-world block sandbox game and a game
+ engine, inspired by InfiniMiner, Minecraft and the like. It has
+ been in development and use since October 2010.
+
+ It is Free and Open Source Software, released under the LGPL 2.1
+ or later, available for Windows, Mac OS X and Linux.
+
+ Minetest is developed by a random bunch of lunatics.
+
+ Minetest is designed to be simple, stable and portable. It is
+ lightweight enough to run on fairly old hardware. It currently
+ runs playably on a laptop with Intel 945GM graphics. Though, as
+ for the CPU, dualcore is recommended.
+
+ Features
+ * Walk around, dig and build in an infinite voxel world,
+ and craft stuff from raw materials to help you along the way.
+ * Simplistic Modding API that supports many kinds of additions
+ and modifications to the game.
+ * Multiplayer support for tens of players, via servers hosted by
+ users.
+ * Voxel based lighting with gameplay consequences
+ (light caves and buildings with torches)
+ * Almost infinite world and a beautiful map generator.
+ * Runs natively on Windows, Linux, OS X and FreeBSD.
+ * Supports multiple languages, translated by the community.
+ </longdescription>
+ <use>
+ <flag name="leveldb">Enable LevelDB backend</flag>
+ <flag name="luajit">
+ Use <pkg>dev-lang/luajit</pkg>
+ instead of <pkg>dev-lang/lua</pkg>
+ </flag>
+ <flag name="redis">Enable redis backend via
+ <pkg>dev-libs/hiredis</pkg>
+ </flag>
+ <flag name="server">Build minetest server</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://github.com/minetest/minetest/issues</bugs-to>
+ <doc lang="en">http://wiki.minetest.net/Main_Page</doc>
+ <remote-id type="github">minetest/minetest</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/minetest/minetest-0.4.10-r1.ebuild b/games-action/minetest/minetest-0.4.10-r1.ebuild
new file mode 100644
index 00000000000..4063a7b5762
--- /dev/null
+++ b/games-action/minetest/minetest-0.4.10-r1.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils gnome2-utils vcs-snapshot user games
+
+DESCRIPTION="An InfiniMiner/Minecraft inspired game"
+HOMEPAGE="http://minetest.net/"
+SRC_URI="http://github.com/minetest/minetest/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+curl dedicated leveldb luajit nls redis +server +sound +truetype"
+
+RDEPEND="dev-db/sqlite:3
+ sys-libs/zlib
+ curl? ( net-misc/curl )
+ !dedicated? (
+ app-arch/bzip2
+ >=dev-games/irrlicht-1.8-r2
+ media-libs/libpng:0
+ virtual/jpeg
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ sound? (
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ )
+ truetype? ( media-libs/freetype:2 )
+ )
+ leveldb? ( dev-libs/leveldb )
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( >=dev-lang/lua-5.1.4[deprecated] )
+ nls? ( virtual/libintl )
+ redis? ( dev-libs/hiredis )"
+DEPEND="${RDEPEND}
+ >=dev-games/irrlicht-1.8-r2
+ nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+ games_pkg_setup
+
+ if use server || use dedicated ; then
+ enewuser ${PN} -1 -1 /var/lib/${PN} ${GAMES_GROUP}
+ fi
+}
+
+src_unpack() {
+ vcs-snapshot_src_unpack
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-shared-irrlicht.patch \
+ "${FILESDIR}"/${P}-as-needed.patch \
+ "${FILESDIR}"/${P}-system-lua.patch
+
+ # correct gettext behavior
+ if [[ -n "${LINGUAS+x}" ]] ; then
+ for i in $(cd po ; echo *) ; do
+ if ! has ${i} ${LINGUAS} ; then
+ rm -r po/${i} || die
+ fi
+ done
+ fi
+
+ # jthread is modified
+ # json is modified
+ rm -r src/{lua,sqlite} || die
+
+ # set paths
+ sed \
+ -e "s#@BINDIR@#${GAMES_BINDIR}#g" \
+ -e "s#@GROUP@#${GAMES_GROUP}#g" \
+ "${FILESDIR}"/minetestserver.confd > "${T}"/minetestserver.confd || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(usex dedicated "-DBUILD_SERVER=ON -DBUILD_CLIENT=OFF" "$(cmake-utils_use_build server SERVER) -DBUILD_CLIENT=ON")
+ -DCUSTOM_BINDIR="${GAMES_BINDIR}"
+ -DCUSTOM_DOCDIR="/usr/share/doc/${PF}"
+ -DCUSTOM_LOCALEDIR="/usr/share/locale"
+ -DCUSTOM_SHAREDIR="${GAMES_DATADIR}/${PN}"
+ $(cmake-utils_use_enable curl CURL)
+ $(cmake-utils_use_enable truetype FREETYPE)
+ $(cmake-utils_use_enable nls GETTEXT)
+ -DENABLE_GLES=0
+ $(cmake-utils_use_enable leveldb LEVELDB)
+ $(cmake-utils_use_enable redis REDIS)
+ $(cmake-utils_use_enable sound SOUND)
+ $(cmake-utils_use !luajit DISABLE_LUAJIT)
+ -DRUN_IN_PLACE=0
+ -DWITH_BUNDLED_LUA=0
+ $(use dedicated && {
+ echo "-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source"
+ echo "-DIRRLICHT_INCLUDE_DIR=/usr/include/irrlicht"
+ })
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use server || use dedicated ; then
+ newinitd "${FILESDIR}"/minetestserver.initd minetest-server
+ newconfd "${T}"/minetestserver.confd minetest-server
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ if ! use dedicated ; then
+ elog
+ elog "optional dependencies:"
+ elog " games-action/minetest_game (official mod)"
+ elog
+ fi
+
+ if use server || use dedicated ; then
+ elog
+ elog "Configure your server via /etc/conf.d/minetest-server"
+ elog "The user \"minetest\" is created with /var/lib/${PN} homedir."
+ elog "Default logfile is ~/minetest-server.log"
+ elog
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-action/minetest/minetest-0.4.10-r2.ebuild b/games-action/minetest/minetest-0.4.10-r2.ebuild
new file mode 100644
index 00000000000..9e15dd4c6ea
--- /dev/null
+++ b/games-action/minetest/minetest-0.4.10-r2.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils gnome2-utils vcs-snapshot user games
+
+DESCRIPTION="An InfiniMiner/Minecraft inspired game"
+HOMEPAGE="http://minetest.net/"
+SRC_URI="http://github.com/minetest/minetest/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+ CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+curl dedicated leveldb luajit nls redis +server +sound +truetype"
+
+RDEPEND="dev-db/sqlite:3
+ sys-libs/zlib
+ curl? ( net-misc/curl )
+ !dedicated? (
+ app-arch/bzip2
+ >=dev-games/irrlicht-1.8-r2
+ media-libs/libpng:0
+ virtual/jpeg
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ sound? (
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ )
+ truetype? ( media-libs/freetype:2 )
+ )
+ leveldb? ( dev-libs/leveldb )
+ luajit? ( dev-lang/luajit:2 )
+ nls? ( virtual/libintl )
+ redis? ( dev-libs/hiredis )"
+DEPEND="${RDEPEND}
+ >=dev-games/irrlicht-1.8-r2
+ nls? ( sys-devel/gettext )"
+
+pkg_setup() {
+ games_pkg_setup
+
+ if use server || use dedicated ; then
+ enewuser ${PN} -1 -1 /var/lib/${PN} ${GAMES_GROUP}
+ fi
+}
+
+src_unpack() {
+ vcs-snapshot_src_unpack
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-shared-irrlicht.patch \
+ "${FILESDIR}"/${P}-as-needed.patch
+
+ # correct gettext behavior
+ if [[ -n "${LINGUAS+x}" ]] ; then
+ for i in $(cd po ; echo *) ; do
+ if ! has ${i} ${LINGUAS} ; then
+ rm -r po/${i} || die
+ fi
+ done
+ fi
+
+ # jthread is modified
+ # json is modified
+ rm -r src/sqlite || die
+
+ # set paths
+ sed \
+ -e "s#@BINDIR@#${GAMES_BINDIR}#g" \
+ -e "s#@GROUP@#${GAMES_GROUP}#g" \
+ "${FILESDIR}"/minetestserver.confd > "${T}"/minetestserver.confd || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(usex dedicated "-DBUILD_SERVER=ON -DBUILD_CLIENT=OFF" "$(cmake-utils_use_build server SERVER) -DBUILD_CLIENT=ON")
+ -DCUSTOM_BINDIR="${GAMES_BINDIR}"
+ -DCUSTOM_DOCDIR="/usr/share/doc/${PF}"
+ -DCUSTOM_LOCALEDIR="/usr/share/locale"
+ -DCUSTOM_SHAREDIR="${GAMES_DATADIR}/${PN}"
+ $(cmake-utils_use_enable curl CURL)
+ $(cmake-utils_use_enable truetype FREETYPE)
+ $(cmake-utils_use_enable nls GETTEXT)
+ -DENABLE_GLES=0
+ $(cmake-utils_use_enable leveldb LEVELDB)
+ $(cmake-utils_use_enable redis REDIS)
+ $(cmake-utils_use_enable sound SOUND)
+ $(cmake-utils_use !luajit DISABLE_LUAJIT)
+ -DRUN_IN_PLACE=0
+ $(use dedicated && {
+ echo "-DIRRLICHT_SOURCE_DIR=/the/irrlicht/source"
+ echo "-DIRRLICHT_INCLUDE_DIR=/usr/include/irrlicht"
+ })
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use server || use dedicated ; then
+ newinitd "${FILESDIR}"/minetestserver.initd minetest-server
+ newconfd "${T}"/minetestserver.confd minetest-server
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ if ! use dedicated ; then
+ elog
+ elog "optional dependencies:"
+ elog " games-action/minetest_game (official mod)"
+ elog
+ fi
+
+ if use server || use dedicated ; then
+ elog
+ elog "Configure your server via /etc/conf.d/minetest-server"
+ elog "The user \"minetest\" is created with /var/lib/${PN} homedir."
+ elog "Default logfile is ~/minetest-server.log"
+ elog
+ fi
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-action/minetest_game/Manifest b/games-action/minetest_game/Manifest
new file mode 100644
index 00000000000..b3c4045cc26
--- /dev/null
+++ b/games-action/minetest_game/Manifest
@@ -0,0 +1 @@
+DIST minetest_game-0.4.10.tar.gz 901448 SHA256 7624a1e64124c4438256719ccecfc44fe5139733a076394aedad1f785e50019f SHA512 eaff1fbee4e46811649293534ed2e496f40451bd1cc6527feb66da6d916ad31233b561ddae9bf631b41730ae04a17fe67c3f74ca95e527ca8eb6f45fe5dc0c86 WHIRLPOOL c9cc5b321eb6bbf7f60894f28f84d5ace5b17db34b696f0afe978bd19ee4e9b5b7202775d00b597661ec038fcc6160c0f27aa03ff1a38c559e6d3f9968c82aa7
diff --git a/games-action/minetest_game/metadata.xml b/games-action/minetest_game/metadata.xml
new file mode 100644
index 00000000000..8c9af45126b
--- /dev/null
+++ b/games-action/minetest_game/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>maddin081591@gmail.com</email>
+ <name>Martin-Kevin Neumann</name>
+ <description>Proxy maintainer, CC him on bugs</description>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/minetest/minetest_game/issues</bugs-to>
+ <remote-id type="github">minetest/minetest_game</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/minetest_game/minetest_game-0.4.10.ebuild b/games-action/minetest_game/minetest_game-0.4.10.ebuild
new file mode 100644
index 00000000000..eb43c62290b
--- /dev/null
+++ b/games-action/minetest_game/minetest_game-0.4.10.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit vcs-snapshot games
+
+DESCRIPTION="The main game for the Minetest game engine"
+HOMEPAGE="http://github.com/minetest/minetest_game"
+SRC_URI="http://github.com/minetest/minetest_game/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="GPL-2 CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="~games-action/minetest-${PV}[-dedicated]"
+
+src_unpack() {
+ vcs-snapshot_src_unpack
+}
+
+src_install() {
+ insinto "${GAMES_DATADIR}"/minetest/games/${PN}
+ doins -r mods menu
+ doins game.conf minetest.conf
+
+ dodoc README.txt game_api.txt
+
+ prepgamesdirs
+}
diff --git a/games-action/moon-buggy/Manifest b/games-action/moon-buggy/Manifest
new file mode 100644
index 00000000000..eb9f973a632
--- /dev/null
+++ b/games-action/moon-buggy/Manifest
@@ -0,0 +1 @@
+DIST moon-buggy-1.0.51.tar.gz 263572 SHA256 352dc16ccae4c66f1e87ab071e6a4ebeb94ff4e4f744ce1b12a769d02fe5d23f SHA512 34da2ca8b79d4f95a762cb7142586d176fd1b58ea6f4375de424d73d6046c2dc3dbae30dddb3a78c8c2563fbfec01d9eaafe27b79cc78ffa22121ad5a2e9dc77 WHIRLPOOL 52d0a375af71d345e3ec3464a1d862c1a03212fc189dac89f5410753d9ae1487085d1b72d2cbf778b749883a201c0b165fcb08c85e114851b20e282d493089ed
diff --git a/games-action/moon-buggy/metadata.xml b/games-action/moon-buggy/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/moon-buggy/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/moon-buggy/moon-buggy-1.0.51.ebuild b/games-action/moon-buggy/moon-buggy-1.0.51.ebuild
new file mode 100644
index 00000000000..4a9cfc0d57f
--- /dev/null
+++ b/games-action/moon-buggy/moon-buggy-1.0.51.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils games
+
+DESCRIPTION="A simple console game, where you drive a car across the moon's surface"
+HOMEPAGE="http://www.seehuhn.de/comp/moon-buggy.html"
+SRC_URI="http://www.seehuhn.de/data/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86"
+IUSE=""
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ sed -i \
+ -e '/$(DESTDIR)$(bindir)\/moon-buggy -c/d' \
+ Makefile.am || die
+ rm -f missing
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ --sharedstatedir="${GAMES_STATEDIR}" \
+ --with-curses-libs="$(pkg-config ncurses --libs)"
+}
+
+src_install() {
+ default
+ touch "${D}${GAMES_STATEDIR}"/${PN}/mbscore
+ fperms 664 "${GAMES_STATEDIR}"/${PN}/mbscore
+ prepgamesdirs
+}
diff --git a/games-action/mutantstorm-demo/Manifest b/games-action/mutantstorm-demo/Manifest
new file mode 100644
index 00000000000..2d73e9d8ac2
--- /dev/null
+++ b/games-action/mutantstorm-demo/Manifest
@@ -0,0 +1 @@
+DIST MutantStormDemo_1_33.sh.bin 9249167 SHA256 d1afce2b73a8adbef445ba60632163d499850498c430aa14d39377812e4f3561 SHA512 176c9f05ca03a1b8f397e046eac26c1442571806543df9b7e0545b8e32e0cc8f2fc827f03840c2082e600a9336ba2c7a7497ef336d9eb8c4e8f122abec413cad WHIRLPOOL 6d9e5bc5625f91be5785bcb52d0c6e4df353d3136a73c0c3b81e405f0f0b4e855d4faf503c2e369c25c55bf1e14d65194987045ce5848a3532fa68cdea6cbb61
diff --git a/games-action/mutantstorm-demo/metadata.xml b/games-action/mutantstorm-demo/metadata.xml
new file mode 100644
index 00000000000..2a729cb8a83
--- /dev/null
+++ b/games-action/mutantstorm-demo/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Mutant Storm progresses over 89 levels of psychedelic 3D arenas, that get
+ever more crowded with nasty beasties. This carnival of frenetic fun is
+showcased in a cutting edge graphics extravganza.
+
+Viewed from well above, you and your enemies can always be seen. Always be
+killed, and always be laughed at! There is no hiding. No tactics. No
+planning... No Net.
+Your enemies created this world and they sure ain't gonna help you
+out!
+
+You like to play hard? Then the game gets harder. Feel like your doing
+well? ...
+Enjoy it while it lasts!
+
+Survive long enough, and you get rewarded with score multipliers, doubling
+your score. Making your enemies even angrier, and that bit more determined
+to kill you!
+Lose a life and watch your multipliers tumble, and the beasties slow down
+and relax, safe in the knowledge that you are just a big softy really!!
+After you conquer all 89 levels you'll be awarded your first
+'White Belt' progressing if you can win all 8 belts until you
+have possess the much coveted Mutant Storm 'Black Belt'.
+
+Mutant Storm is inspired the classic RoboTron by Williams, Smash TV and
+Jeff Minters fantastic Llamatron.
+To those unacquainted, this means one hand controlling fire direction, and
+the other controlling movement. Sounds confusing? ...don't worry, just grab
+your trusty mouse ( or dual stick joypad if you want genuine Robotron style
+) and give it a go. Its very simple once you try, and very intuitive once
+you're used to it.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/mutantstorm-demo/mutantstorm-demo-1.33.ebuild b/games-action/mutantstorm-demo/mutantstorm-demo-1.33.ebuild
new file mode 100644
index 00000000000..bdd7f26d5f1
--- /dev/null
+++ b/games-action/mutantstorm-demo/mutantstorm-demo-1.33.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+DESCRIPTION="shoot through crazy psychedelic 3D environments"
+HOMEPAGE="http://www.pompomgames.com/"
+SRC_URI="ftp://ggdev-1.homelan.com/mutantstorm/MutantStormDemo_${PV/./_}.sh.bin"
+
+LICENSE="POMPOM"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+RESTRICT="strip"
+
+RDEPEND="sys-libs/lib-compat
+ media-libs/libsdl[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}/${PN}
+Ddir=${D}/${dir}
+QA_PREBUILT="${dir:1}/mutantstorm-bin"
+
+src_install() {
+ insinto "${dir}"
+ doins -r menu script styles
+
+ exeinto "${dir}"
+ doexe bin/Linux/x86/*
+ # Remove libSDL since we use the system version and our version doesn't
+ # have TEXTRELs in it.
+ rm -f "${Ddir}"/libSDL-1.2.so.0.0.5
+ games_make_wrapper mutantstorm-demo ./mutantstormdemo "${dir}" "${dir}"
+
+ insinto "${dir}"
+ doins README.txt buy_me mutant.xpm pompom readme.htm
+
+ prepgamesdirs
+}
diff --git a/games-action/nighthawk/Manifest b/games-action/nighthawk/Manifest
new file mode 100644
index 00000000000..6e0aade3d98
--- /dev/null
+++ b/games-action/nighthawk/Manifest
@@ -0,0 +1 @@
+DIST nighthawk-2.2-1.tar.gz 1079706 SHA256 739f154f7c2118879d9d7f5dc0c7d98e1564dc9ae79c864be5e3c04688820bf3 SHA512 dca5d0c01ed651dee0c29b939c832ae343ca70ff0eb7779e7c13007881cf75d96cadafbbac6b431cd473ce9b9e1347dd4ba90502627059439b5a9a557cbc3fcf WHIRLPOOL 2ffeb8de46bb77aa23bec66be4413ffd46c22a793662294316dd5fee2d309d76cc65eb68a4ec06f629dfe9e0accf9eb822c3275b932a3f6432ab5fc6e6dd944f
diff --git a/games-action/nighthawk/files/nighthawk-2.2-gcc42.patch b/games-action/nighthawk/files/nighthawk-2.2-gcc42.patch
new file mode 100644
index 00000000000..619acd37f71
--- /dev/null
+++ b/games-action/nighthawk/files/nighthawk-2.2-gcc42.patch
@@ -0,0 +1,24 @@
+--- src_sound/dsp_mixxer.c
++++ src_sound/dsp_mixxer.c
+@@ -302,10 +302,8 @@
+ for(sample_no = 0;sample_no < mix_buffer_size;sample_no++)
+ {
+ if(chmix[chan_no].funkctrl & 0x2)
+-#pragma pack(1)
+ sam = *((sDB *)chmix[chan_no].sample_addr +
+ (unsigned long)chmix[chan_no].sample_ptr);
+-#pragma pack()
+ else
+ sam = 0;
+
+@@ -364,10 +362,8 @@
+ for(sample_no = 0;sample_no < mix_buffer_size;sample_no++)
+ {
+ if(chmix[chan_no].funkctrl & 0x2)
+-#pragma pack(1)
+ sam = *((sDW *)chmix[chan_no].sample_addr +
+ (unsigned long)chmix[chan_no].sample_ptr);
+-#pragma pack()
+ else
+ sam = 0;
+ #ifdef DIGITAL_ECHOING
diff --git a/games-action/nighthawk/files/nighthawk.patch b/games-action/nighthawk/files/nighthawk.patch
new file mode 100644
index 00000000000..accef759e68
--- /dev/null
+++ b/games-action/nighthawk/files/nighthawk.patch
@@ -0,0 +1,46 @@
+diff -c -3 -r nighthawk-2.2/src/nighthawk.cc nighthawk.orig/src/nighthawk.cc
+*** nighthawk-2.2/src/nighthawk.cc Sun May 23 01:10:59 1999
+--- nighthawk.orig/src/nighthawk.cc Fri Jul 12 04:18:38 2002
+***************
+*** 20,25 ****
+--- 20,26 ----
+ #include <string.h>
+ #include <signal.h>
+ #include <pwd.h>
++ #include <time.h>
+ #include <sys/types.h>
+ #include <sys/file.h>
+ #include <sys/stat.h>
+diff -c -3 -r nighthawk-2.2/src_sound/Make.common nighthawk.orig/src_sound/Make.common
+*** nighthawk-2.2/src_sound/Make.common Sat May 1 18:04:08 1999
+--- nighthawk.orig/src_sound/Make.common Fri Jul 12 04:23:51 2002
+***************
+*** 10,16 ****
+ endif
+ endif
+
+! HOST_SAFE = 0
+
+ ifeq ($(HOSTTYPE),i386)
+ HOST_SAFE = 1
+--- 10,16 ----
+ endif
+ endif
+
+! HOST_SAFE = 1
+
+ ifeq ($(HOSTTYPE),i386)
+ HOST_SAFE = 1
+*** nighthawk-2.2/src/object.cc Mon Sep 30 21:54:56 2002
+--- nighthawk-orig/src/object.cc Mon Sep 30 21:55:05 2002
+***************
+*** 32,37 ****
+--- 32,39 ----
+ #include "tdroid_8xx.h"
+ #include "tdroid_9xx.h"
+
++ #include <string.h>
++
+ /***************************************************************************
+ *
+ ***************************************************************************/
diff --git a/games-action/nighthawk/metadata.xml b/games-action/nighthawk/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/nighthawk/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/nighthawk/nighthawk-2.2.ebuild b/games-action/nighthawk/nighthawk-2.2.ebuild
new file mode 100644
index 00000000000..26332989d5e
--- /dev/null
+++ b/games-action/nighthawk/nighthawk-2.2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="A tribute to Paradroid by Andrew Braybrook"
+HOMEPAGE="http://night-hawk.sourceforge.net/nighthawk.html"
+SRC_URI="ftp://metalab.unc.edu/pub/Linux/games/arcade/${P}-1.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="x11-libs/libXpm"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/nighthawk.patch \
+ "${FILESDIR}"/${P}-gcc42.patch
+ sed -i -e 's:AC_FD_MSG:6:g' configure || die #218936
+ sed -i -e '/LDFLAGS = /d' src/Makefile.in || die
+}
+
+src_install () {
+ default
+ prepgamesdirs
+}
diff --git a/games-action/noiz2sa/Manifest b/games-action/noiz2sa/Manifest
new file mode 100644
index 00000000000..39643eb06f6
--- /dev/null
+++ b/games-action/noiz2sa/Manifest
@@ -0,0 +1 @@
+DIST noiz2sa-0.51a.tar.gz 8861907 SHA256 a7e2b689a320b49cd87a5666b38b934528c65d5a212efca81a21fdd45c9f88e6 SHA512 be0893f96240c00c15073d99e0c73667f65bd4aa98a303d6b4e0b7d5ac9fa510843b37841f9cf6c98f602cb7a70c518107272df1f42682a74ec52a3221e10174 WHIRLPOOL c9e48b9619c23e5bc38b5e48d8b2ebf6e14e8103a9d8420f328c7a58d334b0412a3b13249c0353e44a77dce4e44075b2f2e72536be8d6fc97f0367b26b231683
diff --git a/games-action/noiz2sa/files/noiz2sa-0.51a-gcc41.patch b/games-action/noiz2sa/files/noiz2sa-0.51a-gcc41.patch
new file mode 100644
index 00000000000..9f4f4fe2f1c
--- /dev/null
+++ b/games-action/noiz2sa/files/noiz2sa-0.51a-gcc41.patch
@@ -0,0 +1,17 @@
+--- src/foecommand.h.old 2006-04-21 20:06:35.000000000 +0200
++++ src/foecommand.h 2006-04-21 20:06:57.000000000 +0200
+@@ -36,10 +36,10 @@
+
+ virtual void doChangeDirection(double d);
+ virtual void doChangeSpeed(double s);
+- virtual void FoeCommand::doAccelX(double ax);
+- virtual void FoeCommand::doAccelY(double ay);
+- virtual double FoeCommand::getBulletSpeedX();
+- virtual double FoeCommand::getBulletSpeedY();
++ virtual void doAccelX(double ax);
++ virtual void doAccelY(double ay);
++ virtual double getBulletSpeedX();
++ virtual double getBulletSpeedY();
+
+ private:
+ struct foe *foe;
diff --git a/games-action/noiz2sa/files/noiz2sa-0.51a-underlink.patch b/games-action/noiz2sa/files/noiz2sa-0.51a-underlink.patch
new file mode 100644
index 00000000000..adb1b0cad2a
--- /dev/null
+++ b/games-action/noiz2sa/files/noiz2sa-0.51a-underlink.patch
@@ -0,0 +1,31 @@
+--- makefile.lin.old 2011-06-14 08:03:28.928366818 +0200
++++ makefile.lin 2011-06-14 08:07:43.199113541 +0200
+@@ -4,18 +4,13 @@
+ NAME = noiz2sa
+ O = o
+ RM = rm -f
+-CC = gcc
+-CXX = g++
+
+ PROG = $(NAME)
+
+ DEFAULT_CFLAGS = `sdl-config --cflags`
+-LDFLAGS = `sdl-config --libs` -L. -lglut -lbulletml -lSDL_mixer -mwindows -lstdc++
++LDLIBS = `sdl-config --libs` -lGL -lbulletml -lSDL_mixer -lstdc++ -lm
+
+-MORE_CFLAGS = -O3
+-
+-CFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)
+-CPPFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -I./bulletml/
++CPPFLAGS = $(DEFAULT_CFLAGS) -I./bulletml/
+
+ OBJS = $(NAME).$(O) ship.$(O) shot.$(O) frag.$(O) bonus.$(O) \
+ foe.$(O) foecommand.$(O) barragemanager.$(O) attractmanager.$(O) \
+@@ -23,7 +19,6 @@
+ screen.$(O) clrtbl.$(O) vector.$(O) degutil.$(O) rand.$(O) soundmanager.$(O)
+
+ $(PROG): $(OBJS)
+- $(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)
+
+ clean:
+ $(RM) $(PROG) *.$(O)
diff --git a/games-action/noiz2sa/metadata.xml b/games-action/noiz2sa/metadata.xml
new file mode 100644
index 00000000000..331014e0852
--- /dev/null
+++ b/games-action/noiz2sa/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">noiz2sa</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/noiz2sa/noiz2sa-0.51a.ebuild b/games-action/noiz2sa/noiz2sa-0.51a.ebuild
new file mode 100644
index 00000000000..2987086f94e
--- /dev/null
+++ b/games-action/noiz2sa/noiz2sa-0.51a.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="Abstract Shooting Game"
+HOMEPAGE="http://www.asahi-net.or.jp/~cs8k-cyu/windows/noiz2sa_e.html http://sourceforge.net/projects/noiz2sa/"
+SRC_URI="mirror://sourceforge/noiz2sa/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND="media-libs/sdl-mixer[vorbis]
+ >=dev-libs/libbulletml-0.0.3
+ virtual/opengl"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}/src
+
+src_prepare(){
+ epatch "${FILESDIR}"/${P}-gcc41.patch \
+ "${FILESDIR}"/${P}-underlink.patch
+ sed -i \
+ -e "s:/.noiz2sa.prf:/noiz2sa.prf:" \
+ -e "s:getenv(\"HOME\"):\"${GAMES_STATEDIR}\":" \
+ attractmanager.c \
+ || die "sed failed"
+
+ cp makefile.lin Makefile || die "Failed copying Makefile"
+}
+
+src_install(){
+ local datadir="${GAMES_DATADIR}/${PN}"
+
+ dogamesbin ${PN}
+ dodir "${datadir}" "${GAMES_STATEDIR}"
+ cp -r ../noiz2sa_share/* "${D}/${datadir}" || die "cp failed"
+ dodoc ../readme*
+ touch "${D}${GAMES_STATEDIR}/${PN}.prf"
+ fperms 660 "${GAMES_STATEDIR}/${PN}.prf"
+ prepgamesdirs
+}
diff --git a/games-action/openastromenace/Manifest b/games-action/openastromenace/Manifest
new file mode 100644
index 00000000000..e0d6defd2ff
--- /dev/null
+++ b/games-action/openastromenace/Manifest
@@ -0,0 +1 @@
+DIST astromenace-src-1.3.2.tar.bz2 55390211 SHA256 9b775df2b157565b97aca008dd879b867cd3377c07b829cee6b5342639357fe6 SHA512 0a06278a8a7fdaaf5c730590fcc1f8f59503fe4c94dcbb6dd6b6ee638048f9bebf7c49c75cd32f26e4cd08cfbe01f5082002860901b7196f08a55712bb3ed5d4 WHIRLPOOL b5dee8d3cef2f143e44730c2eb0a60e3537675499c7c726752fc016faace498bf9a951bf96fb03ff2b3e3b8699d9f0575cb5e39ceacceb01a0c270c21691aa1f
diff --git a/games-action/openastromenace/metadata.xml b/games-action/openastromenace/metadata.xml
new file mode 100644
index 00000000000..187d75a8462
--- /dev/null
+++ b/games-action/openastromenace/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">openastromenace</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/openastromenace/openastromenace-1.3.2.ebuild b/games-action/openastromenace/openastromenace-1.3.2.ebuild
new file mode 100644
index 00000000000..8d9ced2b16d
--- /dev/null
+++ b/games-action/openastromenace/openastromenace-1.3.2.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit gnome2-utils cmake-utils eutils games
+
+DESCRIPTION="Modern 3D space shooter with spaceship upgrade possibilities"
+HOMEPAGE="http://sourceforge.net/projects/openastromenace/"
+SRC_URI="mirror://sourceforge/openastromenace/${PV}/astromenace-src-${PV}.tar.bz2"
+
+LICENSE="GPL-3 GPL-3+ CC-BY-SA-3.0 UbuntuFontLicense-1.0 OFL-1.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ virtual/glu
+ media-libs/libsdl[joystick,video,X]
+ media-libs/openal
+ media-libs/freealut
+ media-libs/freetype:2
+ media-libs/libogg
+ media-libs/libvorbis
+ x11-libs/libXinerama"
+
+S=${WORKDIR}/AstroMenace
+
+src_prepare() {
+ # no messing with CXXFLAGS please.
+ sed -i -e '/-Os/d' CMakeLists.txt || die
+ epatch_user # bug #542930
+}
+
+src_configure() {
+ local mycmakeargs="-DDATADIR=${GAMES_DATADIR}/${PN}"
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ "${CMAKE_BUILD_DIR}"/AstroMenace --pack \
+ --rawdata="${S}"/RAW_VFS_DATA \
+ --dir=$(dirname "${CMAKE_BUILD_DIR}") || die
+}
+
+src_install() {
+ newgamesbin "${CMAKE_BUILD_DIR}"/AstroMenace "${PN}"
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins ../*.vfs
+
+ newicon -s 128 astromenace_128.png ${PN}.png
+ newicon -s 64 astromenace_64.png ${PN}.png
+
+ dodoc ChangeLog.txt ReadMe.txt
+
+ make_desktop_entry "${PN}" OpenAstroMenace
+ 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-action/openclonk/Manifest b/games-action/openclonk/Manifest
new file mode 100644
index 00000000000..21eb4c31f9f
--- /dev/null
+++ b/games-action/openclonk/Manifest
@@ -0,0 +1,2 @@
+DIST openclonk-5.5.1-src.tar.bz2 65383438 SHA256 c038d6dc2ef9a3d7966b18ba6147b9dd136f353dfaa5796455f9917b79255743 SHA512 eb111a1f19e2373e6999850dddafa9a5653694904f470690ef39300e4cc3105f0394637e7dbea0a4cff9d91dd30b04f9037252eb0e8830966696f01f6424b977 WHIRLPOOL 990e90ff0daf9aa9dc4826ff621f0647089a68b5ba7d798a4d6cd5ef5d9ec78a666ae897241a6d556f90110f6739206fb09ebc2bc6c9558df65ee67dba0ea8af
+DIST openclonk.png 8487 SHA256 93ff9f479e166f30f1c1042c32624b7e54b4d917813a4f46cce57e39a1f30233 SHA512 3bd2bb20167349130d767719f6732d9682ec32a09f5e8c13fe6245648185eee28edfe564ae64bdc5539c19de701f321887c7fa71e8d1f1f640e0ec6b933544de WHIRLPOOL 190876380614e82092a0d825612cec9dbd0294aec1caf9fe00a137d75525736d87e56507851f61292b736601c1124aac1d1724e94cd0846fa60f5fcab714ef13
diff --git a/games-action/openclonk/files/openclonk-5.5.1-jpeg9.patch b/games-action/openclonk/files/openclonk-5.5.1-jpeg9.patch
new file mode 100644
index 00000000000..161258604e6
--- /dev/null
+++ b/games-action/openclonk/files/openclonk-5.5.1-jpeg9.patch
@@ -0,0 +1,20 @@
+--- src/graphics/C4SurfaceLoaders.cpp.old 2015-01-02 18:01:35.768676874 +0100
++++ src/graphics/C4SurfaceLoaders.cpp 2015-01-02 18:02:17.705896683 +0100
+@@ -303,7 +303,7 @@
+ // The doc says to give fake end-of-inputs if there is no more data
+ cinfo->src->next_input_byte = &end_of_input;
+ cinfo->src->bytes_in_buffer = 1;
+- return true;
++ return (boolean)true;
+ }
+ static void skip_input_data (j_decompress_ptr cinfo, long num_bytes)
+ {
+@@ -354,7 +354,7 @@
+ blub.term_source = jpeg_noop;
+
+ // a missing image is an error
+- jpeg_read_header(&cinfo, true);
++ jpeg_read_header(&cinfo, (boolean)true);
+
+ // Let libjpeg convert for us
+ cinfo.out_color_space = JCS_RGB;
diff --git a/games-action/openclonk/files/openclonk-5.5.1-paths.patch b/games-action/openclonk/files/openclonk-5.5.1-paths.patch
new file mode 100644
index 00000000000..02776e21ed6
--- /dev/null
+++ b/games-action/openclonk/files/openclonk-5.5.1-paths.patch
@@ -0,0 +1,67 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu Feb 6 19:58:45 UTC 2014
+Subject: make paths modifiable
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,6 +35,16 @@
+ set(${_var} "${_string}" PARENT_SCOPE)
+ endfunction()
+
++
++############################################################################
++# User selectable paths
++############################################################################
++set(INSTALL_BINDIR "bin/" CACHE PATH "Binary install destination")
++set(INSTALL_GAMES_BINDIR "games/bin" CACHE PATH "Games binary install destination")
++set(INSTALL_DATAROOTDIR "share/" CACHE PATH "Data root install destination")
++set(INSTALL_DATADIR "${INSTALL_DATAROOTDIR}" CACHE PATH "Data install destination")
++
++
+ ############################################################################
+ # User selectable options
+ ############################################################################
+@@ -1170,10 +1180,16 @@
+ # Assemble compiler flags
+ ############################################################################
+ if(UNIX)
++ if(NOT IS_ABSOLUTE "${INSTALL_DATADIR}")
++ set(ABSOLUTE_INSTALL_DATADIR "${CMAKE_INSTALL_PREFIX}/${INSTALL_DATADIR}")
++ else()
++ set(ABSOLUTE_INSTALL_DATADIR "${INSTALL_DATADIR}")
++ endif()
++
+ # Don't put this into CMAKE_CXX_FLAGS because otherwise it is cached,
+ # and when the path is changed both the old and new definition appears
+ # in the list of flags.
+- add_definitions("-DOC_SYSTEM_DATA_DIR=\"${CMAKE_INSTALL_PREFIX}/share/games/openclonk\"")
++ add_definitions("-DOC_SYSTEM_DATA_DIR=\"${ABSOLUTE_INSTALL_DATADIR}/openclonk\"")
+ endif()
+ if(OC_CXX_FLAGS)
+ list(REMOVE_DUPLICATES OC_CXX_FLAGS)
+@@ -1474,20 +1490,20 @@
+ DEPENDS c4group
+ VERBATIM
+ )
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION share/games/openclonk)
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${group} DESTINATION "${INSTALL_DATADIR}/openclonk")
+ endif()
+ endforeach()
+
+ if (NOT APPLE)
+ add_custom_target(groups DEPENDS ${OC_C4GROUPS})
+ add_dependencies(data groups)
+-
++
+ # Install new files
+- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION share/applications)
++ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/openclonk.desktop DESTINATION "${INSTALL_DATAROOTDIR}/applications")
+
+ # Install binaries
+- install(TARGETS openclonk DESTINATION games)
+- install(TARGETS c4group DESTINATION bin)
++ install(TARGETS openclonk DESTINATION "${INSTALL_GAMES_BINDIR}")
++ install(TARGETS c4group DESTINATION "${INSTALL_BINDIR}")
+ else()
+ install(TARGETS openclonk
+ BUNDLE DESTINATION .
diff --git a/games-action/openclonk/files/openclonk-5.5.1-tinyxml-shared.patch b/games-action/openclonk/files/openclonk-5.5.1-tinyxml-shared.patch
new file mode 100644
index 00000000000..a55943fc313
--- /dev/null
+++ b/games-action/openclonk/files/openclonk-5.5.1-tinyxml-shared.patch
@@ -0,0 +1,25 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu Feb 6 19:58:45 UTC 2014
+Subject: use shared tinyxml
+
+--- a/CMakeLists.txt.old.new
++++ b/CMakeLists.txt
+@@ -1292,7 +1292,6 @@
+ CHECK_INCLUDE_FILE_CXX(getopt.h HAVE_GETOPT_H)
+
+ # TinyXML
+-add_subdirectory(thirdparty/tinyxml)
+ target_link_libraries(openclonk tinyxml)
+
+ if(WIN32)
+--- a/src/lib/StdMeshLoaderXml.cpp
++++ b/src/lib/StdMeshLoaderXml.cpp
+@@ -19,7 +19,7 @@
+ #include "C4Include.h"
+ #include "StdMesh.h"
+ #include "StdMeshLoader.h"
+-#include <tinyxml/tinyxml.h>
++#include <tinyxml.h>
+
+ // Helper class to load things from an XML file with error checking
+ class StdMeshLoader::StdMeshXML
diff --git a/games-action/openclonk/files/openclonk-wrapper-script.sh b/games-action/openclonk/files/openclonk-wrapper-script.sh
new file mode 100644
index 00000000000..9f7e6444288
--- /dev/null
+++ b/games-action/openclonk/files/openclonk-wrapper-script.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+# wrapper prevents the game to look for .ocp files in the current dir
+# which can lead to weird behavior and game freeze
+
+[ -d ~/.clonk/openclonk ] || mkdir -p ~/.clonk/openclonk
+
+cd ~/.clonk/openclonk
+
+exec clonk "$@"
diff --git a/games-action/openclonk/metadata.xml b/games-action/openclonk/metadata.xml
new file mode 100644
index 00000000000..c5180b637a6
--- /dev/null
+++ b/games-action/openclonk/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <changelog>http://hg.openclonk.org/openclonk/</changelog>
+ <doc lang="en">http://wiki.openclonk.org/w/C4Script_Documentation</doc>
+ <bugs-to>http://bugs.openclonk.org/</bugs-to>
+ </upstream>
+ <longdescription lang="en">
+ OpenClonk is the Open source successor of the Clonk gaming series.
+ OpenClonk is a project dedicated to the further development of the
+ Clonk game series. Our goal is to improve and make the real strengths
+ of Clonk more fun to play: Bustling mining, production lines and
+ economy, fast and fiddly melees. Another focus lies on the further
+ enchancement of the game engine and the extensibility/modability of
+ the game content with C4Script which has always been one of the most
+ important features of Clonk.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/games-action/openclonk/openclonk-5.5.1.ebuild b/games-action/openclonk/openclonk-5.5.1.ebuild
new file mode 100644
index 00000000000..fe6d46e67f0
--- /dev/null
+++ b/games-action/openclonk/openclonk-5.5.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# FIXME: does not compile with gtk+3
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+inherit cmake-utils eutils gnome2-utils python-any-r1 games
+
+MY_P=${PN}-release-${PV}-src
+
+DESCRIPTION="A free multiplayer action game where you control clonks"
+HOMEPAGE="http://openclonk.org/"
+SRC_URI="http://www.openclonk.org/builds/release/${PV}/openclonk-${PV}-src.tar.bz2
+ http://${PN}.org/homepage/icon.png -> ${PN}.png"
+
+LICENSE="BSD ISC CLONK-trademark LGPL-2.1 POSTGRESQL"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dedicated doc"
+
+RDEPEND="
+ >=dev-libs/boost-1.40
+ dev-libs/tinyxml
+ net-libs/libupnp
+ media-libs/libpng:0
+ sys-libs/zlib
+ !dedicated? (
+ dev-libs/glib:2
+ media-libs/freealut
+ media-libs/freetype:2
+ media-libs/glew
+ media-libs/libsdl[X,opengl,sound,video]
+ media-libs/libvorbis
+ media-libs/openal
+ media-libs/sdl-mixer[mp3,vorbis,wav]
+ virtual/jpeg
+ virtual/opengl
+ virtual/glu
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ x11-libs/libXrandr
+ x11-libs/libX11
+ )
+ dedicated? ( sys-libs/readline:0 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ ${PYTHON_DEPS}
+ dev-libs/libxml2[python]
+ sys-devel/gettext
+ )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-tinyxml-shared.patch
+ "${FILESDIR}"/${P}-paths.patch
+ "${FILESDIR}"/${P}-jpeg9.patch
+)
+S=${WORKDIR}/${PN}-release-${PV}-src
+
+pkg_setup() {
+ games_pkg_setup
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ rm -r thirdparty/tinyxml || die
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(usex dedicated \
+ "-DUSE_CONSOLE=ON -DUSE_X11=OFF -DUSE_GTK=OFF -DUSE_GTK3=OFF" \
+ "-DUSE_CONSOLE=OFF -DUSE_X11=ON -DUSE_GTK=ON -DUSE_GTK3=OFF")
+ -DWITH_AUTOMATIC_UPDATE=OFF
+ -DINSTALL_GAMES_BINDIR="${GAMES_BINDIR}"
+ -DINSTALL_DATADIR="${GAMES_DATADIR}"
+ -DUSE_STATIC_BOOST=OFF
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc ; then
+ emake -C docs
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if ! use dedicated; then
+ mv "${ED%/}${GAMES_BINDIR}/openclonk" "${ED%/}${GAMES_BINDIR}/clonk" || die
+ newgamesbin "${FILESDIR}"/${PN}-wrapper-script.sh ${PN}
+ doicon -s 64 "${DISTDIR}"/${PN}.png
+ make_desktop_entry ${PN}
+ fi
+ use doc && dohtml -r docs/online/*
+
+ 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-action/openlierox/Manifest b/games-action/openlierox/Manifest
new file mode 100644
index 00000000000..48aa2d2f23b
--- /dev/null
+++ b/games-action/openlierox/Manifest
@@ -0,0 +1 @@
+DIST OpenLieroX_0.58_rc3.src.tar.bz2 63845193 SHA256 9f246887d38c325e597373d9189990c9374c241cb807b4b5777844eceeed65cc SHA512 9d7b63f34040ed73a5856e7c064ab6890d9c2a13b973da48e1b706ade8f8ed061abc42a9cdda8c6f09c58002f369ac16f3b2b6d87e833f91a5bb488926ac3488 WHIRLPOOL f0ff5b63c41126d66906a4928c4296ba28614bcec9f04b200b59d62d126333194baa0478db8fe567dba029e8f5814ff5574c55119a30ece5e1e4732b7d7a9a61
diff --git a/games-action/openlierox/files/openlierox-0.58_rc1-curl.patch b/games-action/openlierox/files/openlierox-0.58_rc1-curl.patch
new file mode 100644
index 00000000000..d151036e799
--- /dev/null
+++ b/games-action/openlierox/files/openlierox-0.58_rc1-curl.patch
@@ -0,0 +1,72 @@
+diff --git a/include/HTTP.h b/include/HTTP.h
+index 6be27f9..916193b 100644
+--- a/include/HTTP.h
++++ b/include/HTTP.h
+@@ -21,7 +21,12 @@
+
+ #include <string>
+ #include <curl/curl.h>
+-#include <curl/types.h>
++#if ! defined(LIBCURL_VERSION_PATCH) \
++ || (LIBCURL_VERSION_MAJOR < 7) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR < 21)) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR == 21) && (LIBCURL_VERSION_PATCH < 7))
++# include <curl/types.h>
++#endif
+ #include <curl/easy.h>
+
+ #include "Networking.h"
+diff --git a/src/breakpad/external/src/common/linux/http_upload.cc b/src/breakpad/external/src/common/linux/http_upload.cc
+index 8748d11..c079aef 100644
+--- a/src/breakpad/external/src/common/linux/http_upload.cc
++++ b/src/breakpad/external/src/common/linux/http_upload.cc
+@@ -31,7 +31,12 @@
+ #include <dlfcn.h>
+ #include <curl/curl.h>
+ #include <curl/easy.h>
+-#include <curl/types.h>
++#if ! defined(LIBCURL_VERSION_PATCH) \
++ || (LIBCURL_VERSION_MAJOR < 7) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR < 21)) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR == 21) && (LIBCURL_VERSION_PATCH < 7))
++# include <curl/types.h>
++#endif
+
+ #include "common/linux/http_upload.h"
+
+diff --git a/src/breakpad/external/src/common/linux/libcurl_wrapper.cc b/src/breakpad/external/src/common/linux/libcurl_wrapper.cc
+index 5bea3af..1fa6d24 100644
+--- a/src/breakpad/external/src/common/linux/libcurl_wrapper.cc
++++ b/src/breakpad/external/src/common/linux/libcurl_wrapper.cc
+@@ -29,7 +29,12 @@
+
+ #include <curl/curl.h>
+ #include <curl/easy.h>
+-#include <curl/types.h>
++#if ! defined(LIBCURL_VERSION_PATCH) \
++ || (LIBCURL_VERSION_MAJOR < 7) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR < 21)) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR == 21) && (LIBCURL_VERSION_PATCH < 7))
++# include <curl/types.h>
++#endif
+ #include <dlfcn.h>
+
+ #include <string>
+diff --git a/src/common/HTTP.cpp b/src/common/HTTP.cpp
+index 0782f9c..7f7a852 100644
+--- a/src/common/HTTP.cpp
++++ b/src/common/HTTP.cpp
+@@ -25,7 +25,12 @@
+ #include <stdlib.h>
+ #endif
+ #include <curl/curl.h>
+-#include <curl/types.h>
++#if ! defined(LIBCURL_VERSION_PATCH) \
++ || (LIBCURL_VERSION_MAJOR < 7) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR < 21)) \
++ || ((LIBCURL_VERSION_MAJOR == 7) && (LIBCURL_VERSION_MINOR == 21) && (LIBCURL_VERSION_PATCH < 7))
++# include <curl/types.h>
++#endif
+ #include <curl/easy.h>
+
+ #include "LieroX.h"
diff --git a/games-action/openlierox/files/openlierox-0.58_rc1-icu.patch b/games-action/openlierox/files/openlierox-0.58_rc1-icu.patch
new file mode 100644
index 00000000000..32817c035c7
--- /dev/null
+++ b/games-action/openlierox/files/openlierox-0.58_rc1-icu.patch
@@ -0,0 +1,67 @@
+From f30e2447944c5131b9c9502ca8054f847d1a9c0f Mon Sep 17 00:00:00 2001
+From: Albert Zeyer <albert.zeyer@rwth-aachen.de>
+Date: Tue, 22 Mar 2011 14:42:15 +0100
+Subject: [PATCH] rename UnicodeString to Unicode32String
+
+Seems that ICU (unicode/unistr.h) polutes the global namespace and uses this name. See http://bugs.gentoo.org/show_bug.cgi?id=359655 .
+---
+ include/Unicode.h | 6 +++---
+ src/common/Unicode.cpp | 8 ++++----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/include/Unicode.h b/include/Unicode.h
+index a523b46..5b976ab 100644
+--- a/include/Unicode.h
++++ b/include/Unicode.h
+@@ -15,7 +15,7 @@
+ #include <string>
+
+ typedef Uint32 UnicodeChar;
+-typedef std::basic_string<UnicodeChar> UnicodeString;
++typedef std::basic_string<UnicodeChar> Unicode32String;
+ #ifdef WIN32
+ typedef wchar_t Utf16Char;
+ typedef std::wstring Utf16String;
+@@ -158,8 +158,8 @@ char UnicodeCharToAsciiChar(UnicodeChar c);
+ std::string RemoveSpecialChars(const std::string &Utf8String);
+ std::string Utf16ToUtf8(const Utf16String& str);
+ Utf16String Utf8ToUtf16(const std::string& str);
+-std::string UnicodeToUtf8(const UnicodeString& str);
+-UnicodeString Utf8ToUnicode(const std::string& str);
++std::string UnicodeToUtf8(const Unicode32String& str);
++Unicode32String Utf8ToUnicode(const std::string& str);
+ std::string UnicodeToAscii(const std::string& utf8str);
+ std::string ISO88591ToUtf8(const std::string& isostr);
+ #ifdef WIN32
+diff --git a/src/common/Unicode.cpp b/src/common/Unicode.cpp
+index 5956289..5a58c30 100644
+--- a/src/common/Unicode.cpp
++++ b/src/common/Unicode.cpp
+@@ -1055,10 +1055,10 @@ Utf16String Utf8ToUtf16(const std::string& str)
+
+ //////////////////
+ // Convert a Unicode string to UTF8
+-std::string UnicodeToUtf8(const UnicodeString& str)
++std::string UnicodeToUtf8(const Unicode32String& str)
+ {
+ std::string result;
+- for (UnicodeString::const_iterator i = str.begin(); i != str.end(); i++) {
++ for (Unicode32String::const_iterator i = str.begin(); i != str.end(); i++) {
+ result += GetUtf8FromUnicode(*i);
+ }
+
+@@ -1067,9 +1067,9 @@ std::string UnicodeToUtf8(const UnicodeString& str)
+
+ //////////////////
+ // Convert a UTF8 string to Unicode
+-UnicodeString Utf8ToUnicode(const std::string& str)
++Unicode32String Utf8ToUnicode(const std::string& str)
+ {
+- UnicodeString result;
++ Unicode32String result;
+ for (std::string::const_iterator it = str.begin(); it != str.end();)
+ result += GetNextUnicodeFromUtf8(it, str.end());
+
+--
+1.7.3.4
+
diff --git a/games-action/openlierox/metadata.xml b/games-action/openlierox/metadata.xml
new file mode 100644
index 00000000000..303eb3bc6f1
--- /dev/null
+++ b/games-action/openlierox/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>sping@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="breakpad">
+ Compile with support for
+ breakpad crash reporting system
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">openlierox</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/openlierox/openlierox-0.58_rc3.ebuild b/games-action/openlierox/openlierox-0.58_rc3.ebuild
new file mode 100644
index 00000000000..836a03b2507
--- /dev/null
+++ b/games-action/openlierox/openlierox-0.58_rc3.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit cmake-utils eutils games
+
+MY_PN="OpenLieroX"
+MY_P="${MY_PN}_${PV}"
+DESCRIPTION="Real-time excessive Worms-clone"
+HOMEPAGE="http://openlierox.sourceforge.net/"
+SRC_URI="mirror://sourceforge/openlierox/${MY_P}.src.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X breakpad debug joystick"
+
+RDEPEND="media-libs/sdl-mixer
+ media-libs/sdl-image
+ media-libs/gd[jpeg,png]
+ dev-libs/libxml2
+ dev-libs/libzip
+ net-misc/curl
+ joystick? ( media-libs/libsdl[joystick] )
+ !joystick? ( media-libs/libsdl )
+ X? ( x11-libs/libX11
+ media-libs/libsdl[X] )
+ !X? ( media-libs/libsdl )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_PN}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.58_rc1-icu.patch \
+ "${FILESDIR}"/${PN}-0.58_rc1-curl.patch
+}
+
+src_configure() {
+ local mycmakeargs="
+ $(cmake-utils_use debug DEBUG)
+ $(cmake-utils_use X X11)
+ -D BREAKPAD=$(use breakpad && echo "Yes" || echo "No")
+ -D DISABLE_JOYSTICK=$(use joystick && echo "No" || echo "Yes")
+ -D SYSTEM_DATA_DIR=${GAMES_DATADIR}
+ -D VERSION=${PV}"
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ # NOTE: App uses case-insensitive file-handling
+ insinto "${GAMES_DATADIR}"/${PN}/
+ doins -r share/gamedir/*
+
+ dodoc doc/{README,ChangeLog,Development,TODO}
+ insinto /usr/share/doc/"${PF}"
+ doins -r doc/original_lx_docs
+
+ doicon share/OpenLieroX.*
+ make_desktop_entry openlierox OpenLieroX OpenLieroX \
+ "Game;ActionGame;ArcadeGame;"
+
+ dogamesbin "${CMAKE_BUILD_DIR}"/bin/openlierox
+
+ prepgamesdirs
+}
diff --git a/games-action/orbital-eunuchs-sniper/Manifest b/games-action/orbital-eunuchs-sniper/Manifest
new file mode 100644
index 00000000000..4b0b69f2ffa
--- /dev/null
+++ b/games-action/orbital-eunuchs-sniper/Manifest
@@ -0,0 +1 @@
+DIST orbital_eunuchs_sniper-1.30.tar.gz 4056847 SHA256 4c9c909183d27309cb967f64fef13f8c69f1c9a9d559bffb87045d21059ee70a SHA512 81da382bdb6cd25ea3f1a3ecebc2827173cd7c77903cd37b88f328ae2c42f5db5a668597ebb2fca1c5c307d6db2745614aebee6f5e1be48fade184381558f21a WHIRLPOOL b2c2108451629c06382375569cbf937318028236745aa25d74343b1b7de3c0634c92e8874c739f6343cbe48c0c6a0cfb7e11628c0a2529dbdc49eb674e317f6e
diff --git a/games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-datadir.patch b/games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-datadir.patch
new file mode 100644
index 00000000000..090fb601d4c
--- /dev/null
+++ b/games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-datadir.patch
@@ -0,0 +1,36 @@
+--- configure.ac
++++ configure.ac
+@@ -64,14 +64,12 @@
+ ,dnl default action of assigning shell value
+ with_games_dir="${runtime_datadir}/games"
+ )
+-AC_SUBST(datadir,"${with_games_dir}")
+ AC_DEFINE_UNQUOTED([GAMEDATADIR], "${datadir}/$PACKAGE_NAME",
+ [Game data directory])
+
+
+ #These should be automagically determined somehow.
+ #CPU Instruction Set. Should be automagic.
+-AC_SUBST(CPU_IS,`uname -m`)
+
+
+ echo $ac_n "ordering crap from http://www.amazon.com/gp/registry/296ST2NHEBO0Z" 1>&6
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -1,6 +1,4 @@
+-pkgdata_PROGRAMS = snipe2d.@CPU_IS@.dynamic snipe2d.@CPU_IS@.static
+-BUILT_SOURCES = snipe2d
+-bin_SCRIPTS = snipe2d
++bin_PROGRAMS = snipe2d
+ snipe2d_common = \
+ ai.cpp \
+ binds.cpp \
+@@ -28,7 +26,7 @@
+ sexpr/io.c \
+ sexpr/parser.c
+
+-snipe2d_@CPU_IS@_dynamic_SOURCES = $(snipe2d_common)
++snipe2d_SOURCES = $(snipe2d_common)
+
+ #snipe2d_@CPU_IS@_static_LDFLAGS = -static
+ snipe2d_@CPU_IS@_static_SOURCES = $(snipe2d_common)
diff --git a/games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-gcc43.patch b/games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-gcc43.patch
new file mode 100644
index 00000000000..268294a2c6c
--- /dev/null
+++ b/games-action/orbital-eunuchs-sniper/files/orbital-eunuchs-sniper-1.30-gcc43.patch
@@ -0,0 +1,10 @@
+--- src/snipe2d.h
++++ src/snipe2d.h
+@@ -39,6 +39,7 @@
+ #include <stdlib.h>
+ #include <math.h>
+ #include <string.h>
++#include <climits>
+ #include <libgen.h>
+ #include <SDL/SDL.h>
+ #include <SDL/SDL_image.h>
diff --git a/games-action/orbital-eunuchs-sniper/metadata.xml b/games-action/orbital-eunuchs-sniper/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/orbital-eunuchs-sniper/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/orbital-eunuchs-sniper/orbital-eunuchs-sniper-1.30.ebuild b/games-action/orbital-eunuchs-sniper/orbital-eunuchs-sniper-1.30.ebuild
new file mode 100644
index 00000000000..de8f91e7bb3
--- /dev/null
+++ b/games-action/orbital-eunuchs-sniper/orbital-eunuchs-sniper-1.30.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils games
+
+MY_P=${PN//-/_}-${PV}
+DESCRIPTION="Snipe terrorists from your orbital base"
+HOMEPAGE="http://icculus.org/oes/"
+SRC_URI="http://filesingularity.timedoctor.org/${MY_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl
+ media-libs/sdl-mixer
+ media-libs/sdl-image"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-datadir.patch \
+ "${FILESDIR}"/${P}-gcc43.patch
+ sed -i \
+ -e '/^sleep /d' \
+ configure.ac || die
+ eautoreconf
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog readme.txt README TODO" \
+ default
+ make_desktop_entry snipe2d "Orbital Eunuchs Sniper"
+ prepgamesdirs
+}
diff --git a/games-action/phobiaii/Manifest b/games-action/phobiaii/Manifest
new file mode 100644
index 00000000000..a32623e1c99
--- /dev/null
+++ b/games-action/phobiaii/Manifest
@@ -0,0 +1 @@
+DIST linuxphobia-1.1-i386.tar.bz2 7709686 SHA256 f70b66a919d04e828d0c2e3e84f7e90659dd6891cbadfe66413298c5db7c87af SHA512 c8a799eb1e9b25781ef37487951b4213be29a60613bb2455df44e484e3553f153e5872aa97c70286eaf64ba78c621941318f702e5dc680a5442728866d2f7a1d WHIRLPOOL 42f23f89134e9635d217b3572ce85cfafecf2bacc759c0a938e1675e3ab6775be311e083df2409db4732c938a76af807e7659d130f79423c922aa2779f83d96c
diff --git a/games-action/phobiaii/metadata.xml b/games-action/phobiaii/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/phobiaii/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/phobiaii/phobiaii-1.1.ebuild b/games-action/phobiaii/phobiaii-1.1.ebuild
new file mode 100644
index 00000000000..5bc3aeca179
--- /dev/null
+++ b/games-action/phobiaii/phobiaii-1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+MY_P="linuxphobia-${PV}"
+DESCRIPTION="Just a moment ago, you were safe inside your ship, behind five inch armour"
+HOMEPAGE="http://www.lynxlabs.com/games/linuxphobia/index.html"
+SRC_URI="http://www.lynxlabs.com/games/linuxphobia/${MY_P}-i386.tar.bz2"
+
+LICENSE="freedist" #505612
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="sys-libs/lib-compat
+ media-libs/sdl-mixer[abi_x86_32(-)]
+ media-libs/libsdl[abi_x86_32(-)]"
+
+S=${WORKDIR}/${MY_P}
+
+QA_PRESTRIPPED="opt/phobiaii/linuxphobia"
+QA_FLAGS_IGNORED="opt/phobiaii/linuxphobia"
+
+src_install() {
+ local dir=${GAMES_PREFIX_OPT}/${PN}
+ games_make_wrapper phobiaII ./linuxphobia "${dir}"
+ newicon phobia2.ico ${PN}.ico
+ make_desktop_entry phobiaII "Phobia II" /usr/share/pixmaps/${PN}.ico
+ insinto "${dir}"
+ doins -r *
+ rm -rf "${D}/${dir}"/{*.desktop,*.sh,/pics/.xvpics}
+ fperms 750 "${dir}"/linuxphobia
+ prepgamesdirs
+}
diff --git a/games-action/poopmup/Manifest b/games-action/poopmup/Manifest
new file mode 100644
index 00000000000..4f2ea5a4948
--- /dev/null
+++ b/games-action/poopmup/Manifest
@@ -0,0 +1 @@
+DIST poopmup-1.2.tar.gz 1461794 SHA256 d2f1515c981d49e18fba6f6d7b4ab354d21def62587eab8dcb048c9eb8a7ff3b SHA512 1c9453ec7487b968dacf6b1bc000835fcd39d1b6f8a42c458ff4cce96a6b48881b11d7df1733fca21bfb213c18cb6f793075a59d4f8a856d06d27a9781c84e88 WHIRLPOOL 03caf2e84518121df17378aff3f9995d57e7c63bc25874e1a9ed2a98c9274ef3d85b0a3c930df0868676772225067a309596253feaa536a05bbf657923e37ce3
diff --git a/games-action/poopmup/files/poopmup-1.2-freeglut.patch b/games-action/poopmup/files/poopmup-1.2-freeglut.patch
new file mode 100644
index 00000000000..615558963ef
--- /dev/null
+++ b/games-action/poopmup/files/poopmup-1.2-freeglut.patch
@@ -0,0 +1,10 @@
+--- poopmup.cpp
++++ poopmup.cpp
+@@ -582,6 +582,7 @@
+ getConfiguration();
+ //Will overwrite the conf file params.
+ ParseCommandLine(argc, argv);
++ glutInit(&argc, argv);
+ InitializeGL(argc, argv);
+ InitializeWorld();
+ InitMenu();
diff --git a/games-action/poopmup/files/poopmup-1.2-gcc43.patch b/games-action/poopmup/files/poopmup-1.2-gcc43.patch
new file mode 100644
index 00000000000..da4a455673a
--- /dev/null
+++ b/games-action/poopmup/files/poopmup-1.2-gcc43.patch
@@ -0,0 +1,42 @@
+--- common.h
++++ common.h
+@@ -38,7 +38,7 @@
+ #define STDCALL
+ #endif
+
+-#include <iostream.h>
++#include <iostream>
+ #include "includes/base/myDisplayLists.h"
+ #include "myTimeStats.h"
+
+--- includes/base/myMatrix.h
++++ includes/base/myMatrix.h
+@@ -57,7 +57,7 @@
+ #include "my3dPoint.h"
+ #include "myVector.h"
+
+-#include <iostream.h>
++#include <iostream>
+ #include <math.h>
+
+ /**
+--- includes/osd/menu.h
++++ includes/osd/menu.h
+@@ -21,6 +21,7 @@
+ #define POOPMUP_MENU_H
+
+ #include <stdio.h>
++#include <cstring>
+ #include "../base/myColor.h"
+ #include "formElem/button.h"
+ #include "formElem/intSelector.h"
+--- includes/osd/onScreenDisplay.h
++++ includes/osd/onScreenDisplay.h
+@@ -21,6 +21,7 @@
+ #define ONSCREENDISPLAY_H
+
+ #include <stdio.h>
++#include <cstring>
+ #include "../base/my3dPoint.h"
+ #include "../base/myColor.h"
+
diff --git a/games-action/poopmup/files/poopmup-1.2-ldflags.patch b/games-action/poopmup/files/poopmup-1.2-ldflags.patch
new file mode 100644
index 00000000000..e831a4fc34d
--- /dev/null
+++ b/games-action/poopmup/files/poopmup-1.2-ldflags.patch
@@ -0,0 +1,11 @@
+--- Makefile.old 2010-10-01 00:05:06.000000000 +0200
++++ Makefile 2010-10-01 00:05:30.000000000 +0200
+@@ -7,7 +7,7 @@
+ OBJ =poopmup.o
+
+ all:
+- $(CC) $(SOURCE) -o $(OBJ) -lglut -lGL -lGLU -L/usr/X11R6/lib -lXmu -lXext -lXt -lXi -lX11
++ $(CC) $(LDFLAGS) $(SOURCE) -o $(OBJ) -lglut -lGL -lGLU -L/usr/X11R6/lib -lXmu -lXext -lXt -lXi -lX11
+
+
+ clean:
diff --git a/games-action/poopmup/metadata.xml b/games-action/poopmup/metadata.xml
new file mode 100644
index 00000000000..c06792ddfaa
--- /dev/null
+++ b/games-action/poopmup/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">poopmup</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/poopmup/poopmup-1.2.ebuild b/games-action/poopmup/poopmup-1.2.ebuild
new file mode 100644
index 00000000000..480e12749d1
--- /dev/null
+++ b/games-action/poopmup/poopmup-1.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="You are now free to fly around the city and poop on passers-by"
+HOMEPAGE="http://poopmup.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+RESTRICT="test"
+
+DEPEND="media-libs/freeglut
+ x11-libs/libXi
+ x11-libs/libXmu
+ virtual/opengl"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}
+
+src_prepare() {
+ sed -i \
+ -e "s:textures/:${GAMES_DATADIR}/${PN}/:" \
+ includes/textureLoader.h || die "sed failed"
+ sed -i \
+ -e "s:config/:${GAMES_SYSCONFDIR}/:" \
+ myConfig.h || die "sed failed"
+ sed -i \
+ -e '/clear/d' \
+ Makefile || die "sed failed" # bug #120907
+
+ epatch \
+ "${FILESDIR}"/${P}-freeglut.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-ldflags.patch
+ ecvs_clean
+}
+
+src_compile() {
+ emake CC="$(tc-getCXX) ${CFLAGS}"
+}
+
+src_install() {
+ newgamesbin poopmup.o poopmup
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins textures/*
+
+ insinto "${GAMES_SYSCONFDIR}"
+ doins config/*
+
+ dodoc README docs/*.doc
+ dohtml docs/userman.htm
+
+ prepgamesdirs
+}
diff --git a/games-action/postalplus/metadata.xml b/games-action/postalplus/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/postalplus/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/postalplus/postalplus-1.ebuild b/games-action/postalplus/postalplus-1.ebuild
new file mode 100644
index 00000000000..e3f06d89f7b
--- /dev/null
+++ b/games-action/postalplus/postalplus-1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cdrom games
+
+DESCRIPTION="Ultraviolent and controversial game featuring the Postal Dude"
+HOMEPAGE="http://www.lokigames.com/products/postal/"
+SRC_URI=""
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+RESTRICT="strip"
+
+S=${WORKDIR}
+
+src_install() {
+ local dir=${GAMES_PREFIX_OPT}/${PN}
+
+ cdrom_get_cds postal_plus.ini
+ exeinto "${dir}"
+ doexe "${CDROM_ROOT}"/bin/x86/postal
+ insinto "${dir}"
+ doins "${CDROM_ROOT}"/{icon.{bmp,xpm},postal_plus.ini,README}
+ cp "${CDROM_ROOT}"/icon.xpm ${PN}.xpm || die
+
+ cp -r "${CDROM_ROOT}"/res "${D}${dir}" || die
+ find "${D}" -name TRANS.TBL -exec rm '{}' +
+
+ games_make_wrapper ${PN} ./postal "${dir}"
+ doicon ${PN}.xpm
+ make_desktop_entry ${PN} "Postal Plus" ${PN}
+
+ prepgamesdirs
+}
diff --git a/games-action/powermanga/Manifest b/games-action/powermanga/Manifest
new file mode 100644
index 00000000000..46437ab7235
--- /dev/null
+++ b/games-action/powermanga/Manifest
@@ -0,0 +1,3 @@
+DIST powermanga-0.91.tgz 11114130 SHA256 b4830169682fecf4237d169a62a2d8fbf1a42ee66e811f7f60fa1b9a725ee9b3 SHA512 8c261d8802d8ac6c39910be56442c12fc7028c9677f0df0d975feb9bb38707c6886e06d9e14b45980a3805191b63a38e2c0d91833f4272f3f657f6dbc7b79452 WHIRLPOOL 9e150678e766377c0765cccf75c46411cdb17bb71ac05ba85970a3db71d3b94dad3d1005c4706685227cba5943cf30fa381ae0a443bf955a460d71ddc72dba93
+DIST powermanga-0.93.1.tgz 11855703 SHA256 da753fce83905a6db3fd8ea65c70c57d662362c86c429d6c6954417144f943e8 SHA512 852c0b4550db6c9e4ecd380077d390327f6649b6e8ab4cad246f23e7335e8622008f9fc753e2f474bf9cf7a5654b071e3f117f6a2b5be72ea53709912f4a0f41 WHIRLPOOL 856aa00fdd2a178530dd12750c514486982e02c004f00d8cc50adcfcdf9064ed76aae217a597ff21240f2054382ed5e7f169d46b9f6c490664e4f6b20d987bc0
+DIST powermanga-0.93.tgz 11851308 SHA256 beb13b20da92829193922d237214c2337f105315de80e4a53a3dd76f78961510 SHA512 3ba23567dfd3d08329e4bdadcc802cd9cd012e24e5d0ea520552f952d2ecceacc92bc135e09aa7ac734dc88fe822ba026308f4f584f5c35836868692029a1fe8 WHIRLPOOL 680ffb9cb153a3b2e214f430f0b322364ed74a169405987ac928262bf52f25df43a7bbc7728c962cdb52e5c696cc85521eb328b7fb97c7e51ae949e234415c78
diff --git a/games-action/powermanga/files/powermanga-0.91-automake-1.13.patch b/games-action/powermanga/files/powermanga-0.91-automake-1.13.patch
new file mode 100644
index 00000000000..bac18db0f4c
--- /dev/null
+++ b/games-action/powermanga/files/powermanga-0.91-automake-1.13.patch
@@ -0,0 +1,11 @@
+--- configure.ac
++++ configure.ac
+@@ -5,7 +5,7 @@
+ AC_CANONICAL_SYSTEM
+ #AM_INIT_AUTOMAKE(powermanga,0.90)
+ AM_INIT_AUTOMAKE([foreign])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+
+ dnl Check our build tools
+ AC_PROG_CC
diff --git a/games-action/powermanga/files/powermanga-0.91-flags.patch b/games-action/powermanga/files/powermanga-0.91-flags.patch
new file mode 100644
index 00000000000..ca665add06c
--- /dev/null
+++ b/games-action/powermanga/files/powermanga-0.91-flags.patch
@@ -0,0 +1,11 @@
+--- powermanga-0.91/configure.ac
++++ powermanga-0.91/configure.ac
+@@ -54,7 +54,7 @@
+ AC_DEFINE(USE_MALLOC_WRAPPER, 1, Define to use a malloc wrapper)
+ CFLAGS="-Wall -Werror -pedantic -Wextra -std=gnu99 -g"
+ else
+- CFLAGS="-O3 -Werror -Wall -pedantic -Wextra -std=gnu99"
++ CFLAGS="$CFLAGS -Wall -Wextra -std=gnu99"
+ fi
+
+ dnl Check for SDL_mixer
diff --git a/games-action/powermanga/files/powermanga-0.91-segfault.patch b/games-action/powermanga/files/powermanga-0.91-segfault.patch
new file mode 100644
index 00000000000..2b6d177373d
--- /dev/null
+++ b/games-action/powermanga/files/powermanga-0.91-segfault.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/show_bug.cgi?id=422915
+
+--- src/shots.c
++++ src/shots.c
+@@ -490,8 +490,6 @@
+ {
+ bullet->img_angle = (Sint16) (bullet->angle / PI_BY_16);
+ }
+- /* save current angle for the calculation of the next angle */
+- bullet->img_old_angle = bullet->img_angle;
+ /* avoid negative indexes */
+ bullet->img_angle = (Sint16) abs (bullet->img_angle);
+ /* avoid a shot angle higher than the number of images */
+@@ -499,6 +497,8 @@
+ {
+ bullet->img_angle = (Sint16) (bullet->spr.numof_images - 1);
+ }
++ /* save current angle for the calculation of the next angle */
++ bullet->img_old_angle = bullet->img_angle;
+ /* draw the shot sprite */
+ draw_sprite (bullet->spr.img[bullet->img_angle],
+ (Uint32) bullet->spr.xcoord,
diff --git a/games-action/powermanga/files/powermanga-0.91-underlink.patch b/games-action/powermanga/files/powermanga-0.91-underlink.patch
new file mode 100644
index 00000000000..bb6f832cbd4
--- /dev/null
+++ b/games-action/powermanga/files/powermanga-0.91-underlink.patch
@@ -0,0 +1,21 @@
+--- src/Makefile.am.old
++++ src/Makefile.am
+@@ -8,7 +8,7 @@
+ powermanga_CFLAGS = -DPREFIX=\"$(prefix)\" \
+ -DSCOREFILE=\"$(scoredir)/$(score)\" \
+ @XLIB_CFLAGS@ @SDL_CFLAGS@
+-powermanga_LDADD = @XLIB_LIBS@ @SDL_LIBS@
++powermanga_LDADD = @XLIB_LIBS@ @SDL_LIBS@ -lm
+
+ install-data-hook:
+ -chown root:games "$(DESTDIR)/$(gamesdir)/powermanga"
+--- src/images.c
++++ src/images.c
+@@ -31,6 +31,7 @@
+ #include "display.h"
+ #include "images.h"
+ #include "log_recorder.h"
++#include <zlib.h>
+
+ static char *bitmap_read (bitmap * bmp, Uint32 num_of_obj,
+ Uint32 num_of_images, char *addr,
diff --git a/games-action/powermanga/files/powermanga-0.93-flags.patch b/games-action/powermanga/files/powermanga-0.93-flags.patch
new file mode 100644
index 00000000000..a4c0264bb32
--- /dev/null
+++ b/games-action/powermanga/files/powermanga-0.93-flags.patch
@@ -0,0 +1,11 @@
+--- powermanga-0.93.orig/configure.ac
++++ powermanga-0.93/configure.ac
+@@ -54,7 +54,7 @@
+ AC_DEFINE(USE_MALLOC_WRAPPER, 1, Define to use a malloc wrapper)
+ CFLAGS="-Wall -Werror -pedantic -Wextra -std=gnu99 -g"
+ else
+- CFLAGS="-O3 -Werror -Wall -pedantic -Wextra -std=gnu99 $CFLAGS"
++ CFLAGS="$CFLAGS -Wall -Wextra -std=gnu99"
+ fi
+
+ dnl Check for SDL_mixer
diff --git a/games-action/powermanga/files/powermanga-0.93.1-flags.patch b/games-action/powermanga/files/powermanga-0.93.1-flags.patch
new file mode 100644
index 00000000000..0dbaa01983f
--- /dev/null
+++ b/games-action/powermanga/files/powermanga-0.93.1-flags.patch
@@ -0,0 +1,11 @@
+--- configure.ac.orig 2015-07-12 17:31:49.673817375 -0400
++++ configure.ac 2015-07-12 17:32:18.567700880 -0400
+@@ -54,7 +54,7 @@
+ AC_DEFINE(USE_MALLOC_WRAPPER, 1, Define to use a malloc wrapper)
+ CFLAGS="-Wall -Werror -pedantic -Wextra -std=gnu99 -g $CFLAGS"
+ else
+- CFLAGS="-O3 -Wall -Wextra -std=gnu99 $CFLAGS"
++ CFLAGS="$CFLAGS -Wall -Wextra -std=gnu99"
+ fi
+
+ dnl Check for SDL_mixer
diff --git a/games-action/powermanga/metadata.xml b/games-action/powermanga/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/powermanga/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/powermanga/powermanga-0.91.ebuild b/games-action/powermanga/powermanga-0.91.ebuild
new file mode 100644
index 00000000000..f76a74c697a
--- /dev/null
+++ b/games-action/powermanga/powermanga-0.91.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils autotools games
+
+DESCRIPTION="An arcade 2D shoot-em-up game"
+HOMEPAGE="http://linux.tlk.fr/"
+SRC_URI="http://linux.tlk.fr/games/Powermanga/download/${P}.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND=">=media-libs/libsdl-1.2[sound,joystick,video]
+ media-libs/libpng:0
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86dga
+ media-libs/sdl-mixer[mod]"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ local f
+ for f in src/assembler.S src/assembler_opt.S ; do
+ einfo "patching $f"
+ cat <<-EOF >> ${f}
+ #if defined(__linux__) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+ #endif
+ EOF
+ done
+ epatch \
+ "${FILESDIR}"/${P}-underlink.patch \
+ "${FILESDIR}"/${P}-segfault.patch \
+ "${FILESDIR}"/${P}-flags.patch \
+ "${FILESDIR}"/${P}-automake-1.13.patch
+ sed -i \
+ -e "/scoredir/s#/var/games/powermanga#${GAMES_STATEDIR}#" \
+ src/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf --prefix=/usr
+}
+
+src_install() {
+ newgamesbin src/powermanga powermanga.bin
+ doman powermanga.6
+ dodoc AUTHORS CHANGES README
+
+ insinto "${GAMES_DATADIR}/powermanga"
+ doins -r data sounds graphics texts
+
+ find "${D}${GAMES_DATADIR}/powermanga/" -name "Makefil*" -execdir rm -f \{\} +
+
+ insinto "${GAMES_STATEDIR}"
+ local f
+ for f in powermanga.hi-easy powermanga.hi powermanga.hi-hard ; do
+ touch "${D}${GAMES_STATEDIR}/${f}" || die
+ fperms 660 "${GAMES_STATEDIR}/${f}"
+ done
+
+ games_make_wrapper powermanga powermanga.bin "${GAMES_DATADIR}/powermanga"
+ make_desktop_entry powermanga Powermanga
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ ewarn "NOTE: The highscore file format has changed."
+ ewarn "Older highscores will not be retained."
+}
diff --git a/games-action/powermanga/powermanga-0.93.1.ebuild b/games-action/powermanga/powermanga-0.93.1.ebuild
new file mode 100644
index 00000000000..c9063d17e61
--- /dev/null
+++ b/games-action/powermanga/powermanga-0.93.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils autotools games
+
+DESCRIPTION="An arcade 2D shoot-em-up game"
+HOMEPAGE="http://linux.tlk.fr/"
+SRC_URI="http://linux.tlk.fr/games/Powermanga/download/${P}.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+RDEPEND=">=media-libs/libsdl-1.2[sound,joystick,video]
+ media-libs/libpng:0
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86dga
+ media-libs/sdl-mixer[mod]"
+DEPEND=${RDEPEND}
+
+src_prepare() {
+ local f
+ for f in src/assembler.S src/assembler_opt.S ; do
+ einfo "patching $f"
+ cat <<-EOF >> ${f}
+ #if defined(__linux__) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+ #endif
+ EOF
+ done
+ epatch "${FILESDIR}"/${P}-flags.patch
+ sed -i \
+ -e "/scoredir/s#/var/games/powermanga#${GAMES_STATEDIR}#" \
+ src/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf --prefix=/usr
+}
+
+src_install() {
+ newgamesbin src/powermanga powermanga.bin
+ doman powermanga.6
+ dodoc AUTHORS CHANGES README
+
+ insinto "${GAMES_DATADIR}/powermanga"
+ doins -r data sounds graphics texts
+
+ find "${D}${GAMES_DATADIR}/powermanga/" -name "Makefil*" -execdir rm -f \{\} +
+
+ insinto "${GAMES_STATEDIR}"
+ local f
+ for f in powermanga.hi-easy powermanga.hi powermanga.hi-hard ; do
+ touch "${D}${GAMES_STATEDIR}/${f}" || die
+ fperms 660 "${GAMES_STATEDIR}/${f}"
+ done
+
+ games_make_wrapper powermanga powermanga.bin "${GAMES_DATADIR}/powermanga"
+ make_desktop_entry powermanga Powermanga
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ ewarn "NOTE: The highscore file format has changed."
+ ewarn "Older highscores will not be retained."
+}
diff --git a/games-action/powermanga/powermanga-0.93.ebuild b/games-action/powermanga/powermanga-0.93.ebuild
new file mode 100644
index 00000000000..7979bf411a4
--- /dev/null
+++ b/games-action/powermanga/powermanga-0.93.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils autotools games
+
+DESCRIPTION="An arcade 2D shoot-em-up game"
+HOMEPAGE="http://linux.tlk.fr/"
+SRC_URI="http://linux.tlk.fr/games/Powermanga/download/${P}.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND=">=media-libs/libsdl-1.2[sound,joystick,video]
+ media-libs/libpng:0
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86dga
+ media-libs/sdl-mixer[mod]"
+DEPEND=${RDEPEND}
+
+src_prepare() {
+ local f
+ for f in src/assembler.S src/assembler_opt.S ; do
+ einfo "patching $f"
+ cat <<-EOF >> ${f}
+ #if defined(__linux__) && defined(__ELF__)
+ .section .note.GNU-stack,"",%progbits
+ #endif
+ EOF
+ done
+ epatch "${FILESDIR}"/${P}-flags.patch
+ sed -i \
+ -e "/scoredir/s#/var/games/powermanga#${GAMES_STATEDIR}#" \
+ src/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf --prefix=/usr
+}
+
+src_install() {
+ newgamesbin src/powermanga powermanga.bin
+ doman powermanga.6
+ dodoc AUTHORS CHANGES README
+
+ insinto "${GAMES_DATADIR}/powermanga"
+ doins -r data sounds graphics texts
+
+ find "${D}${GAMES_DATADIR}/powermanga/" -name "Makefil*" -execdir rm -f \{\} +
+
+ insinto "${GAMES_STATEDIR}"
+ local f
+ for f in powermanga.hi-easy powermanga.hi powermanga.hi-hard ; do
+ touch "${D}${GAMES_STATEDIR}/${f}" || die
+ fperms 660 "${GAMES_STATEDIR}/${f}"
+ done
+
+ games_make_wrapper powermanga powermanga.bin "${GAMES_DATADIR}/powermanga"
+ make_desktop_entry powermanga Powermanga
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ ewarn "NOTE: The highscore file format has changed."
+ ewarn "Older highscores will not be retained."
+}
diff --git a/games-action/rafkill/Manifest b/games-action/rafkill/Manifest
new file mode 100644
index 00000000000..e4f1c6380cf
--- /dev/null
+++ b/games-action/rafkill/Manifest
@@ -0,0 +1 @@
+DIST rafkill-1.2.3.tar.gz 6221729 SHA256 7d43026b33b63b2b01ea2d0169653749e6f8404b30ba5a2701e797bb16d0a63a SHA512 1ab8ce90f9b823092432519dbafed43db3eb6f9189dda4ced1bbce78b826b37759d0768fffdd2df1c77cbbbf1c3c88db1cc9fe1b59c815d832ebc9aed279d03c WHIRLPOOL 657296a4f843c680672f2262359796086cb9f7c2d9e88ecef591713738edcbf02d8d527902ed2b4366d3de3aea7f11e95e62746ed259bbbeb5e6d427531d4b2c
diff --git a/games-action/rafkill/files/rafkill-1.2.3-build.patch b/games-action/rafkill/files/rafkill-1.2.3-build.patch
new file mode 100644
index 00000000000..3f96be02316
--- /dev/null
+++ b/games-action/rafkill/files/rafkill-1.2.3-build.patch
@@ -0,0 +1,27 @@
+--- SConstruct
++++ SConstruct
+@@ -8,8 +8,8 @@
+
+ print "Use 'scons -h' for help"
+
+-prefix = '/usr/local/games'
+-bin = '/usr/local/bin'
++prefix = 'data'
++bin = 'src'
+ if sys.platform == 'win32':
+ try:
+ Execute(Mkdir('gen'))
+@@ -46,7 +46,12 @@
+ # print "Install directory = $prefix"
+ # print "Directory where symlinked binary will go = $bin"
+
+-flags = [ '-g3', '-Wall', '-fno-rtti', '-Woverloaded-virtual', '-O2', '-DINSTALL_DIR=\\\"$prefix\\\"' ];
++SConsignFile()
++env.Replace(CXX = os.environ['CXX'])
++if os.environ.get('CXXFLAGS'):
++ env.Replace(CPPFLAGS = os.environ['CXXFLAGS'])
++
++flags = [ '-Wall', '-fno-rtti', '-Woverloaded-virtual' ];
+ env.Append( CCFLAGS = flags, CPPPATH = [ "build" ] )
+
+ # SConscript( 'src/SConscript', build_dir='build', exports = 'env' );
diff --git a/games-action/rafkill/files/rafkill-1.2.3-gcc43.patch b/games-action/rafkill/files/rafkill-1.2.3-gcc43.patch
new file mode 100644
index 00000000000..7284a74a1ac
--- /dev/null
+++ b/games-action/rafkill/files/rafkill-1.2.3-gcc43.patch
@@ -0,0 +1,106 @@
+Index: rafkill-1.2.2/src/guns/gun_findgun.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/guns/gun_findgun.cpp 2006-05-07 15:50:04.000000000 +0100
++++ rafkill-1.2.2/src/guns/gun_findgun.cpp 2008-04-09 22:54:54.000000000 +0100
+@@ -5,6 +5,7 @@
+ #include "weaponobj.h"
+ #include "hulls/hull_weapon_machine.h"
+ #include "spaceobj.h"
++#include <cstdlib>
+ #include <vector>
+ #include <math.h>
+
+Index: rafkill-1.2.2/src/guns/gun_machine_circle.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/guns/gun_machine_circle.cpp 2006-05-02 02:50:40.000000000 +0100
++++ rafkill-1.2.2/src/guns/gun_machine_circle.cpp 2008-04-09 22:54:54.000000000 +0100
+@@ -3,6 +3,7 @@
+ #include "weaponobj.h"
+ #include "hulls/hull_weapon_machine.h"
+ #include "trigtable.h"
++#include <cstdlib>
+
+ // #define d_circle_move (2.9*8)
+
+Index: rafkill-1.2.2/src/guns/gun_saber.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/guns/gun_saber.cpp 2006-05-02 02:52:23.000000000 +0100
++++ rafkill-1.2.2/src/guns/gun_saber.cpp 2008-04-09 22:54:54.000000000 +0100
+@@ -5,6 +5,7 @@
+ #include "weapons/weapon_beam.h"
+ #include "spaceobj.h"
+ #include "ebox.h"
++#include <cstdlib>
+ #include <vector>
+
+ using namespace std;
+Index: rafkill-1.2.2/src/menu.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/menu.cpp 2008-04-09 22:53:35.000000000 +0100
++++ rafkill-1.2.2/src/menu.cpp 2008-04-09 22:54:54.000000000 +0100
+@@ -1,4 +1,5 @@
+ #include <stdio.h>
++#include <cstdlib>
+ #include "defs.h"
+ #include "menu.h"
+ #include "loadsave.h"
+Index: rafkill-1.2.2/src/weapons/weapon_follow.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/weapons/weapon_follow.cpp 2006-03-25 23:29:05.000000000 +0000
++++ rafkill-1.2.2/src/weapons/weapon_follow.cpp 2008-04-09 22:54:54.000000000 +0100
+@@ -3,6 +3,7 @@
+ #include "weapon_follow.h"
+ #include "hulls/hull_weapon_follow.h"
+ #include "spaceobj.h"
++#include <cstdlib>
+ #include <vector>
+
+ using namespace std;
+Index: rafkill-1.2.2/src/hulls/hull_weapon_beam.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/hulls/hull_weapon_beam.cpp 2006-05-02 03:12:50.000000000 +0100
++++ rafkill-1.2.2/src/hulls/hull_weapon_beam.cpp 2008-04-09 22:54:54.000000000 +0100
+@@ -4,6 +4,7 @@
+ #include "hull_weapon_beam.h"
+ #include "trigtable.h"
+ #include "ebox.h"
++#include <cstdlib>
+
+ #ifndef debug
+ #include <iostream>
+Index: rafkill-1.2.2/src/drawer.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/drawer.cpp 2008-04-09 22:55:06.000000000 +0100
++++ rafkill-1.2.2/src/drawer.cpp 2008-04-09 22:55:55.000000000 +0100
+@@ -11,6 +11,7 @@
+ #include "trigtable.h"
+ #include "pck.h"
+ #include <iostream>
++#include <cstring>
+
+ /* TODO:
+ * Add weapon icons to HUD
+Index: rafkill-1.2.2/src/loadsave.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/loadsave.cpp 2008-04-09 22:55:19.000000000 +0100
++++ rafkill-1.2.2/src/loadsave.cpp 2008-04-09 22:55:55.000000000 +0100
+@@ -7,6 +7,7 @@
+ #include "spaceobj.h"
+ #include "strings.h"
+ #include <string>
++#include <cstring>
+ #include <vector>
+ #include "gunobj.h"
+ #include "hull.h"
+Index: rafkill-1.2.2/src/system.cpp
+===================================================================
+--- rafkill-1.2.2.orig/src/system.cpp 2008-04-09 22:55:29.000000000 +0100
++++ rafkill-1.2.2/src/system.cpp 2008-04-09 22:55:55.000000000 +0100
+@@ -1,6 +1,7 @@
+ #include "system.h"
+ #include <strings.h>
+ #include <string>
++#include <cstring>
+
+ #ifdef WINDOWS
+ static const char * type(){
diff --git a/games-action/rafkill/files/rafkill-1.2.3-gcc47.patch b/games-action/rafkill/files/rafkill-1.2.3-gcc47.patch
new file mode 100644
index 00000000000..1a06ae67e94
--- /dev/null
+++ b/games-action/rafkill/files/rafkill-1.2.3-gcc47.patch
@@ -0,0 +1,11 @@
+--- src/system.cpp.old 2012-07-19 13:37:12.324303303 +0200
++++ src/system.cpp 2012-07-19 13:38:05.451584273 +0200
+@@ -2,6 +2,8 @@
+ #include <strings.h>
+ #include <string>
+ #include <cstring>
++#include <unistd.h>
++#include <sys/types.h>
+
+ #ifdef WINDOWS
+ static const char * type(){
diff --git a/games-action/rafkill/files/rafkill-1.2.3-ldflags.patch b/games-action/rafkill/files/rafkill-1.2.3-ldflags.patch
new file mode 100644
index 00000000000..5c6be095548
--- /dev/null
+++ b/games-action/rafkill/files/rafkill-1.2.3-ldflags.patch
@@ -0,0 +1,17 @@
+--- SConstruct.old 2010-10-07 10:37:26.000000000 +0200
++++ SConstruct 2010-10-07 10:39:33.000000000 +0200
+@@ -1,5 +1,6 @@
+ import os
+ import sys
++import SCons.Util
+
+ env = Environment( ENV = os.environ );
+ config = env.Configure();
+@@ -36,6 +37,7 @@
+
+ env.BuildDir( 'build/', 'src/' )
+ env.Append( LIBS = [ 'aldmb', 'dumb' ] );
++env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
+ if sys.platform == 'win32':
+ env.Append( CCFLAGS = [ '-DWINDOWS' ] )
+ env.Append( LIBS = [ 'alleg', 'pthreadGC2' ] )
diff --git a/games-action/rafkill/metadata.xml b/games-action/rafkill/metadata.xml
new file mode 100644
index 00000000000..dea8299ff8d
--- /dev/null
+++ b/games-action/rafkill/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">raptorv2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/rafkill/rafkill-1.2.3.ebuild b/games-action/rafkill/rafkill-1.2.3.ebuild
new file mode 100644
index 00000000000..07d4ee4a99f
--- /dev/null
+++ b/games-action/rafkill/rafkill-1.2.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils scons-utils games
+
+DESCRIPTION="space shoot-em-up game"
+HOMEPAGE="http://raptorv2.sourceforge.net/"
+SRC_URI="mirror://sourceforge/raptorv2/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="<media-libs/allegro-5
+ media-libs/aldumb"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ rm -f {data,music}/.sconsign
+ epatch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${P}-gcc43.patch \
+ "${FILESDIR}"/${P}-gcc47.patch \
+ "${FILESDIR}"/${P}-ldflags.patch
+ sed -i \
+ -e "/^#define INSTALL_DIR/s:\.:${GAMES_DATADIR}:" \
+ src/defs.cpp \
+ || die "sed failed"
+}
+
+src_compile() {
+ escons
+}
+
+src_install() {
+ dogamesbin ${PN}
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r data music
+ dodoc README
+ prepgamesdirs
+}
diff --git a/games-action/rrootage/Manifest b/games-action/rrootage/Manifest
new file mode 100644
index 00000000000..0103ffbf897
--- /dev/null
+++ b/games-action/rrootage/Manifest
@@ -0,0 +1 @@
+DIST rRootage-0.23a.tar.gz 3910941 SHA256 964edbe21802e3e40d6a8da19b61132decacd13bf9a71bac86abce012379ff07 SHA512 29af79ef7bae46a103abf31696209b1ff5915caeb614d474b6a83f7e9657c19dea586e64a99437bba3e1121bfacc92c8d8b3c8a6831214d0d7da89927ca64f66 WHIRLPOOL 81a87e78e0baa1c252825977db3463be5ac7d00537373d937f938c200fe25f3a78c15ff0e380810cd0f47f9b4c135e48c2ed0cbff357b764c9dd155b47084d23
diff --git a/games-action/rrootage/files/rrootage-0.23a-gcc41.patch b/games-action/rrootage/files/rrootage-0.23a-gcc41.patch
new file mode 100644
index 00000000000..1e6e50e683f
--- /dev/null
+++ b/games-action/rrootage/files/rrootage-0.23a-gcc41.patch
@@ -0,0 +1,28 @@
+--- src/foecommand.h.old 2006-04-21 23:26:03.000000000 +0200
++++ src/foecommand.h 2006-04-21 23:26:26.000000000 +0200
+@@ -39,10 +39,10 @@
+
+ virtual void doChangeDirection(double d);
+ virtual void doChangeSpeed(double s);
+- virtual void FoeCommand::doAccelX(double ax);
+- virtual void FoeCommand::doAccelY(double ay);
+- virtual double FoeCommand::getBulletSpeedX();
+- virtual double FoeCommand::getBulletSpeedY();
++ virtual void doAccelX(double ax);
++ virtual void doAccelY(double ay);
++ virtual double getBulletSpeedX();
++ virtual double getBulletSpeedY();
+
+ private:
+ struct foe *foe;
+--- src/screen.c.old 2006-04-21 23:50:01.000000000 +0200
++++ src/screen.c 2006-04-21 23:50:30.000000000 +0200
+@@ -73,7 +73,7 @@
+ void loadGLTexture(char *fileName, GLuint *texture) {
+ SDL_Surface *surface;
+
+- char name[32];
++ char name[128];
+ strcpy(name, SHARE_LOC);
+ strcat(name, "images/");
+ strcat(name, fileName);
diff --git a/games-action/rrootage/metadata.xml b/games-action/rrootage/metadata.xml
new file mode 100644
index 00000000000..f598ac280d7
--- /dev/null
+++ b/games-action/rrootage/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">rrootage</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/rrootage/rrootage-0.23a.ebuild b/games-action/rrootage/rrootage-0.23a.ebuild
new file mode 100644
index 00000000000..3a1657d58e4
--- /dev/null
+++ b/games-action/rrootage/rrootage-0.23a.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+MY_PN="rRootage"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Abstract shooter - defeat auto-created huge battleships"
+HOMEPAGE="http://www.asahi-net.or.jp/~cs8k-cyu/windows/rr_e.html
+ http://rrootage.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ virtual/glu
+ media-libs/libsdl[video]
+ media-libs/sdl-mixer[vorbis]
+ >=dev-libs/libbulletml-0.0.3"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_PN}/src
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}"-gcc41.patch
+ sed \
+ -e "s/-lglut/-lGL -lGLU -lm/" \
+ -e "/^CC/d" \
+ -e "/^CXX/d" \
+ -e "/^LDFLAGS/s/=/+=/" \
+ -e "/^CPPFLAGS/s/MORE_CFLAGS/MORE_CXXFLAGS/" \
+ -e "/^CPPFLAGS/s/MORE_CFLAGS/MORE_CXXFLAGS/" \
+ -e "s/ -mwindows//" \
+ -e "s:-I./bulletml/:-I/usr/include/bulletml:" \
+ makefile.lin > Makefile || die "sed failed"
+
+ sed -i \
+ -e "s:/usr/share/games:${GAMES_DATADIR}:" \
+ barragemanager.cc screen.c soundmanager.c \
+ || die "sed failed"
+}
+
+src_compile() {
+ emake \
+ MORE_CFLAGS="-DLINUX ${CFLAGS}" \
+ MORE_CXXFLAGS="-DLINUX ${CXXFLAGS}"
+}
+
+src_install() {
+ newgamesbin rr ${PN}
+ dodir "${GAMES_DATADIR}/${MY_PN}"
+ cp -r ../rr_share/* "${D}/${GAMES_DATADIR}/${MY_PN}" || die "cp failed"
+ dodoc ../readme*
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ if ! has_version "media-libs/sdl-mixer[vorbis]" ; then
+ elog "${PN} will not have sound since sdl-mixer"
+ elog "is built with USE=-vorbis"
+ elog "Please emerge sdl-mixer with USE=vorbis"
+ elog "if you want sound support"
+ fi
+}
diff --git a/games-action/rune/Manifest b/games-action/rune/Manifest
new file mode 100644
index 00000000000..9be0944a624
--- /dev/null
+++ b/games-action/rune/Manifest
@@ -0,0 +1 @@
+DIST rune-all-0.2.tar.bz2 6507237 SHA256 432a21d03e3728000c484eec9a5f2a27837c58265d89bf3674716354dbed1632 SHA512 5c86306c84a6b606e13c3b1eebf676479cfe8d1112a2c5b31d6332fc7305fea74485d9a4b89286db38b968f473a40d7b5e500c17aaa8b2010edb17cc95b1695b WHIRLPOOL 75a357df7c4c231e060973fb3816782b0dcbceedc6dc18f2e35ae115e79dcd9fe74eec04e74fdf1772c695161cb63d39d27e146a554ca7473e8f88755c1d6919
diff --git a/games-action/rune/metadata.xml b/games-action/rune/metadata.xml
new file mode 100644
index 00000000000..2f144290bc9
--- /dev/null
+++ b/games-action/rune/metadata.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<longdescription>
+Loki, god of deception and mischief was the bane of the gods, a black sheep who
+tormented all the heavens with his persistent schemes for personal power.
+Asgard, the high heaven where the gods dwelt while determining the fates of man
+and beast was often filled with the howls of pain and anguish as god after god
+fell victim to one of Loki's plots. Having one day taken these malicious schemes
+against his Asgardian brethren too far for a final time, Loki, lord of lies, was
+imprisoned by Odin the All Father and his, Thor, the god of thunder:
+
+Loki was chained to a bleak promontory hundreds of miles below the surface of
+the earth. A venomous snake of immense proportions was wound around the
+stalactites above him. From the mouth of this fearsome reptile dripped a steady
+supply of acidic venom. The torment was horrific. The steady drops would eat
+away the exiled god's midriff right down to the backbone. In turn, his immortal
+powers of healing would slowly re-issue the flesh, only to have it burned away
+again. The snake was unfailing, as were Loki's immortal healing powers.
+
+And the excruciating agony for Loki was unending.
+
+As Thor chained him to the rock, Odin All Father proclaimed that Loki would
+remain under the constant drip of the venom until the day of Ragnarok; when
+gods, men and giants would enter into a final battle and all reality as it
+existed would perish. Then, and only then, would Loki be freed from his torment.
+
+In that distant climactic battle between the gods of heaven and the monsters who
+dwelt deep in the earth, it was assumed that Loki would fulfill his fate and
+take up sides against the Asgardians. Of course, Loki was the bane of fate, and
+he had other plans.
+
+Rune was ported to Linux by Loki Entertainment Software and is a commercial
+game, requiring the original media for installation.
+</longdescription>
+</pkgmetadata>
diff --git a/games-action/rune/rune-1.07-r2.ebuild b/games-action/rune/rune-1.07-r2.ebuild
new file mode 100644
index 00000000000..2eeba3f3228
--- /dev/null
+++ b/games-action/rune/rune-1.07-r2.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cdrom games
+
+DESCRIPTION="Viking hack and slay game"
+HOMEPAGE="http://www.runegame.com"
+SRC_URI="mirror://gentoo/rune-all-0.2.tar.bz2"
+
+LICENSE="LOKI-EULA"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+RESTRICT="strip"
+
+RDEPEND="dev-util/xdelta:0
+ >=media-libs/libsdl-1.2.9-r1[abi_x86_32(-)]
+ x11-libs/libXext[abi_x86_32(-)]
+ x11-libs/libX11[abi_x86_32(-)]
+ virtual/opengl[abi_x86_32(-)]"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}/${PN}
+Ddir=${D}/${dir}
+
+src_unpack() {
+ export CDROM_SET_NAMES=("Linux Rune CD" "Windows Rune CD")
+ cdrom_get_cds System/rune-bin:System/Rune.exe
+ dodir "${dir}"
+ if [[ ${CDROM_SET} -eq 0 ]]
+ then
+ # unpack the data files
+ tar xzf "${CDROM_ROOT}"/data.tar.gz || die
+ elif [[ ${CDROM_SET} -eq 1 ]]
+ then
+ # unpack the runelinuxfiles.tar.gz
+ unpack ${A}
+ fi
+}
+
+src_install() {
+ insinto "${dir}"
+ exeinto "${dir}"
+ einfo "Copying files... this may take a while..."
+
+ case ${CDROM_SET} in
+ 0)
+ for x in Help Maps Meshes Sounds System Textures Web
+ do
+ doins -r $x
+ done
+
+ # copy linux specific files
+ doins -r "${CDROM_ROOT}"/System
+
+ # the most important things: rune and ucc :)
+ doexe "${CDROM_ROOT}"/bin/x86/rune
+ fperms 750 "${dir}"/System/{ucc{,-bin},rune-bin}
+
+ # installing documentation/icon
+ dodoc "${CDROM_ROOT}"/{README,CREDITS}
+ newicon "${CDROM_ROOT}"/icon.xpm rune.xpm
+ ;;
+ 1)
+ # copying Maps Sounds and Web
+ for x in Maps Sounds Web
+ do
+ doins -r "${CDROM_ROOT}"/$x
+ done
+
+ # copying the texture files
+ dodir "${dir}"/Textures
+ for x in $(find "${CDROM_ROOT}"/Textures/ -type f -printf '%f ')
+ do
+ echo -ne '\271\325\036\214' | cat - "${CDROM_ROOT}"/Textures/$x \
+ | sed -e '1 s/\(....\)..../\1/' > "${Ddir}"/Textures/$x \
+ || die
+ done
+
+ doins -r "${S}"/System
+ doins -r "${S}"/Help
+ sed -e "s:.*\(\w+/\w+\)\w:\1:"
+ for x in $(ls "${S}"/patch/{System,Maps,Meshes} |sed -e \
+ "s:.*/\([^/]\+/[^/]\+\).patch$:\1:")
+ do
+ xdelta patch "${S}"/patch/${x}.patch "${CDROM_ROOT}"/${x} "${S}"/patch/${x}
+ doins "${S}"/patch/${x}
+ done
+
+ insinto "${dir}"/System
+
+ # copying system files from the Windows CD
+ for x in "${CDROM_ROOT}"/System/*.{int,u,url}; do
+ doins $x
+ done
+
+ # modify the files
+ mv "${Ddir}"/System/OpenGlDrv.int "${Ddir}"/System/OpenGLDrv.int \
+ || die
+ mv "${Ddir}"/Textures/bloodFX.utx "${Ddir}"/Textures/BloodFX.utx \
+ || die
+ mv "${Ddir}"/Textures/RUNESTONES.UTX "${Ddir}"/Textures/RUNESTONES.utx \
+ || die
+ mv "${Ddir}"/Textures/tedd.utx "${Ddir}"/Textures/Tedd.utx \
+ || die
+ mv "${Ddir}"/Textures/UNDERANCIENT.utx "${Ddir}"/Textures/UnderAncient.utx \
+ || die
+ rm "${Ddir}"/System/{Setup.int,SGLDrv.int,MeTaLDrv.int,Manifest.int,D3DDrv.int,Galaxy.int,SoftDrv.int,WinDrv.int,Window.int} || die
+
+ # the most important things: rune and ucc :)
+ doexe "${S}"/bin/x86/rune
+ fperms 750 "${dir}"/System/{ucc,ucc-bin,rune-bin}
+
+ # installing documentation/icon
+ dodoc "${S}"/{README,CREDITS}
+ doicon "${S}"/rune.xpm rune.xpm
+ ;;
+ esac
+
+ use amd64 && mv "${Ddir}"/System/libSDL-1.2.so.0 \
+ "${Ddir}"/System/libSDL-1.2.so.0.backup
+
+ games_make_wrapper rune ./rune "${dir}" "${dir}"
+ make_desktop_entry rune "Rune" rune
+ find "${Ddir}" -exec touch '{}' \;
+ prepgamesdirs
+}
diff --git a/games-action/shadowgrounds-bin/Manifest b/games-action/shadowgrounds-bin/Manifest
new file mode 100644
index 00000000000..15bca2d9c39
--- /dev/null
+++ b/games-action/shadowgrounds-bin/Manifest
@@ -0,0 +1 @@
+DIST ShadowgroundsBeta12.run 817462792 SHA256 583e9df5a40f46fd093a3aeeb1f1150ed437064566d77ae5e59daf7a059306c0
diff --git a/games-action/shadowgrounds-bin/metadata.xml b/games-action/shadowgrounds-bin/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/shadowgrounds-bin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/shadowgrounds-bin/shadowgrounds-bin-0_beta12-r1.ebuild b/games-action/shadowgrounds-bin/shadowgrounds-bin-0_beta12-r1.ebuild
new file mode 100644
index 00000000000..f55199078ae
--- /dev/null
+++ b/games-action/shadowgrounds-bin/shadowgrounds-bin-0_beta12-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit unpacker games eutils
+
+DESCRIPTION="an epic action experience combining modern technology with addictive playability"
+HOMEPAGE="http://shadowgroundsgame.com/"
+SRC_URI="Shadowgrounds${PV/*_b/B}.run"
+
+LICENSE="frozenbyte-eula"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+RESTRICT="fetch strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND=">=sys-libs/glibc-2.4
+ >=sys-devel/gcc-4.3.0
+ !amd64? (
+ gnome-base/libglade
+ sys-libs/zlib
+ )
+ amd64? (
+ >=gnome-base/libglade-2.6.4-r1[abi_x86_32(-)]
+ sys-libs/zlib[abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}
+
+d="${GAMES_PREFIX_OPT}/${PN}"
+QA_TEXTRELS_x86="`echo ${d#/}/lib32/lib{avcodec.so.51,avformat.so.52,avutil.so.49,FLAC.so.8}`"
+QA_TEXTRELS_amd64=${QA_TEXTRELS_x86}
+
+pkg_nofetch() {
+ einfo "Fetch ${SRC_URI} and put it into ${DISTDIR}"
+ einfo "See http://www.humblebundle.com/ for more info."
+}
+
+src_unpack() {
+ # manually run unzip as the initial seek causes it to exit(1)
+ unpack_zip ${A}
+ rm lib*/lib{gcc_s,m,rt,selinux,z}.so.?
+}
+
+src_install() {
+ local b bb
+
+ doicon Shadowgrounds.xpm
+ for b in bin launcher ; do
+ bb="shadowgrounds-${b}"
+ exeinto ${d}
+ newexe ${bb} ${bb} || die
+ games_make_wrapper ${bb} "./${bb}" "${d}"
+ make_desktop_entry ${bb} "Shadowgrounds ${b}" Shadowgrounds
+ done
+
+ exeinto ${d}/lib32
+ doexe lib32/*
+
+ insinto ${d}
+ doins -r Config data Profiles *.fbz *.glade *-logo.png
+
+ prepgamesdirs
+}
diff --git a/games-action/shadowgrounds-survivor-bin/Manifest b/games-action/shadowgrounds-survivor-bin/Manifest
new file mode 100644
index 00000000000..2dfe2a1b781
--- /dev/null
+++ b/games-action/shadowgrounds-survivor-bin/Manifest
@@ -0,0 +1 @@
+DIST SurvivorBeta11.run 1157906524 SHA256 891ec8ad4e4a5a2592b386b0d0ffb03747577b1b3c14eb9fe251ec02d4beb04f
diff --git a/games-action/shadowgrounds-survivor-bin/metadata.xml b/games-action/shadowgrounds-survivor-bin/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/shadowgrounds-survivor-bin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/shadowgrounds-survivor-bin/shadowgrounds-survivor-bin-0_beta11-r1.ebuild b/games-action/shadowgrounds-survivor-bin/shadowgrounds-survivor-bin-0_beta11-r1.ebuild
new file mode 100644
index 00000000000..830ac6660b3
--- /dev/null
+++ b/games-action/shadowgrounds-survivor-bin/shadowgrounds-survivor-bin-0_beta11-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit unpacker eutils games
+
+DESCRIPTION="human survivors who battle against the ongoing alien onslaught"
+HOMEPAGE="http://shadowgroundsgame.com/survivor/"
+SRC_URI="Survivor${PV/*_b/B}.run"
+
+LICENSE="frozenbyte-eula"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+RESTRICT="fetch strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND=">=sys-libs/glibc-2.4
+ >=sys-devel/gcc-4.3.0
+ !amd64? (
+ gnome-base/libglade
+ )
+ amd64? (
+ >=gnome-base/libglade-2.6.4-r1[abi_x86_32(-)]
+ )"
+
+S=${WORKDIR}
+
+d="${GAMES_PREFIX_OPT}/${PN}"
+QA_TEXTRELS_x86="`echo ${d#/}/lib32/lib{avcodec.so.51,avformat.so.52,avutil.so.49,FLAC.so.8}`"
+QA_TEXTRELS_amd64=${QA_TEXTRELS_x86}
+
+pkg_nofetch() {
+ einfo "Fetch ${SRC_URI} and put it into ${DISTDIR}"
+ einfo "See http://www.humblebundle.com/ for more info."
+}
+
+src_unpack() {
+ # manually run unzip as the initial seek causes it to exit(1)
+ unpack_zip ${A}
+ rm lib*/lib{gcc_s,m,rt,selinux}.so.?
+}
+
+src_install() {
+ local b bb
+
+ doicon Survivor.xpm || die
+ for b in bin launcher ; do
+ bb="survivor-${b}"
+ exeinto ${d}
+ newexe ${bb} ${bb}
+ games_make_wrapper ${bb} "./${bb}" "${d}"
+ make_desktop_entry ${bb} "Shadowgrounds Survivor ${b}" "Shadowgrounds Survivor"
+ done
+
+ exeinto ${d}/lib32
+ doexe lib32/*
+
+ insinto ${d}
+ doins -r Config data Profiles *.fbz *.glade *-logo.png
+
+ prepgamesdirs
+}
diff --git a/games-action/shootingstar/Manifest b/games-action/shootingstar/Manifest
new file mode 100644
index 00000000000..d68c179f37f
--- /dev/null
+++ b/games-action/shootingstar/Manifest
@@ -0,0 +1 @@
+DIST shootingstar-1.2.0.tar.gz 7755911 SHA256 21ed7e557a77a12c1bde5f968c55659667c1b14702f3b0ca5762d10374c6b1d9 SHA512 5bc13a444c925ab834482fad7f055ea02eac471f454a3f0ed80e50c3b0956586b7bfa68db82e3034696fa2e8ce5beaf10fc8b8583508e1c29c276469ef7b2b74 WHIRLPOOL 543e20c6fc7513d0c61262bab2f949d3b8855e8cbf78dc4dd594d641ae10583621ccac4276557e3bc0fc2fc71dfe2cc4362b774e32123a12f882a4edfcdce9af
diff --git a/games-action/shootingstar/files/1.2.0-gcc34.patch b/games-action/shootingstar/files/1.2.0-gcc34.patch
new file mode 100644
index 00000000000..b55997552fc
--- /dev/null
+++ b/games-action/shootingstar/files/1.2.0-gcc34.patch
@@ -0,0 +1,23 @@
+diff -ur shootingstar-1.2.0/src/engine/cTextureFont.cpp shootingstar-1.2.0.loz/src/engine/cTextureFont.cpp
+--- shootingstar-1.2.0/src/engine/cTextureFont.cpp 2003-07-06 19:31:10.000000000 +0100
++++ shootingstar-1.2.0.loz/src/engine/cTextureFont.cpp 2004-07-26 20:51:16.992768063 +0100
+@@ -31,6 +31,7 @@
+ #include <stdio.h>
+ #include <GL/gl.h>
+ #include <GL/glu.h>
++#include <math.h>
+ #include "cTextureManager.hpp"
+ #include "Debug.hpp"
+ //------------------------------------------------------------------------------
+diff -ur shootingstar-1.2.0/src/game/cOptions.cpp shootingstar-1.2.0.loz/src/game/cOptions.cpp
+--- shootingstar-1.2.0/src/game/cOptions.cpp 2003-12-22 05:09:06.000000000 +0000
++++ shootingstar-1.2.0.loz/src/game/cOptions.cpp 2004-07-26 21:00:25.265284270 +0100
+@@ -201,7 +201,7 @@
+ dbgError () << "Unable to read from options file\n";
+ throw runtime_error ("Unable to load options");
+ }
+- int (keys.keys[i]) = key; // IS THIS SAFE?
++ keys.keys[i] = (SDLKey)key; // IS THIS SAFE?
+
+ fin >> key;
+ keys.buttons[i] = key;
diff --git a/games-action/shootingstar/files/shootingstar-1.2.0-gcc44.patch b/games-action/shootingstar/files/shootingstar-1.2.0-gcc44.patch
new file mode 100644
index 00000000000..179cf09ebda
--- /dev/null
+++ b/games-action/shootingstar/files/shootingstar-1.2.0-gcc44.patch
@@ -0,0 +1,10 @@
+--- src/engine/dbg.cpp.old 2009-06-03 15:15:46.000000000 +0200
++++ src/engine/dbg.cpp 2009-06-03 16:09:19.000000000 +0200
+@@ -28,6 +28,7 @@
+ #include <vector>
+ #include <map>
+ #include <algorithm>
++#include <cstdio>
+
+ /**********************************************************************
+ * Implementation notes
diff --git a/games-action/shootingstar/metadata.xml b/games-action/shootingstar/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/shootingstar/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/shootingstar/shootingstar-1.2.0.ebuild b/games-action/shootingstar/shootingstar-1.2.0.ebuild
new file mode 100644
index 00000000000..31bba01d637
--- /dev/null
+++ b/games-action/shootingstar/shootingstar-1.2.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils gnome2-utils games
+
+DESCRIPTION="A topdown shooter"
+HOMEPAGE="http://linux.softpedia.com/get/GAMES-ENTERTAINMENT/Arcade/Shooting-Star-19754.shtml"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="virtual/opengl
+ virtual/glu
+ media-libs/libsdl[video]
+ media-libs/sdl-mixer
+ media-libs/sdl-image"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-gcc34.patch \
+ "${FILESDIR}"/${P}-gcc44.patch
+ eautoreconf
+}
+
+src_install () {
+ default
+ newicon -s 128 data/textures/body1.png ${PN}.png
+ make_desktop_entry ${PN} "Shooting Star"
+ 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-action/slune/Manifest b/games-action/slune/Manifest
new file mode 100644
index 00000000000..76262d20cdc
--- /dev/null
+++ b/games-action/slune/Manifest
@@ -0,0 +1 @@
+DIST Slune-1.0.15.tar.bz2 9549694 SHA256 a982f1af18937a3429cee82cff9315838f508dfb71116ba08519cdfa6ed4dfa4 SHA512 7f26f91a7db5ccfd2b7063592c53a0b5791f5db5dee582c0f2208af7615c3b7f0b1ed420ecef1f1396a6b1573cb99cc40e886bc47bc22d064bc3ad4814421920 WHIRLPOOL e862ac1f318fef512ddbd3e6c76554341a67e54bed8fdecd9df5f63be0176d35a4b3441e65667205fa77c46826fd2ad83e2af6bc7ee3d63e93214388e5b39475
diff --git a/games-action/slune/metadata.xml b/games-action/slune/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/slune/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/slune/slune-1.0.15-r1.ebuild b/games-action/slune/slune-1.0.15-r1.ebuild
new file mode 100644
index 00000000000..5d9d16b43cb
--- /dev/null
+++ b/games-action/slune/slune-1.0.15-r1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit gnome2-utils python-utils-r1 distutils-r1 games
+
+DESCRIPTION="A 3D action game with multiplayer mode and amazing graphics"
+HOMEPAGE="http://oomadness.tuxfamily.org/en/slune/"
+SRC_URI="http://download.gna.org/slune/Slune-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="virtual/opengl
+ >=media-libs/libsdl-1.2.6
+ >=dev-python/soya-0.9
+ >=dev-python/py2play-0.1.9
+ >=dev-python/pyopenal-0.1.3
+ >=dev-python/pyogg-1.1
+ >=dev-python/pyvorbis-1.1"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/Slune-${PV}
+
+python_install() {
+ distutils-r1_python_install \
+ --install-scripts="${GAMES_BINDIR}" \
+ --install-data="${GAMES_DATADIR}" \
+ --install-lib="$(python_get_sitedir)"
+
+ # FHS broke the logic, fix it
+ local i
+ for i in $(ls -I locale "${ED}${GAMES_DATADIR}"/${PN}) ; do
+ dosym "${GAMES_DATADIR}/${PN}/${i}" "$(python_get_sitedir)/${PN}/${i}"
+ done
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ distutils-r1_src_compile
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # fix install dest of locales
+ mv "${ED}${GAMES_DATADIR}"/${PN}/locale "${ED}"/usr/share/locale || die
+
+ newicon -s 48 images/${PN}.48.png ${PN}.png
+ make_desktop_entry ${PN} "Slune"
+
+ 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-action/snipes/Manifest b/games-action/snipes/Manifest
new file mode 100644
index 00000000000..5876f6ffc3e
--- /dev/null
+++ b/games-action/snipes/Manifest
@@ -0,0 +1 @@
+DIST snipes-1.0.4.tar.gz 39150 SHA256 61096e82e2467e3b8ada0560e08d0745022cfe674cdf333e2ee7e140e841a913 SHA512 de2cfdc3062055bfd04766f11894786af2ccd57ee1c8bcfe28d2d6894fe543830061ad7d16fa5e0363a25dcfd4a4c297ec0b81e449392a7b2b7d65da2e2a2f9b WHIRLPOOL 38c801035217a68ee43a209011fd17f66a4acace1e3f6896984aa9e9242366c897a344d35c4775a20b6439f16b098569156718f720c11b2c1f30bf616615abc5
diff --git a/games-action/snipes/files/snipes-1.0.4-nongnulinker.patch b/games-action/snipes/files/snipes-1.0.4-nongnulinker.patch
new file mode 100644
index 00000000000..dbfab286e4b
--- /dev/null
+++ b/games-action/snipes/files/snipes-1.0.4-nongnulinker.patch
@@ -0,0 +1,20 @@
+--- Makefile.old 2011-12-18 17:24:28.795315064 +0100
++++ Makefile 2011-12-18 17:24:59.005311478 +0100
+@@ -33,7 +33,7 @@
+ IMGOBJ = $(OIMGS:%.pbm=$(INTERMEDIATE)/%.o)
+
+ CFLAGS += `sdl-config --cflags` -I$(INTERMEDIATE)
+-LDLIBS += `sdl-config --libs`
++LDLIBS += `sdl-config --libs` -lm
+ LDFLAGS += -Wl,-z,noexecstack
+
+
+@@ -52,7 +52,7 @@
+
+ # Why does this result in an executable stack? Can I run my bitmaps? Do bitmaps behave like Conway's game of life, when run?
+ $(INTERMEDIATE)/%.o: $(IMG)/%.pbm
+- $(LD) -r -b binary -z noexecstack -z really_noexecstack -z pretty_please_noexecstack -o $@ $<
++ $(LD) -r -b binary -z noexecstack -o $@ $<
+
+ snipes.6: snipes.6.in
+ sed s/'`VERSION`'/`cat VERSION`/ < $< > $@
diff --git a/games-action/snipes/metadata.xml b/games-action/snipes/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/snipes/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/snipes/snipes-1.0.4.ebuild b/games-action/snipes/snipes-1.0.4.ebuild
new file mode 100644
index 00000000000..8cf7db015be
--- /dev/null
+++ b/games-action/snipes/snipes-1.0.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit toolchain-funcs eutils games
+
+DESCRIPTION="2D scrolling shooter, resembles the old DOS game of same name"
+HOMEPAGE="http://cyp.github.com/snipes/"
+SRC_URI="http://cyp.github.com/snipes/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl[sound,video]"
+RDEPEND=${DEPEND}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-nongnulinker.patch
+}
+
+src_compile() {
+ tc-getLD
+ default
+}
+
+src_install() {
+ dogamesbin snipes
+ doman snipes.6
+ dodoc ChangeLog
+ doicon ${PN}.png
+ make_desktop_entry snipes "Snipes"
+ prepgamesdirs
+}
diff --git a/games-action/solar2/Manifest b/games-action/solar2/Manifest
new file mode 100644
index 00000000000..00928ef4296
--- /dev/null
+++ b/games-action/solar2/Manifest
@@ -0,0 +1,2 @@
+DIST solar2-linux-1.10.tar.gz 106202569 SHA256 33211605946741db730082478c4a408547a89facfc2e3535b124c6706809d8b2 SHA512 68475cfe9220a1f19608cd2dfb575979e231dcf1bc61e12230db5a39856a03afceeb8c3f2b0ea6d958b36a53945bdb2768261f2b0bcc50a88f2b3eeddc48df9d WHIRLPOOL 86d0ed2c7a28e498323949e871f7ba8f1714f39f98ab625f6dddb0249af7c1e653264ebc4b76cc9be5579f99395e2c578363effcd2c97bb27690b05ec4e73a4e
+DIST solar2.png 6478 SHA256 ab62168651de322dc68a9094baf1ba92524d2d9e76b1650eef60527cd7e3f611 SHA512 b1110d19d62274ac90391f9611fc8efaa1c2ca70cf62f146969768ed2dd76e013054b1a9dfdb123b56536f5ba7788971747219485811eeb6652f22e0867348d9 WHIRLPOOL 358a3fb56c13710abf4ac3115c968579c787ed67f4c8672e0236ce379a56d6540f8c5ad6f8ca16370c0b080ae2763ec2256cbcd1ff2bb0765a7dc5164fc39972
diff --git a/games-action/solar2/metadata.xml b/games-action/solar2/metadata.xml
new file mode 100644
index 00000000000..d13413d31d9
--- /dev/null
+++ b/games-action/solar2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>
+ Use the upstream provided bundled libraries.
+ </flag>
+ </use>
+</pkgmetadata>
+
diff --git a/games-action/solar2/solar2-1.10.ebuild b/games-action/solar2/solar2-1.10.ebuild
new file mode 100644
index 00000000000..8936a03a9fc
--- /dev/null
+++ b/games-action/solar2/solar2-1.10.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: - unbundle libmono for 64bit
+# - unbundling libSDL_mixer breaks the game
+# - provide icon
+# - test useflags for libsdl on x86
+
+EAPI=5
+
+inherit eutils gnome2-utils games
+
+DESCRIPTION="An open-world, sandbox game set in an infinite abstract universe"
+HOMEPAGE="http://murudai.com/solar/"
+GAMEBALL="${PN}-linux-${PV}.tar.gz"
+ICONFILE="http://dev.gentoo.org/~hasufell/distfiles/${PN}.png"
+SRC_URI="${GAMEBALL} ${ICONFILE}"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs"
+RESTRICT="bindist fetch splitdebug"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/lib/*
+ ${MYGAMEDIR#/}/Solar2.bin.x86"
+
+RDEPEND="
+ virtual/opengl
+ amd64? (
+ >=media-libs/flac-1.2.1-r5[abi_x86_32(-)]
+ >=media-libs/libsdl-1.2.15-r4[X,sound,video,joystick,abi_x86_32(-)]
+ >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ !bundled-libs? (
+ >=media-libs/libmad-0.15.1b-r8[abi_x86_32(-)]
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ >=media-libs/sdl-mixer-1.2.12-r4[flac,mikmod,mad,mp3,vorbis,abi_x86_32(-)]
+ >=media-libs/libmikmod-3.2.0[abi_x86_32(-)]
+ )
+ )
+ x86? (
+ media-libs/flac
+ media-libs/libsdl[X,sound,video,joystick]
+ media-libs/libvorbis
+ !bundled-libs? (
+ dev-lang/mono
+ media-libs/libmad
+ media-libs/libmikmod
+ media-libs/openal
+ media-libs/sdl-mixer[flac,mikmod,mad,mp3,vorbis]
+ )
+ )"
+
+S=${WORKDIR}/Solar2
+
+pkg_nofetch() {
+ einfo "Please buy & download ${GAMEBALL} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "Also download ${ICONFILE}"
+ einfo "and move both to ${DISTDIR}"
+ einfo
+}
+
+src_prepare() {
+ # remove unused files
+ rm solar2.sh || die
+
+ if ! use bundled-libs ; then
+ einfo "Removing bundled libs..."
+ if use amd64 ; then
+ # no mono 32bit libs on amd64 yet
+ rm -v lib/libmad.so* lib/libmikmod.so* lib/libopenal.so* || die
+ else
+ rm -v lib/libmad.so* lib/libmikmod.so* lib/libopenal.so* lib/libmono-2.0.so* || die
+ fi
+ fi
+}
+
+src_install() {
+ insinto "${MYGAMEDIR}"
+ doins -r *
+
+ games_make_wrapper ${PN} "./Solar2.bin.x86" "${MYGAMEDIR}"
+ make_desktop_entry ${PN}
+ doicon -s 64 "${DISTDIR}"/${PN}.png
+
+ fperms +x "${MYGAMEDIR}"/Solar2.bin.x86
+ 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-action/spacearyarya-kxl/Manifest b/games-action/spacearyarya-kxl/Manifest
new file mode 100644
index 00000000000..741e3ef9a2f
--- /dev/null
+++ b/games-action/spacearyarya-kxl/Manifest
@@ -0,0 +1 @@
+DIST SpaceAryarya-KXL-1.0.2.tar.gz 279894 SHA256 54cdcbd299fc5cc618ed88d7729db1a64dd48edefbfe569d5352289a9f11ce63 SHA512 1109606741bab6c290395cdfd8d19cf12e68cfef41f50164586c316fc425a32232e0f8dd822207d969c27c3f7a8478d1a65f36fe5468f3cfa8932c99ab3cb125 WHIRLPOOL d26f387bb70610cfe84b9c45d464035b4e6c9b30d9d26690484e90b1dfd68f24397203bf16f3a10940547d45f8ec3eea139ded584c1fffd8dde6aaec448011d4
diff --git a/games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-flags.patch b/games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-flags.patch
new file mode 100644
index 00000000000..2239858be99
--- /dev/null
+++ b/games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-flags.patch
@@ -0,0 +1,11 @@
+respect CFLAGS
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -5,5 +5,5 @@ spacearyarya_SOURCES = extern.h \
+ your.c your.h ranking.c ranking.h \
+ boss.c boss.h
+
+-CFLAGS = @X_CFLAGS@ @KXL_CFLAGS@
++AM_CFLAGS = @X_CFLAGS@ @KXL_CFLAGS@
+ LIBS = @X_LIBS@ -lX11 @KXL_LIBS@ -lKXL
diff --git a/games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-gentoo-paths.patch b/games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-gentoo-paths.patch
new file mode 100644
index 00000000000..197dae5e926
--- /dev/null
+++ b/games-action/spacearyarya-kxl/files/spacearyarya-kxl-1.0.2-gentoo-paths.patch
@@ -0,0 +1,74 @@
+--- bmp/Makefile.am
++++ bmp/Makefile.am
+@@ -1,4 +1,4 @@
+-bmpdir = $(prefix)/share/SpaceAryarya/bmp
++bmpdir = $(BMP_PATH)
+ bmp_DATA = my.bmp enemy1.bmp shot.bmp bomb.bmp\
+ enemy2.bmp kage.bmp wall.bmp wall2.bmp eshot.bmp\
+ boss1_b.bmp boss1_do.bmp boss1_f.bmp\
+--- configure.in
++++ configure.in
+@@ -25,17 +25,20 @@
+ BMP_PATH=/usr/local/share/SpaceAryarya/bmp
+ WAV_PATH=/usr/local/share/SpaceAryarya/wav
+ else
+- DATA_PATH=$prefix/share/SpaceAryarya/data
+- BMP_PATH=$prefix/share/SpaceAryarya/bmp
+- WAV_PATH=$prefix/share/SpaceAryarya/wav
++ DATA_PATH=$datadir/SpaceAryarya/data
++ BMP_PATH=$datadir/SpaceAryarya/bmp
++ WAV_PATH=$datadir/SpaceAryarya/wav
++ SCORE_PATH=$localstatedir/SpaceAryarya
+ fi
+ AC_DEFINE_UNQUOTED(DATA_PATH,"$DATA_PATH")
+ AC_DEFINE_UNQUOTED(BMP_PATH,"$BMP_PATH")
+ AC_DEFINE_UNQUOTED(WAV_PATH,"$WAV_PATH")
++AC_DEFINE_UNQUOTED(SCORE_PATH,"$SCORE_PATH")
+ AC_DEFINE_UNQUOTED(TITLE,"$PACKAGE $VERSION")
+ AC_SUBST(DATA_PATH)
+ AC_SUBST(BMP_PATH)
+ AC_SUBST(WAV_PATH)
++AC_SUBST(SCORE_PATH)
+
+ AC_OUTPUT([data/Makefile wav/Makefile bmp/Makefile src/Makefile
+ spacearyarya.spec Makefile])
+--- data/Makefile.am
++++ data/Makefile.am
+@@ -1,6 +1,7 @@
+-datadir = $(prefix)/share/SpaceAryarya/data
++datadir = $(DATA_PATH)
+ data_DATA = stage1.dat stage2.dat
+ EXTRA_DIST = stage1.dat stage2.dat .score
+
+-install:
+- $(INSTALL) -c -m 666 ./.score $(DESTDIR)$(DATA_PATH)
++install-data-local:
++ $(mkinstalldirs) $(DESTDIR)$(SCORE_PATH)
++ $(INSTALL) -m 660 .score $(DESTDIR)$(SCORE_PATH)
+--- src/ranking.c
++++ src/ranking.c
+@@ -36,7 +36,7 @@
+ FILE *fp;
+ Uint16 i;
+
+- if ((fp = fopen(DATA_PATH "/.score", "r"))) {
++ if ((fp = fopen(SCORE_PATH "/.score", "r"))) {
+ fscanf(fp, "%d", &(Root->HiScore));
+ for (i = 0; i < 5; i ++)
+ fscanf(fp, "%d %d %s",
+@@ -65,7 +65,7 @@
+ FILE *fp;
+ Uint16 i;
+
+- if ((fp = fopen(DATA_PATH "/.score", "w"))) {
++ if ((fp = fopen(SCORE_PATH "/.score", "w"))) {
+ fprintf(fp, "%d\n", Root->HiScore);
+ for (i = 0; i < 5; i ++)
+ fprintf(fp, "%d %d %s\n",
+--- wav/Makefile.am
++++ wav/Makefile.am
+@@ -1,3 +1,3 @@
+-wavdir = $(prefix)/share/SpaceAryarya/wav
++wavdir = $(WAV_PATH)
+ wav_DATA = bgm1.wav bomb.wav hit.wav fire.wav die.wav boss.wav
+ EXTRA_DIST = bgm1.wav bomb.wav hit.wav fire.wav die.wav boss.wav
diff --git a/games-action/spacearyarya-kxl/metadata.xml b/games-action/spacearyarya-kxl/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/spacearyarya-kxl/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/spacearyarya-kxl/spacearyarya-kxl-1.0.2-r1.ebuild b/games-action/spacearyarya-kxl/spacearyarya-kxl-1.0.2-r1.ebuild
new file mode 100644
index 00000000000..c1ee6b5674d
--- /dev/null
+++ b/games-action/spacearyarya-kxl/spacearyarya-kxl-1.0.2-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools eutils games
+
+MY_P=SpaceAryarya-KXL-${PV}
+DESCRIPTION="A 2D/3D shooting game"
+HOMEPAGE="http://triring.net/ps2linux/games/kxl/kxlgames.html"
+SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+DEPEND="dev-games/KXL"
+RDEPEND="${DEPEND}
+ media-fonts/font-adobe-100dpi
+ media-fonts/font-bitstream-100dpi"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-gentoo-paths.patch \
+ "${FILESDIR}"/${P}-flags.patch
+ mv configure.{in,ac}
+ rm aclocal.m4
+ eautoreconf
+}
+
+src_install() {
+ default
+ newicon bmp/enemy1.bmp ${PN}.bmp
+ make_desktop_entry spacearyarya SpaceAryarya /usr/share/pixmaps/${PN}.bmp
+ prepgamesdirs
+}
diff --git a/games-action/spacetripper-demo/Manifest b/games-action/spacetripper-demo/Manifest
new file mode 100644
index 00000000000..8b2cffb8fd8
--- /dev/null
+++ b/games-action/spacetripper-demo/Manifest
@@ -0,0 +1 @@
+DIST spacetripperdemo.sh 5179095 SHA256 0045e78c96f124cad6c04c6d69fef12db4b3cfe7e53ca91bfad84ce797144f21 SHA512 43c0aac805671716816dfba58fe1ccad333886a1a20a3dfdaba7b78512dbe2ca6fbe6c09782e14f81d475c9c9bccb4043bac4c8bd756800fe43596dbee5018a0 WHIRLPOOL ba1bf7c58abe7b26c613ed10cc678dc61e1f1e5899ca44c526a0bdfb050bc7796011a9d2635f2977de841f9ff356cd977b6ebc3ae89f52c88d03d28021fb5123
diff --git a/games-action/spacetripper-demo/metadata.xml b/games-action/spacetripper-demo/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/spacetripper-demo/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/spacetripper-demo/spacetripper-demo-1.ebuild b/games-action/spacetripper-demo/spacetripper-demo-1.ebuild
new file mode 100644
index 00000000000..5ca58b39873
--- /dev/null
+++ b/games-action/spacetripper-demo/spacetripper-demo-1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker games
+
+MY_P="spacetripperdemo"
+DESCRIPTION="hardcore arcade shoot-em-up"
+HOMEPAGE="http://www.pompomgames.com/"
+SRC_URI="http://www.btinternet.com/~bongpig/${MY_P}.sh"
+
+LICENSE="POMPOM"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE=""
+RESTRICT="strip"
+
+RDEPEND="
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=media-libs/libsdl-1.2.15-r4[abi_x86_32(-),X,video,joystick,opengl,sound]"
+
+S=${WORKDIR}
+
+dir=${GAMES_PREFIX_OPT}/${PN}
+Ddir=${D}/${dir}
+
+QA_PREBUILT="${dir}/*"
+
+src_unpack() {
+ unpack_makeself
+}
+
+src_install() {
+ exeinto "${dir}"
+ doexe bin/x86/*
+ # Remove libSDL since we use the system version and our version doesn't
+ # have TEXTRELs in it.
+ rm -f "${Ddir}"/libSDL-1.2.so.0.0.5
+ sed -i -e "s:XYZZY:${dir}:" "${Ddir}/${MY_P}" || die
+
+ insinto "${dir}"
+ doins -r preview run styles README license.txt icon.xpm
+ newicon icon.xpm spacetripper-demo.png
+
+ games_make_wrapper spacetripper-demo ./spacetripperdemo "${dir}" "${dir}"
+ make_desktop_entry spacetripper-demo spacetripper-demo spacetripper-demo
+
+ prepgamesdirs
+}
diff --git a/games-action/super-hexagon/Manifest b/games-action/super-hexagon/Manifest
new file mode 100644
index 00000000000..c829ee21d52
--- /dev/null
+++ b/games-action/super-hexagon/Manifest
@@ -0,0 +1 @@
+DIST superhexagon-10272014-bin 29469168 SHA256 f079cd5f644ba69a1123491a3d2bd19069670e6a9884ad756d927be331f3d9c8 SHA512 ec07576e897cddcbb1ef1da104750001b7610ca31d40f41044dc412d8a149fa07b71e9fbc5df8b1d3ad6f110b28e5891dde618e39f4b2565d73fcfae28d3a85a WHIRLPOOL 4c73f6cddce5d4fb6aace87c2b7c660f7e2be9cfcdc37355ba953e83bb06aa3cba554d15e3051ffcbbcc15b0e6473079b811fbf261771a302dfd496e9505057f
diff --git a/games-action/super-hexagon/metadata.xml b/games-action/super-hexagon/metadata.xml
new file mode 100644
index 00000000000..d13413d31d9
--- /dev/null
+++ b/games-action/super-hexagon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>
+ Use the upstream provided bundled libraries.
+ </flag>
+ </use>
+</pkgmetadata>
+
diff --git a/games-action/super-hexagon/super-hexagon-20141027.ebuild b/games-action/super-hexagon/super-hexagon-20141027.ebuild
new file mode 100644
index 00000000000..e9a5fd0570e
--- /dev/null
+++ b/games-action/super-hexagon/super-hexagon-20141027.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# we use bundled glew, cause slotting 1.6 does not give us
+# much benefit for one consumer
+
+EAPI=5
+
+inherit eutils unpacker games
+
+DESCRIPTION="A minimal action game by Terry Cavanagh, with music by Chipzel"
+HOMEPAGE="http://www.superhexagon.com/"
+SRC_URI="superhexagon-${PV:4:4}${PV:0:4}-bin"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs"
+RESTRICT="bindist fetch splitdebug"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/x86/*
+ ${MYGAMEDIR#/}/x86_64/*"
+
+DEPEND="app-arch/unzip"
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXxf86vm
+ !bundled-libs? (
+ media-libs/freeglut
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ )"
+
+S=${WORKDIR}/data
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+ einfo
+}
+
+src_unpack() {
+ unpack_zip ${A}
+}
+
+src_prepare() {
+ einfo "removing ${ARCH} unrelated files"
+ rm -r $(usex amd64 "x86" "x86_64") || die
+
+ if ! use bundled-libs ; then
+ einfo "removing bundled-libs..."
+ cd $(usex amd64 "x86_64" "x86") || die
+ rm libglut.so* libogg.so* libopenal.so* libstdc++.so* \
+ libvorbis.so* libvorbisfile.so*
+ fi
+}
+
+src_install() {
+ local myarch=$(usex amd64 "x86_64" "x86")
+
+ insinto "${MYGAMEDIR}"
+ doins -r data ${myarch} SuperHexagon.png
+
+ dodoc Linux.README
+
+ newicon SuperHexagon.png ${PN}.png
+ make_desktop_entry ${PN}
+ games_make_wrapper ${PN} "./${myarch}/superhexagon.${myarch}" "${MYGAMEDIR}" "${MYGAMEDIR}/${myarch}"
+
+ fperms +x "${MYGAMEDIR}/${myarch}/superhexagon.${myarch}"
+ prepgamesdirs
+}
diff --git a/games-action/supertuxkart/Manifest b/games-action/supertuxkart/Manifest
new file mode 100644
index 00000000000..ebd2f36d3e3
--- /dev/null
+++ b/games-action/supertuxkart/Manifest
@@ -0,0 +1,2 @@
+DIST supertuxkart-0.8.1-src.tar.bz2 229944480 SHA256 335301ae61b0c177be68d5593c65e5b197dc807421f08a8a35740a254cacf8d6 SHA512 1d72230a2cfa6196c6ea6c5464f01d1a0064994c9dafbf5d47c04b5db87e82590fde57a88d5316f2cf6094dcebae5e115b81e5ecc964a29bd669bc83d527d13a WHIRLPOOL 5cf87e57cd5b5d12e4549bf49efb0596e4a1fafa7cba58e366c843e2ebf61c02e5c3471d1591f1231194021cbcb6082829e026616403680fc7ad05bd235b155e
+DIST supertuxkart.png 4435 SHA256 99bc1801cb0514946cb0171d6d5a84484b6dc881edfa7f096b6eb5fea2f28828 SHA512 a180332f79220431922fa8b351cb476ebc5d9d1df09f20707eb3bdd7002fd264cb027b8190c73c5221050e6e8601beb6758a5809d05aedfb18f0bdb426f47eda WHIRLPOOL eef651802a927b451226fc06a682d7dea68b65b05195130ccfc7544165f26f65bda4fc9565e09d6487d02be3cf57880b0c6c257f26587c6bc6d30afc6aa5d3c2
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-cmake.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-cmake.patch
new file mode 100644
index 00000000000..17a723640f7
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-cmake.patch
@@ -0,0 +1,20 @@
+--- CMakeLists.txt.orig 2015-06-13 01:47:50.493401323 -0400
++++ CMakeLists.txt 2015-06-13 01:48:53.691255054 -0400
+@@ -128,6 +128,9 @@
+ find_package(OpenGL REQUIRED)
+ include_directories(${OPENGL_INCLUDE_DIR})
+
++find_package(X11 REQUIRED)
++include_directories(${X11_INCLUDE_DIR})
++
+ if(UNIX AND NOT APPLE)
+ find_library(IRRLICHT_XF86VM_LIBRARY Xxf86vm)
+ mark_as_advanced(IRRLICHT_XF86VM_LIBRARY)
+@@ -239,6 +242,7 @@
+ ${IRRLICHT_XF86VM_LIBRARY}
+ ${OPENAL_LIBRARY}
+ ${OPENGL_LIBRARIES}
++ ${X11_LIBRARIES}
+ png
+ jpeg
+ bz2
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-desktopfile.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-desktopfile.patch
new file mode 100644
index 00000000000..076645692bc
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-desktopfile.patch
@@ -0,0 +1,24 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu Dec 13 18:45:18 UTC 2012
+Subject: fix desktop file
+
+--- data/supertuxkart_desktop.template
++++ data/supertuxkart_desktop.template
+@@ -1,14 +1,14 @@
+ [Desktop Entry]
+ Name=SuperTuxKart
+-Icon=@PREFIX@/share/pixmaps/supertuxkart_128.png
++Icon=supertuxkart
+ GenericName=A kart racing game
+ GenericName[de_DE]=Ein Kart-Rennspiel
+ GenericName[fr_FR]=Un jeu de karting
+ GenericName[gl]=Xogo de carreiras con karts
+ GenericName[ro_RO]=Un joc de curse cu carturi
+-Exec=@PREFIX@/@STK_INSTALL_BINARY_DIR@/supertuxkart --no-console
++Exec=@STK_INSTALL_BINARY_DIR@/supertuxkart --no-console
+ Terminal=false
+ StartupNotify=false
+ Type=Application
+-TryExec=@PREFIX@/@STK_INSTALL_BINARY_DIR@/supertuxkart
++TryExec=@STK_INSTALL_BINARY_DIR@/supertuxkart
+ Categories=Game;ArcadeGame;
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-gentoo.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-gentoo.patch
new file mode 100644
index 00000000000..647c52245da
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-gentoo.patch
@@ -0,0 +1,47 @@
+gentoo specific hacks because we unbundle the
+deps of irrlicht
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -45,7 +45,6 @@ add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
+ include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
+
+ # Build the irrlicht library
+-add_subdirectory("${PROJECT_SOURCE_DIR}/lib/irrlicht")
+ include_directories("${PROJECT_SOURCE_DIR}/lib/irrlicht/include")
+
+ # Build the Wiiuse library
+@@ -137,6 +136,13 @@ else()
+ endif()
+
+
++# Irrlicht
++if (APPLE)
++ set(IRRLICHT_LIBRARY "/Library/Frameworks/IrrFramework.framework")
++else()
++ set(IRRLICHT_LIBRARY ${PROJECT_SOURCE_DIR}/lib/irrlicht/lib/Linux/libIrrlicht.a)
++endif()
++
+
+ # Set some compiler options
+ if(UNIX)
+@@ -226,12 +232,17 @@ target_link_libraries(supertuxkart
+ bulletcollision
+ bulletmath
+ enet
+- stkirrlicht
+ ${CURL_LIBRARIES}
++ ${IRRLICHT_LIBRARIES}
+ ${OGGVORBIS_LIBRARIES}
++ ${IRRLICHT_LIBRARY}
+ ${IRRLICHT_XF86VM_LIBRARY}
+ ${OPENAL_LIBRARY}
+- ${OPENGL_LIBRARIES})
++ ${OPENGL_LIBRARIES}
++ png
++ jpeg
++ bz2
++ z)
+
+ if(APPLE)
+ # In theory it would be cleaner to let CMake detect the right dependencies. In practice, this means that if a OSX user has
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-icon-dest.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-icon-dest.patch
new file mode 100644
index 00000000000..5ce3fff0dd3
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-icon-dest.patch
@@ -0,0 +1,19 @@
+commit f46a26640382ffc76e71f58eaaf1e5223a11c9a0
+Author: hasufell <hasufell@gentoo.org>
+Date: Tue Nov 26 22:13:21 2013 +0100
+
+ fix icon install dest
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -304,7 +304,9 @@ endif()
+ install(TARGETS supertuxkart RUNTIME DESTINATION ${STK_INSTALL_BINARY_DIR} BUNDLE DESTINATION .)
+ install(DIRECTORY ${STK_DATA_DIR} DESTINATION ${STK_INSTALL_DATA_DIR} PATTERN ".svn" EXCLUDE)
+ install(FILES ${PROJECT_BINARY_DIR}/supertuxkart.desktop DESTINATION share/applications)
+-install(FILES data/supertuxkart_32.png data/supertuxkart_128.png DESTINATION share/pixmaps)
++install(FILES data/supertuxkart_128.png DESTINATION share/icons/hicolor/128x128/apps RENAME supertuxkart.png)
++install(FILES data/supertuxkart_32.png DESTINATION share/icons/hicolor/32x32/apps RENAME supertuxkart.png)
++
+
+ set(PREFIX ${CMAKE_INSTALL_PREFIX})
+ configure_file(data/supertuxkart_desktop.template supertuxkart.desktop)
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-irrlicht.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-irrlicht.patch
new file mode 100644
index 00000000000..43130d14a09
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-irrlicht.patch
@@ -0,0 +1,69 @@
+unbundle Irrlicht dependencies
+and respect CFLAGS
+
+--- lib/irrlicht/include/IrrCompileConfig.h
++++ lib/irrlicht/include/IrrCompileConfig.h
+@@ -245,7 +245,7 @@
+ //! Define _IRR_USE_NON_SYSTEM_JPEG_LIB_ to let irrlicht use the jpeglib which comes with irrlicht.
+ /** If this is commented out, Irrlicht will try to compile using the jpeg lib installed in the system.
+ This is only used when _IRR_COMPILE_WITH_LIBJPEG_ is defined. */
+-#define _IRR_USE_NON_SYSTEM_JPEG_LIB_
++//#define _IRR_USE_NON_SYSTEM_JPEG_LIB_
+ #ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_
+ #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
+ #endif
+@@ -261,7 +261,7 @@
+ //! Define _IRR_USE_NON_SYSTEM_LIBPNG_ to let irrlicht use the libpng which comes with irrlicht.
+ /** If this is commented out, Irrlicht will try to compile using the libpng installed in the system.
+ This is only used when _IRR_COMPILE_WITH_LIBPNG_ is defined. */
+-#define _IRR_USE_NON_SYSTEM_LIB_PNG_
++//#define _IRR_USE_NON_SYSTEM_LIB_PNG_
+ #ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_
+ #undef _IRR_USE_NON_SYSTEM_LIB_PNG_
+ #endif
+@@ -598,7 +598,7 @@
+ /** If this is commented out, Irrlicht will try to compile using the zlib
+ installed on the system. This is only used when _IRR_COMPILE_WITH_ZLIB_ is
+ defined. */
+-#define _IRR_USE_NON_SYSTEM_ZLIB_
++//#define _IRR_USE_NON_SYSTEM_ZLIB_
+ #ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_
+ #undef _IRR_USE_NON_SYSTEM_ZLIB_
+ #endif
+--- lib/irrlicht/source/Irrlicht/Makefile
++++ lib/irrlicht/source/Irrlicht/Makefile
+@@ -46,11 +46,7 @@
+ IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o lzma/LzmaDec.o
+ IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o
+ IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o
+-ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o
+-JPEGLIBOBJ = jpeglib/jcapimin.o jpeglib/jcapistd.o jpeglib/jccoefct.o jpeglib/jccolor.o jpeglib/jcdctmgr.o jpeglib/jchuff.o jpeglib/jcinit.o jpeglib/jcmainct.o jpeglib/jcmarker.o jpeglib/jcmaster.o jpeglib/jcomapi.o jpeglib/jcparam.o jpeglib/jcprepct.o jpeglib/jcsample.o jpeglib/jctrans.o jpeglib/jdapimin.o jpeglib/jdapistd.o jpeglib/jdatadst.o jpeglib/jdatasrc.o jpeglib/jdcoefct.o jpeglib/jdcolor.o jpeglib/jddctmgr.o jpeglib/jdhuff.o jpeglib/jdinput.o jpeglib/jdmainct.o jpeglib/jdmarker.o jpeglib/jdmaster.o jpeglib/jdmerge.o jpeglib/jdpostct.o jpeglib/jdsample.o jpeglib/jdtrans.o jpeglib/jerror.o jpeglib/jfdctflt.o jpeglib/jfdctfst.o jpeglib/jfdctint.o jpeglib/jidctflt.o jpeglib/jidctfst.o jpeglib/jidctint.o jpeglib/jmemmgr.o jpeglib/jmemnobs.o jpeglib/jquant1.o jpeglib/jquant2.o jpeglib/jutils.o jpeglib/jcarith.o jpeglib/jdarith.o jpeglib/jaricom.o
+-LIBPNGOBJ = libpng/png.o libpng/pngerror.o libpng/pngget.o libpng/pngmem.o libpng/pngpread.o libpng/pngread.o libpng/pngrio.o libpng/pngrtran.o libpng/pngrutil.o libpng/pngset.o libpng/pngtrans.o libpng/pngwio.o libpng/pngwrite.o libpng/pngwtran.o libpng/pngwutil.o
+ LIBAESGM = aesGladman/aescrypt.o aesGladman/aeskey.o aesGladman/aestab.o aesGladman/fileenc.o aesGladman/hmac.o aesGladman/prng.o aesGladman/pwd2key.o aesGladman/sha1.o aesGladman/sha2.o
+-BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/bzcompress.o bzip2/decompress.o bzip2/bzlib.o
+
+ # Next variable is for additional scene nodes etc. of customized Irrlicht versions
+ EXTRAOBJ =
+@@ -61,18 +57,16 @@
+
+ ###############
+ #Compiler flags
+-CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng
++CXXINCS = -I../../include
+ CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1
+-CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
++CXXFLAGS += -Wall -fno-exceptions -fno-rtti
+ ifndef NDEBUG
+-CXXFLAGS += -g -D_DEBUG
+-else
+-CXXFLAGS += -fexpensive-optimizations -O3
++CXXFLAGS += -D_DEBUG
+ endif
+ ifdef PROFILE
+ CXXFLAGS += -pg
+ endif
+-CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
++CFLAGS += -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
+
+ sharedlib sharedlib_osx: CXXFLAGS += -fPIC
+ sharedlib sharedlib_osx: CFLAGS += -fPIC
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-jpeg9.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-jpeg9.patch
new file mode 100644
index 00000000000..b1bae371b71
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-jpeg9.patch
@@ -0,0 +1,11 @@
+--- lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp.old
++++ lib/irrlicht/source/Irrlicht/CImageLoaderJPG.cpp
+@@ -66,7 +66,7 @@
+ boolean CImageLoaderJPG::fill_input_buffer (j_decompress_ptr cinfo)
+ {
+ // DO NOTHING
+- return 1;
++ return TRUE;
+ }
+
+
diff --git a/games-action/supertuxkart/files/supertuxkart-0.8.1-mesa-10.x.patch b/games-action/supertuxkart/files/supertuxkart-0.8.1-mesa-10.x.patch
new file mode 100644
index 00000000000..b4d8e68a904
--- /dev/null
+++ b/games-action/supertuxkart/files/supertuxkart-0.8.1-mesa-10.x.patch
@@ -0,0 +1,38 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Tue Apr 29 23:28:11 UTC 2014
+Subject: fix build with mesa-10.x
+
+--- lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h
++++ lib/irrlicht/source/Irrlicht/COpenGLExtensionHandler.h
+@@ -21,6 +21,7 @@
+ #endif
+ #include <GL/gl.h>
+ #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+ #include "glext.h"
+ #endif
+ #include "wglext.h"
+@@ -36,6 +37,7 @@
+ #endif
+ #include <OpenGL/gl.h>
+ #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+ #include "glext.h"
+ #endif
+ #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)
+@@ -49,6 +51,7 @@
+ #define NO_SDL_GLEXT
+ #include <SDL/SDL_video.h>
+ #include <SDL/SDL_opengl.h>
++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+ #include "glext.h"
+ #else
+ #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+@@ -61,6 +64,7 @@
+ #include <GL/gl.h>
+ #include <GL/glx.h>
+ #if defined(_IRR_OPENGL_USE_EXTPOINTER_)
++ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
+ #include "glext.h"
+ #undef GLX_ARB_get_proc_address // avoid problems with local glxext.h
+ #include "glxext.h"
diff --git a/games-action/supertuxkart/metadata.xml b/games-action/supertuxkart/metadata.xml
new file mode 100644
index 00000000000..701854e762a
--- /dev/null
+++ b/games-action/supertuxkart/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name="fribidi">Support for right-to-left languages</flag>
+ <flag name="wiimote">Support for wiimote input devices</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">supertuxkart</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/supertuxkart/supertuxkart-0.8.1.ebuild b/games-action/supertuxkart/supertuxkart-0.8.1.ebuild
new file mode 100644
index 00000000000..4ae2a2ba056
--- /dev/null
+++ b/games-action/supertuxkart/supertuxkart-0.8.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit gnome2-utils cmake-utils eutils games
+
+DESCRIPTION="A kart racing game starring Tux, the linux penguin (TuxKart fork)"
+HOMEPAGE="http://supertuxkart.sourceforge.net/"
+SRC_URI="mirror://sourceforge/supertuxkart/SuperTuxKart/${PV}/${P}-src.tar.bz2
+ mirror://gentoo/${PN}.png"
+
+LICENSE="GPL-3 CC-BY-SA-3.0 CC-BY-2.0 public-domain ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE="debug fribidi wiimote"
+
+# don't unbundle irrlicht and bullet
+# both are modified and system versions will break the game
+# http://sourceforge.net/tracker/?func=detail&aid=3454889&group_id=74339&atid=540679
+
+# VERSION BUMP NOTICE: enet might be needed for supertuxkart-0.9
+RDEPEND="media-libs/freeglut
+ media-libs/libpng:0
+ media-libs/libvorbis
+ media-libs/openal
+ net-misc/curl
+ sys-libs/zlib
+ virtual/glu
+ virtual/jpeg:0
+ virtual/libintl
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXxf86vm
+ fribidi? ( dev-libs/fribidi )
+ wiimote? ( net-wireless/bluez )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+S=${WORKDIR}/SuperTuxKart-${PV}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-{gentoo,icon-dest,irrlicht,desktopfile,mesa-10.x,jpeg9,cmake}.patch
+
+ # inconsistent handling of debug definition
+ # avoid using Debug build type
+ if use debug ; then
+ sed -i \
+ -e 's/add_definitions(-DNDEBUG)/add_definitions(-DDEBUG)/' \
+ CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake-utils_use_use fribidi FRIBIDI)
+ $(cmake-utils_use_use wiimote WIIUSE)
+ -DSTK_INSTALL_BINARY_DIR="${GAMES_BINDIR}"
+ -DSTK_INSTALL_DATA_DIR="${GAMES_DATADIR}"/${PN}
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ # build bundled irrlicht
+ NDEBUG=1 emake -C lib/irrlicht/source/Irrlicht
+
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ doicon -s 64 "${DISTDIR}"/${PN}.png
+ dodoc AUTHORS ChangeLog README TODO
+ 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-action/swordandsworcery/Manifest b/games-action/swordandsworcery/Manifest
new file mode 100644
index 00000000000..a38a1603b27
--- /dev/null
+++ b/games-action/swordandsworcery/Manifest
@@ -0,0 +1 @@
+DIST swordandsworcery_1.02.tar.gz 325277619 SHA256 e7be30816059d5fa0bda2378d06f51984de13a17abd835cdc015e591354f59de SHA512 1178492628e8b8196bbb57b3d4d7526d5545bd31d0da34bcbed92150753fbb768c8682f071e2a473b95f1b6ee7c3efb30ccb9fce2e3e319d76673b79617e47c0 WHIRLPOOL 9ec0365372a62b7fadfa6b68e945918a1a2ade3c5e7bae561e16251ed0bf4e76b176bfed31e30b259e9a569858d1ae0b07a83067375ca26fe2da049602a570fd
diff --git a/games-action/swordandsworcery/files/swordandsworcery-wrapper b/games-action/swordandsworcery/files/swordandsworcery-wrapper
new file mode 100644
index 00000000000..ce668c71843
--- /dev/null
+++ b/games-action/swordandsworcery/files/swordandsworcery-wrapper
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Get game directory
+GAMEDIR="@GAMEDIR@"
+LIB=$GAMEDIR/lib
+BIN=$GAMEDIR/bin
+
+# Ensure the log directory exists
+LOGDIR=~/.capy/SwordAndSworcery
+[ -e ~/.capy ] || mkdir ~/.capy
+[ -e ~/.capy/SwordAndSworcery ] || mkdir ~/.capy/SwordAndSworcery
+
+# For multi-monitor displays, choose a screen to display on to avoid having
+# the game be displayed in the middle across both screens in fullscreen mode
+#export SDL_VIDEO_FULLSCREEN_DISPLAY=0
+
+# Modify library paths here
+export LD_LIBRARY_PATH="$LIB:$LD_LIBRARY_PATH"
+
+# Run the game and try to log any errors if any
+cd "$BIN"
+exec ./swordandsworcery $@ 2>&1 | tee -a $LOGDIR/log.txt
+
+exit
diff --git a/games-action/swordandsworcery/metadata.xml b/games-action/swordandsworcery/metadata.xml
new file mode 100644
index 00000000000..d13413d31d9
--- /dev/null
+++ b/games-action/swordandsworcery/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>
+ Use the upstream provided bundled libraries.
+ </flag>
+ </use>
+</pkgmetadata>
+
diff --git a/games-action/swordandsworcery/swordandsworcery-1.02.ebuild b/games-action/swordandsworcery/swordandsworcery-1.02.ebuild
new file mode 100644
index 00000000000..5813b997d32
--- /dev/null
+++ b/games-action/swordandsworcery/swordandsworcery-1.02.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: unbundle liblua-5.1 when available for multilib
+
+EAPI=5
+
+inherit eutils games
+
+DESCRIPTION="An exploratory action adventure game with an emphasis on audiovisual style"
+HOMEPAGE="http://www.swordandsworcery.com/"
+SRC_URI="${PN}_${PV}.tar.gz"
+
+LICENSE="CAPYBARA-EULA LGPL-3"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs"
+RESTRICT="bindist fetch splitdebug"
+
+MYGAMEDIR=${GAMES_PREFIX_OPT}/${PN}
+QA_PREBUILT="${MYGAMEDIR#/}/bin/*
+ ${MYGAMEDIR#/}/lib/*"
+
+# linked to pulseaudio
+RDEPEND="
+ virtual/opengl
+ amd64? (
+ >=dev-libs/openssl-1.0.1h-r2[abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)]
+ >=virtual/glu-9.0-r1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)]
+ >=media-libs/flac-1.2.1-r5[abi_x86_32(-)]
+ >=media-libs/libogg-1.3.0[abi_x86_32(-)]
+ >=media-libs/libsndfile-1.0.25[abi_x86_32(-)]
+ >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)]
+ >=media-sound/pulseaudio-2.1-r1[abi_x86_32(-)]
+ >=x11-libs/libICE-1.0.8-r1[abi_x86_32(-)]
+ >=x11-libs/libSM-1.2.1-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXau-1.0.7-r1[abi_x86_32(-)]
+ >=x11-libs/libxcb-1.9.1[abi_x86_32(-)]
+ >=x11-libs/libXdmcp-1.1.1-r1[abi_x86_32(-)]
+ >=x11-libs/libXext-1.3.2[abi_x86_32(-)]
+ >=x11-libs/libXi-1.7.2[abi_x86_32(-)]
+ >=x11-libs/libXtst-1.2.1-r1[abi_x86_32(-)]
+ !bundled-libs? (
+ >=net-misc/curl-7.36.0[abi_x86_32(-)]
+ >=media-libs/libsdl-1.2.15-r4[X,sound,video,opengl,joystick,abi_x86_32(-)]
+ )
+ )
+ x86? (
+ dev-libs/openssl
+ media-libs/alsa-lib
+ media-libs/flac
+ media-libs/libogg
+ media-libs/libsndfile
+ media-libs/libvorbis
+ media-sound/pulseaudio
+ sys-libs/zlib
+ virtual/glu
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+ x11-libs/libxcb
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXi
+ x11-libs/libXtst
+ !bundled-libs? (
+ net-misc/curl
+ media-libs/libsdl[X,sound,video,opengl,joystick]
+ )
+ )"
+
+S=${WORKDIR}
+
+pkg_nofetch() {
+ einfo "Please buy & download ${SRC_URI} from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move it to ${DISTDIR}"
+}
+
+src_prepare() {
+ if ! use bundled-libs ; then
+ einfo "removing bundled libs..."
+ rm -v lib/libcurl.so* lib/libSDL-1.2.so* \
+ lib/libstdc++.so* || die
+ fi
+
+ sed \
+ -e "s#@GAMEDIR@#${MYGAMEDIR}#" \
+ "${FILESDIR}"/${PN}-wrapper > "${T}"/${PN} || die
+}
+
+src_install() {
+ insinto "${MYGAMEDIR}"
+ doins -r bin lib res
+
+ dogamesbin "${T}"/${PN}
+ make_desktop_entry ${PN}
+
+ dohtml README.html
+
+ fperms +x "${MYGAMEDIR}"/bin/${PN}
+ prepgamesdirs
+}
diff --git a/games-action/teeworlds/Manifest b/games-action/teeworlds/Manifest
new file mode 100644
index 00000000000..9829eb71349
--- /dev/null
+++ b/games-action/teeworlds/Manifest
@@ -0,0 +1 @@
+DIST teeworlds-0.6.3-src.tar.gz 13101446 SHA256 490ee7c372898761c609af8d7b0c6bd55942c6c6fcd7f361eefa00abfc70077b SHA512 0c7ef6ca59e4b49f9e208f39e8b0edd76965d67848008af3a223cb7615a6c62ff433d3113f733ae4dafc364baf522d2f56255e058d26d9f5c48071cdde41526d WHIRLPOOL dc501bb9a2f4c3971ad063102a55cc70633857e3052f3a349d032dd8e92ea05f6138c62e9775b743b38dc3a56366d9920850b5a7ffbf6913ed73536a5cacdff4
diff --git a/games-action/teeworlds/files/0.6.3/01-use-system-wavpack.patch b/games-action/teeworlds/files/0.6.3/01-use-system-wavpack.patch
new file mode 100644
index 00000000000..4a11a866511
--- /dev/null
+++ b/games-action/teeworlds/files/0.6.3/01-use-system-wavpack.patch
@@ -0,0 +1,101 @@
+commit 7202b142891ee10771af9f1f3063664d75a38bbc
+Author: hasufell <hasufell@gentoo.org>
+Date: Thu Sep 5 12:28:30 2013 +0200
+
+ Use system wavpack. Based on patch from Gentoo Bugzilla
+
+ From: Azamat H. Hackimov <azamat.hackimov@gmail.com>
+
+ https://bugs.gentoo.org/show_bug.cgi?id=363395
+
+diff --git a/bam.lua b/bam.lua
+index 11ac7b9..35c1d8d 100644
+--- a/bam.lua
++++ b/bam.lua
+@@ -11,6 +11,7 @@ config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-p
+ config:Add(OptTestCompileC("minmacosxsdk", "int main(){return 0;}", "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"))
+ config:Add(OptTestCompileC("macosxppc", "int main(){return 0;}", "-arch ppc"))
+ config:Add(OptLibrary("zlib", "zlib.h", false))
++config:Add(OptLibrary("wavpack", "wavpack/wavpack.h", false))
+ config:Add(SDL.OptFind("sdl", true))
+ config:Add(FreeType.OptFind("freetype", true))
+ config:Finalize("config.lua")
+@@ -187,7 +188,7 @@ function build(settings)
+ end
+
+ -- compile zlib if needed
+- if config.zlib.value == 1 then
++ if config.zlib.value == true then
+ settings.link.libs:Add("z")
+ if config.zlib.include_path then
+ settings.cc.includes:Add(config.zlib.include_path)
+@@ -198,8 +199,18 @@ function build(settings)
+ settings.cc.includes:Add("src/engine/external/zlib")
+ end
+
++ if config.wavpack.value == true then
++ settings.link.libs:Add("wavpack")
++ if config.wavpack.include_path then
++ settings.cc.includes:Add(config.wavpack.include_path)
++ end
++ wavpack = {}
++ else
++ wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
++ settings.cc.includes:Add("src/engine/external/") --The header is wavpack/wavpack.h so include the external folder
++ end
++
+ -- build the small libraries
+- wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
+ pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
+
+ -- build game components
+diff --git a/src/engine/client/sound.cpp b/src/engine/client/sound.cpp
+index 343fa2e..e32cac9 100644
+--- a/src/engine/client/sound.cpp
++++ b/src/engine/client/sound.cpp
+@@ -13,7 +13,7 @@
+ #include "sound.h"
+
+ extern "C" { // wavpack
+- #include <engine/external/wavpack/wavpack.h>
++ #include <wavpack/wavpack.h>
+ }
+ #include <math.h>
+
+@@ -351,19 +351,25 @@ int CSound::LoadWV(const char *pFilename)
+ if(!m_pStorage)
+ return -1;
+
++ #ifndef WAVPACK_H
+ ms_File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, IStorage::TYPE_ALL);
+ if(!ms_File)
+ {
+ dbg_msg("sound/wv", "failed to open file. filename='%s'", pFilename);
+ return -1;
+ }
++ #endif
+
+ SampleID = AllocID();
+ if(SampleID < 0)
+ return -1;
+ pSample = &m_aSamples[SampleID];
+
++ #ifndef WAVPACK_H
+ pContext = WavpackOpenFileInput(ReadData, aError);
++ #else
++ pContext = WavpackOpenFileInput(pFilename, aError, 0, 0);
++ #endif
+ if (pContext)
+ {
+ int m_aSamples = WavpackGetNumSamples(pContext);
+@@ -419,8 +425,10 @@ int CSound::LoadWV(const char *pFilename)
+ dbg_msg("sound/wv", "failed to open %s: %s", pFilename, aError);
+ }
+
++ #ifndef WAVPACK_H
+ io_close(ms_File);
+ ms_File = NULL;
++ #endif
+
+ if(g_Config.m_Debug)
+ dbg_msg("sound/wv", "loaded %s", pFilename);
diff --git a/games-action/teeworlds/files/0.6.3/02-fixed-wavpack-sound-loading.patch b/games-action/teeworlds/files/0.6.3/02-fixed-wavpack-sound-loading.patch
new file mode 100644
index 00000000000..e207a4a354b
--- /dev/null
+++ b/games-action/teeworlds/files/0.6.3/02-fixed-wavpack-sound-loading.patch
@@ -0,0 +1,109 @@
+commit b96981f5f23b4269108afb465f29a23abbd32ae2
+Author: hasufell <hasufell@gentoo.org>
+Date: Thu Sep 5 12:31:19 2013 +0200
+
+ Fixing wavpack sound loading. Based on Gentoo Bugzilla
+
+ From: Azamat H. Hackimov <azamat.hackimov@gmail.com>
+
+ https://bugs.gentoo.org/show_bug.cgi?id=363395
+
+diff --git a/src/engine/client/sound.cpp b/src/engine/client/sound.cpp
+index e32cac9..2a4c653 100644
+--- a/src/engine/client/sound.cpp
++++ b/src/engine/client/sound.cpp
+@@ -51,6 +51,55 @@ struct CVoice
+ int m_X, m_Y;
+ } ;
+
++#ifdef WAVPACK_H
++static int32_t ReadBytes(void *pFile, void *pBuffer, int32_t Size)
++{
++ return (int32_t)io_read((IOHANDLE)pFile, pBuffer, Size);
++}
++static uint32_t GetPos(void *pFile)
++{
++ return (uint32_t)io_tell((IOHANDLE)pFile);
++}
++static int SetPosAbs(void *pFile, uint32_t Offset)
++{
++ return io_seek((IOHANDLE)pFile, Offset, IOSEEK_START);
++}
++static int SetPosRel(void *pFile, int32_t Offset, int Mode)
++{
++ switch(Mode)
++ {
++ case SEEK_SET:
++ Mode = IOSEEK_START;
++ break;
++ case SEEK_CUR:
++ Mode = IOSEEK_CUR;
++ break;
++ case SEEK_END:
++ Mode = IOSEEK_END;
++ }
++ return io_seek((IOHANDLE)pFile, Offset, Mode);
++}
++
++//TODO: Fix if 'real' functionality is needed by the wavpack header
++static int PushBackByte(void *pFile, int Char)
++{
++ return io_seek((IOHANDLE)pFile, -1, IOSEEK_CUR);
++}
++static uint32_t GetLength(void *pFile)
++{
++ return (uint32_t)io_length((IOHANDLE)pFile);
++}
++// Essentially assuming this to always be true, should fix if this isn't the case
++static int CanSeek(void *pFile)
++{
++ return pFile != NULL;
++}
++static WavpackStreamReader CWavpackReader = {
++ ReadBytes, GetPos, SetPosAbs, SetPosRel, PushBackByte, GetLength, CanSeek, 0
++};
++#endif
++
++
+ static CSample m_aSamples[NUM_SAMPLES] = { {0} };
+ static CVoice m_aVoices[NUM_VOICES] = { {0} };
+ static CChannel m_aChannels[NUM_CHANNELS] = { {255, 0} };
+@@ -351,14 +400,12 @@ int CSound::LoadWV(const char *pFilename)
+ if(!m_pStorage)
+ return -1;
+
+- #ifndef WAVPACK_H
+ ms_File = m_pStorage->OpenFile(pFilename, IOFLAG_READ, IStorage::TYPE_ALL);
+ if(!ms_File)
+ {
+ dbg_msg("sound/wv", "failed to open file. filename='%s'", pFilename);
+ return -1;
+ }
+- #endif
+
+ SampleID = AllocID();
+ if(SampleID < 0)
+@@ -368,7 +415,7 @@ int CSound::LoadWV(const char *pFilename)
+ #ifndef WAVPACK_H
+ pContext = WavpackOpenFileInput(ReadData, aError);
+ #else
+- pContext = WavpackOpenFileInput(pFilename, aError, 0, 0);
++ pContext = WavpackOpenFileInputEx(&CWavpackReader, ms_File, 0, aError, 0, 0);
+ #endif
+ if (pContext)
+ {
+@@ -422,13 +469,11 @@ int CSound::LoadWV(const char *pFilename)
+ }
+ else
+ {
+- dbg_msg("sound/wv", "failed to open %s: %s", pFilename, aError);
++ dbg_msg("sound/wv", "failed to open '%s': %s", pFilename, aError);
+ }
+
+- #ifndef WAVPACK_H
+ io_close(ms_File);
+ ms_File = NULL;
+- #endif
+
+ if(g_Config.m_Debug)
+ dbg_msg("sound/wv", "loaded %s", pFilename);
diff --git a/games-action/teeworlds/files/0.6.3/03-use-system-pnglite.patch b/games-action/teeworlds/files/0.6.3/03-use-system-pnglite.patch
new file mode 100644
index 00000000000..81c3d915316
--- /dev/null
+++ b/games-action/teeworlds/files/0.6.3/03-use-system-pnglite.patch
@@ -0,0 +1,160 @@
+commit 291a375000ac8d9cd5548a863ea6b49c46cfb1bb
+Author: hasufell <hasufell@gentoo.org>
+Date: Thu Sep 5 12:36:53 2013 +0200
+
+ Use system pnglite. Based on Gentoo Bugzilla
+
+ From: Azamat H. Hackimov <azamat.hackimov@gmail.com>
+
+ https://bugs.gentoo.org/show_bug.cgi?id=363395
+
+diff --git a/bam.lua b/bam.lua
+index 35c1d8d..7902a2c 100644
+--- a/bam.lua
++++ b/bam.lua
+@@ -11,6 +11,7 @@ config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-p
+ config:Add(OptTestCompileC("minmacosxsdk", "int main(){return 0;}", "-mmacosx-version-min=10.5 -isysroot /Developer/SDKs/MacOSX10.5.sdk"))
+ config:Add(OptTestCompileC("macosxppc", "int main(){return 0;}", "-arch ppc"))
+ config:Add(OptLibrary("zlib", "zlib.h", false))
++config:Add(OptLibrary("pnglite", "pnglite.h", false))
+ config:Add(OptLibrary("wavpack", "wavpack/wavpack.h", false))
+ config:Add(SDL.OptFind("sdl", true))
+ config:Add(FreeType.OptFind("freetype", true))
+@@ -199,26 +200,34 @@ function build(settings)
+ settings.cc.includes:Add("src/engine/external/zlib")
+ end
+
++ -- build game components
++ engine_settings = settings:Copy()
++ server_settings = engine_settings:Copy()
++ client_settings = engine_settings:Copy()
++ launcher_settings = engine_settings:Copy()
++
++ if config.pnglite.value == true then
++ client_settings.link.libs:Add("pnglite")
++ if config.pnglite.include_path then
++ client_settings.cc.includes:Add(config.pnglite.include_path)
++ end
++ pnglite = {}
++ else
++ pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
++ client_settings.cc.includes:Add("src/engine/external/pnglite")
++ end
++
+ if config.wavpack.value == true then
+- settings.link.libs:Add("wavpack")
++ client_settings.link.libs:Add("wavpack")
+ if config.wavpack.include_path then
+- settings.cc.includes:Add(config.wavpack.include_path)
++ client_settings.cc.includes:Add(config.wavpack.include_path)
+ end
+ wavpack = {}
+ else
+ wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
+- settings.cc.includes:Add("src/engine/external/") --The header is wavpack/wavpack.h so include the external folder
++ client_settings.cc.includes:Add("src/engine/external/") --The header is wavpack/wavpack.h so include the external folder
+ end
+
+- -- build the small libraries
+- pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
+-
+- -- build game components
+- engine_settings = settings:Copy()
+- server_settings = engine_settings:Copy()
+- client_settings = engine_settings:Copy()
+- launcher_settings = engine_settings:Copy()
+-
+ if family == "unix" then
+ if platform == "macosx" then
+ client_settings.link.frameworks:Add("OpenGL")
+diff --git a/src/engine/client/graphics.cpp b/src/engine/client/graphics.cpp
+index 2e8a855..97e4fd7 100644
+--- a/src/engine/client/graphics.cpp
++++ b/src/engine/client/graphics.cpp
+@@ -9,7 +9,7 @@
+ #include "SDL_opengl.h"
+
+ #include <base/system.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ #include <engine/shared/config.h>
+ #include <engine/graphics.h>
+diff --git a/src/engine/client/graphics_threaded.cpp b/src/engine/client/graphics_threaded.cpp
+index e34b725..60246d1 100644
+--- a/src/engine/client/graphics_threaded.cpp
++++ b/src/engine/client/graphics_threaded.cpp
+@@ -6,7 +6,7 @@
+ #include <base/tl/threading.h>
+
+ #include <base/system.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ #include <engine/shared/config.h>
+ #include <engine/graphics.h>
+diff --git a/src/tools/dilate.cpp b/src/tools/dilate.cpp
+index 55094a5..42a5b83 100644
+--- a/src/tools/dilate.cpp
++++ b/src/tools/dilate.cpp
+@@ -2,7 +2,7 @@
+ /* If you are missing that file, acquire a complete release at teeworlds.com. */
+ #include <base/system.h>
+ #include <base/math.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ typedef struct
+ {
+diff --git a/src/tools/tileset_borderadd.cpp b/src/tools/tileset_borderadd.cpp
+index 25e2fa5..88f760a 100644
+--- a/src/tools/tileset_borderadd.cpp
++++ b/src/tools/tileset_borderadd.cpp
+@@ -2,7 +2,7 @@
+ /* If you are missing that file, acquire a complete release at teeworlds.com. */
+ #include <base/math.h>
+ #include <base/system.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ typedef struct
+ {
+diff --git a/src/tools/tileset_borderfix.cpp b/src/tools/tileset_borderfix.cpp
+index 0facb9a..ab36292 100644
+--- a/src/tools/tileset_borderfix.cpp
++++ b/src/tools/tileset_borderfix.cpp
+@@ -1,7 +1,7 @@
+ /* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
+ /* If you are missing that file, acquire a complete release at teeworlds.com. */
+ #include <base/system.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ typedef struct
+ {
+diff --git a/src/tools/tileset_borderrem.cpp b/src/tools/tileset_borderrem.cpp
+index d604ecb..8673e41 100644
+--- a/src/tools/tileset_borderrem.cpp
++++ b/src/tools/tileset_borderrem.cpp
+@@ -2,7 +2,7 @@
+ /* If you are missing that file, acquire a complete release at teeworlds.com. */
+ #include <base/math.h>
+ #include <base/system.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ typedef struct
+ {
+diff --git a/src/tools/tileset_borderset.cpp b/src/tools/tileset_borderset.cpp
+index 8b3e299..c762ee2 100644
+--- a/src/tools/tileset_borderset.cpp
++++ b/src/tools/tileset_borderset.cpp
+@@ -2,7 +2,7 @@
+ /* If you are missing that file, acquire a complete release at teeworlds.com. */
+ #include <base/math.h>
+ #include <base/system.h>
+-#include <engine/external/pnglite/pnglite.h>
++#include <pnglite.h>
+
+ typedef struct
+ {
diff --git a/games-action/teeworlds/files/0.6.3/04-dedicated.patch b/games-action/teeworlds/files/0.6.3/04-dedicated.patch
new file mode 100644
index 00000000000..fc61b71283b
--- /dev/null
+++ b/games-action/teeworlds/files/0.6.3/04-dedicated.patch
@@ -0,0 +1,15 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Sep 8 11:05:26 UTC 2013
+Subject: fix DATADIR detection for minimal setups
+
+--- a/src/engine/shared/storage.cpp
++++ b/src/engine/shared/storage.cpp
+@@ -208,7 +208,7 @@
+ for (i = 0; i < DirsCount; i++)
+ {
+ char aBuf[128];
+- str_format(aBuf, sizeof(aBuf), "%s/mapres", aDirs[i]);
++ str_format(aBuf, sizeof(aBuf), "%s/maps", aDirs[i]);
+ if(fs_is_dir(aBuf))
+ {
+ str_copy(m_aDatadir, aDirs[i], sizeof(m_aDatadir));
diff --git a/games-action/teeworlds/files/0.6.3/05-cc-cflags.patch b/games-action/teeworlds/files/0.6.3/05-cc-cflags.patch
new file mode 100644
index 00000000000..dec6b8d306f
--- /dev/null
+++ b/games-action/teeworlds/files/0.6.3/05-cc-cflags.patch
@@ -0,0 +1,18 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sun Sep 8 12:25:19 UTC 2013
+Subject: respect our gentoo settings
+
+ this has to be at this place or later
+ otherwise some of our settings would be overwritten
+
+--- a/bam.lua
++++ b/bam.lua
+@@ -168,6 +168,8 @@
+ -- set some platform specific settings
+ settings.cc.includes:Add("src")
+
++ dofile("gentoo.lua") addSettings(settings)
++
+ if family == "unix" then
+ if platform == "macosx" then
+ settings.link.frameworks:Add("Carbon")
diff --git a/games-action/teeworlds/files/teeworlds-init.d b/games-action/teeworlds/files/teeworlds-init.d
new file mode 100644
index 00000000000..7b9fd33bffe
--- /dev/null
+++ b/games-action/teeworlds/files/teeworlds-init.d
@@ -0,0 +1,40 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/teeworlds.pid
+GAME_DIRECTORY=/usr/games/bin
+CONFIG=/etc/teeworlds/teeworlds_srv.cfg
+
+depend() {
+ use dns logger net
+}
+
+checkconfig() {
+ if [ ! -e ${CONFIG} ] ; then
+ eerror "You need an ${CONFIG} config file to run TeeWorlds"
+ return 1
+ fi
+}
+
+start() {
+ ebegin "Starting TeeWorlds"
+ start-stop-daemon --start --background --pidfile "${PIDFILE}" \
+ --make-pidfile -d ${GAME_DIRECTORY} --user games \
+ --exec ${GAME_DIRECTORY}/teeworlds_srv -- -f ${CONFIG}
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading TeeWorlds configs and restarting processes"
+ start-stop-daemon --stop --oknodo --user games \
+ --pidfile "${PIDFILE}" --signal HUP \
+ --exec ${GAME_DIRECTORY}/teeworlds_srv -- -f ${CONFIG}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping TeeWorlds"
+ start-stop-daemon --stop --quiet --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/games-action/teeworlds/files/teeworlds.xpm b/games-action/teeworlds/files/teeworlds.xpm
new file mode 100644
index 00000000000..76e30166dd3
--- /dev/null
+++ b/games-action/teeworlds/files/teeworlds.xpm
@@ -0,0 +1,66 @@
+/* XPM */
+static char *teeworlds__[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 12 1",
+" c #000000",
+". c #800000",
+"X c #FF0000",
+"o c #008000",
+"O c #808000",
+"+ c #FFFF00",
+"@ c #000080",
+"# c #800080",
+"$ c #008080",
+"% c #808080",
+"& c #C0C0C0",
+"* c None",
+/* pixels */
+"*********************%%.%%%*********************",
+"*****************% %*****************",
+"*************** .%O%OOO. ***************",
+"************* ..%+&++++++++&O @*************",
+"***********% O&&++++++++++++++% ************",
+"**********O .+&&+++++++++++++++++O %**********",
+"*********@ O&&&+++++++++++++++++++% %*********",
+"******** .O&+++++++++++++++++++++++% %********",
+"*******% O+&++++++++++++++++++++++++% ********",
+"******* O+&&+++++++++++++++++++++++++% *******",
+"****** O+X&+++++++++++++++++++++++++++O .******",
+"*****% .OX++++++++++++++++++++++++++++++ ******",
+"***** .++++++++++++ +++++O@ ++++++++++ *****",
+"****% ++X+++++++++ +++O . +++++++++ *****",
+"**** O+X++++++++++ +++ +++++++++O %****",
+"**** X++X+++++++++ +++ ++++++++++ ****",
+"**** ++X+&++++++++ +++ ++++++++++ ****",
+"***% .+X+O+++++++++ +++ ++++++++++O ****",
+"***% O++X+&++++++++ +++ ++++++++++% %***",
+"*** O+X+++++++++++ +++O ++++++++++O %***",
+"*** OX+X+X+++++++++ +++++ +++++++++++& .***",
+"*** ++++X+&++++++++++++++++++++++++++++++O $***",
+"*** OX+X++%++++++++++++++++++++++++++++++% .***",
+"*** O+O++X+++++++++++++++++++++++++++++++% %***",
+"*** O+X+X+++++++++++++++++++++++++++++++&O %***",
+"***% .+O++X+X+++++++++++++++++++++++++++++ ****",
+"**** +X+X+++%+++++++++++++++++++++++++++& ****",
+"**** O++O+OX+&++++++++++++++++++++++++++% ****",
+"****% .+X+X++++&+++++++++++++++++++++++++. %****",
+"***** O+O+X+OX+&+++++++++++++++++++++++% *****",
+"***** O+X++X+++++++++++++++++++++++++++@ %*****",
+"****** OO+X++X+X++++++++++++++++++++++% ******",
+"******% ++O+X++O+++++++++++++++++++++& %******",
+"******* .O o .O.O+&+++++++++++++++&. %*******",
+"******% O.OOO#o. OO+&+++++++++++&. ********",
+"*****% .O+X&X+X+X%+. OX++&+&+&X+X+ *******",
+"***** .%OX+O+%O+&+X&+O oO+X+X++++O .OO ******",
+"****% .OO+%+&X+&+X+%+X&X .+O++X+O. #%+X+. *****",
+"**** O+X+X+X+%+X&++%+O+% O+X+OO .O+X+&OO. *****",
+"**** OX+%+O%+%+%+&X+&X+XO OO .O%+%+%X+%O $****",
+"**** +OOX+X+X+X+X+%+X+%+. ..O%X+X+X+%+X% .****",
+"**** OX+%+%+%+%+%+%+%+X+. O+%+O+%+%+%+X+O ****",
+"**** OOX+X+X+X+OX+X+X+OO.OX+X+XOX+X+X+OO %****",
+"****% OOOOOOO+XO+OOOOO. OOOOOO+OOOOOO. %****",
+"***** %*****",
+"******* .%*******",
+"***********%%%%%%%%%%%**%%%%%%%%%%%%************",
+"************************************************"
+};
diff --git a/games-action/teeworlds/files/teeworlds_srv.cfg b/games-action/teeworlds/files/teeworlds_srv.cfg
new file mode 100644
index 00000000000..dc675622c78
--- /dev/null
+++ b/games-action/teeworlds/files/teeworlds_srv.cfg
@@ -0,0 +1,7 @@
+# sample Teeworlds server config file
+# see http://www.teeworlds.com/?page=docs&wiki=ServerSettings for details
+sv_gametype dm
+sv_map dm1
+sv_name gentoo-teeworlds
+sv_register 1
+sv_scorelimit 20 \ No newline at end of file
diff --git a/games-action/teeworlds/metadata.xml b/games-action/teeworlds/metadata.xml
new file mode 100644
index 00000000000..01a746edb19
--- /dev/null
+++ b/games-action/teeworlds/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+</pkgmetadata>
+
diff --git a/games-action/teeworlds/teeworlds-0.6.3.ebuild b/games-action/teeworlds/teeworlds-0.6.3.ebuild
new file mode 100644
index 00000000000..11724ef824d
--- /dev/null
+++ b/games-action/teeworlds/teeworlds-0.6.3.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+inherit eutils multiprocessing python-any-r1 toolchain-funcs games
+
+REVISION="b177-r50edfd37"
+
+DESCRIPTION="Online multi-player platform 2D shooter"
+HOMEPAGE="http://www.teeworlds.com/"
+SRC_URI="https://downloads.teeworlds.com/${P}-src.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug dedicated"
+
+RDEPEND="
+ !dedicated? ( media-libs/pnglite
+ media-libs/libsdl[X,sound,opengl,video]
+ media-sound/wavpack
+ virtual/opengl
+ app-arch/bzip2
+ media-libs/freetype
+ virtual/glu
+ x11-libs/libX11 )
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ ~dev-util/bam-0.4.0"
+
+S=${WORKDIR}/${P}-src
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ games_pkg_setup
+}
+
+src_prepare() {
+ rm -r src/engine/external/* || die
+
+ # 01 & 02 from pull request: https://github.com/oy/teeworlds/pull/493
+ EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" \
+ epatch
+
+ cat <<- __EOF__ > "${S}/gentoo.lua"
+ function addSettings(settings)
+ print("Adding Gentoo settings")
+ settings.optimize = 0
+ settings.cc.exe_c = "$(tc-getCC)"
+ settings.cc.exe_cxx = "$(tc-getCXX)"
+ settings.cc.flags_c:Add("${CFLAGS}")
+ settings.cc.flags_cxx:Add("${CXXFLAGS}")
+ settings.link.exe = "$(tc-getCXX)"
+ settings.link.flags:Add("${LDFLAGS}")
+ end
+ __EOF__
+
+ sed -i \
+ -e "s#/usr/share/games/teeworlds/data#${GAMES_DATADIR}/${PN}/data#" \
+ src/engine/shared/storage.cpp || die
+}
+
+src_configure() {
+ bam -v config || die
+}
+
+src_compile() {
+ local myopt
+
+ if use debug; then
+ myopt=" server_debug"
+ else
+ myopt=" server_release"
+ fi
+ if ! use dedicated; then
+ if use debug; then
+ myopt+=" client_debug"
+ else
+ myopt+=" client_release"
+ fi
+ fi
+
+ bam -v -a -j $(makeopts_jobs) ${myopt} || die
+}
+
+src_install() {
+ if use debug; then
+ newgamesbin ${PN}_srv_d ${PN}_srv
+ else
+ dogamesbin ${PN}_srv
+ fi
+ if ! use dedicated; then
+ if use debug; then
+ newgamesbin ${PN}_d ${PN}
+ else
+ dogamesbin ${PN}
+ fi
+
+ doicon "${FILESDIR}"/${PN}.xpm
+ make_desktop_entry ${PN} Teeworlds
+
+ insinto "${GAMES_DATADIR}"/${PN}/data
+ doins -r data/*
+ else
+ insinto "${GAMES_DATADIR}"/${PN}/data/maps
+ doins -r data/maps/*
+ fi
+ newinitd "${FILESDIR}"/${PN}-init.d ${PN}
+ insinto "/etc/${PN}"
+ doins "${FILESDIR}"/teeworlds_srv.cfg
+
+ dodoc readme.txt
+
+ prepgamesdirs
+}
diff --git a/games-action/towbowl-tactics/Manifest b/games-action/towbowl-tactics/Manifest
new file mode 100644
index 00000000000..ecb681ee557
--- /dev/null
+++ b/games-action/towbowl-tactics/Manifest
@@ -0,0 +1 @@
+DIST tbt.0.5.src.zip 5321239 SHA256 a4640db7039d3ffd9e7a136cc81e33e3b090da03bb4daf6a2d908aec0d4b70b2 SHA512 930d7ba78210e0ad566989279e6d77235c61c641c18da36618de36fcd82d28dd8ca40516ce1384c2a000e4efe86584928cf9c7d2da5fb455f89d358653089f97 WHIRLPOOL 843bc36c5c3a7911d3529b3ca78d30fa483067646fd77e059cc92d0e334637b024a0ee1d50c8e66853c547ab10858a98977e0a7fff94e69966fa13c50224833c
diff --git a/games-action/towbowl-tactics/files/towbowl-tactics-0.5-gentoo.patch b/games-action/towbowl-tactics/files/towbowl-tactics-0.5-gentoo.patch
new file mode 100644
index 00000000000..aa6a950e9a0
--- /dev/null
+++ b/games-action/towbowl-tactics/files/towbowl-tactics-0.5-gentoo.patch
@@ -0,0 +1,42 @@
+diff -ru tbt.orig/config.xml tbt/config.xml
+--- tbt.orig/config.xml 2003-02-01 15:14:56.000000000 -0500
++++ tbt/config.xml 2011-01-10 12:08:01.564649048 -0500
+@@ -5,5 +5,5 @@
+ <screen_h>600</screen_h>
+ <sound_enabled>1</sound_enabled>
+ <video_enabled>1</video_enabled>
+-<language>0</language>
++<language>1</language>
+ </config>
+diff -ru tbt.orig/src/Makefile tbt/src/Makefile
+--- tbt.orig/src/Makefile 2003-02-01 15:07:40.000000000 -0500
++++ tbt/src/Makefile 2011-01-10 12:07:29.075274834 -0500
+@@ -1,24 +1,20 @@
+ TBTHOME = /usr/local/games/tbt
+ INCDIR = -I /usr/include/smpeg -I /usr/include/libxml2 -I /usr/include/SDL/
+-CFLAGS = -O2 -g -fno-strength-reduce -Wall -W -DTBTHOME=\"$(TBTHOME)\"
+-LFLAGS = -L. -lm -lSDL -lSDL_net -lSDL_image -lSDL_mixer -ldl -pthread -lxml2 -lsmpeg
+-CC = g++
++CXXFLAGS += -DTBTHOME=\"$(TBTHOME)\"
++LIBS = -lm -lSDL -lSDL_net -lSDL_image -lSDL_mixer -ldl -pthread -lxml2 -lsmpeg
+ SOURCES = movies.cpp sounds.cpp SFont.cpp Ball.cpp CON_console.cpp CON_consolecommands.cpp CON_internal.cpp Config.cpp Console.cpp DT_drawtext.cpp DialogBox.cpp Dice.cpp Formation.cpp Main.cpp MoviePlayer.cpp NetClient.cpp NetServer.cpp Network.cpp Path.cpp Player.cpp ProgressBar.cpp Public.cpp Screen.cpp Shared.cpp SoundPlayer.cpp Square.cpp State.cpp Team.cpp Transformation.cpp Translator.cpp XmlParser.cpp dir_func.cpp
+ OBJS = $(patsubst %.c,%.o,$(SOURCES:%.cpp=%.o))
+ PRGM = tbt
+
+ .SUFFIXES: .cpp .c
+
+-.c.o:
+- $(CC) -c $< $(CFLAGS) $(INCDIR) -o $@
+-
+ .cpp.o:
+- $(CC) -c $< $(CFLAGS) $(INCDIR) -o $@
++ $(CXX) -c $< $(CXXFLAGS) $(INCDIR) -o $@
+
+ all: $(PRGM)
+
+ $(PRGM): $(OBJS)
+- $(CC) $(OBJS) -o $(PRGM) $(LFLAGS)
++ $(CXX) $(OBJS) -o $(PRGM) $(LDFLAGS) $(LIBS)
+
+ clean:
+ -rm -f $(PRGM) *core *~ *.o
diff --git a/games-action/towbowl-tactics/metadata.xml b/games-action/towbowl-tactics/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/towbowl-tactics/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/towbowl-tactics/towbowl-tactics-0.5.ebuild b/games-action/towbowl-tactics/towbowl-tactics-0.5.ebuild
new file mode 100644
index 00000000000..8e8e5c964b6
--- /dev/null
+++ b/games-action/towbowl-tactics/towbowl-tactics-0.5.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="Tow Bowl Tactics is a game based on Games Workshop's Blood Bowl"
+HOMEPAGE="http://www.towbowltactics.com/index_en.html"
+SRC_URI="http://www.towbowltactics.com/download/tbt.${PV}.src.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="dev-libs/libxml2
+ media-libs/smpeg
+ media-libs/libsdl[sound,video]
+ media-libs/sdl-net
+ media-libs/sdl-image[jpeg,png]
+ media-libs/sdl-mixer"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S=${WORKDIR}/tbt/src
+
+src_prepare() {
+ cd ..
+ edos2unix $(find src -type f) config.xml
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ sed -i \
+ -e "/^TBTHOME/ s:/.*:${GAMES_DATADIR}/tbt:" \
+ src/Makefile || die
+ sed -i \
+ -e "/tbt.ico/ s:\"\./:TBTHOME \"/:" \
+ src/Main.cpp || die
+ sed -i \
+ -e "s:TBTHOME \"/config.xml:\"${GAMES_SYSCONFDIR}/tbt/config.xml:g" \
+ src/global.h || die
+}
+
+src_install() {
+ dogamesbin tbt
+ dodir "${GAMES_DATADIR}/tbt"
+ cp -r ../data ../tbt.ico "${D}${GAMES_DATADIR}/tbt" || die
+ insinto "${GAMES_SYSCONFDIR}/tbt"
+ doins ../config.xml
+ newicon ../data/images/panel/turn.png ${PN}.png
+ make_desktop_entry tbt "Tow Bowl Tactics"
+ prepgamesdirs
+}
diff --git a/games-action/transcend/Manifest b/games-action/transcend/Manifest
new file mode 100644
index 00000000000..de463a1d997
--- /dev/null
+++ b/games-action/transcend/Manifest
@@ -0,0 +1 @@
+DIST Transcend_0.3_UnixSource.tar.gz 1847261 SHA256 46dae7cbd1b95c6865a664022ca804c462f1731c974882a527e43810e99fcd40 SHA512 5a2d21256c202ee045f8e2c926705f79885f6efbb5f44d3129e5b05cb1e28f909a32a5d873a9673d5fa48cbe4e79766c44947f147089e988e2fa3f83cde1b91d WHIRLPOOL 92c4ac48d5d6b8104fd4a975ed4f13a375296ce1227515e634f36f0fbf3bd7d446620c11f8662a9c24c123156fddcb40c007af988535da5bc27ca2ecbbcdc525
diff --git a/games-action/transcend/metadata.xml b/games-action/transcend/metadata.xml
new file mode 100644
index 00000000000..d73d354bd0d
--- /dev/null
+++ b/games-action/transcend/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">transcend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/transcend/transcend-0.3.ebuild b/games-action/transcend/transcend-0.3.ebuild
new file mode 100644
index 00000000000..826b88f0497
--- /dev/null
+++ b/games-action/transcend/transcend-0.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit games
+
+DESCRIPTION="retro-style, abstract, 2D shooter"
+HOMEPAGE="http://transcend.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/Transcend_${PV}_UnixSource.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND="x11-libs/libXmu
+ x11-libs/libXi
+ virtual/opengl
+ virtual/glu
+ media-libs/freeglut"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/Transcend_${PV}_UnixSource/Transcend
+
+src_prepare() {
+ chmod a+x portaudio/configure
+ mkdir portaudio/{lib,bin}
+ rm -f game/Makefile
+ sed \
+ -e '/^GXX=/d' \
+ -e 's/GXX/CXX/' \
+ -e '/^COMPILE_FLAGS =/ s/OPTIMIZE_FLAG/CXXFLAGS/' \
+ -e '/^EXE_LINK =/ s/LINK_FLAGS/LDFLAGS/' \
+ Makefile.GnuLinuxX86 \
+ Makefile.common \
+ Makefile.minorGems \
+ game/Makefile.all \
+ Makefile.minorGems_targets \
+ > game/Makefile || die
+ sed -i \
+ -e "s:\"levels\":\"${GAMES_DATADIR}/${PN}/levels\":" \
+ game/LevelDirectoryManager.cpp \
+ game/game.cpp || die
+}
+
+src_configure() {
+ cd portaudio
+ egamesconf
+}
+
+src_compile() {
+ emake -C portaudio lib/libportaudio.a
+ emake -C game
+ cp game/Transcend ${PN} || die
+}
+
+src_install() {
+ dogamesbin ${PN}
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r levels/
+ dodoc doc/{how_to_play.txt,changeLog.txt}
+ prepgamesdirs
+}
diff --git a/games-action/trine-bin/Manifest b/games-action/trine-bin/Manifest
new file mode 100644
index 00000000000..7fc382041ee
--- /dev/null
+++ b/games-action/trine-bin/Manifest
@@ -0,0 +1 @@
+DIST Trine.64.run 648471997 SHA256 1c9067cb19e3c954b460b4df27e6ca5d80b31c7ead49bd5779dcbce5528177db
diff --git a/games-action/trine-bin/metadata.xml b/games-action/trine-bin/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/trine-bin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/trine-bin/trine-bin-1.08.ebuild b/games-action/trine-bin/trine-bin-1.08.ebuild
new file mode 100644
index 00000000000..a4d3d63715f
--- /dev/null
+++ b/games-action/trine-bin/trine-bin-1.08.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# these are ELFs that include a ZIP (504b0304) appended to it
+# dd if=Trine.64.run of=Trine.64.zip ibs=$((0x342a8)) skip=1
+# dd if=Trine.32.run of=Trine.32.zip ibs=$((0x31c24)) skip=1
+# but `unzip` will skip the ELF at the start. both ELFs contain
+# the same zip appended, so only need to hash one of them.
+
+EAPI=5
+inherit unpacker games eutils
+
+DESCRIPTION="a physics-based action game where diff characters allow diff solutions to challenges"
+HOMEPAGE="http://trine-thegame.com/"
+SRC_URI="Trine.64.run"
+
+LICENSE="frozenbyte-eula"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+IUSE=""
+RESTRICT="fetch strip"
+
+DEPEND="app-arch/unzip"
+RDEPEND=">=sys-libs/glibc-2.4
+ >=sys-devel/gcc-4.3.0
+ dev-libs/libx86
+ gnome-base/libglade"
+
+S=${WORKDIR}
+
+d=${GAMES_PREFIX_OPT}/${PN}
+QA_PRESTRIPPED="${d#/}/trine-launcher ${d#/}/trine-bin ${d#/}/lib*/lib*.so*"
+QA_TEXTRELS_x86="`echo ${d#/}/lib32/lib{avcodec.so.51,avformat.so.52,avutil.so.49,FLAC.so.8}`"
+
+pkg_nofetch() {
+ einfo "Fetch ${SRC_URI} and put it into ${DISTDIR}"
+ einfo "See http://www.humblebundle.com/ for more info."
+}
+
+src_unpack() {
+ # manually run unzip as the initial seek causes it to exit(1)
+ unpack_zip ${A}
+ rm lib*/lib{gcc_s,m,rt,selinux}.so.?
+}
+
+src_install() {
+ local b bb
+ local sfx=$(use x86 && echo 32 || echo 64)
+
+ doicon Trine.xpm
+ for b in bin launcher ; do
+ bb="trine-${b}"
+ exeinto ${d}
+ newexe ${bb}${sfx} ${bb}
+ games_make_wrapper ${bb} "./${bb}" "${d}"
+ make_desktop_entry ${bb} "Trine ${b}" Trine
+ done
+
+ exeinto ${d}/lib${sfx}
+ doexe lib${sfx}/*
+
+ insinto ${d}
+ doins -r binds config data dev profiles *.fbz *.glade trine-logo.png
+
+ dodoc Trine_Manual_linux.pdf Trine_updates.txt
+
+ prepgamesdirs
+}
diff --git a/games-action/trine2/Manifest b/games-action/trine2/Manifest
new file mode 100644
index 00000000000..584187e0bfe
--- /dev/null
+++ b/games-action/trine2/Manifest
@@ -0,0 +1 @@
+DIST trine2_linux_installer.run 1631149097 SHA256 39edf004fb4001360bb4b432cd365ab4b14350612e5632df789d568d682177e7 SHA512 d0c402f4f73f45290784c9414a5b59f89513b14bd09ade815d4456a77ae95909082e0a6a1afad198f6f58707a5d10eedbacd30d6cc5d063eabb702b03a7dc56e WHIRLPOOL 888073296772659c87d9955c14ac116c93bcf5da6ec2715e6a74b10520f2dcd94c5e50a794d0833f3242e3c47689f3f0042883b6673c6f8e0563fea829e06ad0
diff --git a/games-action/trine2/metadata.xml b/games-action/trine2/metadata.xml
new file mode 100644
index 00000000000..17a39c8320c
--- /dev/null
+++ b/games-action/trine2/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='bundled-libs'>Use bundled libraries.</flag>
+ <flag name='launcher'>Install gtk+ launcher</flag>
+ </use>
+</pkgmetadata>
+
diff --git a/games-action/trine2/trine2-1.16.ebuild b/games-action/trine2/trine2-1.16.ebuild
new file mode 100644
index 00000000000..09463d6d87f
--- /dev/null
+++ b/games-action/trine2/trine2-1.16.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker gnome2-utils games
+
+MY_PN="Trine 2"
+DESCRIPTION="A sidescrolling game of action, puzzles and platforming"
+HOMEPAGE="http://www.trine2.com/"
+SRC_URI="${PN}_linux_installer.run"
+
+LICENSE="all-rights-reserved"
+SLOT="0"
+KEYWORDS="-* amd64 x86"
+IUSE="bundled-libs +launcher"
+RESTRICT="fetch bindist splitdebug"
+
+QA_PREBUILT="${GAMES_PREFIX_OPT}/${PN}/${PN}*
+ ${GAMES_PREFIX_OPT}/${PN}/lib/*"
+
+# TODO: bundled-libs: no libsdl-1.3, no physx
+RDEPEND="
+ amd64? (
+ >=dev-libs/glib-2.34.3:2[abi_x86_32(-)]
+ >=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)]
+ >=virtual/glu-9.0-r1[abi_x86_32(-)]
+ >=virtual/opengl-7.0-r1[abi_x86_32(-)]
+ >=media-libs/openal-1.15.1[abi_x86_32(-)]
+ >=media-libs/libogg-1.3.0[abi_x86_32(-)]
+ >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)]
+ >=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
+ launcher? (
+ >=media-libs/fontconfig-2.10.92[abi_x86_32(-)]
+ >=media-libs/libpng-1.5.18:1.5[abi_x86_32(-)]
+ >=x11-libs/gtk+-2.24.23:2[abi_x86_32(-)]
+ >=x11-libs/libSM-1.2.1-r1[abi_x86_32(-)]
+ >=x11-libs/libX11-1.6.2[abi_x86_32(-)]
+ >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)]
+ >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)]
+ )
+ !bundled-libs? (
+ media-gfx/nvidia-cg-toolkit[multilib]
+ )
+ )
+ x86? (
+ dev-libs/glib:2
+ media-libs/freetype
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/openal
+ sys-libs/zlib
+ virtual/glu
+ virtual/opengl
+ launcher? (
+ media-libs/fontconfig
+ media-libs/libpng:1.5
+ x11-libs/gtk+:2
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXinerama
+ x11-libs/libXxf86vm
+ )
+ !bundled-libs? ( media-gfx/nvidia-cg-toolkit )
+ )"
+
+S=${WORKDIR}
+
+pkg_nofetch() {
+ einfo
+ einfo "Please buy & download \"${SRC_URI}\" from:"
+ einfo " ${HOMEPAGE}"
+ einfo "and move/link it to \"${DISTDIR}\""
+ einfo
+}
+
+src_unpack() {
+ local offset="$(( $(grep -a -h -n -m 1 -F -e THIS_IS_THE_LAST_SCRIPT_LINE_ARCHIVE_DATA_FOLLOWS "${DISTDIR}"/${A} | cut -d':' -f1) + 1 ))"
+ unpack_makeself ${A} "${offset}" "tail"
+}
+
+src_install() {
+ local dir=${GAMES_PREFIX_OPT}/${PN}
+
+ insinto "${dir}"
+ doins -r data*
+
+ exeinto "${dir}"
+ newexe "bin/trine2_linux_32bit" ${PN}
+
+ exeinto "${dir}/lib"
+ use bundled-libs || { find lib/lib32 -type f -name "libCg*.so*" -delete || die ;}
+ doexe lib/lib32/*
+
+ games_make_wrapper ${PN} "./${PN}" "${dir}" "${dir}/lib"
+ doicon -s 64 ${PN}.png
+ make_desktop_entry ${PN} "${MY_PN}"
+
+ if use launcher ; then
+ exeinto "${dir}"
+ newexe bin/trine2_linux_launcher_32bit ${PN}-launcher
+
+ games_make_wrapper ${PN}-launcher "./${PN}-launcher" "${dir}" "${dir}/lib"
+ make_desktop_entry ${PN}-launcher "${MY_PN} (launcher)"
+
+ # launcher binary has hardcoded the script path
+ dodir "${dir}"/bin
+ dosym "${GAMES_BINDIR}"/trine2 "${dir}"/bin/trine2_bin_starter.sh
+ fi
+
+ dodoc KNOWN_LINUX_ISSUES README
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ einfo
+ elog "${MY_PN} savegames and configurations are stored in:"
+ elog " \${HOME}/.frozenbyte/${MY_PN//\ /}"
+ einfo
+
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-action/trosh/Manifest b/games-action/trosh/Manifest
new file mode 100644
index 00000000000..4a15c096fbe
--- /dev/null
+++ b/games-action/trosh/Manifest
@@ -0,0 +1,2 @@
+DIST trosh-20.zip 5182303 SHA256 585342c1fd835017f83704be10a02151cfaafdae836ab89a5ffd0d7206b34465 SHA512 2a8988f5715340850a61acde54403c968947d41d5f0a1ac098c4cc3959f69f150cee567933fd5148a2c23c237210c10dc58005de1bd949d6db59cd794a0003ec WHIRLPOOL 0adbd2948162e177a64301021c5ddde19c7a88365b414019ffe4201a16b4ead614f4707dae370fbb195c98923cbdf0d01424c176a7726f6eb5d52ab05b5f544d
+DIST trosh.png 242 SHA256 567bf00d204e9de9c42a87fac040fdac2fcc17c114427c8175a3f859b455111f SHA512 85ff46c8c75b018a59a8e7dace85fc5ccf2439babedb0e4d134301eb9f7edfe5d7f4f3af1329f04257c16d978f27df38f10cb3ffbc4b424808a5f3c5c78bfc69 WHIRLPOOL 5831ffa87b90d3102c58fef94caff287ac727e7eda9b100ceff9d29a2a50c851e73126b7da28d8ae614887db40863c19f7136f44bb02398f0b92ed0d44ad226c
diff --git a/games-action/trosh/metadata.xml b/games-action/trosh/metadata.xml
new file mode 100644
index 00000000000..01a746edb19
--- /dev/null
+++ b/games-action/trosh/metadata.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+</pkgmetadata>
+
diff --git a/games-action/trosh/trosh-20.ebuild b/games-action/trosh/trosh-20.ebuild
new file mode 100644
index 00000000000..6267286dcc1
--- /dev/null
+++ b/games-action/trosh/trosh-20.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils gnome2-utils games
+
+DESCRIPTION="A game made in 20 hours for a friend. It has explosions"
+HOMEPAGE="http://stabyourself.net/trosh/"
+SRC_URI="http://stabyourself.net/dl.php?file=trosh/trosh-linux.zip -> ${P}.zip
+ http://dev.gentoo.org/~hasufell/distfiles/${PN}.png"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND=">=games-engines/love-0.8.0
+ media-libs/devil[png]"
+DEPEND="app-arch/unzip"
+
+S=${WORKDIR}
+
+src_install() {
+ local dir=${GAMES_DATADIR}/love/${PN}
+
+ exeinto "${dir}"
+ doexe ${PN}.love
+
+ dodoc {LICENSE,readme}.txt README
+
+ doicon -s 32 "${DISTDIR}"/${PN}.png
+ games_make_wrapper ${PN} "love ${PN}.love" "${dir}"
+ make_desktop_entry ${PN}
+
+ 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-action/tuxkart/Manifest b/games-action/tuxkart/Manifest
new file mode 100644
index 00000000000..7c0beb9c263
--- /dev/null
+++ b/games-action/tuxkart/Manifest
@@ -0,0 +1 @@
+DIST tuxkart-0.4.0.tar.gz 4932535 SHA256 2d9048435ac558debf92d430efa55ccf15c68e1253c97648babe67437ff82c12 SHA512 5c49b417a1e582d0151a79c0ee5f746ff22c118ce7ed6d243ae43c9d465cb23891736afd10db771cd1f133414f34fce7747e63dafbbe8ebe4f3997ab77ec31a9 WHIRLPOOL 518b0bc0b4457848f72ce75da8f1107d26e04314e4cb1bf165d0e38d2064735e2dd4fd741d4e3ee76606315d793535ad7837aed4fd52031429e206922a2a96f4
diff --git a/games-action/tuxkart/metadata.xml b/games-action/tuxkart/metadata.xml
new file mode 100644
index 00000000000..351ab939a4a
--- /dev/null
+++ b/games-action/tuxkart/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">tuxkart</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/tuxkart/tuxkart-0.4.0.ebuild b/games-action/tuxkart/tuxkart-0.4.0.ebuild
new file mode 100644
index 00000000000..cbbd0a90c3d
--- /dev/null
+++ b/games-action/tuxkart/tuxkart-0.4.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit games
+
+DESCRIPTION="A racing game starring Tux, the linux penguin"
+HOMEPAGE="http://tuxkart.sourceforge.net/"
+SRC_URI="mirror://sourceforge/tuxkart/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 x86"
+IUSE=""
+
+RDEPEND=">=media-libs/plib-1.8.0
+ x11-libs/libX11
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXi
+ virtual/opengl"
+DEPEND="${RDEPEND}
+ x11-libs/libXt"
+
+src_prepare() {
+ # apparently <sys/perm.h> doesn't exist on alpha
+ if use alpha; then
+ sed -i \
+ -e '/#include <sys\/perm.h>/d' src/gfx.cxx \
+ || die "sed src/gfx.cxx failed"
+ fi
+ sed -i \
+ -e "/^plib_suffix/ s/-lplibul/-lplibul -lplibjs/" \
+ -e "s/-malign-double//; s/-O6//" configure \
+ || die "sed configure failed"
+ sed -i \
+ -e "/^bindir/s/=.*/=@bindir@/" src/Makefile.in \
+ || die "sed src/Makefile.in failed"
+}
+
+src_configure() {
+ egamesconf --datadir="${GAMES_DATADIR_BASE}"
+}
+
+src_install() {
+ default
+ dohtml doc/*.html
+ rm -rf "${D}/usr/share/tuxkart/"
+
+ prepgamesdirs
+}
diff --git a/games-action/violetland/Manifest b/games-action/violetland/Manifest
new file mode 100644
index 00000000000..55bc59e1188
--- /dev/null
+++ b/games-action/violetland/Manifest
@@ -0,0 +1 @@
+DIST violetland-v0.4.3-src.zip 9418609 SHA256 790565a752fa10152f2c6f55676c3fa5ffbc45678822ac7d082d815b1798767e SHA512 9de9a8d67de7021a27903f53b155338e955a996252b17c429d3b8382ff02e0772ef85a221114a3225f828f4238997889d823b03b55f82890af792fcfe45b5726 WHIRLPOOL 4199963a21712ebb8ac78b37c79e45c7503df784d4c59737eee573a3151545bf795666f267afce28f4fc02991059beb8556965d9a68cfdaab1ef2d2785800988
diff --git a/games-action/violetland/files/violetland-0.4.3-boost150.patch b/games-action/violetland/files/violetland-0.4.3-boost150.patch
new file mode 100644
index 00000000000..4e700ca9e3d
--- /dev/null
+++ b/games-action/violetland/files/violetland-0.4.3-boost150.patch
@@ -0,0 +1,41 @@
+--- CMakeLists.txt.old 2012-11-05 15:19:11.501044743 +0100
++++ CMakeLists.txt 2012-11-05 15:19:25.415250207 +0100
+@@ -8,7 +8,6 @@
+ find_package(SDL_mixer REQUIRED)
+ find_package(OpenGL REQUIRED)
+ find_package(Boost COMPONENTS filesystem system REQUIRED)
+-add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
+
+ if(${MINGW})
+ set(INTL_LIBRARY intl)
+--- src/system/utility/FileUtility.cpp.old 2012-11-05 21:26:07.865488297 +0100
++++ src/system/utility/FileUtility.cpp 2012-11-05 21:30:44.881208230 +0100
+@@ -20,7 +20,7 @@
+
+ while (dir_it != boost::filesystem::directory_iterator()) {
+ if (boost::filesystem::is_regular_file(*dir_it))
+- files.push_back(dir_it->filename());
++ files.push_back(dir_it->path().filename().string());
+ ++dir_it;
+ }
+ return files;
+@@ -32,8 +32,8 @@
+
+ while (dir_it != boost::filesystem::directory_iterator()) {
+ if (boost::filesystem::is_directory(*dir_it))
+- if (dir_it->path().filename()[0] != '.')
+- subDirs.push_back(dir_it->path().filename());
++ if (dir_it->path().filename().string()[0] != '.')
++ subDirs.push_back(dir_it->path().filename().string());
+ ++dir_it;
+ }
+ return subDirs;
+@@ -45,7 +45,7 @@
+
+ while (dir_it != boost::filesystem::directory_iterator()) {
+ if (boost::filesystem::is_directory(*dir_it))
+- if (dir_it->path().filename()[0] != '.')
++ if (dir_it->path().filename().string()[0] != '.')
+ ++count;
+ ++dir_it;
+ }
diff --git a/games-action/violetland/metadata.xml b/games-action/violetland/metadata.xml
new file mode 100644
index 00000000000..039266550ca
--- /dev/null
+++ b/games-action/violetland/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="google-code">violetland</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/violetland/violetland-0.4.3.ebuild b/games-action/violetland/violetland-0.4.3.ebuild
new file mode 100644
index 00000000000..372e3adf824
--- /dev/null
+++ b/games-action/violetland/violetland-0.4.3.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib toolchain-funcs flag-o-matic cmake-utils games
+
+DESCRIPTION="Help a girl by name of Violet to struggle with hordes of monsters"
+HOMEPAGE="http://code.google.com/p/violetland/"
+SRC_URI="http://violetland.googlecode.com/files/${PN}-v${PV}-src.zip"
+
+LICENSE="GPL-3 CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="media-libs/libsdl[sound,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer[vorbis]
+ media-libs/sdl-ttf
+ dev-libs/boost[threads(+)]
+ virtual/opengl
+ virtual/glu"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S=${WORKDIR}/${PN}-v${PV}
+
+src_prepare() {
+ sed -i \
+ -e "/README_EN.TXT/d" \
+ -e "/README_RU.TXT/d" \
+ CMakeLists.txt || die "sed failed"
+ epatch "${FILESDIR}"/${P}-boost150.patch
+}
+
+src_configure() {
+ mycmakeargs=(
+ "-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
+ "-DDATA_INSTALL_DIR=${GAMES_DATADIR}/${PN}"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ DOCS="README_EN.TXT CHANGELOG" cmake-utils_src_install
+ newicon icon-light.png ${PN}.png
+ make_desktop_entry ${PN} VioletLand
+ prepgamesdirs
+}
diff --git a/games-action/wordwarvi/Manifest b/games-action/wordwarvi/Manifest
new file mode 100644
index 00000000000..35eb26cafbf
--- /dev/null
+++ b/games-action/wordwarvi/Manifest
@@ -0,0 +1 @@
+DIST wordwarvi-1.00.tar.gz 8828099 SHA256 7aa668b18096e85583ee0cfa1e21316b6754268df564adb4ff6ae8a8fe791ee9 SHA512 e8f8609300fa2f9bd2ff763fee11699c5f30e96ccb3a5d531456134e983148227bb12fb6421b4ad00bcac46cddcdb5a036d416b8e55aedf037d1c3f0b5e04fa9 WHIRLPOOL 66000d4af4ac769cd7830d9291d38d30748eb4ad55700fd7b53391b522237c681e5563acfa7e1404d98148688eca8e7f255a6f97b55bfb0950c2a0ab39172fa3
diff --git a/games-action/wordwarvi/files/wordwarvi-1.00-sound.patch b/games-action/wordwarvi/files/wordwarvi-1.00-sound.patch
new file mode 100644
index 00000000000..5ad7bc8440b
--- /dev/null
+++ b/games-action/wordwarvi/files/wordwarvi-1.00-sound.patch
@@ -0,0 +1,80 @@
+diff -ru wordwarvi-1.00.orig/Makefile wordwarvi-1.00/Makefile
+--- wordwarvi-1.00.orig/Makefile 2011-06-09 00:06:22.000000000 -0400
++++ wordwarvi-1.00/Makefile 2011-06-11 19:57:55.609619777 -0400
+@@ -1,5 +1,5 @@
+ PREFIX=/usr
+-DATADIR=${PREFIX}/share/wordwarvi
++DATADIR?=${PREFIX}/share/wordwarvi
+ MANDIR?=${PREFIX}/share/man
+ MANPAGEDIR=${MANDIR}/man6
+
+@@ -24,18 +24,6 @@
+ CC ?= gcc
+ BUILD_CC ?= gcc
+
+-# DEBUG=-g
+-# DEBUG=
+-# PROFILE_FLAG=-pg
+-#PROFILE_FLAG=
+-#OPTIMIZE_FLAG=
+-# OPTIMIZE_FLAG=-O3
+-#OPTIMIZE_FLAG=-O3 -pedantic -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
+-OPTIMIZE_FLAG=-O3 -pedantic
+-
+-
+-LDFLAGS=${PROFILE_FLAG}
+-
+ DEFINES=${SNDFLAGS} -DDATADIR=\"${DATADIR}/\"
+
+ all: wordwarvi wordwarvi.6.gz
+@@ -53,24 +41,24 @@
+ endif
+
+ joystick.o: joystick.c joystick.h Makefile
+- $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} -pthread -Wall -c joystick.c
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${CFLAGS} -pthread -Wall -c joystick.c
+
+ ogg_to_pcm.o: ogg_to_pcm.c ogg_to_pcm.h Makefile
+- $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} `pkg-config --cflags vorbisfile` \
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${CFLAGS} `pkg-config --cflags vorbisfile` \
+ -pthread -Wall -c ogg_to_pcm.c
+
+ wwviaudio.o: wwviaudio.c wwviaudio.h ogg_to_pcm.h my_point.h Makefile
+- $(CC) -Wall ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} \
++ $(CC) -Wall ${DEBUG} ${PROFILE_FLAG} ${CFLAGS} \
+ ${DEFINES} \
+ -pthread `pkg-config --cflags vorbisfile` \
+ -c wwviaudio.c
+
+ rumble.o: rumble.c rumble.h Makefile
+- $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} `pkg-config --cflags vorbisfile` \
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${CFLAGS} `pkg-config --cflags vorbisfile` \
+ -pthread -Wall -c rumble.c
+
+ wwvi_font.o: wwvi_font.c wwvi_font.h my_point.h Makefile
+- $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} -pthread -Wall -c wwvi_font.c
++ $(CC) ${DEBUG} ${PROFILE_FLAG} ${CFLAGS} -pthread -Wall -c wwvi_font.c
+
+ stamp: stamp.c
+ $(BUILD_CC) -o stamp stamp.c
+@@ -78,7 +66,7 @@
+ wordwarvi: wordwarvi.c joystick.o rumble.o ${OGGOBJ} wwviaudio.o wwvi_font.o \
+ Makefile version.h stamp levels.h rumble.h
+ ./stamp > stamp.h
+- $(CC) ${DEBUG} ${PROFILE_FLAG} ${OPTIMIZE_FLAG} ${SCREENSAVERFLAG} -pthread -Wall ${DEFINES} \
++ $(CC) $(LDFLAGS) ${DEBUG} ${PROFILE_FLAG} ${CFLAGS} ${SCREENSAVERFLAG} -pthread -Wall ${DEFINES} \
+ joystick.o \
+ rumble.o \
+ wwvi_font.o \
+diff -ru wordwarvi-1.00.orig/wwviaudio.c wordwarvi-1.00/wwviaudio.c
+--- wordwarvi-1.00.orig/wwviaudio.c 2011-06-09 00:06:22.000000000 -0400
++++ wordwarvi-1.00/wwviaudio.c 2011-06-11 19:57:17.394274660 -0400
+@@ -121,7 +121,7 @@
+ if (clipnum >= max_sound_clips || clipnum < 0)
+ return -1;
+
+- snprintf(filebuf, PATH_MAX, "%s/%s", DATADIR, filename);
++ snprintf(filebuf, PATH_MAX, "GENTOO_DATADIR/%s", DATADIR, filename);
+ rc = stat(filebuf, &statbuf);
+ if (rc != 0) {
+ strncpy(filebuf, filename, PATH_MAX);
diff --git a/games-action/wordwarvi/metadata.xml b/games-action/wordwarvi/metadata.xml
new file mode 100644
index 00000000000..5f8fcc05224
--- /dev/null
+++ b/games-action/wordwarvi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">wordwarvi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/wordwarvi/wordwarvi-1.00.ebuild b/games-action/wordwarvi/wordwarvi-1.00.ebuild
new file mode 100644
index 00000000000..0ef897387f7
--- /dev/null
+++ b/games-action/wordwarvi/wordwarvi-1.00.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="A retro side-scrolling shoot'em up based on the editor war story"
+HOMEPAGE="http://wordwarvi.sourceforge.net"
+SRC_URI="mirror://sourceforge/wordwarvi/${P}.tar.gz"
+
+LICENSE="GPL-2 CC-BY-2.0 CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="portaudio"
+
+RDEPEND="x11-libs/gtk+:2
+ portaudio? ( media-libs/libvorbis
+ >=media-libs/portaudio-19_pre1 )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-sound.patch
+ sed -i \
+ -e "/^WITHAUDIO/s/yes/$(use portaudio && echo yes || echo no)/" \
+ Makefile \
+ || die "sed failed"
+ sed -i \
+ -e "s:GENTOO_DATADIR:${GAMES_DATADIR}/${PN}:" \
+ wwviaudio.c \
+ || die "sed failed"
+}
+
+src_compile() {
+ emake \
+ PREFIX="${GAMES_PREFIX}" \
+ DATADIR="${GAMES_DATADIR}/${PN}" \
+ MANDIR="/usr/share/man"
+}
+
+src_install() {
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="${GAMES_PREFIX}" \
+ DATADIR="${GAMES_DATADIR}/${PN}" \
+ MANDIR="/usr/share/man" \
+ install
+ use portaudio || rm -rf "${D}${GAMES_DATADIR}"
+ dodoc README AUTHORS changelog.txt AAA_HOW_TO_MAKE_NEW_LEVELS.txt
+ newicon icons/wordwarvi_icon_128x128.png ${PN}.png
+ make_desktop_entry ${PN} "Word War vi"
+ prepgamesdirs
+}
diff --git a/games-action/xblast/Manifest b/games-action/xblast/Manifest
new file mode 100644
index 00000000000..9db995576a7
--- /dev/null
+++ b/games-action/xblast/Manifest
@@ -0,0 +1,6 @@
+DIST images-2005-01-06.tar.gz 860830 SHA256 24b627af1d4884fa39cbfb4ad2d953661aa5283f96ee678137ba554b67423542 SHA512 7254acc664997af5dae8c906a7b90570103c17295e463e8c313f5531810734241fa6485625a7a48a4859f92dbbf2b94332348a1bc85c8930ad6688e5f56be588 WHIRLPOOL cb909a564aa467b9e782d70bd8ae02f9ba4ff13e61c789bc26a26c9fdc27e32d01a1b74d7826d806a5d9bddc6b7c7dad2a09e2a161c89fbe32ced1671282a637
+DIST levels-2005-01-06.tar.gz 283353 SHA256 af145dcb40c94e07953f3a12adf2ab67411428b31a0446df3df7c91d5f26075a SHA512 ece07564fbdf6c21b3b65f3345929c65612f3bf8ed17d4d78e1fe1e2c25f83eb174a086c66fcb891c173f56a24625f8a53623beaaea7013e536f577380680031 WHIRLPOOL b8eade12ef1993852e5c13e24b8b3da3ba89c774c34476a797fc17552fba6c6c2b0d8a2d4812c979d50d2a065a5d9c20ddead8b2bb4bb520d56a34273115ca34
+DIST models-2005-01-06.tar.gz 1738564 SHA256 daed0d50c0371afe187159c7692d7d26d124e80e9c3208043d83a5b6ca610f77 SHA512 20925bf6b0a5bde43df6bab86078e6b7e550a79d1695e3d076254deb3ba556f2c09afa5847c0b3a12f09f3b4386df2da8256cad09c0ea07d9937b98e0c3438b8 WHIRLPOOL 611d667c196e3ece9fe9a6ab4c5efd3db3b796be40f3e2a82da1979731ce664e76bb8f93d4b1378bf903d1f63b43720daf34eb0ddcbdd5c8334431d7a44a50a3
+DIST musics-2005-01-06.tar.gz 5317575 SHA256 42a45b074925755d7d2a0effb9a59e9e3874f92a7aa9e10bb90f98eeb11cbc61 SHA512 885591cf5f32d76bc5bae150b24592c8eccd6f33afa5d40570429371b328671c3902c565446dae24bf949ac67b681e39e46e8d4ea737f52c66d467c09a210ede WHIRLPOOL 99aae8691d3f36ab086978f5b34ad43d120327dcd0a9f4c649adae0e86b53349eb19d8f8632dd50d83aaa5bc15c083590319fc77ab7d6c0a15fd5e2b6b1325f1
+DIST sounds.tar.gz 1612625 SHA256 310c89592139df617e6e981ab5bf3bfca84a7778d5191334bda8eb069c924b61 SHA512 69518766ce1cc1bef543964acb077de51c361f1a880ebc11bd0d381fe082af0e013d116aad606a18c94855a08c5a2892cb5d0d5a259b081119bb8d355a94e2b2 WHIRLPOOL ceb56911b8372b0f91516c48f523fa26296e503a299033fb2598646e1c259c7e1058feca155bd8630ab066a4757a76db0aed32d3f7e48bd69e141e12ddd06024
+DIST xblast-2.10.4.tar.gz 684965 SHA256 93cd7c47ff83e00655605fcbec6a031f75d170d7eb467b85bcbe6c1733bcc213 SHA512 6b3be0d41d18cf8da721030fa87c00ffed81d29706a20dd254a07b9cc8af79bd09f63ebb7f575c1665b77b9f58f29bec74b84f27fd2106d704c2fe2d5513a835 WHIRLPOOL 48a308e63c7b684eabb18ad4c6f70b0a6c41caf94616830712edcbe2d6003cd230f5ddf7a243fdf7f71844d10e9be870363f4da96d8e44bdf326b4700489a603
diff --git a/games-action/xblast/metadata.xml b/games-action/xblast/metadata.xml
new file mode 100644
index 00000000000..a623356437a
--- /dev/null
+++ b/games-action/xblast/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">xblast</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/xblast/xblast-2.10.4.ebuild b/games-action/xblast/xblast-2.10.4.ebuild
new file mode 100644
index 00000000000..bf8cfbc82f0
--- /dev/null
+++ b/games-action/xblast/xblast-2.10.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit autotools games
+
+# Change these as releases changes
+IMAGES="images-2005-01-06"
+LEVELS="levels-2005-01-06"
+MODELS="models-2005-01-06"
+MUSICS="musics-2005-01-06"
+SOUNDS="sounds"
+
+DESCRIPTION="Bomberman clone w/network support for up to 6 players"
+HOMEPAGE="http://xblast.sourceforge.net/"
+SRC_URI="mirror://sourceforge/xblast/${P}.tar.gz
+ mirror://sourceforge/xblast/${IMAGES}.tar.gz
+ mirror://sourceforge/xblast/${LEVELS}.tar.gz
+ mirror://sourceforge/xblast/${MODELS}.tar.gz
+ mirror://sourceforge/xblast/${MUSICS}.tar.gz
+ mirror://sourceforge/xblast/${SOUNDS}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="x11-libs/libICE
+ x11-libs/libX11
+ media-libs/libpng"
+DEPEND="${RDEPEND}
+ x11-libs/libXt"
+
+src_prepare() {
+ eautoreconf #255857
+}
+
+src_configure() {
+ egamesconf \
+ --with-otherdatadir="${GAMES_DATADIR}"/${PN} \
+ --enable-sound
+}
+
+src_install() {
+ local IMAGE_INSTALL_DIR="${GAMES_DATADIR}/${PN}/image"
+
+ default
+
+ # Images
+ dodir "${IMAGE_INSTALL_DIR}"
+ cp -pPR "${WORKDIR}/${IMAGES}"/* "${D}/${IMAGE_INSTALL_DIR}" \
+ || die "cp failed"
+
+ # Levels
+ insinto "${GAMES_DATADIR}/xblast/level"
+ doins "${WORKDIR}/${LEVELS}"/*
+
+ # Models
+ insinto "${GAMES_DATADIR}/xblast/image/sprite"
+ doins "${WORKDIR}/${MODELS}"/*
+
+ # Music and sound
+ insinto "${GAMES_DATADIR}/xblast/sounds"
+ doins "${WORKDIR}/${MUSICS}"/* "${WORKDIR}/${SOUNDS}"/*
+
+ # Cleanup
+ find "${D}" -name Imakefile -exec rm \{\} \;
+
+ prepgamesdirs
+}
diff --git a/games-action/xbomber/Manifest b/games-action/xbomber/Manifest
new file mode 100644
index 00000000000..46cde83192e
--- /dev/null
+++ b/games-action/xbomber/Manifest
@@ -0,0 +1 @@
+DIST xbomber-101.tgz 396707 SHA256 d2f127519b779f83e029be4a6dd0299d126505bbe49a9981d913ac10a4b3f640 SHA512 3f7259ad7f4bf3ec15997c187e354a5cb91cd19743003f480b4900caa2a888d977aa3d6f1e96411666bb0a971fcf17593b76fde9804bb6e1e1b0dab9d4b6abb2 WHIRLPOOL 70f5973bc69d20f2bbf7b3190b9eeac75119dc4765944bb668b6241063c237c2d8b1474dcbf049f896d7d8d5a92524c0c02bd3b1719360103a037fb67049e353
diff --git a/games-action/xbomber/files/xbomber-101-gcc4.patch b/games-action/xbomber/files/xbomber-101-gcc4.patch
new file mode 100644
index 00000000000..8a5a063c614
--- /dev/null
+++ b/games-action/xbomber/files/xbomber-101-gcc4.patch
@@ -0,0 +1,11 @@
+--- bomber.c.old 2006-01-28 12:06:34.000000000 -0700
++++ bomber.c 2006-01-28 12:06:46.000000000 -0700
+@@ -1699,7 +1699,7 @@
+ }
+ void addtail(void *header,void *entry)
+ {
+- while(((list *)header)->next) ((list *)header)=((list *)header)->next;
++ while(((list *)header)->next) header=((list *)header)->next;
+ ((list *)header)->next=entry;
+ ((list *)entry)->next=0;
+ }
diff --git a/games-action/xbomber/files/xbomber-101-ldflags.patch b/games-action/xbomber/files/xbomber-101-ldflags.patch
new file mode 100644
index 00000000000..ebde16412b5
--- /dev/null
+++ b/games-action/xbomber/files/xbomber-101-ldflags.patch
@@ -0,0 +1,15 @@
+--- Makefile.old 2010-10-19 09:17:43.000000000 +0200
++++ Makefile 2010-10-19 09:18:12.000000000 +0200
+@@ -1,10 +1,8 @@
+-CFLAGS = -O3
+-
+ bomber: bomber.o x.o sound.o matcher
+- $(CC) -o bomber bomber.o x.o sound.o -lX11 -L/usr/X11R6/lib/
++ $(CC) $(CFLAGS) $(LDFLAGS) -o bomber bomber.o x.o sound.o -lX11 -L/usr/X11R6/lib/
+
+ matcher: matcher.c
+- $(CC) matcher.c -o matcher
++ $(CC) $(CFLAGS) $(LDFLAGS) matcher.c -o matcher
+
+ bomber.o: bomber.c bomber.h
+
diff --git a/games-action/xbomber/files/xbomber-101-va_list.patch b/games-action/xbomber/files/xbomber-101-va_list.patch
new file mode 100644
index 00000000000..cd15b84b00e
--- /dev/null
+++ b/games-action/xbomber/files/xbomber-101-va_list.patch
@@ -0,0 +1,48 @@
+--- bomber.c.orig 2005-11-06 16:50:04.000000000 +0100
++++ bomber.c 2005-11-06 16:47:35.000000000 +0100
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdarg.h>
+ #include <unistd.h>
+ #include <string.h>
+ #include <sys/uio.h>
+@@ -626,8 +627,11 @@
+ void scrprintf(char *str,...)
+ {
+ char output[256],*p,*p2;
++va_list ap;
+
+- vsprintf(output,str,&str+1);
++ va_start(ap, str);
++ vsprintf(output,str,ap);
++ va_end(ap);
+ p=output;
+ for(;;)
+ {
+@@ -653,8 +657,11 @@
+ void bigscrprintf(char *str,...)
+ {
+ char output[256],*p,*p2;
++va_list ap;
+
+- vsprintf(output,str,&str+1);
++ va_start(ap, str);
++ vsprintf(output,str,ap);
++ va_end(ap);
+ p=output;
+ for(;;)
+ {
+@@ -1873,8 +1880,11 @@
+ additem(char *item,...)
+ {
+ char output[256];
++va_list ap;
+
+- vsprintf(output,item,&item+1);
++ va_start(ap, item);
++ vsprintf(output,item,ap);
++ va_end(ap);
+ if(menunum<0)
+ menutitle=menuput;
+ else
diff --git a/games-action/xbomber/metadata.xml b/games-action/xbomber/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-action/xbomber/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-action/xbomber/xbomber-101.ebuild b/games-action/xbomber/xbomber-101.ebuild
new file mode 100644
index 00000000000..a191da65544
--- /dev/null
+++ b/games-action/xbomber/xbomber-101.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils games
+
+DESCRIPTION="Bomberman clone w/multiplayer support"
+HOMEPAGE="http://www.xdr.com/dash/bomber.html"
+SRC_URI="http://www.xdr.com/dash/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+DEPEND="x11-libs/libX11"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e "/^CC/d" \
+ -e 's/gcc/$(CC)/g' \
+ -e "s:X386:X11R6:" \
+ Makefile \
+ || die "sed failed"
+ sed -i \
+ -e "s:data/%s:${GAMES_DATADIR}/${PN}/%s:" bomber.c \
+ || die "sed failed"
+ sed -i \
+ -e "s:=\"data\":=\"${GAMES_DATADIR}/${PN}\":" sound.c \
+ || die "sed failed"
+ epatch \
+ "${FILESDIR}"/${P}-va_list.patch \
+ "${FILESDIR}"/${P}-gcc4.patch \
+ "${FILESDIR}"/${P}-ldflags.patch
+}
+
+src_install() {
+ dogamesbin matcher bomber
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r data/*
+ dodoc README Changelog
+ prepgamesdirs
+}
diff --git a/games-action/xpilot/Manifest b/games-action/xpilot/Manifest
new file mode 100644
index 00000000000..042b4d8bcfa
--- /dev/null
+++ b/games-action/xpilot/Manifest
@@ -0,0 +1 @@
+DIST xpilot-4.5.5.tar.bz2 1115502 SHA256 5e40424d093c8b712170a5dff3396df63302775f42da829b8832840f359cd92a SHA512 002fbdbee3035e21f441d749d68ac41da2816a691e1c0d1cf9de9cddaa479c92da57eb36081884b9908a6ae83454f6f532c24c89280d27e2cbf9570442ef301c WHIRLPOOL eebaf2fc0aab431ca94f627aa59d38bf708d3e905e6c502381643c239247397eb8cc6131867c84245e0455caabbc874b738d41402c7832045ab250cda7a1de6d
diff --git a/games-action/xpilot/metadata.xml b/games-action/xpilot/metadata.xml
new file mode 100644
index 00000000000..d35614714d1
--- /dev/null
+++ b/games-action/xpilot/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">xpilotgame</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-action/xpilot/xpilot-4.5.5.ebuild b/games-action/xpilot/xpilot-4.5.5.ebuild
new file mode 100644
index 00000000000..33fff37ffb4
--- /dev/null
+++ b/games-action/xpilot/xpilot-4.5.5.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A multi-player 2D client/server space game"
+HOMEPAGE="http://www.xpilot.org/"
+SRC_URI="mirror://sourceforge/xpilotgame/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+RDEPEND="x11-libs/libX11
+ x11-libs/libXext"
+DEPEND="${RDEPEND}
+ x11-proto/xextproto
+ x11-proto/xproto
+ x11-misc/gccmakedep
+ x11-misc/imake
+ app-text/rman"
+
+src_prepare() {
+ sed -i \
+ -e '/^INSTMAN/s:=.*:=/usr/share/man/man6:' \
+ -e "/^INSTLIB/s:=.*:=${GAMES_DATADIR}/${PN}:" \
+ -e "/^INSTBIN/s:=.*:=${GAMES_BINDIR}:" \
+ Local.config || die
+ # work with glibc-2.20
+ sed -i \
+ -e 's/getline/lgetline/' \
+ src/client/textinterface.c || die
+}
+
+src_compile() {
+ xmkmf || die
+ emake Makefiles
+ emake includes
+ emake depend
+ emake CC="${CC}" CDEBUGFLAGS="${CFLAGS} ${LDFLAGS}"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" install.man
+ newicon lib/textures/logo.ppm ${PN}.ppm
+ make_desktop_entry ${PN} XPilot /usr/share/pixmaps/${PN}.ppm
+ dodoc README.txt doc/{ChangeLog,CREDITS,FAQ,README*,TODO}
+ prepgamesdirs
+}