games/higan: Downgrade to version 106.

Signed-off-by: B. Watson <yalhcru@gmail.com>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2021-11-02 00:14:37 -04:00 committed by Willy Sudiarto Raharjo
parent 58b4dbfd8c
commit f1bed889b7
No known key found for this signature in database
GPG key ID: 3F617144D7238786
8 changed files with 130 additions and 87 deletions

View file

@ -7,9 +7,6 @@ code. The emulator does not focus on things that would hinder accuracy.
This includes speed and game-specific hacks for compatibility. As a
result, the minimum system requirements for higan are very high.
Note: higan v106 is the last version that will build on Slackware 14.2.
I will update to the latest version when 15.0 releases.
As of v104, higan has top-tier support for the following consoles:
- Nintendo Super Famicom/SNES, including add-on hardware:

View file

@ -1,3 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi
fi

View file

@ -1,23 +1,49 @@
From 6d0f100d25fecae89a48c76f55371730a51c10fe Mon Sep 17 00:00:00 2001
From: Maxime Gauduin <alucryd@archlinux.org>
Date: Wed, 18 Mar 2020 17:08:25 +0100
Subject: [PATCH] use system flags
diff -rupN higan_v106-source.orig/higan/GNUmakefile higan_v106-source/higan/GNUmakefile
--- higan_v106-source.orig/higan/GNUmakefile 2017-12-27 23:12:21.263872763 +0100
+++ higan_v106-source/higan/GNUmakefile 2017-12-27 23:12:30.243627883 +0100
@@ -1,4 +1,4 @@
-build := optimize
+build := release
include ../nall/GNUmakefile
---
nall/GNUmakefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
binary := application
@@ -26,7 +26,6 @@ else ifneq ($(filter $(platform),linux b
flags += -fopenmp
link += -fopenmp
ifeq ($(binary),application)
- flags += -march=native
link += -Wl,-export-dynamic
link += -lX11 -lXext
else ifeq ($(binary),library)
diff -rupN higan_v106-source.orig/icarus/GNUmakefile higan_v106-source/icarus/GNUmakefile
--- higan_v106-source.orig/icarus/GNUmakefile 2017-12-27 23:12:21.280538976 +0100
+++ higan_v106-source/icarus/GNUmakefile 2017-12-27 23:12:30.243627883 +0100
@@ -1,4 +1,4 @@
-build := optimize
+build := release
include ../nall/GNUmakefile
include ../hiro/GNUmakefile
diff --git a/nall/GNUmakefile b/nall/GNUmakefile
index 67fb3a15..fddec93d 100755
--- a/nall/GNUmakefile
+++ b/nall/GNUmakefile
@@ -127,7 +127,8 @@ endif
diff -rupN higan_v106-source.orig/nall/GNUmakefile higan_v106-source/nall/GNUmakefile
--- higan_v106-source.orig/nall/GNUmakefile 2017-12-27 23:12:21.283872217 +0100
+++ higan_v106-source/nall/GNUmakefile 2017-12-27 23:12:44.326577547 +0100
@@ -40,8 +40,8 @@ cflags := -x c -std=c11
objcflags := -x objective-c -std=c11
cppflags := -x c++ -std=c++14
objcppflags := -x objective-c++ -std=c++14
-flags :=
-link :=
+flags := $(CXXFLAGS)
+link := $(LDFLAGS)
# linux settings
ifeq ($(platform),linux)
- options += -ldl
+ flags += ${CXXFLAGS}
+ options += ${LDFLAGS} -ldl
# compiler detection
ifeq ($(compiler),)
@@ -120,7 +120,7 @@ ifeq ($(threaded),true)
endif
# bsd settings
# paths
-prefix := $(HOME)/.local
+prefix := /usr
# function rwildcard(directory, pattern)
rwildcard = \

View file

@ -1,43 +1,26 @@
kFrom c0495ce121ab0c3eeffdf08614e18bd4f0c455f2 Mon Sep 17 00:00:00 2001
From: Maxime Gauduin <alucryd@archlinux.org>
Date: Wed, 18 Mar 2020 12:19:31 +0100
Subject: [PATCH] use more sensible paths
---
higan/target-higan/higan.cpp | 5 ++---
icarus/icarus.cpp | 3 +--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/higan/target-higan/higan.cpp b/higan/target-higan/higan.cpp
index 1ce9b991..7d1ae122 100644
--- a/higan/target-higan/higan.cpp
+++ b/higan/target-higan/higan.cpp
@@ -43,11 +43,10 @@ auto nall::main(Arguments arguments) -> void {
Path::data = document["data"].text();
}
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);
}
file::write({Path::settings, "paths.bml"}, string{
diff --git a/icarus/icarus.cpp b/icarus/icarus.cpp
index 95435f38..a46744e5 100644
--- a/icarus/icarus.cpp
+++ b/icarus/icarus.cpp
@@ -8,8 +8,7 @@ auto locate(string name) -> string {
string location = {Path::program(), name};
diff -rupN higan_v106-source.orig/higan/target-tomoko/tomoko.cpp higan_v106-source/higan/target-tomoko/tomoko.cpp
--- higan_v106-source.orig/higan/target-tomoko/tomoko.cpp 2017-12-27 23:48:31.103245742 +0100
+++ higan_v106-source/higan/target-tomoko/tomoko.cpp 2017-12-27 23:49:19.728586352 +0100
@@ -11,6 +11,9 @@ auto locate(string name) -> string {
location = {Path::config(), "higan/", name};
if(inode::exists(location)) return location;
- directory::create({Path::userData(), "icarus/"});
- return {Path::userData(), "icarus/", name};
+ return {Path::sharedData(), "icarus/", name};
+ location = {Path::shared(), "higan/", name};
+ if(inode::exists(location)) return location;
+
directory::create({Path::local(), "higan/"});
return {Path::local(), "higan/", name};
}
diff -rupN higan_v106-source.orig/icarus/icarus.cpp higan_v106-source/icarus/icarus.cpp
--- higan_v106-source.orig/icarus/icarus.cpp 2017-12-27 23:48:31.109912227 +0100
+++ higan_v106-source/icarus/icarus.cpp 2017-12-27 23:49:02.672384569 +0100
@@ -11,6 +11,9 @@ auto locate(string name) -> string {
location = {Path::config(), "icarus/", name};
if(inode::exists(location)) return location;
auto operator+=(string& lhs, const string& rhs) -> string& {
+ location = {Path::shared(), "icarus/", name};
+ if(inode::exists(location)) return location;
+
directory::create({Path::local(), "icarus/"});
return {Path::local(), "icarus/", name};
}

View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
# Slackware build script for higan
@ -27,6 +27,15 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# 20211101 bkw: v106 BUILD=3
# - revert to v106! someone other than me upgraded this for higan
# v110, but it turns out that v110 wouldn't actually play any games
# (UI would start up, but no way to map controllers). unless/until I
# straighten this out, this will remain at v106, which I've actually
# successfully played games with.
# - new-style icons.
# - better .desktop files.
# 20200907 bkw: upstream source moved and changed to .tar.gz, get
# rid of p7zip dependency. BUILD=2.
# 20200529 bkw: add "can't update version" note to README.
@ -34,7 +43,7 @@
# This update would not have happened without assistance and moral support
# from Yossi Ne'eman. Thanks!
# - Take over maintenance.
# - Update for v110.
# - Update for v106.
# - Use the gtk frontend, not the *broken* qt one.
# - Make OpenAL dep optional & autodetected (and OPENAL=no to force-disable).
# - Add OSS (default no) and PULSE (default yes) env vars.
@ -46,13 +55,10 @@
# - Add man pages. Note to SBo admins: please don't remove my *.rst man
# page sources!
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=higan
VERSION=${VERSION:-110}
BUILD=${BUILD:-1}
VERSION=${VERSION:-106}
BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@ -62,14 +68,12 @@ if [ -z "$ARCH" ]; then
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@ -112,9 +116,7 @@ patch -p1 -i $CWD/higan-paths.diff
# 20181212 bkw: audio system stuff. Upstream doesn't give us a way to
# disable these on the make command line, but hacking this file works:
HACKFILE=higan/target-higan/GNUmakefile
sed 's|/usr/local/lib/qt5/bin/moc|moc-qt5|' -i hiro/GNUmakefile
HACKFILE=higan/target-tomoko/GNUmakefile
# Who actually uses OSS?
if [ "${OSS:-no}" = "no" ]; then
@ -142,13 +144,13 @@ CXXFLAGS="$SLKCFLAGS" \
make -C icarus \
prefix=/usr \
platform=linux \
hiro=qt5
hiro=gtk
CXXFLAGS="$SLKCFLAGS" \
make -C $PRGNAM \
prefix=/usr \
platform=linux \
hiro=qt5
hiro=gtk
mkdir -p $PKG/usr/games \
$PKG/usr/share/applications \
@ -156,9 +158,20 @@ mkdir -p $PKG/usr/games \
$PKG/usr/share/pixmaps
install -s -m 755 $PRGNAM/out/$PRGNAM icarus/out/icarus $PKG/usr/games/
install -m 644 $PRGNAM/target-higan/resource/$PRGNAM.desktop $PKG/usr/share/applications/
install -m 644 $PRGNAM/target-higan/resource/$PRGNAM.png $PKG/usr/share/pixmaps/
cp -dr $PRGNAM/System/* $PKG/usr/share/$PRGNAM/
cp -dr $PRGNAM/systems/* $PKG/usr/share/$PRGNAM/
for px in 16 32 48 64 128; do
size=${px}x${px}
dir=$PKG/usr/share/icons/hicolor/$size/apps
mkdir -p $dir
convert -resize $size $PRGNAM/data/$PRGNAM.png $dir/$PRGNAM.png
convert -resize $size icarus/data/icarus.png $dir/icarus.png
done
for i in $PRGNAM icarus; do
ln -s ../icons/hicolor/48x48/apps/$i.png $PKG/usr/share/pixmaps/$i.png
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
done
# Man pages by B. Watson. higan.6 is basically the higan-cli.md from the
# git repo, reformatted as RST & converted to a man page. icarus.6 was
@ -168,8 +181,10 @@ for i in $PRGNAM icarus; do
gzip -9c < $CWD/$i.6 > $PKG/usr/man/man6/$i.6.gz
done
# Sadly there are no docs in v106. I found a docs/ dir in git, but it's not
# in the release 7z archive. Apparently this is because the git archive is
# somehow unofficial...?
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp *.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
@ -177,4 +192,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Higan
Comment=Multi-Console Emulator
Exec=/usr/games/higan
Icon=higan
Terminal=false
Type=Application
Categories=Game;Emulator;

View file

@ -1,10 +1,10 @@
PRGNAM="higan"
VERSION="110"
HOMEPAGE="https://byuu.org/emulation/higan/"
DOWNLOAD="https://github.com/higan-emu/higan/archive/v110/higan-110.tar.gz"
MD5SUM="e2e2073f93b522365579108442af9de4"
VERSION="106"
HOMEPAGE="https://github.com/higan-emu/higan/"
DOWNLOAD="https://github.com/higan-emu/higan/archive/v106/higan-106.tar.gz"
MD5SUM="4a68c6b9671089b4a7fde0b234531d61"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
REQUIRES="gtksourceview"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

View file

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Icarus
Comment=Higan Database Tool
Exec=/usr/games/icarus
Icon=icarus
Terminal=false
Type=Application
Categories=Game;Emulator;