aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-11-02 00:14:37 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-12-04 10:08:53 +0700
commitf1bed889b712aadcfcf4658b1bfe6e69de34b0b7 (patch)
tree894360f6c9e2d445625f32e700501b48f2a70427
parent58b4dbfd8c5bd33d69da5e7b0f0b9c6df37395a6 (diff)
games/higan: Downgrade to version 106.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--games/higan/README3
-rw-r--r--games/higan/doinst.sh6
-rw-r--r--games/higan/higan-flags.diff66
-rw-r--r--games/higan/higan-paths.diff61
-rw-r--r--games/higan/higan.SlackBuild55
-rw-r--r--games/higan/higan.desktop8
-rw-r--r--games/higan/higan.info10
-rw-r--r--games/higan/icarus.desktop8
8 files changed, 130 insertions, 87 deletions
diff --git a/games/higan/README b/games/higan/README
index 29252151b67a..1be64f856af7 100644
--- a/games/higan/README
+++ b/games/higan/README
@@ -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:
diff --git a/games/higan/doinst.sh b/games/higan/doinst.sh
index 5fb28930db0b..3e5691a052b5 100644
--- a/games/higan/doinst.sh
+++ b/games/higan/doinst.sh
@@ -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
diff --git a/games/higan/higan-flags.diff b/games/higan/higan-flags.diff
index 890a2c0bc217..aaca8d0e2f9f 100644
--- a/games/higan/higan-flags.diff
+++ b/games/higan/higan-flags.diff
@@ -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
-
----
- nall/GNUmakefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-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/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
- # linux settings
- ifeq ($(platform),linux)
-- options += -ldl
-+ flags += ${CXXFLAGS}
-+ options += ${LDFLAGS} -ldl
+ 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 -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)
+
+ # 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 = \
diff --git a/games/higan/higan-paths.diff b/games/higan/higan-paths.diff
index 65fe4a24ebdd..dcb3eaf89d2c 100644
--- a/games/higan/higan-paths.diff
+++ b/games/higan/higan-paths.diff
@@ -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};
+ }
diff --git a/games/higan/higan.SlackBuild b/games/higan/higan.SlackBuild
index f87d355ba25b..8ec2caf76896 100644
--- a/games/higan/higan.SlackBuild
+++ b/games/higan/higan.SlackBuild
@@ -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}
diff --git a/games/higan/higan.desktop b/games/higan/higan.desktop
new file mode 100644
index 000000000000..01281a20e404
--- /dev/null
+++ b/games/higan/higan.desktop
@@ -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;
diff --git a/games/higan/higan.info b/games/higan/higan.info
index 17051ccc54f4..cf02dcab410c 100644
--- a/games/higan/higan.info
+++ b/games/higan/higan.info
@@ -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"
diff --git a/games/higan/icarus.desktop b/games/higan/icarus.desktop
new file mode 100644
index 000000000000..5b3e5b9e927c
--- /dev/null
+++ b/games/higan/icarus.desktop
@@ -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;