You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.2 KiB
102 lines
2.2 KiB
4 years ago
|
# Copyright 1999-2021 Gentoo Authors
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
EAPI=7
|
||
|
|
||
|
COMMIT=9a625c545ca89b094d5c1da40bbfa5d07156a4aa
|
||
|
|
||
|
inherit desktop toolchain-funcs xdg
|
||
|
|
||
|
DESCRIPTION="Multi-system emulator focused on accuracy, preservation, and configurability"
|
||
|
HOMEPAGE="https://github.com/higan-emu/higan"
|
||
|
SRC_URI="https://github.com/higan-emu/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||
|
S="${WORKDIR}/${PN}-${COMMIT}"
|
||
|
|
||
|
LICENSE="GPL-3"
|
||
|
SLOT="0"
|
||
|
KEYWORDS="~amd64 ~x86"
|
||
|
IUSE="alsa ao +gtk openal +opengl oss +pulseaudio +sdl udev xv"
|
||
|
|
||
|
RDEPEND="
|
||
|
x11-libs/libX11
|
||
|
x11-libs/libXext
|
||
|
alsa? ( media-libs/alsa-lib )
|
||
|
ao? ( media-libs/libao )
|
||
|
openal? ( media-libs/openal )
|
||
|
opengl? ( virtual/opengl )
|
||
|
pulseaudio? ( media-sound/pulseaudio )
|
||
|
sdl? ( media-libs/libsdl2[joystick] )
|
||
|
udev? ( virtual/udev )
|
||
|
xv? ( x11-libs/libXv )
|
||
|
gtk? (
|
||
|
x11-libs/cairo
|
||
|
x11-libs/gtk+:3
|
||
|
x11-libs/gtksourceview:3.0
|
||
|
)
|
||
|
!gtk? (
|
||
|
dev-qt/qtcore:5
|
||
|
dev-qt/qtgui:5
|
||
|
dev-qt/qtwidgets:5
|
||
|
)"
|
||
|
DEPEND="${RDEPEND}"
|
||
|
BDEPEND="virtual/pkgconfig"
|
||
|
|
||
|
src_compile() {
|
||
|
local makeopts=(
|
||
|
platform=linux
|
||
|
compiler="$(tc-getCXX)"
|
||
|
hiro="$(usex gtk gtk3 qt5)"
|
||
|
)
|
||
|
|
||
|
local drivers=(
|
||
|
video.xshm
|
||
|
input.xlib
|
||
|
$(usex alsa audio.alsa "")
|
||
|
$(usex ao audio.ao "")
|
||
|
$(usex openal audio.openal "")
|
||
|
$(usex opengl "video.glx video.glx2" "")
|
||
|
$(usex oss audio.oss "")
|
||
|
$(usex pulseaudio "audio.pulseaudio audio.pulseaudiosimple" "")
|
||
|
$(usex sdl input.sdl "")
|
||
|
$(usex udev input.udev "")
|
||
|
$(usex xv video.xvideo "")
|
||
|
)
|
||
|
|
||
|
local coreopts=(
|
||
|
cores="cv fc gb gba md ms msx ngp pce sfc sg ws"
|
||
|
ruby="${drivers[*]}"
|
||
|
build=performance
|
||
|
local=false
|
||
|
)
|
||
|
|
||
|
# Make higan
|
||
|
emake "${makeopts[@]}" "${coreopts[@]}" -C higan-ui
|
||
|
|
||
|
# Make icarus
|
||
|
emake "${makeopts[@]}" -C icarus
|
||
|
}
|
||
|
|
||
|
src_install() {
|
||
|
# Install higan
|
||
|
dobin higan-ui/out/higan
|
||
|
|
||
|
insinto "/usr/share/${P}"
|
||
|
doins -r higan/System
|
||
|
|
||
|
domenu higan-ui/resource/higan.desktop
|
||
|
doicon -s 256 higan-ui/resource/higan.png
|
||
|
|
||
|
doins -r extras
|
||
|
|
||
|
# Install icarus
|
||
|
dobin icarus/out/icarus
|
||
|
|
||
|
domenu icarus/resource/icarus.desktop
|
||
|
doicon -s scalable icarus/resource/icarus.svg
|
||
|
|
||
|
insinto "/usr/share/${P}/Database"
|
||
|
doins -r icarus/Database
|
||
|
insinto "/usr/share/${P}/Firmware"
|
||
|
doins -r icarus/Firmware
|
||
|
}
|