aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2024-11-09 00:58:01 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2024-11-09 06:43:00 +0700
commit0cb871d246c0668b1fff06d3f4e055a15aa75db0 (patch)
tree9888200b0ed5b1011cb11b57ed23d4f24a5f59db
parent8d937ca4747a1bbb59ff2645bb8f22c3df5e4542 (diff)
system/chkxex: Added (Atari XE/XL executable files).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r--system/chkxex/README16
-rw-r--r--system/chkxex/chkxex.177
-rw-r--r--system/chkxex/chkxex.SlackBuild83
-rw-r--r--system/chkxex/chkxex.info10
-rw-r--r--system/chkxex/chkxex.rst67
-rw-r--r--system/chkxex/slack-desc19
6 files changed, 272 insertions, 0 deletions
diff --git a/system/chkxex/README b/system/chkxex/README
new file mode 100644
index 000000000000..5055fbca0c07
--- /dev/null
+++ b/system/chkxex/README
@@ -0,0 +1,16 @@
+chkxex (print info about Atari 8-bit executable files)
+
+chkxex reads an Atari 8-bit segmented executable ("xex" file) and
+prints the start address, end address, and length of each segment. Any
+run or init addresses are also displayed. Output is in hexadecimal.
+
+Input files can be standard Atari DOS 2.0S compatible executables, or
+DOS-specific formats for SpartaDOS X and XBIOS.
+
+The code has been patched slightly: in case of error, it will exit
+with nonzero status.
+
+See the man page for more information.
+
+See also: the 'binload' command, from atari_8bit_utils, and 'ataricom'
+from atarisio.
diff --git a/system/chkxex/chkxex.1 b/system/chkxex/chkxex.1
new file mode 100644
index 000000000000..2ef79f5f8e58
--- /dev/null
+++ b/system/chkxex/chkxex.1
@@ -0,0 +1,77 @@
+.\" 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 "CHKXEX" 1 "2024-11-02" "20230607_e5c1564" "SlackBuilds.org"
+.SH NAME
+chkxex \- print info about Atari 8-bit executable files
+.\" RST source for chkxex(1) man page. Convert with:
+.
+.\" rst2man.py chkxex.rst > chkxex.1
+.
+.SH SYNOPSIS
+.sp
+chkxex [\fI\-det\fP] [\fI\-std\fP] \fBfilename\fP [\fBfilename\fP ...]
+.SH DESCRIPTION
+.sp
+chkxex reads an Atari 8\-bit segmented executable ("xex" file) and
+prints the start address, end address, and length of each segment. Any
+run or init addresses are also displayed. Output is in hexadecimal.
+.sp
+Input files can be standard (Atari DOS 2.0S compatible), or
+DOS\-specific formats for SpartaDOS X and XBIOS.
+.sp
+\fBchkxex\fP will exit if any file can\(aqt be read, or is not a valid
+Atari 8\-bit executable; if there are more filenames on the command
+line, they will not be processed.
+.sp
+Run \fBchkxex\fP with no arguments to see the built\-in help message.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-std\fP
+Always treat the input file as a standard Atari DOS executable; do
+not attempt to autodetect the type.
+.TP
+.B \fB\-det\fP
+Show extra details ((only applies to SpartaDOS X executables).
+.UNINDENT
+.SH EXIT STATUS
+.sp
+Zero for success; non\-zero for failure.
+.SH AUTHORS
+.sp
+chkxex was written by the Mad Team: \fI\%https://madteam.atari8.info/\fP
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+The chkxex homepage: \fI\%https://github.com/tebe6502/chkXEX/\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/system/chkxex/chkxex.SlackBuild b/system/chkxex/chkxex.SlackBuild
new file mode 100644
index 000000000000..dcfda10322dc
--- /dev/null
+++ b/system/chkxex/chkxex.SlackBuild
@@ -0,0 +1,83 @@
+#!/bin/bash
+
+# Slackware build script for chkxex
+
+# Written by B. Watson (urchlay@slackware.uk)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# Unfortunately, there's almost no documentation from upstream at all.
+# Even in the source, there are almost no comments. I wrote a man
+# page, but had to leave out the COPYRIGHT section since there's no
+# copyright/licensing info anywhere.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=chkxex
+SRCNAM=chkXEX
+VERSION=${VERSION:-20230607_e5c1564}
+COMMIT=${COMMIT:-e5c156472f9c6b2e695f9ee4be3e28b5b0945f07}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# 20241102 bkw: pascal, not C, no need for CFLAGS.
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$COMMIT
+tar xvf $CWD/$SRCNAM-$COMMIT.tar.gz --exclude '*.exe'
+cd $SRCNAM-$COMMIT
+chown -R root:root .
+chmod 644 *
+
+# 20241102 bkw: I cannot abide programs that spit out error messages
+# and then exit with "success" status. This fixes it... though it
+# doesn't fix the other annoyance: error messages should go to stderr,
+# but don't.
+sed -i 's,exit;,ExitCode:=1;&,' $PRGNAM.pas
+
+# 20241102 bkw: no 'make install', so manually create the dirs.
+PKGBIN=$PKG/usr/bin
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+PKGMAN1=$PKG/usr/man/man1
+mkdir -p $PKGBIN $PKGDOC $PKGMAN1
+
+# 20241102 bkw: Compile command comes from comments at the top of the
+# source. Binary is already stripped.
+fpc -Mdelphi -vh -O3 -o$PKGBIN/$PRGNAM chkxex.pas
+
+# 20241102 bkw: Stoopid compiler leaves this turd behind.
+rm -f $PKGBIN/*.o
+
+# 20241102 bkw: man page written for this SlackBuild.
+gzip -9c < $CWD/$PRGNAM.1 > $PKGMAN1/$PRGNAM.1.gz
+
+cp -a README.md $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/system/chkxex/chkxex.info b/system/chkxex/chkxex.info
new file mode 100644
index 000000000000..e415521f66c0
--- /dev/null
+++ b/system/chkxex/chkxex.info
@@ -0,0 +1,10 @@
+PRGNAM="chkxex"
+VERSION="20230607_e5c1564"
+HOMEPAGE="https://github.com/tebe6502/chkXEX/"
+DOWNLOAD="https://github.com/tebe6502/chkXEX/archive/e5c156472f9c6b2e695f9ee4be3e28b5b0945f07/chkXEX-e5c156472f9c6b2e695f9ee4be3e28b5b0945f07.tar.gz"
+MD5SUM="4c646123e3f3a0c8031c7da813d8d29f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="fpc"
+MAINTAINER="B. Watson"
+EMAIL="urchlay@slackware.uk"
diff --git a/system/chkxex/chkxex.rst b/system/chkxex/chkxex.rst
new file mode 100644
index 000000000000..b3ae65069f60
--- /dev/null
+++ b/system/chkxex/chkxex.rst
@@ -0,0 +1,67 @@
+.. RST source for chkxex(1) man page. Convert with:
+.. rst2man.py chkxex.rst > chkxex.1
+
+.. |version| replace:: 20230607_e5c1564
+.. |date| date::
+
+======
+chkxex
+======
+
+---------------------------------------------
+print info about Atari 8-bit executable files
+---------------------------------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+chkxex [*-det*] [*-std*] **filename** [**filename** ...]
+
+DESCRIPTION
+===========
+
+chkxex reads an Atari 8-bit segmented executable ("xex" file) and
+prints the start address, end address, and length of each segment. Any
+run or init addresses are also displayed. Output is in hexadecimal.
+
+Input files can be standard (Atari DOS 2.0S compatible), or
+DOS-specific formats for SpartaDOS X and XBIOS.
+
+**chkxex** will exit if any file can't be read, or is not a valid
+Atari 8-bit executable; if there are more filenames on the command
+line, they will not be processed.
+
+Run **chkxex** with no arguments to see the built-in help message.
+
+OPTIONS
+=======
+
+**-std**
+ Always treat the input file as a standard Atari DOS executable; do
+ not attempt to autodetect the type.
+
+**-det**
+ Show extra details ((only applies to SpartaDOS X executables).
+
+EXIT STATUS
+===========
+
+Zero for success; non-zero for failure.
+
+AUTHORS
+=======
+
+chkxex was written by the Mad Team: https://madteam.atari8.info/
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+The chkxex homepage: https://github.com/tebe6502/chkXEX/
diff --git a/system/chkxex/slack-desc b/system/chkxex/slack-desc
new file mode 100644
index 000000000000..974d1a683545
--- /dev/null
+++ b/system/chkxex/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+chkxex: chkxex (print info about Atari 8-bit executable files)
+chkxex:
+chkxex: chkxex reads an Atari 8-bit segmented executable ("xex" file) and
+chkxex: prints the start address, end address, and length of each segment. Any
+chkxex: run or init addresses are also displayed. Output is in hexadecimal.
+chkxex:
+chkxex: Input files can be standard Atari DOS 2.0S compatible executables, or
+chkxex: DOS-specific formats for SpartaDOS X and XBIOS.
+chkxex:
+chkxex:
+chkxex: