diff options
Diffstat (limited to 'media/libs')
-rwxr-xr-x | media/libs/freetype/freetype.SlackBuild | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/media/libs/freetype/freetype.SlackBuild b/media/libs/freetype/freetype.SlackBuild new file mode 100755 index 00000000..0e704084 --- /dev/null +++ b/media/libs/freetype/freetype.SlackBuild @@ -0,0 +1,146 @@ +#!/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 + |