summaryrefslogtreecommitdiff
path: root/games-emulation/higan/higan-099.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation/higan/higan-099.ebuild')
-rw-r--r--games-emulation/higan/higan-099.ebuild149
1 files changed, 149 insertions, 0 deletions
diff --git a/games-emulation/higan/higan-099.ebuild b/games-emulation/higan/higan-099.ebuild
new file mode 100644
index 000000000000..2a660f3b6e1e
--- /dev/null
+++ b/games-emulation/higan/higan-099.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils gnome2-utils toolchain-funcs qmake-utils games
+
+MY_P=${PN}_v${PV}-source
+
+DESCRIPTION="A Nintendo multi-system emulator formerly known as bsnes"
+HOMEPAGE="http://byuu.org/higan/ https://code.google.com/p/higan/"
+SRC_URI="http://download.byuu.org/${MY_P}.7z"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="ao +alsa +icarus openal opengl oss pulseaudio qt4 +sdl udev xv"
+REQUIRED_USE="|| ( ao openal alsa pulseaudio oss )
+ || ( xv opengl sdl )"
+
+RDEPEND="
+ x11-libs/libX11
+ x11-libs/libXext
+ icarus? ( x11-libs/gtksourceview:2.0
+ x11-libs/gtk+:2
+ x11-libs/pango
+ dev-libs/atk
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/freetype
+ )
+ 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[X,joystick,video] )
+ udev? ( virtual/udev )
+ !qt4? ( x11-libs/gtk+:2 )
+ qt4? ( dev-qt/qtcore:4
+ >=dev-qt/qtgui-4.5:4 )"
+DEPEND="${RDEPEND}
+ app-arch/p7zip
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+disable_module() {
+ sed -i \
+ -e "s|$1\b||" \
+ "${S}"/higan/target-tomoko/GNUmakefile || die
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-QA.patch
+
+ sed -i \
+ -e "/handle/s#/usr/local/lib#/usr/$(get_libdir)#" \
+ nall/dl.hpp || die "fixing libdir failed!"
+
+ # audio modules
+ use ao || disable_module audio.ao
+ use openal || disable_module audio.openal
+ use pulseaudio || { disable_module audio.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
+ use udev || disable_module input.udev
+
+ # regenerate .moc if needed
+ if use qt4; then
+ cd hiro/qt || die
+ "$(qt4_get_bindir)"/moc -i -I. -o qt.moc qt.hpp || die
+ fi
+}
+
+src_compile() {
+ local mytoolkit
+
+ if use qt4; then
+ mytoolkit="qt"
+ else
+ mytoolkit="gtk"
+ fi
+
+ if use icarus; then
+ cd "${S}/icarus" || die
+ emake \
+ platform="linux" \
+ compiler="$(tc-getCXX)"
+ fi
+
+ cd "${S}/higan" || die
+ emake \
+ platform="linux" \
+ compiler="$(tc-getCXX)" \
+ hiro="${mytoolkit}"
+
+ sed \
+ -e "s:%GAMES_DATADIR%:${GAMES_DATADIR}:" \
+ < "${FILESDIR}"/${PN}-wrapper \
+ > out/${PN}-wrapper || die "generating wrapper failed!"
+}
+
+src_install() {
+ if use icarus; then
+ newgamesbin "${S}"/icarus/out/icarus icarus
+ fi
+ newgamesbin "${S}"/higan/out/${PN} ${PN}.bin
+ newgamesbin "${S}"/higan/out/${PN}-wrapper ${PN}
+ make_desktop_entry "${PN}" "${PN}"
+
+ # copy home directory stuff to a global location
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r higan/data/cheats.bml higan/profile/*
+
+ doicon -s 512 higan/data/${PN}.png
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ #elog "optional dependencies:"
+ #elog " dev-games/higan-ananke (extra rom load options)"
+ #elog " games-util/higan-purify (Rom purifier)"
+
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}