summaryrefslogtreecommitdiff
path: root/games-emulation/dolphin-emu/dolphin-emu-9999.ebuild
blob: 0ae18a2563e4f8a4f5c61fbde3da2b58a59b12fd (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
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="3"

WX_GTK_VER="2.8"

inherit cmake-utils eutils flag-o-matic games git wxwidgets

MY_PV="${PV/9999_p/}"

DESCRIPTION="Free. open source emulator for Nintendo GameCube and Wii"
HOMEPAGE="http://www.dolphin-emu.com/"
SRC_URI=""
EGIT_REPO_URI="https://code.google.com/p/dolphin-emu/"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~x86 ~amd64 ~ppc ~ppc64"
IUSE="alsa ao bluetooth doc encode +lzo openal opengl portaudio pulseaudio +wxwidgets +xrandr"
RESTRICT=""

RDEPEND=">=media-libs/glew-1.5
	>=media-libs/libsdl-1.2[joystick]
	sys-libs/readline
	x11-libs/libXext
	ao? ( media-libs/libao )
	alsa? ( media-libs/alsa-lib )
	bluetooth? ( net-wireless/bluez )
	encode? ( virtual/ffmpeg[encode] )
	lzo? ( dev-libs/lzo )
	openal? ( media-libs/openal )
	opengl? ( virtual/opengl )
	portaudio? ( media-libs/portaudio )
	pulseaudio? ( media-sound/pulseaudio )
	wxwidgets? ( x11-libs/wxGTK:2.8 )
	xrandr? ( x11-libs/libXrandr )"
DEPEND="${RDEPEND}
	dev-util/cmake
	dev-util/pkgconfig
	media-gfx/nvidia-cg-toolkit"
	#dev-util/scons

# Configure using scons (deprecated)
#src_prepare() {
#	sed -e "s;env\['prefix'\] + '/bin';'${GAMES_BINDIR}';" \
#		-e "s;env\['prefix'\] + \"/share/dolphin-emu\";'${GAMES_DATADIR}/${PN}';" \
#		-e "s;env\['prefix'\] + '/lib/dolphin-emu';'$(games_get_libdir)/${PN}';" \
#		-e "s;env\['prefix'\] + '/lib/;'$(games_get_libdir)/;" \
#		-i "${S}/SConstruct" \
#		|| die "sed path update 1 failed"
#}

#src_prepare() {
#	epatch ${FILESDIR}/libav.patch
#}

src_configure() {
	# Configure using cmake
	mycmakeargs="
		-DDOLPHIN_WC_REVISION=${MY_PV}
		-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}
		-Dprefix=${GAMES_PREFIX}
		-Ddatadir=${GAMES_DATADIR}/${PN}
		-Dplugindir=$(games_get_libdir)/${PN}
		$(cmake-utils_use !wxwidgets DISABLE_WX)
		$(cmake-utils_use encode ENCODE_FRAMEDUMPS)"
	cmake-utils_src_configure
}

src_compile() {
	# Build using cmake
	cmake-utils_src_make

	# Build using scons (deprecated)
	# run "scons -h" to get a complete list of options
	#local sconsopts=$(echo "${MAKEOPTS}" | sed -ne "/-j/ { s/.*\(-j[[:space:]]*[0-9]\+\).*/\1/; p }")
	#scons ${sconsopts} \
	#	nowx=$(use wxwidgets && echo "false" || echo "true") \
	#	install=global \
	#	prefix="/usr" \
	#	destdir="${D}" \
	#	shared_glew=true \
	#	shared_lzo=true \
	#	shared_sdl=true \
	#	shared_zlib=true \
	#	shared_sfml=false \
	#	shared_soil=false \
	#	verbose=false \
	#	|| die "scons build failed"
}

src_install() {
	# copy files to target installation directory
	cmake-utils_src_install
	#scons install || die "scons install failed"

	# set binary name
	local binary="${PN}"
	use wxwidgets || binary+="-nogui"

	# install documentation as appropriate
	cd "${S}"
	dodoc Readme.txt
	if use doc; then
		doins -r docs
	fi

	# create menu entry for GUI builds
	if use wxwidgets; then
		doicon Source/Core/DolphinWX/resources/Dolphin.xpm || die
		make_desktop_entry "${binary}" "Dolphin" "Dolphin" "Game;Emulator"
	fi

	prepgamesdirs
}

pkg_postinst() {
	echo
	if ! use portaudio; then
		ewarn "If you need to use your microphone for a game, rebuild with USE=portaudio"
		echo
	fi
	if ! use wxwidgets; then
		ewarn "Note: It is not currently possible to configure Dolphin without the GUI."
		ewarn "Rebuild with USE=wxwidgets to enable the GUI if needed."
		echo
	fi

	games_pkg_postinst
}