diff options
author | Sebastian Pipping <sping@gentoo.org> | 2018-01-21 13:28:02 +0100 |
---|---|---|
committer | Sebastian Pipping <sping@gentoo.org> | 2018-01-21 13:35:47 +0100 |
commit | 436f7416de80817975bf5b7b6e06458d26404d68 (patch) | |
tree | acf35b6d84aa4f03d95f0a2bb42bfba5e7e6504d /games-emulation | |
parent | x11-misc/xprintidle: 2.1 (diff) | |
download | gentoo-436f7416de80817975bf5b7b6e06458d26404d68.tar.gz gentoo-436f7416de80817975bf5b7b6e06458d26404d68.tar.bz2 gentoo-436f7416de80817975bf5b7b6e06458d26404d68.zip |
games-emulation/higan: 106_p1
Closes: https://bugs.gentoo.org/567980
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'games-emulation')
-rw-r--r-- | games-emulation/higan/Manifest | 1 | ||||
-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.ebuild | 134 |
5 files changed, 281 insertions, 0 deletions
diff --git a/games-emulation/higan/Manifest b/games-emulation/higan/Manifest index ee06c03975e4..70d8f65c8fa4 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 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.ebuild b/games-emulation/higan/higan-106_p1.ebuild new file mode 100644 index 000000000000..c0d5d2586aea --- /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 +} |