diff options
Diffstat (limited to 'development/zmac/zmac.SlackBuild')
-rw-r--r-- | development/zmac/zmac.SlackBuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/development/zmac/zmac.SlackBuild b/development/zmac/zmac.SlackBuild new file mode 100644 index 000000000000..61312de89e36 --- /dev/null +++ b/development/zmac/zmac.SlackBuild @@ -0,0 +1,108 @@ +#!/bin/bash + +# Slackware build script for zmac + +# Written by B. Watson (urchlay@slackware.uk) + +# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. + +# This is a combo: the assembler and the linker in one package. + +# VERSION is the zmac version (which is just a release date) plus +# the ld80 version. I downloaded the .zip files from the author's +# site, but as they're unversioned there (zmac.zip and ld80.zip), +# they will be replaced with newer versions someday, and break this +# SlackBuild. So I put them on my server with versioned filenames +# (otherwise unmodified). + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=zmac +VERSION=${VERSION:-20221018_0.7} +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} + +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 + +ZMACVER="$( echo $VERSION | cut -d_ -f1 )" +LD80VER="$( echo $VERSION | cut -d_ -f2 )" +ZMAC=zmac-$ZMACVER +LD80=ld80-$LD80VER + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +TOPDIR=$(pwd) +mkdir zmac-$ZMACVER ld80-$LD80VER +unzip -j $CWD/$ZMAC.zip -d $ZMAC -x '*.exe' '*.bat' +unzip $CWD/$LD80.zip -d $LD80 -x '*.exe' '*.bat' '*.vcproj' '*.sln' +chown -R root:root . +chmod 755 * +chmod 644 */* + +sed -i "s,-g,$SLKCFLAGS," $LD80/Makefile + +# These really do fail with -jN in the env, if N>1. They're also +# small enough that it's not painfully slow with -j1. +make -j1 -C $ZMAC CXXFLAGS="$SLKCFLAGS" CFLAGS="$SLKCFLAGS" +make -j1 -C $LD80 + +# No 'make install' for either one. +PKGBIN=$PKG/usr/bin +PKGMAN1=$PKG/usr/man/man1 +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKGBIN $PKGMAN1 $PKGDOC + +install -s $ZMAC/zmac $LD80/ld80 $PKGBIN + +# ld80 has a nice man page, zmac man page is copypasta from zmac.html. +gzip -9c < $CWD/zmac.1 > $PKGMAN1/zmac.1.gz +gzip -9c < $LD80/ld80.1 > $PKGMAN1/ld80.1.gz + +# HTML doc is built into the binary, extract it. Don't bother with doc.txt, +# since it's the source for the HTML. +./$ZMAC/zmac --doc > $PKGDOC/zmac.html + +cp -a $LD80/ld80.html $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 |