summaryrefslogtreecommitdiff
blob: b23a9ee52d79cb0248427c2330ed7e88f71d76f1 (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
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7

inherit desktop unpacker wrapper xdg

DESCRIPTION="Indoor/outdoor 3D combat with evil robotic mining spacecraft"
HOMEPAGE="http://www.lokigames.com/products/descent3/"
SRC_URI="mirror://lokigames/loki_demos/${PN}.run"
S="${WORKDIR}"

LICENSE="all-rights-reserved"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa pulseaudio"
REQUIRED_USE="?? ( alsa pulseaudio )"

RESTRICT="bindist mirror strip"

RDEPEND="
	sys-libs/glibc
	>=virtual/opengl-7.0-r1[abi_x86_32(-)]
	>=x11-libs/libX11-1.6.2[abi_x86_32(-)]
	>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
	alsa? ( media-libs/alsa-oss[abi_x86_32(-)] )
	pulseaudio? ( media-sound/pulseaudio[abi_x86_32(-)] )
"
BDEPEND="games-util/loki_patch"

dir="/opt/${PN}"
QA_PREBUILT="
	${dir#/}/descent3_demo.x86
	${dir#/}/netgames/*.d3m
"

src_install() {
	local \
		snd= \
		demo="data/demos/descent3_demo" \
		exe="descent3_demo.x86"

	loki_patch patch.dat data/ || die

	insinto ${dir}
	doins -r "${demo}"/*

	exeinto ${dir}
	doexe "${demo}/${exe}"

	# Required directory
	keepdir "${dir}"/missions

	# Fix for 2.6 kernel crash, bug #151148
	dosym ppics.hog "${dir}"/PPics.Hog

	if use alsa; then
		snd="aoss "
	elif use pulseaudio; then
		snd="env LD_PRELOAD=\"${EPREFIX}/usr/$(ABI=x86 get_libdir)/pulseaudio/libpulsedsp.so\" "
	fi

	make_wrapper ${PN} "${snd}./${exe} -G -o" "${dir}"
	newicon "${demo}"/launch/box.png ${PN}.png
	make_desktop_entry ${PN} "Descent 3 (Demo)"
}

pkg_postinst() {
	xdg_pkg_postinst

	elog "To play the game run:"
	elog " descent3-demo"
	elog
	elog "If the game appears blank, then run it windowed with:"
	elog " descent3-demo -w"
}