#!/bin/bash # amarok.SlackBuild # Heavily based on the original Slackware build scripts, # Modified by Stuart Winter # Record toolchain & other info for the build log: slackbuildinfo # Paths to skeleton port's source & real Slackware source tree: export CWD=$SLACKSOURCE/$PKGSERIES/$PKGNAM export PORTCWD=$PWD # Set the config option variables if they are not already set: if [ -r ../KDE.options ]; then . ../KDE.options fi # The global options may be overridden here (if needed): if [ -r ./local.options ]; then . ./local.options fi # Avoid a version number in .la files: if [ -d /usr/lib${LIBDIRSUFFIX}/qt ]; then QTDIR=/usr/lib${LIBDIRSUFFIX}/qt fi # Temporary build locations: export TMPBUILD=$TMP/build-$PKGNAM export PKG=$TMP/package-$PKGNAM mkpkgdirs # Delete & re-create temporary directories then cd into $TMPBUILD # If there's no libmysqld.a on the system then copy it from the MySQL source # directory in the ARMedslack tree, since it's built as part of the MySQL build but # not included in the package. # Slackware does this by hand but this is easier since I don't need to remember # to do anything. if [ -r $PORTCWD/../../ap/mysql/libmysqld.a.xz ]; then # Ensure the version on-system is up to date: echo "Updating embedded MySQL library..." xz -dfc $PORTCWD/../../ap/mysql/libmysqld.a.xz > /usr/lib${LIBDIRSUFFIX}/mysql/libmysqld.a else echo "Unable to find $PORTCWD/../../ap/mysql/libmysqld.a.xz" echo "Please rebuild ap/mysql." exit 1 fi # Extract source: tar xvf $CWD/../src/extragear/amarok-$VERSION.tar.?z* || exit 1 cd amarok-* slackhousekeeping # ARM build fix: tar xvvf $PORTCWD/sources/amarok*debian* auto_apply_patch debian/patches/debian/disable_qtscriptbindings_check_fix.diff || exit 1 # NOTE: if cmake complains that it can not find qscript-qt when in fact you # have it installed, this is likely because you are building inside a chroot. # To remedy the error, run the command "dbus-uuidgen --ensure" # and then re-start this SlackBuild : export QTSCRIPTS=/usr/lib${LIBDIRSUFFIX}/qt4/plugins/script # Configure: mkdir -p build cd build cmake \ $KDE_OPT_ARGS \ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DMAN_INSTALL_DIR=/usr/man \ -DSYSCONF_INSTALL_DIR=/etc/kde \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ .. || exit 1 # Build: make $NUMJOBS || make || exit 1 # Install: make install DESTDIR=$PKG || exit 1 cd - mkdir -p $PKG/usr/doc/amarok-$VERSION cp -a AUTHORS COPYING* INSTALL OXYGEN README TODO \ $PKG/usr/doc/amarok-$VERSION # If necessary, start the fakeroot server so we can set file/dir ownerships: start_fakeroot # Apply generic Slackware packaging policies: cd $PKG slackstripall # strip all .a archives and all ELFs slackgzpages -i # compress man & info pages and delete usr/info/dir slackslack # chown -R root:root, chmod -R og-w, slackchown, slack644docs slackdesc # install slack-desc and doinst.sh slackmp # run makepkg -l y -c n # Perform any final checks on the package: cd $PKG slackhlinks # search for any hard links