# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI=5 inherit eutils MY_PV="${PV/0./}" MY_PV="${MY_PV/_/}" DESCRIPTION="A Super Famicom/SNES emulator written with absolute accuracy in mind" HOMEPAGE="http://byuu.org/bsnes/" SRC_URI="http://bsnes.googlecode.com/files/${PN}_v${MY_PV}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="ao alsa debug openal opengl oss pulseaudio sdl sgb snesfilter +snesreader xv" RDEPEND="ao? ( media-libs/libao ) openal? ( media-libs/openal ) alsa? ( media-libs/alsa-lib ) pulseaudio? ( media-sound/pulseaudio ) xv? ( x11-libs/libXv ) opengl? ( virtual/opengl ) sdl? ( media-libs/libsdl[joystick] ) sgb? ( dev-games/supergameboy ) snesfilter? ( dev-games/snesfilter ) snesreader? ( dev-games/snesreader ) >=dev-qt/qtgui-4.5:4" DEPEND="${RDEPEND} virtual/pkgconfig >=sys-devel/gcc-4.4" S="${WORKDIR}/${PN}" REQUIRED_USE="|| ( ao openal alsa pulseaudio oss ) || ( xv opengl sdl )" disable_module() { sed -i "ui-qt/Makefile" -e "s|$1||" } src_prepare() { epatch "${FILESDIR}"/${P}-makefile.patch \ "${FILESDIR}"/${P}-gcc46.patch \ "${FILESDIR}"/${P}-gcc47.patch # debugger if use debug ; then sed -i "snes/snes.hpp" \ -e "s://\(#define DEBUGGER\):\\1:" \ || die "sed failed" fi # audio modules use ao || disable_module audio.ao use openal || disable_module audio.openal use pulseaudio || disable_module audio.pulseaudio use pulseaudio || disable_module audio.pulseaudiosimple use oss || disable_module audio.oss use alsa || disable_module audio.alsa # video modules use opengl || disable_module video.glx use xv || disable_module video.xv use sdl || disable_module video.sdl # input modules use sdl || disable_module input.sdl } src_compile() { for i in accuracy compatibility performance; do emake platform=x compiler=gcc profile=$i ui=ui-qt || die "emake failed" make clean done cd launcher && sh cc.sh || die } src_install() { for i in accuracy compatibility performance; do emake \ DESTDIR="${D}" \ prefix="/usr" \ profile=$i \ install || die "install failed" done dobin out/bsnes || die }