diff options
Diffstat (limited to 'games-emulation/higan')
-rw-r--r-- | games-emulation/higan/Manifest | 6 | ||||
-rw-r--r-- | games-emulation/higan/files/higan-106_p1-QA.patch | 117 | ||||
-rw-r--r-- | games-emulation/higan/files/higan-106_p1-header-locations.patch | 24 | ||||
-rw-r--r-- | games-emulation/higan/files/higan-106_p1-wrapper | 5 | ||||
-rw-r--r-- | games-emulation/higan/higan-106_p1-r1.ebuild | 138 | ||||
-rw-r--r-- | games-emulation/higan/metadata.xml | 12 |
6 files changed, 302 insertions, 0 deletions
diff --git a/games-emulation/higan/Manifest b/games-emulation/higan/Manifest new file mode 100644 index 000000000000..937ad0d49b76 --- /dev/null +++ b/games-emulation/higan/Manifest @@ -0,0 +1,6 @@ +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 3213 BLAKE2B 0b7dfc5a07055b96c3d8cbd4c936acf6137bcc77d6f906c675910f3e426c169636752d1f9cf33452af2156d345976e4003168377bca172302624d253db7e8519 SHA512 ac879d774978c2804c067e2434296e6d9ed42da7d37dbd2c332506c5eded6cbabe6bd8fe3b07597036bcd3fe784b463442e53d3d389758c0af9f43ed108d7a96 +MISC metadata.xml 377 BLAKE2B aefc33327d342c730de8b2bdd95c2299692c894fd67a3f43d378964e7b776e467d2a4644777e7c8a1eb94b41ee300a65cad084decf64fc02abbac8c02de509c1 SHA512 2faa3ffcca01d5740a5ca1c4f554c51e90e81c6c19cde15cf817c448debb5585e09a1b784d94e3ecd06321ed28a740ce846f1afbd149bce590ca69ef5b1ce9f4 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 000000000000..140fdf9a48e7 --- /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 000000000000..7f72a1311491 --- /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 000000000000..1de577fd1923 --- /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-r1.ebuild b/games-emulation/higan/higan-106_p1-r1.ebuild new file mode 100644 index 000000000000..a39e0db7e729 --- /dev/null +++ b/games-emulation/higan/higan-106_p1-r1.ebuild @@ -0,0 +1,138 @@ +# 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" + + # 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 + 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 +} diff --git a/games-emulation/higan/metadata.xml b/games-emulation/higan/metadata.xml new file mode 100644 index 000000000000..5bef912000c6 --- /dev/null +++ b/games-emulation/higan/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>games@gentoo.org</email> + <name>Gentoo Games Project</name> + </maintainer> + <use> + <flag name="icarus">Build icarus library manager</flag> + <flag name="udev">Enable udev based input</flag> + </use> +</pkgmetadata> |