From 0350cdbfb98198bc385d8dea193a502268e0acd4 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sat, 2 May 2020 17:18:37 +0700 Subject: system/isextract: Added (extract v3 InstallShield files). Signed-off-by: Willy Sudiarto Raharjo --- system/isextract/README | 10 +++ system/isextract/fix_output_formatting.diff | 12 ++++ system/isextract/git2tarxz.sh | 44 +++++++++++++ system/isextract/isextract.1 | 97 +++++++++++++++++++++++++++++ system/isextract/isextract.SlackBuild | 72 +++++++++++++++++++++ system/isextract/isextract.info | 10 +++ system/isextract/isextract.rst | 74 ++++++++++++++++++++++ system/isextract/slack-desc | 19 ++++++ 8 files changed, 338 insertions(+) create mode 100644 system/isextract/README create mode 100644 system/isextract/fix_output_formatting.diff create mode 100644 system/isextract/git2tarxz.sh create mode 100644 system/isextract/isextract.1 create mode 100644 system/isextract/isextract.SlackBuild create mode 100644 system/isextract/isextract.info create mode 100644 system/isextract/isextract.rst create mode 100644 system/isextract/slack-desc (limited to 'system/isextract') diff --git a/system/isextract/README b/system/isextract/README new file mode 100644 index 0000000000..81d4c5fbe3 --- /dev/null +++ b/system/isextract/README @@ -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. diff --git a/system/isextract/fix_output_formatting.diff b/system/isextract/fix_output_formatting.diff new file mode 100644 index 0000000000..d48b491bb8 --- /dev/null +++ b/system/isextract/fix_output_formatting.diff @@ -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++; + } diff --git a/system/isextract/git2tarxz.sh b/system/isextract/git2tarxz.sh new file mode 100644 index 0000000000..02b50e68cd --- /dev/null +++ b/system/isextract/git2tarxz.sh @@ -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" diff --git a/system/isextract/isextract.1 b/system/isextract/isextract.1 new file mode 100644 index 0000000000..318ac7fabd --- /dev/null +++ b/system/isextract/isextract.1 @@ -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. +. diff --git a/system/isextract/isextract.SlackBuild b/system/isextract/isextract.SlackBuild new file mode 100644 index 0000000000..a4bc4c2c58 --- /dev/null +++ b/system/isextract/isextract.SlackBuild @@ -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} diff --git a/system/isextract/isextract.info b/system/isextract/isextract.info new file mode 100644 index 0000000000..12e8ac5b6c --- /dev/null +++ b/system/isextract/isextract.info @@ -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" diff --git a/system/isextract/isextract.rst b/system/isextract/isextract.rst new file mode 100644 index 0000000000..aaa4622681 --- /dev/null +++ b/system/isextract/isextract.rst @@ -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) diff --git a/system/isextract/slack-desc b/system/isextract/slack-desc new file mode 100644 index 0000000000..a5b892c58e --- /dev/null +++ b/system/isextract/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------------------------------------------------------| +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: -- cgit v1.2.3