public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: games-emulation/higan/, games-emulation/higan/files/
@ 2018-01-21 12:36 Sebastian Pipping
  0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Pipping @ 2018-01-21 12:36 UTC (permalink / raw
  To: gentoo-commits

commit:     436f7416de80817975bf5b7b6e06458d26404d68
Author:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 21 12:28:02 2018 +0000
Commit:     Sebastian Pipping <sping <AT> gentoo <DOT> org>
CommitDate: Sun Jan 21 12:35:47 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=436f7416

games-emulation/higan: 106_p1

Closes: https://bugs.gentoo.org/567980
Package-Manager: Portage-2.3.19, Repoman-2.3.6

 games-emulation/higan/Manifest                     |   1 +
 games-emulation/higan/files/higan-106_p1-QA.patch  | 117 ++++++++++++++++++
 .../files/higan-106_p1-header-locations.patch      |  24 ++++
 games-emulation/higan/files/higan-106_p1-wrapper   |   5 +
 games-emulation/higan/higan-106_p1.ebuild          | 134 +++++++++++++++++++++
 5 files changed, 281 insertions(+)

diff --git a/games-emulation/higan/Manifest b/games-emulation/higan/Manifest
index ee06c03975e..70d8f65c8fa 100644
--- a/games-emulation/higan/Manifest
+++ b/games-emulation/higan/Manifest
@@ -1 +1,2 @@
+DIST higan-106_p1.tar.bz2 954533 BLAKE2B e7ea44f97f7e2c3ce86b57b853aa59c4372f37185846f8a928ba659b525965aed39f7859721394a776990e53e2f671fc0e7071d17f9397973343d9a7adcf70ac SHA512 f4d8dbfacaa20b948bd382fd0ef48e89cbb21a0569a70b6a4beca6c0a2ba404efc4c28d14bfd3df14d4fd76c763ca1537166bb24d765a8da33423bbea32df4c3
 DIST higan_v099-source.7z 1012348 BLAKE2B db3eb7b8819532786e6f2dd664225abddc49d12cf5c525862578523240c76ab3ac2680537e04b347130ae7e821d1d98e6c4bf25cf47449567afd90887989aa0e SHA512 567f0c9841fb3fed1c78f2afcd9865cbfe06d04b995d4dc468269e459249b758daed949b461b5b8645ebab40edc1f4f28a566de5795325dae4f604190ca9eae6

diff --git a/games-emulation/higan/files/higan-106_p1-QA.patch b/games-emulation/higan/files/higan-106_p1-QA.patch
new file mode 100644
index 00000000000..140fdf9a48e
--- /dev/null
+++ b/games-emulation/higan/files/higan-106_p1-QA.patch
@@ -0,0 +1,117 @@
+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
new file mode 100644
index 00000000000..7f72a131149
--- /dev/null
+++ b/games-emulation/higan/files/higan-106_p1-header-locations.patch
@@ -0,0 +1,24 @@
+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
new file mode 100644
index 00000000000..1de577fd192
--- /dev/null
+++ b/games-emulation/higan/files/higan-106_p1-wrapper
@@ -0,0 +1,5 @@
+#!/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/higan-106_p1.ebuild b/games-emulation/higan/higan-106_p1.ebuild
new file mode 100644
index 00000000000..c0d5d2586ae
--- /dev/null
+++ b/games-emulation/higan/higan-106_p1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils gnome2-utils toolchain-funcs qmake-utils
+
+MY_COMMIT=41efdba45afa770db99bc7484a8ad340ccc597d2
+
+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}
+
+disable_module() {
+	sed -i \
+		-e "s|$1\b||" \
+		"${S}"/higan/target-tomoko/GNUmakefile || die
+}
+
+src_prepare() {
+	epatch "${FILESDIR}"/${P}-header-locations.patch
+	epatch "${FILESDIR}"/${P}-QA.patch
+
+	sed -i \
+		-e "/handle/s#/usr/local/lib#/usr/$(get_libdir)#" \
+		nall/dl.hpp || die "fixing libdir failed!"
+
+	eapply_user
+
+	# 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"
+
+	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
+	gnome2_icon_savelist
+}
+
+pkg_postinst() {
+	#elog "optional dependencies:"
+	#elog "  dev-games/higan-ananke (extra rom load options)"
+	#elog "  games-util/higan-purify (Rom purifier)"
+
+	gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+	gnome2_icon_cache_update
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: games-emulation/higan/, games-emulation/higan/files/
@ 2021-04-25 17:37 David Seifert
  0 siblings, 0 replies; 3+ messages in thread
From: David Seifert @ 2021-04-25 17:37 UTC (permalink / raw
  To: gentoo-commits

commit:     1a7bdcfe1f82535cc34ef22c103bf0f8c6236431
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 17:37:00 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Apr 25 17:37:00 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1a7bdcfe

games-emulation/higan: Respect CPPFLAGS/CXXFLAGS/LDFLAGS

Closes: https://bugs.gentoo.org/780336
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 .../files/higan-116_pre20210404-makefile.patch     | 85 ++++++++++++++++++++++
 games-emulation/higan/higan-116_pre20210404.ebuild | 11 ++-
 2 files changed, 93 insertions(+), 3 deletions(-)

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 00000000000..21f3f35ae3e
--- /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-116_pre20210404.ebuild b/games-emulation/higan/higan-116_pre20210404.ebuild
index bf6c718a2f3..53899e2c610 100644
--- a/games-emulation/higan/higan-116_pre20210404.ebuild
+++ b/games-emulation/higan/higan-116_pre20210404.ebuild
@@ -41,6 +41,11 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=(
+	# insane build system, reinvents every built-in rule
+	"${FILESDIR}"/${P}-makefile.patch
+)
+
 src_compile() {
 	local makeopts=(
 		platform=linux
@@ -80,7 +85,7 @@ src_install() {
 	# Install higan
 	dobin higan-ui/out/higan
 
-	insinto "/usr/share/${P}"
+	insinto /usr/share/${P}
 	doins -r higan/System
 
 	domenu higan-ui/resource/higan.desktop
@@ -94,8 +99,8 @@ src_install() {
 	domenu icarus/resource/icarus.desktop
 	doicon -s scalable icarus/resource/icarus.svg
 
-	insinto "/usr/share/${P}/Database"
+	insinto /usr/share/${P}/Database
 	doins -r icarus/Database
-	insinto "/usr/share/${P}/Firmware"
+	insinto /usr/share/${P}/Firmware
 	doins -r icarus/Firmware
 }


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: games-emulation/higan/, games-emulation/higan/files/
@ 2022-01-03 12:13 Ionen Wolkens
  0 siblings, 0 replies; 3+ messages in thread
From: Ionen Wolkens @ 2022-01-03 12:13 UTC (permalink / raw
  To: gentoo-commits

commit:     f3cb59332d973d7cabe4c3eb10da86cfedc49044
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  3 11:35:52 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Mon Jan  3 12:12:54 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f3cb5933

games-emulation/higan: add 116_pre20210818, use system paths

Closes: https://bugs.gentoo.org/828108
Thanks-to: Nathan Zachary
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 games-emulation/higan/Manifest                     |   1 +
 .../higan/files/higan-116_pre20210818-paths.patch  |  44 ++++++++
 games-emulation/higan/higan-116_pre20210818.ebuild | 122 +++++++++++++++++++++
 3 files changed, 167 insertions(+)

diff --git a/games-emulation/higan/Manifest b/games-emulation/higan/Manifest
index b6fe03d83b0d..8c4d29547d09 100644
--- a/games-emulation/higan/Manifest
+++ b/games-emulation/higan/Manifest
@@ -1 +1,2 @@
 DIST higan-116_pre20210404.tar.gz 9130899 BLAKE2B bb9830901d7014f9d442f3a3bd9bd82ad791d2ba62a3264cfc187e5d7498a5ec6eae1fff6509f5206d9a21294e2a3ef710fbed5fac3626ecc88c4156bd50f289 SHA512 8ee40d8b9867fe767d5321dc4df3e73039fa39b7ecad2eddb58c3114bcf42b1b2074396ae5c4783ca060057aeb4bca7110101cc44d9608fe7c4d5f561b3f40a5
+DIST higan-116_pre20210818.tar.gz 9131284 BLAKE2B 4d3a514b9b8ec46353066b7257814c42024bff86c462b7a121aad5b5d1969d21cd7a96097e7d9d89d35e7a7f66a14c11a35cd77be05e73eca96caa3990e1c9b5 SHA512 d218feab3a3a39cd58fd2a727320ac88a4f006aa987c26860463f577039a9124b93119ee162f7d120f3bb4c23974eec53c7a0850c6e5743a8fdc8e48d108125d

diff --git a/games-emulation/higan/files/higan-116_pre20210818-paths.patch b/games-emulation/higan/files/higan-116_pre20210818-paths.patch
new file mode 100644
index 000000000000..0652b164cfd9
--- /dev/null
+++ b/games-emulation/higan/files/higan-116_pre20210818-paths.patch
@@ -0,0 +1,44 @@
+Based on patch from Arch additionally using system's Shaders/
+
+Resulting paths:
+/usr/share/higan/{Database,Firmware,Shaders,Templates}
+~/higan/ -> ~/.local/share/higan/Systems
+
+Templates+Systems can be changed in ~/.config/higan/paths.bml and
+does not disrupt existing configurations. Shaders will use default
+~/.config/higan/Shaders over system's if it exists.
+
+https://bugs.gentoo.org/828108
+--- a/higan-ui/higan-ui.cpp
++++ b/higan-ui/higan-ui.cpp
+@@ -44,9 +44,8 @@
+   }
+   if(!directory::exists(Path::templates)) {
+-    Path::templates = {Path::userData(), "higan/"};
+-    directory::create(Path::templates);
++    Path::templates = {Path::sharedData(), "higan/Templates/"};
+   }
+   if(!directory::exists(Path::data)) {
+-    Path::data = {Path::user(), "higan/"};
++    Path::data = {Path::userData(), "higan/Systems/"};
+     directory::create(Path::data);
+   }
+--- a/higan-ui/menus/settings.cpp
++++ b/higan-ui/menus/settings.cpp
+@@ -78,4 +78,6 @@
+ 
+   string location{Path::settings, "Shaders/"};
++  if(!directory::exists(location))
++    location = string{Path::sharedData(), "higan/Shaders/"};
+ 
+   if(settings.video.driver == "OpenGL 3.2") {
+--- a/icarus/icarus.cpp
++++ b/icarus/icarus.cpp
+@@ -9,6 +9,5 @@
+   if(inode::exists(location)) return location;
+ 
+-  directory::create({Path::userData(), "icarus/"});
+-  return {Path::userData(), "icarus/", name};
++  return {Path::sharedData(), "higan/", name};
+ }
+ 

diff --git a/games-emulation/higan/higan-116_pre20210818.ebuild b/games-emulation/higan/higan-116_pre20210818.ebuild
new file mode 100644
index 000000000000..e484fdff7aa0
--- /dev/null
+++ b/games-emulation/higan/higan-116_pre20210818.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop toolchain-funcs
+
+HIGAN_COMMIT="9bf1b3314b2bcc73cbc11d344b369c31562aff10"
+
+DESCRIPTION="Multi-system emulator focused on accuracy, preservation, and configurability"
+HOMEPAGE="https://github.com/higan-emu/higan"
+SRC_URI="https://github.com/higan-emu/higan/archive/${HIGAN_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${HIGAN_COMMIT}"
+
+LICENSE="GPL-3+ ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa ao +gtk openal +opengl oss +pulseaudio +sdl udev xv"
+
+RDEPEND="
+	x11-libs/libX11
+	x11-libs/libXext
+	x11-libs/libXrandr
+	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/libudev:= )
+	xv? ( x11-libs/libXv )
+	gtk? (
+		dev-libs/glib:2
+		x11-libs/cairo
+		x11-libs/gdk-pixbuf:2
+		x11-libs/gtk+:3
+		x11-libs/gtksourceview:3.0=
+		x11-libs/pango
+	)
+	!gtk? (
+		dev-qt/qtcore:5
+		dev-qt/qtgui:5
+		dev-qt/qtwidgets:5
+	)"
+DEPEND="
+	${RDEPEND}
+	x11-base/xorg-proto"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	# insane build system, reinvents every built-in rule
+	"${FILESDIR}"/${PN}-116_pre20210404-makefile.patch
+	"${FILESDIR}"/${PN}-116_pre20210818-paths.patch
+)
+
+src_prepare() {
+	default
+
+	use !prefix || sed -i "s|/usr/share|${EPREFIX}&|" nall/path.hpp || die
+}
+
+src_compile() {
+	local makeopts=(
+		platform=linux
+		compiler="$(tc-getCXX)"
+		hiro=$(usex gtk gtk3 qt5)
+	)
+
+	local drivers=(
+		video.xshm
+		input.xlib
+		$(usev alsa audio.alsa)
+		$(usev ao audio.ao)
+		$(usev openal audio.openal)
+		$(usev opengl "video.glx video.glx2")
+		$(usev oss audio.oss)
+		$(usev pulseaudio "audio.pulseaudio audio.pulseaudiosimple")
+		$(usev sdl input.sdl)
+		$(usev udev input.udev)
+		$(usev xv video.xvideo)
+	)
+
+	local coreopts=(
+		cores="cv fc gb gba md ms msx ngp pce sfc sg ws"
+		ruby="${drivers[*]}"
+		build=performance
+		local=false
+	)
+
+	emake "${makeopts[@]}" "${coreopts[@]}" -C higan-ui
+
+	emake "${makeopts[@]}" -C icarus
+}
+
+src_install() {
+	dobin higan-ui/out/higan
+	domenu higan-ui/resource/higan.desktop
+	doicon higan-ui/resource/higan.png
+
+	dobin icarus/out/icarus
+	domenu icarus/resource/icarus.desktop
+	doicon icarus/resource/icarus.svg
+
+	insinto /usr/share/higan
+	doins -r icarus/{Database,Firmware}
+	use opengl && doins -r extras/Shaders
+
+	insinto /usr/share/higan/Templates
+	doins -r higan/System/.
+}
+
+pkg_postinst() {
+	if [[ ${REPLACING_VERSIONS} ]] &&
+		ver_test ${REPLACING_VERSIONS} -lt 116_pre20210818; then
+		elog "On new installs, higan now uses ~/.local/share/higan/Systems/ rather than"
+		elog "~/higan/, and reads Templates from ${EROOT}/usr/share/higan/ on Gentoo."
+		elog "Will need to edit/delete ~/.config/higan/paths.bml for this to take effect."
+		elog
+		elog "Additionally, system's shaders will be used if ~/.config/higan/Shaders"
+		elog "does not exist, and icarus now uses the system's Database+Firmware files."
+	fi
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-03 12:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-03 12:13 [gentoo-commits] repo/gentoo:master commit in: games-emulation/higan/, games-emulation/higan/files/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2021-04-25 17:37 David Seifert
2018-01-21 12:36 Sebastian Pipping

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox