summaryrefslogtreecommitdiff
path: root/games-arcade/shovel-knight/shovel-knight-3.3.ebuild
blob: 71159361753972955cdcf2ea642efb7f25ebc683 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop unpacker wrapper 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; }