summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games/pom1/README2
-rw-r--r--games/pom1/doinst.sh5
-rw-r--r--games/pom1/pom1.6252
-rw-r--r--games/pom1/pom1.SlackBuild54
-rw-r--r--games/pom1/pom1.info2
-rw-r--r--games/pom1/pom1.rst97
6 files changed, 394 insertions, 18 deletions
diff --git a/games/pom1/README b/games/pom1/README
index b6c39ed7ee..300201e80c 100644
--- a/games/pom1/README
+++ b/games/pom1/README
@@ -1,2 +1,4 @@
+pom1 (Apple I emulator)
+
Pom1 is an Apple 1 emulator ported to C and Android from the original
Java version. The port to C uses SDL and works on most platforms.
diff --git a/games/pom1/doinst.sh b/games/pom1/doinst.sh
index 4e8ba7071d..3e5691a052 100644
--- a/games/pom1/doinst.sh
+++ b/games/pom1/doinst.sh
@@ -2,3 +2,8 @@ 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/pom1/pom1.6 b/games/pom1/pom1.6
new file mode 100644
index 0000000000..861afe619e
--- /dev/null
+++ b/games/pom1/pom1.6
@@ -0,0 +1,252 @@
+.\" Man page generated from reStructuredText.
+.
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.TH "POM1" 6 "2021-10-27" "1.0.0" "SlackBuilds.org"
+.SH NAME
+pom1 \- Apple I emulator
+.\" RST source for pom1(6) man page. Convert with:
+.
+.\" rst2man.py pom1.rst > pom1.6
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+pom1 [\fI\-options\fP]
+.SH DESCRIPTION
+.sp
+\fBpom1\fP is an Apple I emulator.
+.sp
+The Apple I was Apple\(aqs first desktop computer, released in 1976.
+.SH OPTIONS
+.sp
+Options can be set from the config file, on the command line, or via
+Control key combinations while running. At exit, \fBpom1\fP writes the
+current config back to the config file.
+.TS
+center;
+|l|l|l|l|.
+_
+T{
+Option
+T} T{
+Key
+T} T{
+Command Line
+T} T{
+Description
+T}
+_
+T{
+Load Memory
+T} T{
+^L
+T} T{
+T} T{
+Load memory from a binary or ascii file.
+T}
+_
+T{
+Save Memory
+T} T{
+^S
+T} T{
+T} T{
+Save memory to a binary or ascii file.
+T}
+_
+T{
+Quit
+T} T{
+^Q
+T} T{
+T} T{
+Quit the emulator.
+T}
+_
+T{
+Reset
+T} T{
+^R
+T} T{
+T} T{
+Soft reset the emulator.
+T}
+_
+T{
+Hard Reset
+T} T{
+^H
+T} T{
+T} T{
+Hard reset the emulator.
+T}
+_
+T{
+Pixel Size
+T} T{
+^P
+T} T{
+\fB\-pixelsize\fP \fIn\fP
+T} T{
+Set the pixel size (1 or 2).
+T}
+_
+T{
+Scanlines
+T} T{
+^N
+T} T{
+\fB\-scanlines\fP
+T} T{
+Turn scanlines on or off (pixel size 2 only).
+T}
+_
+T{
+Terminal Speed
+T} T{
+^T
+T} T{
+\fB\-terminalspeed\fP \fIn\fP
+T} T{
+Set the terminal speed (Range: 1 \- 120).
+T}
+_
+T{
+RAM 8K
+T} T{
+^E
+T} T{
+\fB\-ram8k\fP
+T} T{
+Use only 8KB of RAM or entire 64KB of RAM.
+T}
+_
+T{
+Write In ROM
+T} T{
+^W
+T} T{
+\fB\-writeinrom\fP
+T} T{
+Allow writing data in ROM or not.
+T}
+_
+T{
+IRQ/BRK Vector
+T} T{
+^V
+T} T{
+T} T{
+Set address of interrupt vector.
+T}
+_
+T{
+Fullscreen
+T} T{
+^F
+T} T{
+\fB\-fullscreen\fP
+T} T{
+Switch to fullscreen or window.
+T}
+_
+T{
+Blink Cursor
+T} T{
+^B
+T} T{
+\fB\-blinkcursor\fP
+T} T{
+Set the cursor to blink or not.
+T}
+_
+T{
+Cursor Block
+T} T{
+^C
+T} T{
+\fB\-blockcursor\fP
+T} T{
+Set the cursor to block or @.
+T}
+_
+T{
+Show About
+T} T{
+^A
+T} T{
+T} T{
+Show version and copyright information.
+T}
+_
+T{
+ROM Directory
+T} T{
+T} T{
+\fB\-romdir\fP \fIdir\fP
+T} T{
+Look here for ROMS (see \fBFILES\fP).
+T}
+_
+.TE
+.SH FILES
+.INDENT 0.0
+.TP
+.B \fB~/.pom1/pom1.cfg\fP
+Read at startup and overwritten at exit. Contains the state of options that
+can be set from the command line (\fB\-pixelsize\fP, etc). If this file is
+missing, it will be created.
+.TP
+.B \fB/usr/share/games/pom1/roms\fP
+Default location for the ROM images: \fBbasic.rom\fP, \fBcharmap.rom\fP, and \fBmonitor.rom\fP\&.
+.UNINDENT
+.SH ENVIRONMENT
+.INDENT 0.0
+.TP
+.B \fBPOM1ROMDIR\fP
+If set, overrides the built\-in path to the ROM images. Same as the command\-line
+option \fB\-romdir\fP\&.
+.UNINDENT
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/pom1\-1.0.0/COPYING for license information.
+.SH AUTHORS
+.sp
+\fBpom1\fP was written by John D. Corrado and Verhille Arnaud.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+The \fBpom1\fP homepage: \fI\%http://pom1.sourceforge.net/\fP
+.sp
+Wikipedia\(aqs Apple I entry: \fI\%https://en.wikipedia.org/wiki/Apple_I\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/games/pom1/pom1.SlackBuild b/games/pom1/pom1.SlackBuild
index a1000b5427..7fe6c77e40 100644
--- a/games/pom1/pom1.SlackBuild
+++ b/games/pom1/pom1.SlackBuild
@@ -7,11 +7,18 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/
# for details.
+# 20211027 bkw: BUILD=2
+# - new-style icons.
+# - binary in /usr/games.
+# - get rid of silly wrapper script.
+# - /usr/share/pom1 => /usr/share/games/pom1.
+# - man page.
+
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=pom1
VERSION=${VERSION:-1.0.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -23,9 +30,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
@@ -58,18 +62,23 @@ 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 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 {} \+
+
+sed -i -e 's/Emulator;/&System;/' \
+ -e 's,Exec=,&/usr/games/,' \
+ src/$PRGNAM.desktop.in
-sed -i 's/Emulator;/&System;/' src/$PRGNAM.desktop.in
+# 20211027 bkw: we don't need a wrapper script that just sets one
+# environment variable and calls the real binary, when we can
+# set the default in the code.
+sed -i '/setRomDirectory/s,"roms","/usr/share/games/pom1/roms",' src/main.c
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --bindir=/usr/games \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -80,24 +89,35 @@ CXXFLAGS="$SLKCFLAGS" \
make
make install-strip DESTDIR=$PKG
-mv $PKG/usr/share/icons $PKG/usr/share/pixmaps
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+rm -rf $PKG/usr/share/icons
+mkdir -p $PKG/usr/share/games
+mv $PKG/usr/share/$PRGNAM $PKG/usr/share/games/$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 $CWD/$PRGNAM.png $dir/$PRGNAM.png
+done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/share/pixmaps
+ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
# Why is there a fricken --docdir option when every configure
# script ignores it?!
mv $PKG/usr/share/doc/$PRGNAM/* $PKG/usr/doc/$PRGNAM-$VERSION
rm -rf $PKG/usr/share/doc
+# man page written by SlackBuild author.
+mkdir -p $PKG/usr/man/man6
+gzip -9c < $CWD/$PRGNAM.6 > $PKG/usr/man/man6/$PRGNAM.6.gz
+
# Icon created by Creative Nerds, downloaded from:
# http://www.iconarchive.com/show/wooden-social-icons-by-creativenerds/apple-icon.html
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/$PRGNAM.png > $PKG/usr/share/pixmaps/$PRGNAM.png
-# I prefer not to clutter /usr/bin with binaries you're not supposed
-# to actually ever run, so:
-mkdir -p $PKG/usr/libexec
-mv $PKG/usr/bin/$PRGNAM-$VERSION $PKG/usr/libexec
-sed -i "s,^$PRGNAM-$VERSION,/usr/libexec/&," $PKG/usr/bin/$PRGNAM
+mv $PKG/usr/games/$PRGNAM-$VERSION $PKG/usr/games/$PRGNAM
cp -a COPYING $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/games/pom1/pom1.info b/games/pom1/pom1.info
index 0e4e757e1b..277426b455 100644
--- a/games/pom1/pom1.info
+++ b/games/pom1/pom1.info
@@ -1,7 +1,7 @@
PRGNAM="pom1"
VERSION="1.0.0"
HOMEPAGE="http://pom1.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/project/pom1/pom1/1.0.0/pom1-1.0.0.tar.gz"
+DOWNLOAD="https://downloads.sourceforge.net/project/pom1/pom1/1.0.0/pom1-1.0.0.tar.gz"
MD5SUM="fbea72f26ab9f1771e8171021406b194"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/games/pom1/pom1.rst b/games/pom1/pom1.rst
new file mode 100644
index 0000000000..5c3b28d929
--- /dev/null
+++ b/games/pom1/pom1.rst
@@ -0,0 +1,97 @@
+.. RST source for pom1(6) man page. Convert with:
+.. rst2man.py pom1.rst > pom1.6
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 1.0.0
+.. |date| date::
+
+====
+pom1
+====
+
+----------------
+Apple I emulator
+----------------
+
+:Manual section: 6
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+pom1 [*-options*]
+
+DESCRIPTION
+===========
+
+**pom1** is an Apple I emulator.
+
+The Apple I was Apple's first desktop computer, released in 1976.
+
+OPTIONS
+=======
+
+Options can be set from the config file, on the command line, or via
+Control key combinations while running. At exit, **pom1** writes the
+current config back to the config file.
+
+============== === ====================== ==========================================
+Option Key Command Line Description
+============== === ====================== ==========================================
+Load Memory ^L Load memory from a binary or ascii file.
+Save Memory ^S Save memory to a binary or ascii file.
+Quit ^Q Quit the emulator.
+Reset ^R Soft reset the emulator.
+Hard Reset ^H Hard reset the emulator.
+Pixel Size ^P **-pixelsize** *n* Set the pixel size (1 or 2).
+Scanlines ^N **-scanlines** Turn scanlines on or off (pixel size 2 only).
+Terminal Speed ^T **-terminalspeed** *n* Set the terminal speed (Range: 1 - 120).
+RAM 8K ^E **-ram8k** Use only 8KB of RAM or entire 64KB of RAM.
+Write In ROM ^W **-writeinrom** Allow writing data in ROM or not.
+IRQ/BRK Vector ^V Set address of interrupt vector.
+Fullscreen ^F **-fullscreen** Switch to fullscreen or window.
+Blink Cursor ^B **-blinkcursor** Set the cursor to blink or not.
+Cursor Block ^C **-blockcursor** Set the cursor to block or \@.
+Show About ^A Show version and copyright information.
+ROM Directory **-romdir** *dir* Look here for ROMS (see **FILES**).
+============== === ====================== ==========================================
+
+FILES
+=====
+
+**~/.pom1/pom1.cfg**
+ Read at startup and overwritten at exit. Contains the state of options that
+ can be set from the command line (**-pixelsize**, etc). If this file is
+ missing, it will be created.
+
+**/usr/share/games/pom1/roms**
+ Default location for the ROM images: **basic.rom**, **charmap.rom**, and **monitor.rom**.
+
+ENVIRONMENT
+===========
+
+**POM1ROMDIR**
+ If set, overrides the built-in path to the ROM images. Same as the command-line
+ option **-romdir**.
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/pom1-|version|/COPYING for license information.
+
+AUTHORS
+=======
+
+**pom1** was written by John D. Corrado and Verhille Arnaud.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+The **pom1** homepage: http://pom1.sourceforge.net/
+
+Wikipedia's Apple I entry: https://en.wikipedia.org/wiki/Apple_I