#!/bin/sh # Slackware build script for inform # Written by B. Watson (yalhcru@gmail.com) # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # 20191216 bkw: updated for 6.34_6.12.2. The secondary version number # is the inform6 library version. This script can no longer build the # old 6.32.1 version, but it should be fine for future releases. # The old 6.32.1 release shipped with a lot more include # files. Upstream removed a lot of them because they were either buggy # or license-incompatible. If you're trying to compile something that # needs any of these old includes, please let me know. If there's enough # demand, I'll dig up the old includes and re-add them to the package. PRGNAM=inform VERSION=${VERSION:-6.34_6.12.2} 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 MANVER="${MANVER:-4}" MANUAL=designers_manual_${MANVER}.zip TARVER="${VERSION/_/-}" DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$TARVER tar xvf $CWD/$PRGNAM-$TARVER.tar.gz cd $PRGNAM-$TARVER 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 {} \+ # Upstream got rid of autotools, which I consider a step in the right # direction... but they also got rid of DESTDIR support. make OPTS="$SLKCFLAGS" \ PREFIX=/usr \ make install-strip \ PREFIX=$PKG/usr \ TUTORDIR=$DOCDIR/tutor \ DEMODIR=$DOCDIR/demos gzip $PKG/usr/man/man1/*.1 # Inform started life (and is still used primarily) on OSes with # case-insensitive filenames. The library include files are # duplicated here, with e.g. 3 identical files called verblib.h, # Verblib.h, VerbLib.h. Clean up the mess. ( cd $PKG/usr/share/$PRGNAM/lib for upper in [A-Z]*.h; do lower="$( echo $upper | tr A-Z a-z )" if [ -e "$lower" ]; then rm -f "$upper" ln -s "$lower" "$upper" fi done ) # Upstream removed the manual for licensing reasons. It belongs in the # binary package IMO. mkdir -p $DOCDIR/manual ( cd $DOCDIR/manual unzip $CWD/$MANUAL # manual has no subdirs chmod 644 * chown root.root * ) # Inform Beginners' Guide, required reading. cat $CWD/IBG.pdf > $DOCDIR/inform_beginners_guide.pdf mkdir -p $DOCDIR/lib for i in ChangeLog README.txt voices_and_tenses.txt; do ln -s ../../../share/$PRGNAM/lib/$i $DOCDIR/lib done # ARTISTIC and COPYING are redundant: src/licence.txt includes the # full text of both. cp -a AUTHORS NEWS README* src/*.txt src/*.html docs/* $DOCDIR cat $CWD/$PRGNAM.SlackBuild > $DOCDIR/$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}