#!/bin/bash # # slackbuild for a freetype2 package # # this is a small modified version of the script found at # http://www.slackware.com/~alien/slackbuilds/freetype2/build/freetype2.SlackBuild CWD=`pwd` if [ -f ~/.slackbuildrc ]; then source ~/.slackbuildrc elif [ -f /etc/slackbuildrc ]; then source /etc/slackbuildrc fi PRGNAM=freetype VERSION=${VERSION:-2.2.1} ARCH=${ARCH:-i486} BUILD=${BUILD:-1rha} TMP=${TMP:-/tmp} SRC_DIR=${SRC:-$CWD} REPOS=${REPOS:=$TMP} if [ "$ARCH" == "x86_64" ]; then LIBDIR=/usr/lib64 else LIBDIR=/usr/lib fi PACKAGE="$PRGNAM" PACKAGE_EXT="bz2" SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$PACKAGE-$VERSION.tar.$PACKAGE_EXT" RTOOL="wget" function slack_build { cat << EOF # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler-----------------------------------------------------| freetype: freetype (A free and portable TrueType font rendering engine) freetype: freetype: FreeType 2 is a high-quality and portable font engine that is capable freetype: of supporting several font formats (be they bitmapped or scalable) freetype: through a simple and uniform interface. Its design is modular and freetype: allows independent "font driver" modules to be added, even at runtime, freetype: to support additional formats. It also provides a high-quality freetype: anti-aliasing renderer, an innovative auto-hinting engine, and support freetype: for the following font formats: TrueType Type1, CID-Type 1, Multiple freetype: Masters Type 1 OpenType/CFF, pure CFF, and CEF Windows FNT/FON. freetype: EOF } SRC_DIR="$SRC_DIR/$PACKAGE" mkdir -p $SRC_DIR if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then wget "$URL" -O "$SRC_DIR/$SRC" fi if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mcpu=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" fi TMP=$TMP/$PRGNAM PKG=$TMP/package-$PRGNAM if [ ! -d $TMP ]; then mkdir -p $TMP fi rm -rf $PKG mkdir -p $PKG if [ "$PACKAGE_EXT" == "bz2" ]; then tarflag="j" else tarflag="z" fi cd $TMP rm -rf $PRGNAM-$VERSION tar xvf$tarflag $SRC_DIR/$PRGNAM-$VERSION.tar.$PACKAGE_EXT cd $PRGNAM-$VERSION if [ -f "$CWD/freetype.illadvisederror.diff.gz" ]; then # This breaks far too many things. Freetype2 developers will have to get their # punishment on someone else's distribution. zcat $CWD/freetype.illadvisederror.diff.gz | patch -p1 -b -z .ill --verbose fi if [ -f "$CWD/freetype_enable_bytecode_interpreter.patch.gz" ]; then # Enable freetype's bytecode interpreter: zcat $CWD/freetype_enable_bytecode_interpreter.patch.gz | patch -p1 -b -z .bc --verbose fi chown -R root.root . CFLAGS="$SLKCFLAGS" make setup CFG="--prefix=/usr --libdir=$LIBDIR $ARCH-slackware-linux" make || exit 32 make install DESTDIR=$PKG ldconfig mkdir -p $PKG/usr/include ( cd $PKG/usr/include rm -rf freetype ln -sf freetype2/freetype . ) mkdir -p $PKG/usr/X11R6/lib/X11/doc cp -a docs $PKG/usr/X11R6/lib/X11/doc/$PRGNAM-$VERSION rm -rf $PKG/usr/X11R6/lib/X11/doc/$PRGNAM-$VERSION/reference chown root:bin $PKG/usr/bin/* chmod -R go-w $PKG/usr/X11R6/lib/X11/doc/$PRGNAM-$VERSION/* mkdir -p $PKG/install slack_build > $PKG/install/slack-desc 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 makepkg -l y -c n $REPOS/$PRGNAM-$VERSION-$ARCH-$BUILD.tgz slack_build | grep "^${PRGNAM}" > $REPOS/$PRGNAM-$VERSION-$ARCH-$BUILD.txt (cd $REPOS && md5sum $PRGNAM-$VERSION-$ARCH-$BUILD.tgz > $PRGNAM-$VERSION-$ARCH-$BUILD.tgz.md5) if [ "$1" = "--cleanup" ]; then rm -rf $TMP/$PRGNAM-$VERSION rm -rf $PKG fi