#!/bin/sh # Adapted from svgalib.build # Set initial variables: CWD=`pwd` PKG=/tmp/package-svgalib VERSION=1.4.3 ARCH=${ARCH:-x86_64} BUILD=${BUILD:-2} if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" SLKLDFLAGS="-L/usr/lib64" LIBSUFFIX=64 fi rm -rf $PKG mkdir -p $PKG cd /tmp rm -rf svgalib-$VERSION tar xzvf $CWD/svgalib-$VERSION.tar.gz cd svgalib-$VERSION # svgalib 1.4.3 needs quite a bit of patching to work these days - most of it is to fix up silly compiler errors # and add destdir support zcat $CWD/svgalib-1.4.3-destdir.diff.gz | patch -p1 || exit 1 # Modified from PLD patch for 1.4.1 zcat $CWD/gcc-fixes.diff.gz | patch -p1 || exit 1 # Some trivial compiler fixes if [ $ARCH = "x86_64" ]; then zcat $CWD/svgalib-1.4.3-amd64.diff.gz | patch -p1 || exit 1 # Tweaked from Debian. Fix AMD64 assembly bugs, x86 only bits, etc fi zcat $CWD/vga-fix.diff.gz | patch -p0 || exit 1 # Another one line trivial fix zcat $CWD/svgalib-1.4.3-lineart.diff.gz | patch -p1 || exit 1 # YASOLCF: Yet another stupid one line compiler fix... if [ $ARCH = "x86_64" ]; then zcat $CWD/svgalib.config.slamd64.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1 # Slamd64 else zcat $CWD/svgalib.config.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1 # Slackware fi mkdir -p $PKG/etc/vga chown -R root.root . make install DESTDIR=$PKG make demoprogs ( cd demos mkdir -p $PKG/usr/lib$LIBSUFFIX/svgalib cp -a accel bankspeed bg_test eventtest forktest fun joytest keytest lineart mjoytest mousetest printftest scrolltest speedtest spin testaccel testgl testlinear vgatest $PKG/usr/lib$LIBSUFFIX/svgalib ) # These might not be secure enough to install setuid root by default: chmod 755 $PKG/usr/lib$LIBSUFFIX/svgalib/* cp -a threeDKit $PKG/usr/lib$LIBSUFFIX cp Makefile.cfg $PKG/usr/lib$LIBSUFFIX/threeDKit ( cd $PKG/usr/lib$LIBSUFFIX/threeDKit ; zcat $CWD/threedkit-makefile.diff.gz | patch -p0 --backup --suffix=.orig ) rm $/usr/lib$LIBSUFFIX/threeDKit/Makefile.orig chown -R root:root /usr/lib$LIBSUFFIX/threeDKit ( cd /usr/lib$LIBSUFFIX/threeDKit ; make clean ) chown -R root.root $PKG/usr/bin ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) mkdir -p $PKG/usr/doc/svgalib-$VERSION cp -a \ 0-INSTALL 0-README lrmi-0.6m mach svgalib.lsm doc et4000 support svpmi \ $PKG/usr/doc/svgalib-$VERSION chmod 644 $PKG/usr/doc/svgalib-$VERSION/* mkdir -p $PKG/usr/man mv $PKG/usr/doc/svgalib-$VERSION/doc/man* $PKG/usr/man gzip -9 $PKG/usr/man/man?/* mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG makepkg -l y -c n ../svgalib-$VERSION-$ARCH-$BUILD.tgz # Clean up the extra stuff: if [ "$1" = "--cleanup" ]; then rm -rf /tmp/svgalib-$VERSION rm -rf $PKG fi