From 8986155c610a19b28e580dac9f23ca5f468b6fd0 Mon Sep 17 00:00:00 2001 From: Gabriel Magno Date: Tue, 29 Oct 2013 14:12:54 -0500 Subject: [PATCH] games/higan: Updated for version 093. Signed-off-by: Robby Workman --- games/higan/README | 29 ++++++++---- games/higan/doinst.sh | 1 - games/higan/higan-v092.patch | 50 --------------------- games/higan/higan-v093.patch | 51 ++++++++++++++++++++++ games/higan/higan.SlackBuild | 85 +++++++++++++++++++++--------------- games/higan/higan.info | 6 +-- games/higan/slack-desc | 8 ++-- 7 files changed, 130 insertions(+), 100 deletions(-) delete mode 100644 games/higan/higan-v092.patch create mode 100644 games/higan/higan-v093.patch diff --git a/games/higan/README b/games/higan/README index ac7acb1323..8d1859956f 100644 --- a/games/higan/README +++ b/games/higan/README @@ -6,11 +6,12 @@ This includes speed and game-specific hacks for compatibility. As a result, the minimum system requirements for higan are very high. It currently supports the following systems: Famicom (NES), Super -Famicom (SNES), Game Boy, Game Boy Color, Game Boy Advance and -Nintendo DS. It also supports the following subsystems: Super Game -Boy, BS-X Satellaview and Sufami Turbo. +Famicom (SNES), Game Boy, Game Boy Color and Game Boy Advance. +It also supports the following subsystems: Super Game Boy, +BS-X Satellaview and Sufami Turbo. + +*Options* -Options: 1) higan has 2 interfaces to choose from. The default is QT and the other is GTK. If you'd like to choose the GTK interface, then pass INTERFACE=gtk to the slackbuild. @@ -21,7 +22,19 @@ and performance. To choose accuracy mode pass PROFILE=accuracy to the slackbuild. For performance mode pass PROFILE=performance to the slackbuild. -Configuration: -Once installed, you will need to copy /usr/share/higan/profile/* -into ~/.config/higan/ before running. If you want to use shaders, -select OpenGL as the video driver. +*Configuration* + +The default profile folder (where platform system files, cheats and +shaders are located) is /usr/share/higan. If you want a personalized +profile, store your files in ~/.config/higan/, then higan will use +this folder instead. + +Since the ananke library is also built, you can import your regular +ROM game files into higan's library using the option "Import Game" in +the Library menu. When you import a rom file it will be converted into +higan's format and saved in the Game Library Path specified in the +Advanced Settings options (Settings -> Configuration -> Advanced). +After that you can load your game through the correspondent system +option in the Library menu. + +If you want to use shaders, select OpenGL as the video driver. diff --git a/games/higan/doinst.sh b/games/higan/doinst.sh index 4e8ba7071d..5fb28930db 100644 --- a/games/higan/doinst.sh +++ b/games/higan/doinst.sh @@ -1,4 +1,3 @@ if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 fi - diff --git a/games/higan/higan-v092.patch b/games/higan/higan-v092.patch deleted file mode 100644 index dcd3604b4a..0000000000 --- a/games/higan/higan-v092.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -Nur higan_v092-source.orig/ananke/Makefile higan_v092-source/ananke/Makefile ---- higan_v092-source.orig/ananke/Makefile 2013-01-12 17:18:14.000000000 -0600 -+++ higan_v092-source/ananke/Makefile 2013-06-03 15:46:20.887735981 -0500 -@@ -26,7 +26,6 @@ - - install: uninstall - ifeq ($(platform),x) -- if [ ! -d ~/.config/ananke ]; then mkdir ~/.config/ananke; fi - sudo cp libananke.so $(path)/libananke.so.1 - sudo ln -s $(path)/libananke.so.1 $(path)/libananke.so - endif -diff -Nur higan_v092-source.orig/higan/target-ethos/Makefile higan_v092-source/higan/target-ethos/Makefile ---- higan_v092-source.orig/higan/target-ethos/Makefile 2013-01-12 15:59:47.000000000 -0600 -+++ higan_v092-source/higan/target-ethos/Makefile 2013-06-03 15:46:38.235227179 -0500 -@@ -17,7 +17,7 @@ - # platform - ifeq ($(platform),x) - ruby := video.glx video.xv video.sdl -- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao -+ ruby += audio.alsa audio.openal audio.oss audio.ao - ruby += input.sdl input.x - else ifeq ($(platform),osx) - ruby := -@@ -80,18 +80,14 @@ - sourcery $(ui)/resource/resource.bml $(ui)/resource/resource.cpp $(ui)/resource/resource.hpp - - install: --ifeq ($(USER),root) -- @echo Please do not run make install as root. -- @echo The installer needs to know your home directory to install important files. --else ifeq ($(platform),x) -- sudo install -D -m 755 out/$(name) $(DESTDIR)$(prefix)/bin/$(name) -- sudo install -D -m 644 data/$(name).png $(DESTDIR)$(prefix)/share/pixmaps/$(name).png -- sudo install -D -m 644 data/$(name).desktop $(DESTDIR)$(prefix)/share/applications/$(name).desktop -- -- mkdir -p ~/.config/$(name) -- cp -R profile/* ~/.config/$(name) -- cp data/cheats.bml ~/.config/$(name)/cheats.bml -- chmod -R 777 ~/.config/$(name) -+ifeq ($(platform),x) -+ install -D -m 755 out/$(name) $(DESTDIR)$(prefix)/bin/$(name) -+ install -D -m 644 data/$(name).png $(DESTDIR)$(prefix)/share/pixmaps/$(name).png -+ install -D -m 644 data/$(name).desktop $(DESTDIR)$(prefix)/share/applications/$(name).desktop -+ install -d -m 755 $(DESTDIR)$(prefix)/share/$(name)/profile -+ cp -R profile/* $(DESTDIR)$(prefix)/share/$(name)/profile -+ install -m 644 data/cheats.bml $(DESTDIR)$(prefix)/share/$(name)/profile/cheats.bml -+ chmod -R 644 $(DESTDIR)$(prefix)/share/$(name)/profile/*/* - endif - - uninstall: diff --git a/games/higan/higan-v093.patch b/games/higan/higan-v093.patch new file mode 100644 index 0000000000..3e27deea70 --- /dev/null +++ b/games/higan/higan-v093.patch @@ -0,0 +1,51 @@ +diff -ruN higan_v093-source/ananke/Makefile higan_v093-source_MOD/ananke/Makefile +--- higan_v093-source/ananke/Makefile 2013-08-02 17:36:56.000000000 -0300 ++++ higan_v093-source_MOD/ananke/Makefile 2013-09-24 09:42:36.399970000 -0300 +@@ -25,9 +25,9 @@ + + install: uninstall + ifeq ($(platform),x) +- if [ ! -d ~/.config/ananke ]; then mkdir ~/.config/ananke; fi +- sudo cp libananke.so $(path)/libananke.so.1 +- sudo ln -s $(path)/libananke.so.1 $(path)/libananke.so ++ mkdir -p $(path) ++ cp libananke.so $(path)/libananke.so.1 ++ ln -s $(path)/libananke.so.1 $(path)/libananke.so + else ifeq ($(platform),osx) + if [ ! -d ~/Library/Application\ Support/ananke ]; then mkdir ~/Library/Application\ Support/ananke; fi + sudo cp libananke.dylib $(path)/libananke.1.dylib +diff -ruN higan_v093-source/target-ethos/Makefile higan_v093-source_MOD/target-ethos/Makefile +--- higan_v093-source/target-ethos/Makefile 2013-08-16 20:39:20.000000000 -0300 ++++ higan_v093-source_MOD/target-ethos/Makefile 2013-09-24 09:53:39.367766000 -0300 +@@ -16,7 +16,7 @@ + # platform + ifeq ($(platform),x) + ruby := video.glx video.xv video.sdl +- ruby += audio.alsa audio.openal audio.oss audio.pulseaudio audio.pulseaudiosimple audio.ao ++ ruby += audio.alsa audio.openal audio.oss audio.ao + ruby += input.sdl input.x + else ifeq ($(platform),osx) + ruby := video.cgl +@@ -86,14 +86,14 @@ + + install: + ifeq ($(platform),x) +- sudo install -D -m 755 out/$(name) $(DESTDIR)$(prefix)/bin/$(name) +- sudo install -D -m 644 data/$(name).png $(DESTDIR)$(prefix)/share/pixmaps/$(name).png +- sudo install -D -m 644 data/$(name).desktop $(DESTDIR)$(prefix)/share/applications/$(name).desktop +- +- sudo mkdir -p /usr/share/$(name) +- sudo cp -R profile/* /usr/share/$(name) +- sudo cp data/cheats.bml /usr/share/$(name)/cheats.bml +- sudo chmod -R 777 /usr/share/$(name) ++ install -D -m 755 out/$(name) $(DESTDIR)$(prefix)/bin/$(name) ++ install -D -m 644 data/$(name).png $(DESTDIR)$(prefix)/share/pixmaps/$(name).png ++ install -D -m 644 data/$(name).desktop $(DESTDIR)$(prefix)/share/applications/$(name).desktop ++ ++ mkdir -p $(DESTDIR)/usr/share/$(name) ++ cp -R profile/* $(DESTDIR)/usr/share/$(name) ++ cp data/cheats.bml $(DESTDIR)/usr/share/$(name)/cheats.bml ++ chmod -R 777 $(DESTDIR)/usr/share/$(name) + else ifeq ($(platform),osx) + sudo mkdir -p /Library/Application\ Support/$(name) + sudo cp -R profile/* /Library/Application\ Support/$(name) diff --git a/games/higan/higan.SlackBuild b/games/higan/higan.SlackBuild index 8b39e94b8b..b0c69256da 100644 --- a/games/higan/higan.SlackBuild +++ b/games/higan/higan.SlackBuild @@ -5,8 +5,28 @@ # Based on bsnes SlackBuild by Erik Hanson # Maintained by Gabriel Magno +# Copyright 2013 Gabriel Magno, Belo Horizonte, MG, Brazil +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + PRGNAM=higan -VERSION=${VERSION:-092} +VERSION=${VERSION:-093} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -53,46 +73,43 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# apply the patch to allow proper install on slackware as root (from hackedhead) -# tweaked a bit by rworkman to fix ananke issues too -patch -p1 -i $CWD/higan-v092.patch +# Apply the patch to allow proper install on Slackware as root +patch -p1 -i $CWD/higan-v093.patch -cd $PRGNAM - moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp - - # Choose whether a qt or gtk interface is built. - INTERFACE=${INTERFACE:-qt} - - # Determine which mode to build higan. - # Possible values for PROFILE: accuracy, balanced, and performance. - PROFILE=${PROFILE:-balanced} - - CXXFLAGS="$SLKCFLAGS" \ - make \ - platform=x \ - compiler=gcc \ - prefix=/usr \ - phoenix="$INTERFACE" \ - profile="$PROFILE" +# Fix building with QT >= 4.8.0. +moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp - make install profile=$PROFILE DESTDIR=$PKG prefix=/usr -cd .. +# Choose whether a qt or gtk interface is built. +INTERFACE=${INTERFACE:-qt} -# Compile ananke. -cd ananke - # Fix building with QT >= 4.8.0. - moc -i -Iphoenix/qt/ -o phoenix/qt/platform.moc phoenix/qt/platform.moc.hpp +# Determine which mode to build higan. +# Possible values for PROFILE: accuracy, balanced, and performance. +PROFILE=${PROFILE:-balanced} - make \ - compiler=gcc \ - platform=x \ - phoenix="$INTERFACE" +CXXFLAGS="$SLKCFLAGS" \ +make \ + compiler=g++ \ + cppflags="-std=gnu++11" \ + prefix=/usr \ + platform=x \ + phoenix="$INTERFACE" \ + profile="$PROFILE" - make install DESTDIR=$PKG prefix=/usr -cd .. +make install DESTDIR=$PKG prefix=/usr platform=x profile=$PROFILE + +# Compile ananke (tool to import ROM game files into the higan library). +make -C ananke \ + compiler=g++ \ + cppflags="-std=gnu++11" \ + platform=x \ + phoenix="$INTERFACE" \ + profile="$PROFILE" +make -C ananke install path=$PKG/usr/lib${LIBDIRSUFFIX} platform=x # Copy shaders -cp -r shaders "$PKG/usr/share/higan/profile/Video Shaders" +mkdir $PKG/usr/share/higan/Video\ Shaders +cp -r shaders/*.shader $PKG/usr/share/higan/Video\ Shaders +chmod -R 777 $PKG/usr/share/higan/Video\ Shaders find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true diff --git a/games/higan/higan.info b/games/higan/higan.info index 7c6cb5af29..1d313e6072 100644 --- a/games/higan/higan.info +++ b/games/higan/higan.info @@ -1,8 +1,8 @@ PRGNAM="higan" -VERSION="092" +VERSION="093" HOMEPAGE="http://byuu.org/higan/" -DOWNLOAD="http://higan.googlecode.com/files/higan_v092-source.tar.xz" -MD5SUM="ef6a6a9bc6861d26da01c2e03e6dfe9e" +DOWNLOAD="http://byuu.org/higan/release/higan_v093-source.tar.xz" +MD5SUM="051e794c2f86c185fd51106181a09c58" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="OpenAL" diff --git a/games/higan/slack-desc b/games/higan/slack-desc index 4aabb32cb2..e0098f1ab0 100644 --- a/games/higan/slack-desc +++ b/games/higan/slack-desc @@ -10,10 +10,10 @@ higan: higan (Nintendo multi-system emulator) higan: higan: higan is an emulator that focuses on accuracy, debug functionality, higan: and clean code, not on things that would hinder accuracy, like speed -higan: and game-specific hacks for compatibility. It supports the systems -higan: Famicom (NES), Super Famicom (SNES), Game Boy, Game Boy Color, -higan: Game Boy Advance, and Nintendo DS. It also supports the subsystems -higan: Super Game Boy, BS-X Satellaview, and Sufami Turbo. +higan: and game-specific hacks for compatibility. It supports the systems +higan: Famicom (NES), Super Famicom (SNES), Game Boy, Game Boy Color, and +higan: Game Boy Advance. It also supports the subsystems Super Game Boy, +higan: BS-X Satellaview and Sufami Turbo. higan: higan: Homepage: http://byuu.org/higan/ higan: