#!/bin/sh # Heavily based on the Slackware 12.0 SlackBuild # http://www.boost.org # Packager Andrea Sciucca ( gohanz at infinito.it) # http://www.slacky.it # # Required: Icu # # Added Python support "-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYVER" # CWD=`pwd` TMP=${TMP:-/tmp/tgz} PKG=$TMP/package/boost NAME=boost VERSION=1_33_1 HOST=i486 ARCH=${ARCH:-i686} BUILD=2as PYVER=$(python -c "import sys; print sys.version[:3]") SOURCE=http://kent.dl.sourceforge.net/sourceforge/boost/$NAME'_'$VERSION.tar.bz2 if [ ! -e $NAME'_'$VERSION.tar.bz2 ]; then wget -c $SOURCE fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O3 -march=i686 -pipe -fomit-frame-pointer" elif [ "$ARCH" = "athlon64" ]; then SLKCFLAGS="-O2 -march=athlon64 -pipe" elif [ "$ARCH" = "athlonxp" ]; then SLKCFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" fi if [ ! -d $TMP ]; then mkdir -p $TMP fi if [ ! -d $PKG ]; then mkdir -p $PKG fi cd $TMP tar xvjf $CWD/$NAME'_'$VERSION.tar.bz2 echo -e "\E[0;32m+-------------------------------+\E[0;0m" echo -e "\E[0;32m| Start SlackBuild $NAME-$VERSION |\E[0;0m" echo -e "\E[0;32m+-------------------------------+\E[0;0m" cd $NAME'_'$VERSION 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 {} \; # Building Bjam - A Tools for boost building - ( cd tools/build/jam_src ./build.sh ) # Building and Installing Boost library with ICU support. ./tools/build/jam_src/bin.linuxx86/bjam \ -sBUILD="release speed full dynamic shared multi" \ -sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYVER \ -sHAVE_ICU=1 \ --sTOOLS=gcc \ --layout=system \ install --prefix=$PKG/usr # Copying Bjam tools in package mkdir -p $PKG/usr/bin ( cd tools/build/jam_src/bin.linuxx86/ install -m 755 bjam $PKG/usr/bin ) # Build and install bcp tool for extracting subsets of Boost ( cd $TMP/$NAME'_'$VERSION/tools/bcp ../build/jam_src/bin.linuxx86/bjam install -m 755 run/bcp $PKG/usr/bin ) # Build and install Pyste Boost.Python code generator ( cd $TMP/$NAME'_'$VERSION/libs/python/pyste/install python setup.py build python setup.py install --prefix=$PKG/usr/ ) mkdir -p $PKG/usr/doc/$NAME'_'$VERSION cp -a \ LICENSE_1_0.txt README index.htm google_logo_40wht.png \ $PKG/usr/doc/$NAME'_'$VERSION ( 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 -g 2> /dev/null ) mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/usr/doc/$NAME'_'$VERSION/slack-desc cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME'_'$VERSION/$NAME.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat << EOF > $PKG/install/doinst.sh ( cd usr/lib ; rm -rf libboost_regex.so ) ( cd usr/lib ; ln -sf libboost_regex-mt.so libboost_regex.so ) EOF cd $PKG chown -R root:root . requiredbuilder -y -v -s $CWD $PKG makepkg -l y -c n $CWD/$NAME-1.33.1-$ARCH-$BUILD.tgz if [ "$1" = "--cleanup" ]; then rm -rf $TMP fi