aboutsummaryrefslogtreecommitdiff
path: root/games/xroar
diff options
context:
space:
mode:
Diffstat (limited to 'games/xroar')
-rw-r--r--games/xroar/ChangeLog.old24
-rw-r--r--games/xroar/README1
-rw-r--r--games/xroar/README_SBo.txt17
-rw-r--r--games/xroar/doinst.sh10
-rw-r--r--games/xroar/douninst.sh17
-rw-r--r--games/xroar/icons/128.pngbin0 -> 6643 bytes
-rw-r--r--games/xroar/icons/16.pngbin0 -> 284 bytes
-rw-r--r--games/xroar/icons/32.pngbin0 -> 368 bytes
-rw-r--r--games/xroar/icons/48.pngbin0 -> 1528 bytes
-rw-r--r--games/xroar/xroar.SlackBuild64
-rw-r--r--games/xroar/xroar.info6
-rw-r--r--games/xroar/xroar_coco_ntsc.desktop2
-rw-r--r--games/xroar/xroar_coco_pal.desktop2
-rw-r--r--games/xroar/xroar_d32.desktop2
-rw-r--r--games/xroar/xroar_d64.desktop2
15 files changed, 95 insertions, 52 deletions
diff --git a/games/xroar/ChangeLog.old b/games/xroar/ChangeLog.old
index 8a18244fb11a8..b4384cc024ea9 100644
--- a/games/xroar/ChangeLog.old
+++ b/games/xroar/ChangeLog.old
@@ -1,3 +1,27 @@
+# 20191130 bkw:
+# - update for 0.35.4
+# - restore the SDL1 build, now that it builds again
+# - remove the possibility of including ROMs in the package, because:
+# - make xroar-roms a required dependency
+
+# 20181201 bkw: update for 0.35.2
+
+# 20180828 bkw:
+# - update for 0.35
+# - build with --without-oss by default, add OSS=yes option
+# - get rid of alsa_first.diff (doesn't apply any more anyway)
+# - add PULSE=no option
+# - move cruft out of here & into ChangeLog.old
+# - SDL 1.x build broke in 0.35, so remove SDL2=no and add SDL2
+# to REQUIRES.
+
+# 20170822 bkw:
+# - update for 0.34.8
+# - add SDL2=no and GTKGLEXT=no options, mostly for my own testing
+# - record build options in slack-desc
+
+# 20170122 bkw: update for 0.34.7
+
# 20161016 bkw:
# - update for 0.34.5
# - move binary to /usr/games
diff --git a/games/xroar/README b/games/xroar/README
index 66ac73893d5bd..984eac16fd411 100644
--- a/games/xroar/README
+++ b/games/xroar/README
@@ -10,4 +10,3 @@ http://archive.worldofdragon.org/index.php?title=Main_Page
http://archive.worldofdragon.org/archive/index.php
For optional dependencies and build options, see README_SBo.txt.
-
diff --git a/games/xroar/README_SBo.txt b/games/xroar/README_SBo.txt
index c7ccc12db306f..ec19bf5505de1 100644
--- a/games/xroar/README_SBo.txt
+++ b/games/xroar/README_SBo.txt
@@ -1,9 +1,6 @@
Optional Dependencies
=====================
-SDL2 - If this is installed, xroar's alternate "bare-bones" SDL2
- user inteface will be available via the "-ui sdl" option.
-
jack - if you want to use JACK for audio output, install jack and set
JACK=yes in the environment before building xroar. If JACK audio has
x-runs, try 'setcap cap_ipc_lock,cap_sys_nice=ep /usr/games/xroar'.
@@ -15,8 +12,9 @@ Environment Variables
GTKGLEXT - If you have gtkglext installed, but don't want to build
xroar with it, export GTKGLEXT=no [1] [2].
-SDL2 - If you have SDL2 installed, but don't want to build xroar with
- it, export SDL2=no [2].
+SDL2 - If you don't want to build xroar with SDL2, export SDL2=no [2].
+ This will remove the "-ui sdl" option, which is probably of no
+ consequence since the SDL user interface isn't very featureful.
OSS - use OSS for audio? Default is "no", export OSS="yes" to enable.
Most users won't need this.
@@ -28,9 +26,12 @@ Notes
=====
[1]: Yes, gtkglext is optional, despite being listed in REQUIRES in
- the .info file. There's no "either-or" syntax for REQUIRES, so
- I had to list either gtkglext or SDL2, and the gtkglext UI
- is a lot nicer so it's what most people will want.
+ the .info file. I made it a hard dependency because the SDL user
+ interface has no real GUI features, while the gtkglext UI acts
+ like a proper GUI application. Users who just take the defaults
+ will end up with the usable UI. If you're reading this, you're
+ welcome to ignore the REQUIRES="gtkglext" and build with SDL2
+ only, if you have a reason to want to.
[2]: At least one of SDL2 or gtkglext is required, so you can't build
with SDL2=no GTKGLEXT=no. If you want to be super-pedantic, yes,
diff --git a/games/xroar/doinst.sh b/games/xroar/doinst.sh
index 5fb28930db0b9..2b1fcc9774067 100644
--- a/games/xroar/doinst.sh
+++ b/games/xroar/doinst.sh
@@ -1,3 +1,13 @@
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
+
+if [ -x /usr/bin/install-info ]; then
+ /usr/bin/install-info usr/info/xroar.info.gz usr/info/dir
+fi
diff --git a/games/xroar/douninst.sh b/games/xroar/douninst.sh
new file mode 100644
index 0000000000000..cc363b1b7165d
--- /dev/null
+++ b/games/xroar/douninst.sh
@@ -0,0 +1,17 @@
+# 20211015 bkw: I was going to have a douninst.sh that runs
+# /usr/bin/install-info --delete /usr/info/xroar.info.gz /usr/info/dir
+# but this won't work because removepkg has already deleted
+# /usr/info/xroar.info.gz before it runs douninst.sh. And you can't
+# use install-info to remove stuff *by name* from /usr/info/dir;
+# the info file must actually exist.
+# So the script has to manually remove the entry from the info dir,
+# and the Emulators section if it's become empty.
+
+if [ -e usr/info/dir ]; then
+ # Remove the entry first:
+ sed -i '/^\* XRoar:/d' usr/info/dir
+ # If the Emulators section is empty now, remove it too:
+ if grep -A1 '^Emulators$' usr/info/dir | tail -1 | grep -q '^$'; then
+ sed -i '/^Emulators$/,+1d' usr/info/dir
+ fi
+fi
diff --git a/games/xroar/icons/128.png b/games/xroar/icons/128.png
new file mode 100644
index 0000000000000..6887dc3e1c502
--- /dev/null
+++ b/games/xroar/icons/128.png
Binary files differ
diff --git a/games/xroar/icons/16.png b/games/xroar/icons/16.png
new file mode 100644
index 0000000000000..0160623daeacb
--- /dev/null
+++ b/games/xroar/icons/16.png
Binary files differ
diff --git a/games/xroar/icons/32.png b/games/xroar/icons/32.png
new file mode 100644
index 0000000000000..e3a866a6e24fa
--- /dev/null
+++ b/games/xroar/icons/32.png
Binary files differ
diff --git a/games/xroar/icons/48.png b/games/xroar/icons/48.png
new file mode 100644
index 0000000000000..b61f8529fe864
--- /dev/null
+++ b/games/xroar/icons/48.png
Binary files differ
diff --git a/games/xroar/xroar.SlackBuild b/games/xroar/xroar.SlackBuild
index d7500948dbc00..f4bd852f1232f 100644
--- a/games/xroar/xroar.SlackBuild
+++ b/games/xroar/xroar.SlackBuild
@@ -6,6 +6,12 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20211015 bkw:
+# - update for 0.37.1
+# - new-style icons
+# - doinst.sh installs info file in info dir
+# - douninst.sh removes info file from info dir
+
# 20201025 bkw:
# - update for 0.36.2
# - the SDL 1.x UI is gone. One or the other of SDL2, gtkglext is
@@ -13,34 +19,10 @@
# in which case you get an xroar that has no display at all! Added
# code to the script to prevent this from happening.
-# 20191130 bkw:
-# - update for 0.35.4
-# - restore the SDL1 build, now that it builds again
-# - remove the possibility of including ROMs in the package, because:
-# - make xroar-roms a required dependency
-
-# 20181201 bkw: update for 0.35.2
-
-# 20180828 bkw:
-# - update for 0.35
-# - build with --without-oss by default, add OSS=yes option
-# - get rid of alsa_first.diff (doesn't apply any more anyway)
-# - add PULSE=no option
-# - move cruft out of here & into ChangeLog.old
-# - SDL 1.x build broke in 0.35, so remove SDL2=no and add SDL2
-# to REQUIRES.
-
-# 20170822 bkw:
-# - update for 0.34.8
-# - add SDL2=no and GTKGLEXT=no options, mostly for my own testing
-# - record build options in slack-desc
-
-# 20170122 bkw: update for 0.34.7
-
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=xroar
-VERSION=${VERSION:-0.36.2}
+VERSION=${VERSION:-0.37.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -53,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
@@ -137,6 +116,7 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --infodir=/usr/info \
--build=$ARCH-slackware-linux
make
@@ -161,21 +141,28 @@ sed '1s,\<1\>,6,' \
| gzip -9c > $PKG/usr/man/man6/$PRGNAM.6.gz
rm -rf $PKG/usr/man/man1
-mv $PKG/usr/share/info $PKG/usr/info
-rm -rf $PKG/usr/share
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*.info*
# include empty ROM dir
mkdir -p $PKG/usr/share/xroar/roms
-# Icon taken from Fedora package here:
-# ftp://mirror.switch.ch/pool/3/mirror/rpmfusion/free/fedora/updates/8/i386/xroar-0.21-2.fc8.i386.rpm
-# Current versions of xroar include windows and mac icons that are larger,
-# but they don't include the word 'xroar' (just the X-shaped graphic), so
-# I'm sticking with the old Fedora icon.
+# 20211015 bkw: Icons converted from src/macosx/xroar.icns with
+# icns2png from the libicns package. I really liked the old Fedora
+# icon, with the colorful XROAR at the bottom, but it only existed
+# as a 32x32 PNG, which is smaller than a postage stamp on most
+# modern displays and doesn't scale up nicely. Besides which, these
+# are upstream's official icons.
+for i in $CWD/icons/*.png; do
+ px=$( basename $i | cut -d. -f1 )
+ size=${px}x${px}
+ dir=$PKG/usr/share/icons/hicolor/$size/apps
+ mkdir -p $dir
+ cat $i > $dir/$PRGNAM.png
+done
+
mkdir $PKG/usr/share/pixmaps
-cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
+ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
mkdir $PKG/usr/share/applications
cp $CWD/*.desktop $PKG/usr/share/applications
@@ -200,5 +187,10 @@ sed -e "s,@JACK@,$JACK," \
$CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
+# 20211015 bkw: douninst.sh removes the XRoar entry from the info
+# directory, and the Emulators section if XRoar was the only entry
+# there.
+cat $CWD/douninst.sh > $PKG/install/douninst.sh
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/games/xroar/xroar.info b/games/xroar/xroar.info
index 88d6b3a35ad4f..0d3928ba49312 100644
--- a/games/xroar/xroar.info
+++ b/games/xroar/xroar.info
@@ -1,8 +1,8 @@
PRGNAM="xroar"
-VERSION="0.36.2"
+VERSION="0.37.1"
HOMEPAGE="http://www.6809.org.uk/dragon/xroar.shtml"
-DOWNLOAD="http://www.6809.org.uk/xroar/dl/xroar-0.36.2.tar.gz"
-MD5SUM="c1bcc681508c5e97c335c7d71b2abd4b"
+DOWNLOAD="http://www.6809.org.uk/xroar/dl/xroar-0.37.1.tar.gz"
+MD5SUM="2063beee92be8370706d09422c2d9970"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="gtkglext xroar-roms"
diff --git a/games/xroar/xroar_coco_ntsc.desktop b/games/xroar/xroar_coco_ntsc.desktop
index 60424225b78f2..bf6050623464f 100644
--- a/games/xroar/xroar_coco_ntsc.desktop
+++ b/games/xroar/xroar_coco_ntsc.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=XRoar CoCo (NTSC)
Type=Application
-Exec=xroar -ntsc -machine cocous
+Exec=/usr/games/xroar -ntsc -machine cocous
Icon=xroar
Terminal=false
Categories=Game;Emulator;
diff --git a/games/xroar/xroar_coco_pal.desktop b/games/xroar/xroar_coco_pal.desktop
index 0e2eb8ddf0e14..27491aa503429 100644
--- a/games/xroar/xroar_coco_pal.desktop
+++ b/games/xroar/xroar_coco_pal.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=XRoar CoCo (PAL)
Type=Application
-Exec=xroar -pal -machine coco
+Exec=/usr/games/xroar -pal -machine coco
Icon=xroar
Terminal=false
Categories=Game;Emulator;
diff --git a/games/xroar/xroar_d32.desktop b/games/xroar/xroar_d32.desktop
index 11fa628ea4fd0..5e6baaf1db612 100644
--- a/games/xroar/xroar_d32.desktop
+++ b/games/xroar/xroar_d32.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=XRoar Dragon32
Type=Application
-Exec=xroar -machine dragon32
+Exec=/usr/games/xroar -machine dragon32
Icon=xroar
Terminal=false
Categories=Game;Emulator;
diff --git a/games/xroar/xroar_d64.desktop b/games/xroar/xroar_d64.desktop
index 1c838df74bad6..16c19bb56d339 100644
--- a/games/xroar/xroar_d64.desktop
+++ b/games/xroar/xroar_d64.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=XRoar Dragon64
Type=Application
-Exec=xroar -machine dragon64
+Exec=/usr/games/xroar -machine dragon64
Icon=xroar
Terminal=false
Categories=Game;Emulator;