#!/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=pidgin export VERSION=${VERSION:-2.7.0} export PKGARCH=${PKGARCH:-arm} export BUILD=${BUILD:-1_slack12.2} export PKGSERIES=${PKGSERIES:-xap} export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.tgz ## ******************************************************************* ## # For test packages - best to store in another location rather than # overwriting the working copy in the main tree: export PKGSTORE=/tmp/ mkdir -vpm755 $PKGSTORE/$PKGSERIES ## ******************************************************************* ## # Reset the ARM file system: restore it to the 'factory settings' # as it were (this has no effect when building natively): sboxsysrestore # Ensure base ARM packages are installed first: slackbasedeps # Ensure $PKGNAM isn't already installed: slackfailpkgdeps $PKGNAM || removepkg $PKGNAM # Ensure specific build dependencies (mainly libraries): { slackcheckpkgdeps atk || installpkg $PKGSTORE/l/atk-*.tgz || exit 99 ; } { slackcheckpkgdeps cairo || installpkg $PKGSTORE/l/cairo-*.tgz || exit 99 ; } { slackcheckpkgdeps dbus || installpkg $PKGSTORE/l/dbus-*.tgz || exit 99 ; } { slackcheckpkgdeps dbus-glib || installpkg $PKGSTORE/l/dbus-glib-*.tgz || exit 99 ; } { slackcheckpkgdeps expat || installpkg $PKGSTORE/l/expat-*.tgz || exit 99 ; } { slackcheckpkgdeps freetype || installpkg $PKGSTORE/l/freetype-*.tgz || exit 99 ; } { slackcheckpkgdeps glib2 || installpkg $PKGSTORE/l/glib2-*.tgz || exit 99 ; } { slackcheckpkgdeps gtk+2 || installpkg $PKGSTORE/l/gtk+2-*.tgz || exit 99 ; } { slackcheckpkgdeps libpng || installpkg $PKGSTORE/l/libpng-*.tgz || exit 99 ; } { slackcheckpkgdeps libxml2 || installpkg $PKGSTORE/l/libxml2-*.tgz || exit 99 ; } { slackcheckpkgdeps ncurses || installpkg $PKGSTORE/l/ncurses-*.tgz || exit 99 ; } { slackcheckpkgdeps pango || installpkg $PKGSTORE/l/pango-*.tgz || exit 99 ; } { slackcheckpkgdeps startup-notification || installpkg $PKGSTORE/l/startup-notification-*.tgz || exit 99 ; } { slackcheckpkgdeps cyrus-sasl || installpkg $PKGSTORE/n/cyrus-sasl-*.tgz || exit 99 ; } { slackcheckpkgdeps gnutls || installpkg $PKGSTORE/n/gnutls-*.tgz || exit 99 ; } { slackcheckpkgdeps libgcrypt || installpkg $PKGSTORE/n/libgcrypt-*.tgz || exit 99 ; } { slackcheckpkgdeps tcl || installpkg $PKGSTORE/tcl/tcl-*.tgz || exit 99 ; } { slackcheckpkgdeps tk || installpkg $PKGSTORE/tcl/tk-*.tgz || exit 99 ; } { slackcheckpkgdeps fontconfig || installpkg $PKGSTORE/x/fontconfig-*.tgz || exit 99 ; } { slackcheckpkgdeps libICE || installpkg $PKGSTORE/x/libICE-*.tgz || exit 99 ; } { slackcheckpkgdeps libSM || installpkg $PKGSTORE/x/libSM-*.tgz || exit 99 ; } { slackcheckpkgdeps libX11 || installpkg $PKGSTORE/x/libX11-*.tgz || exit 99 ; } { slackcheckpkgdeps libXScrnSaver || installpkg $PKGSTORE/x/libXScrnSaver-*.tgz || exit 99 ; } { slackcheckpkgdeps libXau || installpkg $PKGSTORE/x/libXau-*.tgz || exit 99 ; } { slackcheckpkgdeps libXcursor || installpkg $PKGSTORE/x/libXcursor-*.tgz || exit 99 ; } { slackcheckpkgdeps libXdmcp || installpkg $PKGSTORE/x/libXdmcp-*.tgz || exit 99 ; } { slackcheckpkgdeps libXext || installpkg $PKGSTORE/x/libXext-*.tgz || exit 99 ; } { slackcheckpkgdeps libXfixes || installpkg $PKGSTORE/x/libXfixes-*.tgz || exit 99 ; } { slackcheckpkgdeps libXi || installpkg $PKGSTORE/x/libXi-*.tgz || exit 99 ; } { slackcheckpkgdeps libXinerama || installpkg $PKGSTORE/x/libXinerama-*.tgz || exit 99 ; } { slackcheckpkgdeps libXrandr || installpkg $PKGSTORE/x/libXrandr-*.tgz || exit 99 ; } { slackcheckpkgdeps libXrender || installpkg $PKGSTORE/x/libXrender-*.tgz || exit 99 ; } { slackcheckpkgdeps libxcb || installpkg $PKGSTORE/x/libxcb-*.tgz || exit 99 ; } { slackcheckpkgdeps seamonkey || installpkg $PKGSTORE/xap/seamonkey-*.t?z || exit 99 ; } # Launch the package build script: BUILDLOG=$( basename $SLACKPACKAGE .tgz ).build.log ( ./$PKGNAM.SlackBuild ) >& /dev/stdout | tee $BUILDLOG # Compress the build log: bzip2 -9f $BUILDLOG