summaryrefslogtreecommitdiff
blob: 273644705f8161fd3e0db4ed9d003938e0a9a8a6 (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/games-rpg/grimrock/grimrock-20121222.ebuild,v 1.1 2013/01/29 00:04:09 hasufell Exp $

EAPI=5

inherit eutils multilib gnome2-utils unpacker games

TIMESTAMP="${PV:0:4}-${PV:4:2}-${PV:6:2}"
MY_PN="Grimrock"
DESCRIPTION="Legend of Grimrock: The Ultimate dungeon crawling RPG + modding engine"
HOMEPAGE="http://www.grimrock.net/"
SRC_URI="LegendOfGrimrock-Linux-${TIMESTAMP}.sh"

SLOT="0"
LICENSE="all-rights-reserved"
KEYWORDS="-* ~amd64 ~x86"
IUSE="+system-libs"
RESTRICT="fetch bindist"

QA_PREBUILT="${GAMES_PREFIX_OPT}/${PN}/${MY_PN}.bin.*
	${GAMES_PREFIX_OPT}/${PN}/lib.*"

RDEPEND="
	app-arch/bzip2
	media-libs/freetype:2
	media-libs/ilmbase
	media-libs/lcms
	media-libs/libpng:0
	media-libs/libraw
	media-libs/jasper
	media-libs/openexr
	media-libs/openjpeg
	media-libs/tiff
	sys-libs/zlib
	virtual/jpeg
	virtual/opengl
	x11-libs/libdrm
	x11-libs/libX11
	x11-libs/libXau
	x11-libs/libxcb
	x11-libs/libXdmcp
	x11-libs/libXext
	system-libs? (
		media-libs/freeimage
		media-libs/libogg
		media-libs/libvorbis
		media-libs/openal
		sys-libs/zlib[minizip]
	)"
DEPEND="app-arch/xz-utils"

S=${WORKDIR}

pkg_pretend() {
	if has splitdebug ${FEATURES}; then
		eerror "FEATURES=splitdebug is broken for this package, disable it locally"
		die "FEATURES=splitdebug is broken for this package, disable it locally"
	fi
}

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

src_unpack() {
	use amd64 && myarch=x86_64 || myarch=x86

	local archivelist=(
		subarch
		instarchive_all
		instarchive_linux_${myarch}
		deps/SDL2/SDL2_files_linux_${myarch}
		deps/FreeImage/FreeImage_files_linux_${myarch}
		deps/libogg/libogg_files_linux_${myarch}
		deps/minizip/minizip_files_linux_${myarch}
		deps/openal/openal_files_linux_${myarch}
		deps/vorbis/vorbis_files_linux_${myarch}
	)

	unpack_makeself

	local i
	for i in $(use system-libs && echo ${archivelist[@]:0:4} || echo ${archivelist[@]}) ; do
		mv "${i}" "${i}.tar.xz" || die
		unpack ./"${i}.tar.xz"
	done
}

src_install() {
	local dir=${GAMES_PREFIX_OPT}/${PN}

	insinto "${dir}"
	doins ${PN}.{dat,png}

	exeinto "${dir}"
	doexe "${MY_PN}.bin.${myarch}"

	exeinto "${dir}"/lib
	doexe $(get_libdir)/libSDL2-2.0.so.0
	use system-libs || {
		doexe $(get_libdir)/lib{freeimage.so.3,minizip.so.1,ogg.so.0,openal.so.1,vorbisfile.so.3,vorbis.so.0}
	}

	games_make_wrapper "${PN}" "./${MY_PN}.bin.${myarch}" "${dir}" "${dir}"/lib
	doicon -s 256 ${PN}.png
	newicon -s 64 ${MY_PN}.png ${PN}.png
	make_desktop_entry "${PN}" "Legend of ${MY_PN}"

	dodoc README.linux
	prepgamesdirs
}

pkg_preinst() {
	games_pkg_preinst
	gnome2_icon_savelist
}

pkg_postinst() {
	games_pkg_postinst

	elog "If you are using opensource drivers you should consider installing:"
	elog "    media-libs/libtxc_dxtn"

	gnome2_icon_cache_update
}

pkg_postrm() {
	gnome2_icon_cache_update
}