summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2021-03-23 00:37:20 -0400
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2021-03-27 10:23:18 +0700
commiteeafa53b1c8c47e6049ae4562c415063bc6bbb83 (patch)
tree4aeed75d736e5428ae2051cdf731edbb86100a57
parentaa24838634c66718b565e34fcd62eaa77edaf7cd (diff)
downloadslackbuilds-eeafa53b1c8c47e6049ae4562c415063bc6bbb83.tar.gz
games/atari++: Add optional no-confirm-quit patch.
Signed-off-by: B. Watson <yalhcru@gmail.com> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--games/atari++/README8
-rw-r--r--games/atari++/atari++.SlackBuild19
-rw-r--r--games/atari++/atari++.desktop2
-rw-r--r--games/atari++/no_confirm_quit.diff18
4 files changed, 39 insertions, 8 deletions
diff --git a/games/atari++/README b/games/atari++/README
index a665dadcc1..8517407876 100644
--- a/games/atari++/README
+++ b/games/atari++/README
@@ -16,3 +16,11 @@ that the author includes in his makefile. If you're picky about
such things, or if you run into crashes or compile errors, try
setting FORCE_SLACK_CFLAGS=yes in the environment before running
atari++.SlackBuild
+
+Optional patch: If you *really* don't like the "Do you really want to
+quit?" prompt when you try to exit the emulator, set CONFIRM_QUIT=no
+in the environment before building atari++. You probably also want
+to skip the agree-to-the-GPL prompt at startup, which can be done
+with:
+
+$ echo "AcceptLicence=on" > ~/.atari++.conf
diff --git a/games/atari++/atari++.SlackBuild b/games/atari++/atari++.SlackBuild
index 30f664ed0a..d214178efc 100644
--- a/games/atari++/atari++.SlackBuild
+++ b/games/atari++/atari++.SlackBuild
@@ -6,6 +6,9 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20210323 bkw: BUILD=2
+# - add option to patch out "Do you really want to quit?" because it's *annoying*
+# - move binary to /usr/games
# 20170122 bkw: update for 1.83
PRGNAM=atari++
@@ -57,11 +60,13 @@ rm -rf $PRGNAM
tar xvf $CWD/${PRGNAM}_$VERSION.tar.gz
cd $PRGNAM
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 {} \+
+
+# 20210323 bkw: optional patch, disabled by default. Sorry, I can't
+# stand the "Do you really want to quit?" prompt, and there's no
+# config file or CLI option to disable it.
+[ "${CONFIRM_QUIT:-yes}" = "no" ] && patch -p1 < $CWD/no_confirm_quit.diff
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -81,9 +86,9 @@ fi
# no DESTDIR support, --mandir is ignored, docs go to /usr/share/doc,
# let's not use `make install' at all.
-mkdir -p $PKG/usr/bin $PKG/usr/man/man6 $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/games $PKG/usr/man/man6 $PKG/usr/doc/$PRGNAM-$VERSION
-install -s -m0755 -o root -g root $PRGNAM $PKG/usr/bin
+install -s -m0755 -o root -g root $PRGNAM $PKG/usr/games
gzip -9c < $PRGNAM.man > $PKG/usr/man/man6/$PRGNAM.6.gz
diff --git a/games/atari++/atari++.desktop b/games/atari++/atari++.desktop
index b2ea28b399..bd740d210e 100644
--- a/games/atari++/atari++.desktop
+++ b/games/atari++/atari++.desktop
@@ -3,7 +3,7 @@ Version=1.0
Name=Atari++ Emulator
GenericName=Atari 8-Bit Emulator
Type=Application
-Exec=atari++
+Exec=/usr/games/atari++
Icon=atari++
Terminal=false
StartupNotify=false
diff --git a/games/atari++/no_confirm_quit.diff b/games/atari++/no_confirm_quit.diff
new file mode 100644
index 0000000000..12f22ddeb5
--- /dev/null
+++ b/games/atari++/no_confirm_quit.diff
@@ -0,0 +1,18 @@
+diff -Naur atari++/atari.cpp atari++.patched/atari.cpp
+--- atari++/atari.cpp 2020-03-21 13:13:35.000000000 -0400
++++ atari++.patched/atari.cpp 2021-03-23 00:21:48.022961292 -0400
+@@ -263,14 +263,7 @@
+ }
+ }
+ if (machine->Quit()) {
+- // Check whether the user really wants to quit.
+- if (YesNoRequester->Request("Do you really want to quit Atari++?",
+- "Continue Execution","Quit Program",NULL) == 0) {
+- redo = true;
+- machine->Quit() = false;
+- } else {
+ redo = false;
+- }
+ }
+ } while(redo);
+ }