diff options
-rw-r--r-- | games/higan/README | 3 | ||||
-rw-r--r-- | games/higan/doinst.sh | 6 | ||||
-rw-r--r-- | games/higan/higan-flags.diff | 66 | ||||
-rw-r--r-- | games/higan/higan-paths.diff | 61 | ||||
-rw-r--r-- | games/higan/higan.SlackBuild | 55 | ||||
-rw-r--r-- | games/higan/higan.desktop | 8 | ||||
-rw-r--r-- | games/higan/higan.info | 10 | ||||
-rw-r--r-- | games/higan/icarus.desktop | 8 |
8 files changed, 130 insertions, 87 deletions
diff --git a/games/higan/README b/games/higan/README index 29252151b6..1be64f856a 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 5fb28930db..3e5691a052 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 890a2c0bc2..aaca8d0e2f 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 65fe4a24eb..dcb3eaf89d 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 f87d355ba2..8ec2caf768 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 0000000000..01281a20e4 --- /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 17051ccc54..cf02dcab41 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 0000000000..5b3e5b9e92 --- /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; |