#!/bin/sh # Copyright 2007 Andreas Schnaiter PKGNAM=boost VERSION=${VERSION:-1_34_1} ARCH=${ARCH:-i486} BUILD=${BUILD:-1as} CWD=`pwd` if [ "$TMP" = "" ]; then TMP=/tmp fi PKG=$TMP/package-${PKGNAM} rm -rf $PKG mkdir -p $PKG 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" fi cd $TMP rm -rf ${PKGNAM}_${VERSION} tar xvjf $CWD/${PKGNAM}_$VERSION.tar.bz2 || exit 1 cd ${PKGNAM}_$VERSION || exit 1 # 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 {} \; # Configure: CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=$PKG/usr # Build and install: make -j4 || exit 1 #exit 0 make install|| 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" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) ( cd $PKG/usr/include ln -s ./$PKGNAM-$VERSION/$PKGNAM $PKGNAM ) ( cd $PKG/usr/lib find -name '*.so'|while read lib; do ln -s "$lib" `echo "$lib"|sed "s/-gcc41//g"`; done ) # Compress and link manpages, if any: if [ -d $PKG/usr/man ]; then ( cd $PKG/usr/man for manpagedir in $(find . -type d -name "man*") ; do ( cd $manpagedir for eachpage in $( find . -type l -maxdepth 1) ; do ln -s $( readlink $eachpage ).gz $eachpage.gz rm $eachpage done gzip -9 *.? ) done ) fi # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ COPYING README \ $PKG/usr/doc/${PKGNAM}-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat << EOF > $PKG/install/doinst.sh EOF cd $TMP/package-${PKGNAM} makepkg -l y -c n ../${PKGNAM}-$VERSION-$ARCH-$BUILD.tgz cd $TMP rm -rf $TMP/${PKGNAM}_$VERSION rm -rf $TMP/package-${PKGNAM} upgradepkg --install-new ${PKGNAM}-$VERSION-$ARCH-$BUILD.tgz