EAPI="2" inherit eutils flag-o-matic games MY_P=${P/-bin/} MY_PN=${PN/-bin/} DESCRIPTION="Free and Open GameCube and Wii emulator" HOMEPAGE="http://www.dolphin-emu.com" SRC_URI="http://dolphin.jcf129.com/${MY_P}.i686.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~amd64 ~ppc ~ppc64" IUSE="openal portaudio docs" RESTRICT="" RDEPEND="!games-emulation/dolphin >=sys-libs/glibc-2.11 sys-devel/gcc:4.4 sys-libs/zlib media-libs/jpeg virtual/opengl >=x11-libs/wxGTK-2.8 >=media-libs/libsdl-1.2 x11-libs/libXxf86vm x11-libs/libXext >=media-libs/glew-1.5 x11-libs/cairo media-libs/libao || ( net-wireless/bluez net-wireless/bluez-libs ) openal? ( media-libs/openal ) portaudio? ( media-libs/portaudio )" DEPEND="${RDEPEND} dev-util/pkgconfig media-gfx/nvidia-cg-toolkit" S="${WORKDIR}" src_setup() { if ! use portaudio; then echo elog "You will not be able to use microphone in games without portaudio" echo fi } src_install() { ## put it in jail until proper multi-user configuration implemented local name="${MY_PN}-emu" local bindir="${S}/Binary/$(uname -s)-$(uname -m)" # clean out .svn directories find . -name ".svn" -type d -print0 -exec rm -rf {} \; &> /dev/null # put bundled docs untouched if use docs; then insinto "${GAMES_DATADIR}/${MY_PN}" doins -r "${S}/docs"/* fi # set shared permissions insopts "-g games -o nobody -m660" diropts "-g games -o nobody -m770" exeopts "-g games -m 750" insinto "/opt/${MY_PN}" exeinto "/opt/${MY_PN}" # put crutches in place doins -r "${bindir}"/{user,sys,plugins} || die "failed to install" dogameslib "${bindir}"/lib/* || die "failed to install libraries" doexe "${bindir}"/{${name},dsptool} || die "failed to put binaries in place" # make link to it cat <<-EOF > "${S}/${MY_PN}" #!/bin/sh cd "/opt/${MY_PN}" ./${MY_PN}-emu \$1 EOF dogamesbin "${S}/${MY_PN}" || die # and fancy menu entry doicon "${FILESDIR}/${name}.png" || die make_desktop_entry "/opt/${MY_PN}/${name}" "${name}" "${name}.png" "Game;Emulator" "/opt/${MY_PN}" } pkg_postinst() { echo elog "Note that proper GNU multi-user support is missing and" elog "binary always executes via wrapper" echo }