summaryrefslogtreecommitdiff
path: root/games-emulation/higan
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-04-28 20:21:43 +0100
commit40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (patch)
tree758c221bad35c9288d0bd6df9c7dfc226728e52c /games-emulation/higan
parent8d5dbd847cbc704a6a06405856e94b461011afe3 (diff)
gentoo resync : 28.04.2021
Diffstat (limited to 'games-emulation/higan')
-rw-r--r--games-emulation/higan/Manifest10
-rw-r--r--games-emulation/higan/files/higan-106_p1-QA.patch117
-rw-r--r--games-emulation/higan/files/higan-106_p1-header-locations.patch24
-rw-r--r--games-emulation/higan/files/higan-106_p1-wrapper5
-rw-r--r--games-emulation/higan/files/higan-116_pre20210404-makefile.patch85
-rw-r--r--games-emulation/higan/higan-106_p1-r1.ebuild139
-rw-r--r--games-emulation/higan/higan-116_pre20210404.ebuild106
-rw-r--r--games-emulation/higan/metadata.xml7
8 files changed, 200 insertions, 293 deletions
diff --git a/games-emulation/higan/Manifest b/games-emulation/higan/Manifest
index 1507c0baaeb1..7dc8c76ca605 100644
--- a/games-emulation/higan/Manifest
+++ b/games-emulation/higan/Manifest
@@ -1,6 +1,4 @@
-AUX higan-106_p1-QA.patch 3708 BLAKE2B 25f3707c4336e423017eb879e9dfc02fee9660ee8c5e8390813906614eab8fd4306eabbe15e4330f7f00efed0231a335ec83a3682eb338bdc3f772546fd5d9b7 SHA512 ba5bf66a242baf7b2385ffd7a26c5a180589f917b5a636fa99dd488b4a733c09e6e3eb3ccc013b63817661c498149d943a53d3e536674251ae94f352516a4f44
-AUX higan-106_p1-header-locations.patch 598 BLAKE2B d7935edf4f241802ffc5200f8b4944fe1dff4596941993c7539e290f1640eb5e552a263d1a8d0c6db6b2d909b35bc34350aa84a4ba7ea9f8fb06d8466c59a673 SHA512 756893707d9048bf9f34818733ab812d7a81da329646c77536fc6feef74e97b6e3804dfdfd062e5899bba30c70343afdd3b62a5dfd1b79488b7fdec7bde57a91
-AUX higan-106_p1-wrapper 166 BLAKE2B 87659c19e485a4eca90178a9c2faf96214af7a13fb16c04a2175f3157dd4b522e6414fed9216a9acb293111f2f994837a9a496075ab0bebd2c78e3a5710330a4 SHA512 db297cfc9b6f5ff1553b52587a9988af46ad7d2aadbaa17743676250679e2bada68d97f85e934ce8c1eb7f57ac3f18c43a33eaca809a1f10f5a4f22c8cbe137a
-DIST higan-106_p1.tar.bz2 954533 BLAKE2B e7ea44f97f7e2c3ce86b57b853aa59c4372f37185846f8a928ba659b525965aed39f7859721394a776990e53e2f671fc0e7071d17f9397973343d9a7adcf70ac SHA512 f4d8dbfacaa20b948bd382fd0ef48e89cbb21a0569a70b6a4beca6c0a2ba404efc4c28d14bfd3df14d4fd76c763ca1537166bb24d765a8da33423bbea32df4c3
-EBUILD higan-106_p1-r1.ebuild 3137 BLAKE2B dbc5a4bb1e4ed2bc60b183d0b29a9c44a468d5d88c1496a7f4996f6e4bd36f21b1049697c810f30449eb24fc16c8370e4e1e8f1873b1fc23adea42aa31fb2a3c SHA512 bba6935d5de6a707c42737c9cb4acd3af243cbffef5552ae0fb9ace207e2a937067680467ce1556e1ee7ef19a56390ee6f211bd32665594bf9a48e8771421668
-MISC metadata.xml 377 BLAKE2B aefc33327d342c730de8b2bdd95c2299692c894fd67a3f43d378964e7b776e467d2a4644777e7c8a1eb94b41ee300a65cad084decf64fc02abbac8c02de509c1 SHA512 2faa3ffcca01d5740a5ca1c4f554c51e90e81c6c19cde15cf817c448debb5585e09a1b784d94e3ecd06321ed28a740ce846f1afbd149bce590ca69ef5b1ce9f4
+AUX higan-116_pre20210404-makefile.patch 2657 BLAKE2B d74b58ffedff5d4c1345bbbd0023dbabc162ff305fd39bf77a33b47dc6002f8fe3ad1d729bd5bcaa67dc6a57a4e6dd5cdce298bb6121396b0d779aa98845717b SHA512 c876acb714658cb1ba6fca9c359b9f030f5e15035bcf35697276ba5a3b68dd6098784b5e2eacc5bf7e082922d748eb526784c88139b24a099340531b34e3f152
+DIST higan-116_pre20210404.tar.gz 9130899 BLAKE2B bb9830901d7014f9d442f3a3bd9bd82ad791d2ba62a3264cfc187e5d7498a5ec6eae1fff6509f5206d9a21294e2a3ef710fbed5fac3626ecc88c4156bd50f289 SHA512 8ee40d8b9867fe767d5321dc4df3e73039fa39b7ecad2eddb58c3114bcf42b1b2074396ae5c4783ca060057aeb4bca7110101cc44d9608fe7c4d5f561b3f40a5
+EBUILD higan-116_pre20210404.ebuild 2329 BLAKE2B 860b44b05c893addafb88ad3622067736924936aee4d9abb583f7a06014540e33a589004c1d5aa6ce708b0d39e1a373e87307b346650d5df41e69f6752c0f7d0 SHA512 6a76a5124d4fe6703abdd859c5a53c5cdf7ea16aca56e0aadc0874ec5c528598c7e2a8de7635c8a38a708aea518de0262001cc388b3c44fbb7cde261650288b4
+MISC metadata.xml 487 BLAKE2B c138223ee8452d6db2ca0aff44ce7065ee4268961c4cc287b69e46cd2d65b4928f2dd5a0d8bc78e2a1c55a8d8fb77fbd62e5703b814417fea71d9e35e5681a56 SHA512 0f2ef2ffa6aed301e12f97190e66636bcdba9812488ba7ebb7200ee8298b004053e356a84b3415cd78931cc64726a49e9823b9b73aefda2d9b707b9bf9f80e1d
diff --git a/games-emulation/higan/files/higan-106_p1-QA.patch b/games-emulation/higan/files/higan-106_p1-QA.patch
deleted file mode 100644
index 140fdf9a48e7..000000000000
--- a/games-emulation/higan/files/higan-106_p1-QA.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From 3ca37e53f22bfbb4ef436829904dc75b1f4940ec Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Sun, 21 Jan 2018 11:16:53 +0100
-Subject: [PATCH] Quickport higan-099-QA.patch to v106r1
-
----
- higan/GNUmakefile | 5 ++---
- higan/target-tomoko/GNUmakefile | 6 +++---
- icarus/GNUmakefile | 4 ++--
- nall/GNUmakefile | 19 -------------------
- 4 files changed, 7 insertions(+), 27 deletions(-)
-
-diff --git a/higan/GNUmakefile b/higan/GNUmakefile
-index 5eac824..2616ed1 100644
---- a/higan/GNUmakefile
-+++ b/higan/GNUmakefile
-@@ -26,7 +26,6 @@ else ifneq ($(filter $(platform),linux bsd),)
- flags += -fopenmp
- link += -fopenmp
- ifeq ($(binary),application)
-- flags += -march=native
- link += -Wl,-export-dynamic
- link += -lX11 -lXext
- else ifeq ($(binary),library)
-@@ -40,9 +39,9 @@ endif
- compile = \
- $(strip \
- $(if $(filter %.c,$<), \
-- $(compiler) $(cflags) $(flags) $1 -c $< -o $@, \
-+ $(compiler) $(cflags) $(flags) $(CFLAGS) $1 -c $< -o $@, \
- $(if $(filter %.cpp,$<), \
-- $(compiler) $(cppflags) $(flags) $1 -c $< -o $@ \
-+ $(compiler) $(cppflags) $(flags) $(CXXFLAGS) $1 -c $< -o $@ \
- ) \
- ) \
- )
-diff --git a/higan/target-tomoko/GNUmakefile b/higan/target-tomoko/GNUmakefile
-index bfdcbe2..bdb6d44 100644
---- a/higan/target-tomoko/GNUmakefile
-+++ b/higan/target-tomoko/GNUmakefile
-@@ -48,10 +48,10 @@ objects := $(ui_objects) $(objects)
- objects := $(patsubst %,obj/%.o,$(objects))
-
- obj/ruby.o: ../ruby/ruby.cpp $(call rwildcard,../ruby/)
-- $(compiler) $(rubyflags) -c $< -o $@
-+ $(compiler) $(rubyflags) $(CXXFLAGS) -c $< -o $@
-
- obj/hiro.o: ../hiro/hiro.cpp $(call rwildcard,../hiro/)
-- $(compiler) $(hiroflags) -c $< -o $@
-+ $(compiler) $(hiroflags) $(CXXFLAGS) -c $< -o $@
-
- obj/ui-tomoko.o: $(ui)/tomoko.cpp $(call rwildcard,$(ui)/)
- obj/ui-program.o: $(ui)/program/program.cpp $(call rwildcard,$(ui)/)
-@@ -67,7 +67,7 @@ obj/ui-resource.o:
-
- # targets
- build: $(objects)
-- $(strip $(compiler) -o out/$(name) $(objects) $(link))
-+ $(strip $(compiler) $(CXXFLAGS) -o out/$(name) $(objects) $(link))
- ifeq ($(platform),macos)
- @if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
- mkdir -p out/$(name).app/Contents/MacOS/
-diff --git a/icarus/GNUmakefile b/icarus/GNUmakefile
-index d01465e..999c004 100644
---- a/icarus/GNUmakefile
-+++ b/icarus/GNUmakefile
-@@ -3,7 +3,7 @@ include ../nall/GNUmakefile
- include ../hiro/GNUmakefile
-
- name := icarus
--flags += -I..
-+flags += -I.. $(CXXFLAGS)
- link +=
-
- ifeq ($(platform),windows)
-@@ -15,7 +15,7 @@ objects += obj/icarus.o
- objects += $(if $(call streq,$(platform),windows),obj/resource.o)
-
- all: $(objects)
-- $(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink))
-+ $(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink) $(LDFLAGS))
- ifeq ($(platform),macos)
- @if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
- mkdir -p out/$(name).app/Contents/MacOS/
-diff --git a/nall/GNUmakefile b/nall/GNUmakefile
-index f9865de..f864cde 100644
---- a/nall/GNUmakefile
-+++ b/nall/GNUmakefile
-@@ -59,25 +59,6 @@ ifeq ($(compiler),)
- endif
- endif
-
--# build settings
--ifeq ($(build),optimize)
-- flags += -O3
--else ifeq ($(build),release)
-- flags += -O2
--else ifeq ($(build),stable)
-- flags += -O1
--else ifeq ($(build),debug)
-- flags += -g
--else ifeq ($(build),profile)
-- flags += -pg
-- link += -pg
--else ifeq ($(build),instrument)
-- flags += -O3 -fprofile-generate
-- link += -lgcov
--else ifeq ($(build),optimize)
-- flags += -O3 -fprofile-use
--endif
--
- # clang settings
- ifeq ($(findstring clang++,$(compiler)),clang++)
- flags += -fno-strict-aliasing -fwrapv
---
-2.16.0.rc2
-
diff --git a/games-emulation/higan/files/higan-106_p1-header-locations.patch b/games-emulation/higan/files/higan-106_p1-header-locations.patch
deleted file mode 100644
index 7f72a1311491..000000000000
--- a/games-emulation/higan/files/higan-106_p1-header-locations.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 420b10135f678367560621416799c48af0ef3764 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Sun, 21 Jan 2018 11:44:22 +0100
-Subject: [PATCH] Patch header locations for Gentoo
-
----
- nall/GNUmakefile | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/nall/GNUmakefile b/nall/GNUmakefile
-index f864cde..41fdc08 100644
---- a/nall/GNUmakefile
-+++ b/nall/GNUmakefile
-@@ -82,6 +82,7 @@ endif
-
- # linux settings
- ifeq ($(platform),linux)
-+ flags += -I/usr/include/cairo/ -I/usr/include/gtk-2.0/ -I/usr/include/gtksourceview-2.0/
- link += -ldl
- endif
-
---
-2.16.0.rc2
-
diff --git a/games-emulation/higan/files/higan-106_p1-wrapper b/games-emulation/higan/files/higan-106_p1-wrapper
deleted file mode 100644
index 1de577fd1923..000000000000
--- a/games-emulation/higan/files/higan-106_p1-wrapper
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-set -e
-[ -e "${HOME}"/.local/share/higan ] || mkdir "${HOME}"/.local/share/higan
-cp -ru /usr/share/higan/* "${HOME}"/.local/share/higan/
-exec ${0}.bin "$@"
diff --git a/games-emulation/higan/files/higan-116_pre20210404-makefile.patch b/games-emulation/higan/files/higan-116_pre20210404-makefile.patch
new file mode 100644
index 000000000000..21f3f35ae3e5
--- /dev/null
+++ b/games-emulation/higan/files/higan-116_pre20210404-makefile.patch
@@ -0,0 +1,85 @@
+--- a/higan-ui/GNUmakefile
++++ b/higan-ui/GNUmakefile
+@@ -54,7 +54,7 @@
+
+ all: $(all.objects)
+ $(info Linking $(output.path)/$(name) ...)
+- +@$(compiler) -o $(output.path)/$(name) $(all.objects) $(all.options)
++ $(compiler) $(LDFLAGS) -o $(output.path)/$(name) $(all.objects) $(all.options)
+ ifeq ($(platform),macos)
+ rm -rf $(output.path)/$(name).app
+ mkdir -p $(output.path)/$(name).app/Contents/MacOS/
+--- a/hiro/GNUmakefile
++++ b/hiro/GNUmakefile
+@@ -70,7 +70,7 @@
+ $(if $(filter qt%,$(hiro)),$(info Compiling $(hiro.path)/qt/qt.moc ...))
+ $(if $(filter qt%,$(hiro)),@$(moc) -i -o $(hiro.path)/qt/qt.moc $(hiro.path)/qt/qt.hpp)
+ $(info Compiling $(subst ../,,$<) ...)
+- @$(compiler) $(hiro.flags) $(flags) $(flags.deps) -c $< -o $@
++ $(compiler) $(hiro.flags) $(flags) $(flags.deps) -c $< -o $@
+
+ $(object.path)/hiro-resource.o: $(hiro.resource)
+ $(info Compiling $(subst ../,,$<) ...)
+--- a/icarus/GNUmakefile
++++ b/icarus/GNUmakefile
+@@ -19,7 +19,7 @@
+
+ all: $(hiro.objects) $(objects)
+ $(info Linking $(output.path)/$(name) ...)
+- +@$(compiler) -o $(output.path)/$(name) $(hiro.objects) $(objects) $(hiro.options) $(options)
++ $(compiler) $(LDFLAGS) -o $(output.path)/$(name) $(hiro.objects) $(objects) $(hiro.options) $(options)
+ ifeq ($(platform),macos)
+ rm -rf $(output.path)/$(name).app
+ mkdir -p $(output.path)/$(name).app/Contents/MacOS/
+--- a/nall/GNUmakefile
++++ b/nall/GNUmakefile
+@@ -77,17 +77,7 @@
+ endif
+
+ # build optimization levels
+-ifeq ($(build),debug)
+- flags += -Og -g -DBUILD_DEBUG
+-else ifeq ($(build),stable)
+- flags += -O1 -DBUILD_STABLE
+-else ifeq ($(build),size)
+- flags += -Os -DBUILD_SIZE
+-else ifeq ($(build),release)
+- flags += -O2 -DBUILD_RELEASE
+-else ifeq ($(build),performance)
+- flags += -O3 -DBUILD_PERFORMANCE
+-endif
++flags += $(CPPFLAGS) $(CXXFLAGS) -DBUILD_RELEASE
+
+ # link-time optimization
+ ifeq ($(lto),true)
+@@ -167,7 +157,7 @@
+
+ %.o: $<
+ $(info Compiling $(subst ../,,$<) ...)
+- @$(call compile)
++ $(call compile)
+
+ # function compile([arguments])
+ compile = \
+--- a/ruby/GNUmakefile
++++ b/ruby/GNUmakefile
+@@ -74,7 +74,7 @@
+
+ $(object.path)/ruby.o: $(ruby.path)/ruby.cpp $(call rwildcard,$(ruby.path))
+ $(info Compiling $(subst ../,,$<) ...)
+- @$(compiler) $(ruby.flags) $(flags) $(flags.deps) -c $< -o $@
++ $(compiler) $(ruby.flags) $(flags) $(flags.deps) -c $< -o $@
+
+ ruby.verbose:
+ $(info ruby Drivers:)
+--- a/sourcery/GNUmakefile
++++ b/sourcery/GNUmakefile
+@@ -11,7 +11,7 @@
+
+ all: $(objects)
+ $(info Linking out/$(name) ...)
+- +@$(compiler) -o out/$(name) $(objects) $(options)
++ $(compiler) $(LDFLAGS) -o out/$(name) $(objects) $(options)
+
+ verbose: nall.verbose all;
+
diff --git a/games-emulation/higan/higan-106_p1-r1.ebuild b/games-emulation/higan/higan-106_p1-r1.ebuild
deleted file mode 100644
index 09a2aafadb15..000000000000
--- a/games-emulation/higan/higan-106_p1-r1.ebuild
+++ /dev/null
@@ -1,139 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-MY_COMMIT=41efdba45afa770db99bc7484a8ad340ccc597d2
-inherit desktop toolchain-funcs xdg-utils
-
-DESCRIPTION="A multi-system game emulator formerly known as bsnes"
-HOMEPAGE="https://byuu.org/emulation/higan/ https://gitlab.com/higan/higan"
-SRC_URI="https://gitlab.com/higan/higan/repository/${MY_COMMIT}/archive.tar.bz2 -> ${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="ao +alsa +icarus openal opengl oss pulseaudio +sdl udev xv"
-REQUIRED_USE="|| ( ao openal alsa pulseaudio oss )
- || ( xv opengl sdl )"
-
-RDEPEND="
- x11-libs/gtk+:2
- 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 )
-"
-DEPEND="${RDEPEND}
- app-arch/p7zip
- virtual/pkgconfig
-"
-
-S=${WORKDIR}/${PN}-${MY_COMMIT}-${MY_COMMIT}
-
-PATCHES=(
- "${FILESDIR}"/${P}-header-locations.patch
- "${FILESDIR}"/${P}-QA.patch
-)
-
-disable_module() {
- sed -i \
- -e "s|$1\b||" \
- "${S}"/higan/target-tomoko/GNUmakefile || die
-}
-
-src_prepare() {
- default
- 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.xvideo
- use sdl || disable_module video.sdl
-
- # input modules
- use sdl || disable_module input.sdl
- use udev || disable_module input.udev
-}
-
-src_compile() {
- local mytoolkit
-
- mytoolkit="gtk"
-
- # Needed for fluent audio (even on i5 hardware)
- export CFLAGS="${CFLAGS} -O3"
- export CXXFLAGS="${CXXFLAGS} -O3"
-
- 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}"
-}
-
-src_install() {
- if use icarus; then
- newbin "${S}"/icarus/out/icarus icarus
- fi
- newbin "${S}"/higan/out/${PN} ${PN}.bin
- newbin "${FILESDIR}"/${P}-wrapper ${PN}
- make_desktop_entry "${PN}" "${PN}"
-
- # copy home directory stuff to a global location (matching "${FILESDIR}"/${P}-wrapper)
- insinto /usr/share/${PN}
- doins -r higan/systems/*.sys
-
- doicon -s 512 higan/data/${PN}.png
- doicon higan/data/${PN}.svg
-}
-
-pkg_preinst() {
- games_pkg_preinst
-}
-
-pkg_postinst() {
- #elog "optional dependencies:"
- #elog " dev-games/higan-ananke (extra rom load options)"
- #elog " games-util/higan-purify (Rom purifier)"
-
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/games-emulation/higan/higan-116_pre20210404.ebuild b/games-emulation/higan/higan-116_pre20210404.ebuild
new file mode 100644
index 000000000000..53899e2c610a
--- /dev/null
+++ b/games-emulation/higan/higan-116_pre20210404.ebuild
@@ -0,0 +1,106 @@
+# 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"
+
+PATCHES=(
+ # insane build system, reinvents every built-in rule
+ "${FILESDIR}"/${P}-makefile.patch
+)
+
+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
+}
diff --git a/games-emulation/higan/metadata.xml b/games-emulation/higan/metadata.xml
index 5bef912000c6..f23ba835ea1c 100644
--- a/games-emulation/higan/metadata.xml
+++ b/games-emulation/higan/metadata.xml
@@ -6,7 +6,10 @@
<name>Gentoo Games Project</name>
</maintainer>
<use>
- <flag name="icarus">Build icarus library manager</flag>
- <flag name="udev">Enable udev based input</flag>
+ <flag name="gtk">Use GTK3 (Qt5 if disabled) user interface backend</flag>
</use>
+ <upstream>
+ <bugs-to>https://github.com/higan-emu/higan/issues</bugs-to>
+ <remote-id type="github">higan-emu/higan</remote-id>
+ </upstream>
</pkgmetadata>