diff options
Diffstat (limited to 'games-arcade/shovel-knight/shovel-knight-3.3.ebuild')
-rw-r--r-- | games-arcade/shovel-knight/shovel-knight-3.3.ebuild | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/games-arcade/shovel-knight/shovel-knight-3.3.ebuild b/games-arcade/shovel-knight/shovel-knight-3.3.ebuild new file mode 100644 index 000000000000..656b2c154484 --- /dev/null +++ b/games-arcade/shovel-knight/shovel-knight-3.3.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit eutils desktop unpacker xdg-utils + +MY_PN="ShovelKnight" +DESCRIPTION="Sweeping classic action adventure with an 8-bit retro aesthetic" +HOMEPAGE="https://yachtclubgames.com/shovel-knight/" +SRC_URI="${PN//-/_}_treasure_trove_en_3_3_15418.sh" +LICENSE="Yacht-Club-Games-EULA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RESTRICT="bindist fetch splitdebug" + +# I packaged Box2D in the hope of unbundling it but it turns out this +# game uses a custom version. -- Chewi :( + +RDEPEND=" + media-libs/glew:1.10 + media-libs/libsdl2[opengl,sound,video] + virtual/opengl +" + +S="${WORKDIR}/data/noarch/game" + +DIR="/opt/${PN}" +QA_PREBUILT="${DIR#/}/*" + +pkg_nofetch() { + einfo "Please buy and download ${SRC_URI} from:" + einfo " https://www.gog.com/game/${PN//-/_}" + einfo "and move it to your distfiles directory." +} + +src_unpack() { + unpack_zip ${A} +} + +src_install() { + local BITS=$(usex amd64 64 32) LIB= + + exeinto "${DIR}" + doexe ${BITS}/${MY_PN} + make_wrapper ${MY_PN} ./${MY_PN} "${DIR}" + + exeinto "${DIR}"/lib + doexe ${BITS}/lib/lib{Box2D.so.*,fmod*-*.so} + + # The FMOD libraries are duplicated rather than symlinked, which is + # silly, so create our own symlinks. Both sets of names are needed. + for LIB in ${BITS}/lib/libfmod*-*.so; do + LIB=${LIB##*/} + dosym "${LIB}" "${DIR}/lib/${LIB%-*}.so" + done + + insinto "${DIR}" + doins -r data/ + + newicon -s 256 ../support/icon.png ${PN}.png + make_desktop_entry ${MY_PN} "Shovel Knight" +} + +pkg_postinst() { xdg_icon_cache_update; } +pkg_postrm() { xdg_icon_cache_update; } |