summaryrefslogtreecommitdiff
path: root/games/xarchon
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-10-15 17:17:45 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-10-29 17:07:14 +0700
commitf7810e8c1379356780fe4fd47091b6b9976c5d0b (patch)
tree4a50e1dd3e9117a51a4e6f1ce2aee7489fc3253f /games/xarchon
parent1056ec5e5be84b6e666ed9c0ca22bf7d5fee281f (diff)
downloadslackbuilds-f7810e8c1379356780fe4fd47091b6b9976c5d0b.tar.gz
games/xarchon: Fix -current build.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'games/xarchon')
-rw-r--r--games/xarchon/doinst.sh6
-rw-r--r--games/xarchon/patches/defaultfont.diff22
-rw-r--r--games/xarchon/patches/newgccfix.diff21
-rw-r--r--games/xarchon/xarchon.SlackBuild44
-rw-r--r--games/xarchon/xarchon.desktop2
5 files changed, 81 insertions, 14 deletions
diff --git a/games/xarchon/doinst.sh b/games/xarchon/doinst.sh
index 5fb28930db..3e5691a052 100644
--- a/games/xarchon/doinst.sh
+++ b/games/xarchon/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/xarchon/patches/defaultfont.diff b/games/xarchon/patches/defaultfont.diff
new file mode 100644
index 0000000000..53c5485557
--- /dev/null
+++ b/games/xarchon/patches/defaultfont.diff
@@ -0,0 +1,22 @@
+--- xarchon-0.50/src/board.c.orig 2002-09-26 08:28:46.000000000 -0400
++++ xarchon-0.50/src/board.c 2002-09-26 08:29:02.000000000 -0400
+@@ -27,7 +27,7 @@
+ #define FLOOR_DARK 0 /* steppings for light and dark */
+ #define FLOOR_LIGHT 7 /* outside luminance cycle */
+
+-#define FONT_NAME "-misc-fixed-medium-*-normal-*-15-0-*-*-*-*-iso8859-1"
++#define FONT_NAME "-misc-fixed-medium-*-normal-*-*-*-*-*-*-*-iso8859-1"
+
+ #define V_CELL_YSIZE 40 /* revive cell height */
+
+--- xarchon-0.50/src/field.c.orig 2002-09-26 08:22:45.000000000 -0400
++++ xarchon-0.50/src/field.c 2002-09-26 08:23:11.000000000 -0400
+@@ -20,7 +20,7 @@
+ /* defines */
+ /*--------------------------------------------------------------------------*/
+
+-#define FONT_NAME "-misc-fixed-medium-*-normal-*-40-0-*-*-*-*-iso8859-1"
++#define FONT_NAME "-misc-fixed-medium-*-normal-*-*-*-*-*-*-*-iso8859-1"
+
+ #define NUM_ROCKS 12
+ #define ROCK_DELAY 2 /* rocks delay time in frames */
diff --git a/games/xarchon/patches/newgccfix.diff b/games/xarchon/patches/newgccfix.diff
new file mode 100644
index 0000000000..2147bce8f8
--- /dev/null
+++ b/games/xarchon/patches/newgccfix.diff
@@ -0,0 +1,21 @@
+diff -Naur xarchon-0.60/src/qt/qmymenubar.cpp xarchon-0.60.patched/src/qt/qmymenubar.cpp
+--- xarchon-0.60/src/qt/qmymenubar.cpp 2002-01-09 13:34:33.000000000 -0500
++++ xarchon-0.60.patched/src/qt/qmymenubar.cpp 2021-10-15 16:02:15.359869566 -0400
+@@ -46,7 +46,7 @@
+ /*--------------------------------------------------------------------------*/
+
+ int QMyMenuBar::insertItem(const QString &text, QPopupMenu *popup,
+- int id = -1, int index = -1)
++ int id, int index)
+ {
+ QMenuBar::insertItem(text, popup, id, index);
+ }
+@@ -58,7 +58,7 @@
+ int QMyMenuBar::insertItem(const char *name, QPopupMenu *popup,
+ const QString &text,
+ const QObject *receiver, const char *member,
+- int accel = 0, int id = -1, int index = -1)
++ int accel, int id, int index)
+ {
+ int the_id = popup->insertItem(text, receiver, member, accel, id, index);
+ QMyMenuBarItem *item = new QMyMenuBarItem(popup, the_id);
diff --git a/games/xarchon/xarchon.SlackBuild b/games/xarchon/xarchon.SlackBuild
index f9f83f22b2..5c447c9a06 100644
--- a/games/xarchon/xarchon.SlackBuild
+++ b/games/xarchon/xarchon.SlackBuild
@@ -6,6 +6,12 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20211015 bkw: BUILD=3
+# - fix build on -current.
+# - new-style icon.
+# - TODO: fix segfault when built with -O2. For now, the band-aid is
+# to build with -O0.
+
# note: xarchon plays Archon and Archon II: Adept. I can't tell if the
# Adept game is complete or correct, because I never could understand
# how to play it, even as a video-game-obsessed kid in the 1980s.
@@ -17,7 +23,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=xarchon
VERSION=${VERSION:-0.60}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -29,9 +35,6 @@ 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
@@ -41,17 +44,24 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+# 20211015 bkw: on -current, with gcc12, the damn thing segfaults
+# on startup when we use -O2 (or -O1 even). Since it's only a game,
+# I won't spend a lot of time worrying about it. It won't compile with
+# clang++ either (not even with -std=gnu++98). The *real* fix for this
+# is going to be to port xarchon to qt5. Which is beyond the scope
+# of this SlackBuild, but I might take a stab at it as a standalone
+# project someday.
if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ SLKCFLAGS="-O0 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O0 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O0 -fPIC"
LIBDIRSUFFIX="64"
else
- SLKCFLAGS="-O2"
+ SLKCFLAGS="-O0"
LIBDIRSUFFIX=""
fi
@@ -64,11 +74,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# disable Adept menu option, since it's non-playable.
patch -p1 < $CWD/patches/no_adept.diff
@@ -99,6 +106,13 @@ patch -p1 < $CWD/patches/remove_theme_option.diff
# remove mention of selecting themes.
patch -p1 < $CWD/patches/manpage.diff
+# 20211015 bkw: fix build on -current (gcc 12)
+patch -p1 < $CWD/patches/newgccfix.diff
+
+# 20211015 bkw: patch from Fedora:
+# https://src.fedoraproject.org/rpms/xarchon/raw/f34/f/xarchon-fonts.patch
+patch -p1 < $CWD/patches/defaultfont.diff
+
# configure script is from 2002, no thank you.
rm -f configure
autoreconf -if
@@ -137,6 +151,10 @@ mkdir -p $PKG/usr/share/pixmaps $PKG/usr/share/applications
ln -s ../games/$PRGNAM/icon.xpm $PKG/usr/share/pixmaps/$PRGNAM.xpm
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+# 20211015 bkw: new-style icon. Only available in 32x32, sorry.
+mkdir -p $PKG/usr/share/icons/hicolor/32x32/apps
+convert data/icon.xpm $PKG/usr/share/icons/hicolor/32x32/apps/$PRGNAM.png
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING ChangeLog NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/games/xarchon/xarchon.desktop b/games/xarchon/xarchon.desktop
index 6063650580..3757219918 100644
--- a/games/xarchon/xarchon.desktop
+++ b/games/xarchon/xarchon.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=xarchon
Comment=Classic Fantasy Chess Game
-Exec=xarchon
+Exec=/usr/games/xarchon
Icon=xarchon
Terminal=false
Type=Application