#!/bin/bash # arm/build # Check package dependencies, set metadata and launch # package build script. # by Stuart Winter # source /usr/share/slackdev/buildkit.sh # Package metadata: export PKGNAM=freetype export VERSION=${VERSION:-2.13.3} export BUILD=${BUILD:-1} slack_var_pkgseries # If building in /patches for a Stable Release, we drop the packages into the # '/patches' directory within the configured Slackware tree: slack_findpkgstore_is_stablerelease && { export PKGSTORE=$PORTPATCHPKGS export PKGSERIES=/ # unset as it's not required for patches export BUILD=1_slack15.0 mkdir -vpm755 $PKGSTORE/$PKGSERIES ;} ## ******************************************************************* ## # For test packages - store in another location rather than overwriting # the working copy in the main tree: # export PKGSTORE=/tmp/ # mkdir -vpm755 $PKGSTORE/$PKGSERIES ## ******************************************************************* ## # Set package name: export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz # Ensure base ARM packages are installed first: slackbasedeps # Ensure $PKGNAM isn't already installed: # Can't because libtool has libfreetype.la for many packages, which then breaks # this build since the la files goes missing! # If I really wanted to leave it on, I could edit all of the /usr/lib/*.la # sed -i 's?libfreetype.la?-lfreetype?g' /usr/lib/*.la #slackfailpkgdeps $PKGNAM || removepkg $PKGNAM # Having harfbuzz linking against freetype causes undefined references. # see l/freetype/tests for a test case. # Most distros have --without-harfbuzz slackfailpkgdeps harfbuzz || removepkg harfbuzz # Launch the package build script: BUILDLOG=$SLKPORTARCH-$( basename $SLACKPACKAGE .t?z ).build.log ( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG # Compress the build log: bzip2 -9fvz $BUILDLOG # Reinstall harfbuzz: { slackcheckpkgdeps harfbuzz || installpkg $PKGSTORE/l/harfbuzz-[0-9]*.t?z || exit 99; }