Files
@ 794dc86717e2
Branch filter:
Location: portage-overlay.git/games-emulation/dolphin-emu/dolphin-emu-3.5.ebuild
794dc86717e2
3.9 KiB
application/vnd.gentoo.ebuild
initial commit of main tree
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 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | # Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI="5"
WX_GTK_VER="2.9"
#EGIT_REPO_URI="https://code.google.com/p/dolphin-emu/"
#EGIT_COMMIT="${PV}"
inherit cmake-utils eutils flag-o-matic git-2 pax-utils toolchain-funcs wxwidgets games
DESCRIPTION="Free, open source emulator for Nintendo GameCube and Wii"
HOMEPAGE="http://www.dolphin-emu.com/"
SRC_URI="http://dolphin-emu.googlecode.com/files/dolphin-${PV}-src.zip"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~ppc ~ppc64"
# NOTES:
# - wxWidgets support relies on 2.9 branch, which is currently masked in main tree
IUSE="alsa ao bluetooth doc encode +lzo openal opengl openmp portaudio pulseaudio wxwidgets"
RDEPEND=">=media-libs/glew-1.5
>=media-libs/libsdl-1.2[joystick]
<media-libs/libsfml-2.0
sys-libs/readline
x11-libs/libXext
x11-libs/libXrandr
ao? ( media-libs/libao )
alsa? ( media-libs/alsa-lib )
bluetooth? ( net-wireless/bluez )
encode? ( media-video/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.9 )"
DEPEND="${RDEPEND}
sys-devel/gettext
virtual/pkgconfig
media-gfx/nvidia-cg-toolkit"
S="${WORKDIR}/dolphin-${PV}"
src_unpack() {
unpack "dolphin-${PV}-src.zip"
cd ${S}
}
src_prepare() {
# Remove automagic dependencies
if use !alsa; then
sed -i -e '/^include(FindALSA/d' CMakeLists.txt || die
fi
if use !ao; then
sed -i -e '/^check_lib(AO/d' CMakeLists.txt || die
fi
if use !bluetooth; then
sed -i -e '/^check_lib(BLUEZ/d' CMakeLists.txt || die
fi
if use !openal; then
sed -i -e '/^include(FindOpenAL/d' CMakeLists.txt || die
fi
if use !portaudio; then
sed -i -e '/CMAKE_REQUIRED_LIBRARIES portaudio/d' CMakeLists.txt || die
fi
if use !pulseaudio; then
sed -i -e '/^check_lib(PULSEAUDIO/d' CMakeLists.txt || die
fi
# remove bundled libs, except
# - SOIL, which has not public sources now
# - Bochs_disasm (do not know what is it)
# - CLRun ( some part of OpenCL )
mv Externals/SOIL . || die
mv Externals/Bochs_disasm . || die
mv Externals/CLRun . || die
rm -r Externals/* || die 'failed to remove bundled libs'
mv Bochs_disasm Externals || die
mv CLRun Externals || die
mv SOIL Externals || die
}
src_configure() {
# filter problematic compiler flags
filter-flags -flto -fwhole-program
append-flags -fno-pie
if $($(tc-getPKG_CONFIG) --exists nvidia-cg-toolkit); then
append-flags "$($(tc-getPKG_CONFIG) --cflags nvidia-cg-toolkit)"
else
append-flags "-I/opt/nvidia-cg-toolkit/include"
fi
if $($(tc-getPKG_CONFIG) --exists nvidia-cg-toolkit); then
append-ldflags "$($(tc-getPKG_CONFIG) --libs-only-L nvidia-cg-toolkit)"
else
append-ldflags "-L/opt/nvidia-cg-toolkit/lib"
fi
local mycmakeargs=(
"-DDOLPHIN_WC_REVISION=${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_use openmp OPENMP)
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
# set binary name
local binary="${PN}"
use wxwidgets || binary+="-nogui"
# install documentation as appropriate
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
make_desktop_entry "${PN}" "Dolphin" "Dolphin" "Game;Emulator"
fi
prepgamesdirs
}
pkg_postinst() {
# hardened fix
pax-mark -m "${EPREFIX}/usr/games/bin/${PN}"
if ! use portaudio; then
ewarn "If you need to use your microphone for a game, rebuild with USE=portaudio"
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."
fi
games_pkg_postinst
}
|