system/isextract: Added (extract v3 InstallShield files).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2020-05-02 17:18:37 +07:00 committed by Willy Sudiarto Raharjo
parent 30ceb8604c
commit 0350cdbfb9
8 changed files with 338 additions and 0 deletions

10
system/isextract/README Normal file
View File

@ -0,0 +1,10 @@
isextract (extract v3 InstallShield files)
isextract is a command line tool to extract the *.z InstallShield v3
packages many old windows games were distributed as.
The files isextract supports are identified by the file command as
"InstallShield Z archive Data", and begin with a hex signature of 13 5d
65 8c 3a 01 02.
See also: unshield, for other types of InstallShield files.

View File

@ -0,0 +1,12 @@
diff -Naur isextract-20141107_5adb0af/src/isextract.cpp isextract-20141107_5adb0af.patched/src/isextract.cpp
--- isextract-20141107_5adb0af/src/isextract.cpp 2020-04-29 12:52:20.000000000 -0400
+++ isextract-20141107_5adb0af.patched/src/isextract.cpp 2020-04-29 13:28:40.715911070 -0400
@@ -212,7 +212,7 @@
csize = it->second.compressed_size;
- std::cout << fname << " " << csize << " " << ctime(&time) << "\n";
+ std::cout << fname << " " << csize << " " << ctime(&time);
it++;
}

View File

@ -0,0 +1,44 @@
#!/bin/sh
# Create source tarball from git repo, with generated version
# number.
# Note that this script doesn't need to be run as root. It does
# need to be able to write to the current directory it's run from.
# Takes one optional argument, which is the commit or tag to create
# a tarball of. With no arg, HEAD is used.
PRGNAM=isextract
CLONE_URL=https://github.com/OmniBlade/isextract.git
set -e
GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX )
rm -rf $GITDIR
git clone $CLONE_URL $GITDIR
CWD="$( pwd )"
cd $GITDIR
if [ "$1" != "" ]; then
git reset --hard "$1" || exit 1
fi
GIT_SHA=$( git rev-parse --short HEAD )
DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 )
VERSION=${DATE}_${GIT_SHA}
rm -rf .git
find . -name .gitignore -print0 | xargs -0 rm -f
cd "$CWD"
rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz
mv $GITDIR $PRGNAM-$VERSION
tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION
echo
echo "Created tarball: $PRGNAM-$VERSION.tar.xz"
echo "VERSION=$VERSION"

View File

@ -0,0 +1,97 @@
.\" Man page generated from reStructuredText.
.
.TH ISEXTRACT 1 "2020-04-29" "20141107_5adb0af" "SlackBuilds.org"
.SH NAME
isextract \- Extract InstallShield v3 archives
.
.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
..
.\" RST source for isextract(1) man page. Convert with:
.
.\" rst2man.py isextract.rst > isextract.1
.
.\" rst2man.py comes from the SBo development/docutils package.
.
.\" converting from pod:
.
.\" s/B<\([^>]*\)>/**\1**/g
.
.\" s/I<\([^>]*\)>/*\1*/g
.
.SH SYNOPSIS
.sp
isextract [\fIl|x\fP] file.z
.SH DESCRIPTION
.sp
isextract is a command line tool to extract the .z InstallShield v3
packages many old windows games were distributed as.
.sp
The files isextract supports normally have a \fB\&.z\fP extension, and can be
idenfified by the file command:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ file data.z
data.z: InstallShield Z archive Data
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
\&...or by the hex signature at the start of the file:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ head \-c6 data.z | xxd
00000000: 135d 658c 3a01 .]e.:.
.ft P
.fi
.UNINDENT
.UNINDENT
.SH OPTIONS
.sp
\fBl\fP List contents of archive.
.sp
\fBx\fP Extract archive to current directory.
.SH COPYRIGHT
.sp
See the file /usr/doc/PRGNAM\-20141107_5adb0af/LICENSE for license information.
.SH AUTHORS
.sp
isextract was written by OmniBlade.
.sp
This man page written for the SlackBuilds.org project
by B. Watson, and is licensed under the WTFPL.
.SH SEE ALSO
.sp
unshield(1), cabextract(1)
.\" Generated by docutils manpage writer.
.

View File

@ -0,0 +1,72 @@
#!/bin/sh
# Slackware build script for isextract
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=isextract
VERSION=${VERSION:-20141107_5adb0af}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# get rid of "double-spaced" output in l command
patch -p1 < $CWD/fix_output_formatting.diff
make OPTFLAGS="$SLKCFLAGS"
mkdir -p $PKG/usr/bin
install -s -m0755 build/$PRGNAM $PKG/usr/bin
# man page written by SlackBuild author
mkdir -p $PKG/usr/man/man1
gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README* LICENSE* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$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:-tgz}

View File

@ -0,0 +1,10 @@
PRGNAM="isextract"
VERSION="20141107_5adb0af"
HOMEPAGE="https://github.com/OmniBlade/isextract"
DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/isextract-20141107_5adb0af.tar.xz"
MD5SUM="2950724969069bfc9b304530e4bc1604"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"

View File

@ -0,0 +1,74 @@
.. RST source for isextract(1) man page. Convert with:
.. rst2man.py isextract.rst > isextract.1
.. rst2man.py comes from the SBo development/docutils package.
.. |version| replace:: 20141107_5adb0af
.. |date| date::
.. converting from pod:
.. s/B<\([^>]*\)>/**\1**/g
.. s/I<\([^>]*\)>/*\1*/g
=========
isextract
=========
---------------------------------
Extract InstallShield v3 archives
---------------------------------
:Manual section: 1
:Manual group: SlackBuilds.org
:Date: |date|
:Version: |version|
SYNOPSIS
========
isextract [*l|x*] file.z
DESCRIPTION
===========
isextract is a command line tool to extract the .z InstallShield v3
packages many old windows games were distributed as.
The files isextract supports normally have a **.z** extension, and can be
idenfified by the file command:
::
$ file data.z
data.z: InstallShield Z archive Data
...or by the hex signature at the start of the file:
::
$ head -c6 data.z | xxd
00000000: 135d 658c 3a01 .]e.:.
OPTIONS
=======
**l** List contents of archive.
**x** Extract archive to current directory.
COPYRIGHT
=========
See the file /usr/doc/PRGNAM-|version|/LICENSE for license information.
AUTHORS
=======
isextract was written by OmniBlade.
This man page written for the SlackBuilds.org project
by B. Watson, and is licensed under the WTFPL.
SEE ALSO
========
unshield(1), cabextract(1)

View File

@ -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------------------------------------------------------|
isextract: isextract (extract v3 InstallShield files)
isextract:
isextract: isextract is a command line tool to extract the *.z InstallShield
isextract: v3 packages many old windows games were distributed as.
isextract:
isextract: The files isextract supports are identified by the file command as
isextract: "InstallShield Z archive Data", and begin with a hex signature of
isextract: 13 5d 65 8c 3a 01 02.
isextract:
isextract:
isextract: