#!/bin/bash # Slackware build script for z26 # Written by B. Watson (yalhcru@gmail.com) # Modified by SlackBuilds.org # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. # 20211214 bkw: # - BUILD=3 # - update for -current, which involves building with 14.2's nasm. # there's probably a better way to fix it, but it's been 16+ years # since I looked at z26's asm source and the details elude me now. # - TODO: fix the statified binary for x86_64 use. # 20180123 bkw: # - move binary to /usr/games, man page to section 6 # - 64-bit support via statified binary (see statify.sh) # - BUILD=2 cd $(dirname $0) ; CWD=$(pwd) PRGNAM=z26 VERSION=${VERSION:-2.13} BUILD=${BUILD:-3} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} # The distribution tarball is actually a snapshot that got # "promoted" to being the 2.13 release, but never got repacked, # so the top-level directory is z26_snapshot-$date # (nevertheless, this is the official 2.13 source release, or as close # as we're going to get) SNAPVER=${SNAPVER:-${PRGNAM}_snapshot-20040523} TARBALL=${TARBALL:-${PRGNAM}v213.tar.gz} 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" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" elif [ "$ARCH" = "x86_64" ]; then echo "=== $ARCH detected, using statified binary" else echo "Can't build on $ARCH, sorry" exit 1 fi set -e # 20211214 bkw: recent versions of nasm won't build this, so use # an older one (the one from Slackware 14.2, actually). NASMVER=${NASMVER:-2.13.01} rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $SNAPVER tar xvf $CWD/$TARBALL cd $SNAPVER tar xvf $CWD/nasm-$NASMVER.tar.xz 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 {} \+ # man page belongs in section 6 sed -i '/pod2man -c/s,-c,-s6 -c,' Makefile if [ "$ARCH" = "x86_64" ]; then xz -d < $CWD/$PRGNAM.static.xz > $PRGNAM chmod 755 $PRGNAM cp conf/config_linux-static.mak config.mak else cd nasm-$NASMVER CFLAGS="$SLKCFLAGS -Wno-error" ./configure --disable-werror # neither CFLAGS="-Wno-error" nor --disable-werror actually works. sed -i 's,-Werror[^ ]*,,g' Makefile make cd - make linux NASM="$(pwd)/nasm-$NASMVER/nasm" CFLAGS="$SLKCFLAGS" fi make $PRGNAM.man make docs mkdir -p $PKG/usr/games $PKG/usr/man/man6 install -m0755 -o root -g root $PRGNAM $PKG/usr/games gzip -9c $PRGNAM.man > $PKG/usr/man/man6/$PRGNAM.6.gz rm -rf doc/CVS mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp doc/* *.txt *.TXT $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/usr/share/pixmaps cp ${PRGNAM}_icon.png $PKG/usr/share/pixmaps/$PRGNAM.png 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