commit:     7964ef4f59218cdca029662389efe8e6343f9944
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  8 19:13:11 2021 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jun  8 19:40:27 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7964ef4f

games-rpg/egoboo: EAPI-7 bump, fix inputs

Also:
- prefix support
- don't call CC directly
- tighten sdl deps (game can't start without png/opengl)
- remove .bmp icon, format not supported by xdg

Closes: https://bugs.gentoo.org/654574
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-rpg/egoboo/egoboo-2.8.1-r2.ebuild            | 40 +++++++++++-----------
 .../files/egoboo-2.8.1-keyboard-inputs.patch       | 12 +++++++
 2 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/games-rpg/egoboo/egoboo-2.8.1-r2.ebuild 
b/games-rpg/egoboo/egoboo-2.8.1-r2.ebuild
index 0ee1e0999c4..e3b415e57a8 100644
--- a/games-rpg/egoboo/egoboo-2.8.1-r2.ebuild
+++ b/games-rpg/egoboo/egoboo-2.8.1-r2.ebuild
@@ -1,57 +1,57 @@
 # Copyright 1999-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
-inherit desktop
+inherit desktop toolchain-funcs
 
-DESCRIPTION="A 3d dungeon crawling adventure in the spirit of NetHack"
+DESCRIPTION="3D dungeon crawling adventure in the spirit of NetHack"
 HOMEPAGE="http://egoboo.sourceforge.net/";
 SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
 
-LICENSE="GPL-2"
+LICENSE="GPL-3+"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
 
-DEPEND="
+RDEPEND="
        dev-games/physfs
-       media-libs/libsdl[joystick,video]
-       media-libs/sdl-image
+       media-libs/libsdl[joystick,opengl,video]
+       media-libs/sdl-image[png]
        media-libs/sdl-mixer[vorbis]
        media-libs/sdl-ttf
        net-libs/enet:1.3=
        virtual/glu
        virtual/opengl"
-RDEPEND="${DEPEND}"
+DEPEND="${RDEPEND}"
 
 PATCHES=(
        "${FILESDIR}"/${P}-gentoo.patch
        "${FILESDIR}"/${P}-enet-1.3.patch
+       "${FILESDIR}"/${P}-keyboard-inputs.patch
 )
 
 src_prepare() {
        default
-       sed -i \
-               -e "s:@GENTOO_CONFDIR@:/etc/${PN}:" \
-               -e "s:@GENTOO_DATADIR@:/usr/share/${PN}:" \
-               src/game/platform/file_linux.c || die "sed failed"
-       rm -rf src/enet || die
+
+       sed -e "s|@GENTOO_CONFDIR@|${EPREFIX}/etc/${PN}|" \
+               -e "s|@GENTOO_DATADIR@|${EPREFIX}/usr/share/${PN}|" \
+               -i src/game/platform/file_linux.c || die
 }
 
 src_compile() {
-       emake -C src/game PROJ_NAME=egoboo-2.x
+       emake -C src/game PROJ_NAME=egoboo-2.x CC="$(tc-getCC)"
 }
 
 src_install() {
-       dodoc BUGS.txt Changelog.txt doc/*.txt doc/*.pdf
+       newbin src/game/egoboo-2.x ${PN}
+
+       dodoc BUGS.txt Changelog.txt doc/*.{txt,pdf}
 
        insinto /usr/share/${PN}
        doins -r basicdat modules
-       insinto /etc/${PN}
-       doins -r controls.txt setup.txt
 
-       newbin src/game/egoboo-2.x ${PN}
+       insinto /etc/${PN}
+       doins controls.txt setup.txt
 
-       newicon basicdat/icon.bmp ${PN}.bmp
-       make_desktop_entry ${PN} Egoboo /usr/share/pixmaps/${PN}.bmp
+       make_desktop_entry ${PN} Egoboo applications-games "Game;"
 }

diff --git a/games-rpg/egoboo/files/egoboo-2.8.1-keyboard-inputs.patch 
b/games-rpg/egoboo/files/egoboo-2.8.1-keyboard-inputs.patch
new file mode 100644
index 00000000000..5df3af7c1c5
--- /dev/null
+++ b/games-rpg/egoboo/files/egoboo-2.8.1-keyboard-inputs.patch
@@ -0,0 +1,12 @@
+Fix being only able move down and right when using keyboard.
+https://bugs.gentoo.org/654574
+http://egoboo.sourceforge.net/phpBB3/viewtopic.php?p=61333#p61333
+--- a/src/game/game.c
++++ b/src/game/game.c
+@@ -2054,4 +2054,4 @@
+         {
+-            joy_pos.x = ( control_is_pressed( INPUT_DEVICE_KEYBOARD,  
CONTROL_RIGHT ) - control_is_pressed( INPUT_DEVICE_KEYBOARD,  CONTROL_LEFT ) );
+-            joy_pos.y = ( control_is_pressed( INPUT_DEVICE_KEYBOARD,  
CONTROL_DOWN ) - control_is_pressed( INPUT_DEVICE_KEYBOARD,  CONTROL_UP ) );
++            joy_pos.x = ( (int)control_is_pressed( INPUT_DEVICE_KEYBOARD,  
CONTROL_RIGHT ) - (int)control_is_pressed( INPUT_DEVICE_KEYBOARD,  CONTROL_LEFT 
) );
++            joy_pos.y = ( (int)control_is_pressed( INPUT_DEVICE_KEYBOARD,  
CONTROL_DOWN ) - (int)control_is_pressed( INPUT_DEVICE_KEYBOARD,  CONTROL_UP ) 
);
+ 

Reply via email to