diff options
author | B. Watson <urchlay@slackware.uk> | 2024-11-09 00:58:01 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2024-11-09 06:43:00 +0700 |
commit | 0cb871d246c0668b1fff06d3f4e055a15aa75db0 (patch) | |
tree | 9888200b0ed5b1011cb11b57ed23d4f24a5f59db | |
parent | 8d937ca4747a1bbb59ff2645bb8f22c3df5e4542 (diff) |
system/chkxex: Added (Atari XE/XL executable files).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | system/chkxex/README | 16 | ||||
-rw-r--r-- | system/chkxex/chkxex.1 | 77 | ||||
-rw-r--r-- | system/chkxex/chkxex.SlackBuild | 83 | ||||
-rw-r--r-- | system/chkxex/chkxex.info | 10 | ||||
-rw-r--r-- | system/chkxex/chkxex.rst | 67 | ||||
-rw-r--r-- | system/chkxex/slack-desc | 19 |
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: |