summaryrefslogtreecommitdiff
blob: 14c390ecc21f79f37483a1623e0e3005ebc1e122 (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop gnome2-utils unpacker wrapper

MY_PN=ToTheMoon
DESCRIPTION="Two doctors traversing the memories of a dying man to fulfill his last wish"
HOMEPAGE="http://freebirdgames.com/games/to-the-moon"
SRC_URI="${MY_PN}_linux_1389114090.sh"
S="${WORKDIR}"/data

LICENSE="all-rights-reserved bundled-libs? ( LGPL-2 LGPL-2.1 ZLIB )"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="bundled-libs"

RESTRICT="fetch bindist splitdebug"

QA_PREBUILT="opt/${PN}/${MY_PN}.bin*"
if [[ ${ARCH} == "amd64" ]] ; then
	QA_PREBUILT="${QA_PREBUILT} ${GAMES_PREFIX_OPT}/${PN}/lib64/*"
else
	QA_PREBUILT="${QA_PREBUILT} ${GAMES_PREFIX_OPT}/${PN}/lib/*"
fi

# TODO: unbundling sdl-sound breaks the game
RDEPEND="
	sys-libs/zlib
	virtual/opengl
	!bundled-libs? (
		dev-libs/libsigc++:2
		>=media-libs/libsdl2-2.0.1[X,joystick,opengl,sound,threads,video]
		media-libs/openal
		media-libs/sdl2-image[png]
		media-libs/sdl2-ttf
	)
"
DEPEND="
	sys-apps/coreutils
	sys-apps/grep
"

pkg_nofetch() {
	einfo
	einfo "Please buy & download ${SRC_URI} from:"
	einfo "  ${HOMEPAGE}"
	einfo "and move/link it to your DISTDIR directory."
	einfo
}

src_unpack() {
	# mojo stuff inside makeself archive, unpack_makeself fails
	local lastline=$(( $(grep -a -h -n -m 1 -F -e "Extra newline, because in very rare cases (OpenSolaris) stub is directly added after script" "${DISTDIR}/${A}" | cut -d':' -f1) + 1 ))
	[[ ${lastline} ]] || die "no last line"

	local offset=$(head -n ${lastline} "${DISTDIR}/${A}" | wc -c)
	[[ ${offset} ]] || die "no offset"

	dd ibs=${offset} skip=1 if="${DISTDIR}/${A}" of="${T}"/moon.zip || die
	unpack_zip "${T}"/moon.zip
}

src_install() {
	local dir=opt/${PN}
	local libsuffix=$(usex amd64 "64" "")
	local arch=$(usex amd64 "x86_64" "x86")

	insinto "${dir}"
	doins -r noarch/{Audio,Data,Fonts,Graphics,Game.ini,mkxp.conf,ToTheMoon.png}

	exeinto "${dir}"
	doexe ${arch}/${MY_PN}.bin.${arch}

	exeinto "${dir}/lib${libsuffix}"
	if use bundled-libs ; then
		doexe ${arch}/lib${libsuffix}/*
	else
		doexe ${arch}/lib${libsuffix}/libSDL_sound-1.0.so.1
	fi

	make_wrapper ${PN} "./${MY_PN}.bin.${arch}" "${dir}" "${dir}/lib${libsuffix}"
	make_desktop_entry ${PN} "To the Moon"
	newicon -s 32 noarch/${MY_PN}.png ${PN}.png
}

pkg_preinst() {
	gnome2_icon_savelist
}

pkg_postinst() {
	gnome2_icon_cache_update
}

pkg_postrm() {
	gnome2_icon_cache_update
}