#!/bin/sh # Heavily based on the Slackware 13.0 SlackBuild # Packager Submax (Massimo Cavalleri) # http://www.freedesktop.org/wiki/Software/liblazy NAME=liblazy VERSION=0.2 ARCH=${ARCH:-i486} BUILD=${BUILD:-5sm} TMP=${TMP:-/tmp/txz} PKG=$TMP/package/$NAME CWD=$(pwd) SOURCE="http://people.freedesktop.org/~homac/liblazy/$NAME-$VERSION.tar.bz2" # download source if [ ! -e $NAME-$VERSION.tar.bz2 ]; then wget -c $SOURCE fi # clean necessary before compile after old run rm -rf $PKG mkdir -p $PKG rm -rf $TMP/$NAME-$VERSION # CHOST arch should be set to i486 for any 32-bit x86, unless # you want problems finding your compiler. case $ARCH in "i486") SLKCFLAGS="-O2 -march=i486 -mtune=i686" ; SLKLIBDIR=lib ; CHOST=i486 ;; "i686") SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer" ; SLKLIBDIR=lib ; CHOST=i486 ;; "athlon64") SLKCFLAGS="-O2 -march=athlon64 -pipe" ; SLKLIBDIR=lib ; CHOST=i486 ;; "athlonxp") SLKCFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer" ; SLKLIBDIR=lib ; CHOST=i486 ;; "x86_64_slamd64") SLKCFLAGS="-O2" ; SLKLIBDIR=lib64 ; CHOST=x86_64 ;; # multilib /lib and /lib64 "x86_64") SLKCFLAGS="-O2" ; SLKLIBDIR=lib ; CHOST=x86_64 ;; # pure /lib only es. sflack "s390") SLKCFLAGS="-O2" ; SLKLIBDIR=lib ; CHOST=s390 ;; esac # extract source cd $TMP tar xjvf $CWD/$NAME-$VERSION.tar.bz2 cd $NAME-$VERSION # Make sure ownerships and permissions are sane chown -R root:root . find . -perm 666 -exec chmod 644 {} \; find . -perm 664 -exec chmod 644 {} \; find . -perm 600 -exec chmod 644 {} \; find . -perm 444 -exec chmod 644 {} \; find . -perm 400 -exec chmod 644 {} \; find . -perm 440 -exec chmod 644 {} \; find . -perm 777 -exec chmod 755 {} \; find . -perm 775 -exec chmod 755 {} \; find . -perm 511 -exec chmod 755 {} \; find . -perm 711 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; LDFLAGS="-L/usr/$SLKLIBDIR -L/$SLKLIBDIR" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/$SLKLIBDIR \ --disable-debug \ --enable-static=no \ --program-prefix= \ --program-suffix= \ --build=$CHOST-slackware-linux make || exit 1 make install DESTDIR=$PKG || exit 1 # Strip binaries: ( 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 find . | xargs file | grep "current ar archive" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null ) # Add a documentation directory mkdir -p $PKG/usr/doc/$NAME-$VERSION/SlackBuild cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README $PKG/usr/doc/$NAME-$VERSION mkdir -p $PKG/usr/doc/$NAME-$VERSION/SlackBuild cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/$NAME.SlackBuild cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/slack-desc # install directory mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc # build package cd $PKG chown -R root:root $PKG if [ -x "$(which requiredbuilder)" ]; then requiredbuilder -y -v -s $CWD $PKG fi makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz # checksum and desc (cd $CWD/.. md5sum $NAME-$VERSION-$ARCH-$BUILD.tgz > $NAME-$VERSION-$ARCH-$BUILD.tgz.md5 cat $PKG/install/slack-desc | grep "^$NAME" > $NAME-$VERSION-$ARCH-$BUILD.txt ) # optional clean if [ "$1" = "--cleanup" ]; then if [ "$TMP" != "/" ]; then rm -rf $TMP fi fi