#!/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=mozilla-thunderbird export VERSION=${VERSION:-128.5.2esr} export BUILD=${BUILD:-1} export PKGSERIES=${PKGSERIES:-xap} export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz # # For patches, you need to edit the location at which we can find # autoconf. # ## ******************************************************************* ## # 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 ## ******************************************************************* ## # Ensure base ARM packages are installed first: slackbasedeps # Ensure $PKGNAM isn't already installed: slackfailpkgdeps $PKGNAM || removepkg $PKGNAM # Let's allow these Mozilla apps to build on their own: removepkg mozilla-firefox seamonkey seamonkey-solibs # We also need autoconf-2.13 from the extra series. # directory. This is because the newer version of gtk+2-2.12.7 # causes the build to explode. So we need to regenerate the autoconf # stuff - which needs an older autoconf. removepkg autoconf # This isn't exactly portable outside of my own build environment # but honestly, is anybody else actually using ARMedslack's build system? # If so, send me a post card! (or plane tickets to an exotic # island with dancing girls and fine wines! :-) # You must install the packages in this order: #upgradepkg --install-new ../../../extra/autoconf213/autoconf*t?z upgradepkg --install-new $PKGSTORE/../extra/autoconf213/autoconf*t?z # Ensure specific build dependencies (mainly libraries): { slackcheckpkgdeps llvm || installpkg $PKGSTORE/d/llvm-*.t?z || exit 99 ; } # # Just Slackware ARM does this: #{ slackcheckpkgdeps libffi || installpkg $PKGSTORE/l/libffi-*.t?z || exit 99 ; } # Build-time dep: #{ slackcheckpkgdeps nodejs || installpkg $PKGSTORE/l/nodejs-[0-9]*.t?z || exit 99; } #{ slackcheckpkgdeps mozilla-firefox || installpkg $PKGSTORE/xap/mozilla-firefox-*.t?z || exit 99 ; } #{ slackcheckpkgdeps seamonkey || installpkg $PKGSTORE/xap/seamonkey-*.t?z || exit 99 ; } # Use the 'gold' ld linker due to RAM issues: # There are other ways to achieve this, but none of them seem to last - the setting # doesn't get filtered through the entire build. Therefore, we'll force it # by linking ld directly to ld.gold. #ln -vfs /usr/bin/ld.gold /usr/bin/ld # 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 # Switch back to the normal autoconf: removepkg autoconf #upgradepkg --install-new ../../../slackware/d/autoconf*t?z { slackcheckpkgdeps autoconf || installpkg $PKGSTORE/d/autoconf-[0-9]*.t?z || exit 99; } # Revert to the default linker: #ln -vfs /usr/bin/ld.bfd /usr/bin/ld