#!/bin/sh # Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-amarok # 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 # If there's no libmysqld.a, we have to build it: if [ ! -r /usr/lib${LIBDIRSUFFIX}/mysql/libmysqld.a ]; then MYSQL="$CWD/../../ap/mysql/mysql*.tar.?z*" if [ ! -e "$MYSQL" ]; then if [ -e "$CWD/mysql*.tar.?z*" ]; then MYSQL="$CWD/mysql*.tar.?z*" fi fi ( cd $TMP tar xvf $MYSQL MYSQLDIR="mysql-$(basename $(echo $MYSQL | rev | cut -f 1 -d - | rev) .tar.bz2)" if [ -d "$MYSQLDIR" ]; then cd "$MYSQLDIR" CFLAGS=" $SLKCFLAGS -fPIC" CXXFLAGS=" $SLKCFLAGS -fPIC" \ ./configure \ --prefix=/usr \ --with-mysqld-user=mysql \ --with-unix-socket-path=/var/run/mysql/mysql.sock \ --localstatedir=/var/lib${LIBDIRSUFFIX}/mysql \ --enable-assembler \ --with-raid \ --without-debug \ --enable-thread-safe-client \ --without-bench \ --with-extra-charsets=complex \ --with-embedded-server \ --with-vio \ --with-pic \ --with-openssl \ --build=$ARCH-slackware-linux make $NUMJOBS || make || exit 1 mkdir -p /usr/lib${LIBDIRSUFFIX}/mysql cp libmysqld/libmysqld.a /usr/lib${LIBDIRSUFFIX}/mysql fi ) fi if [ ! -r /usr/lib${LIBDIRSUFFIX}/mysql/libmysqld.a ]; then echo "ERROR: No libmysqld.a. Strongly advised to put a MySQL source .tar.bz2 in" echo "this directory and try again..." sleep 10 fi rm -rf $PKG mkdir -p $TMP $PKG cd $TMP echo "Building amarok-$VERSION..." tar xvf $CWD/../src/extragear/amarok-$VERSION.tar.?z* || exit 1 cd amarok-$VERSION # Make qtscript optional instead of required: #zcat $CWD/amarok.qtscript.optional.diff.gz | patch -p1 --verbose || exit 1 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; # 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 mkdir -p build cd build cmake \ -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} \ .. make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 cd - if [ -d $PKG/usr/man ]; then gzip -9 $PKG/usr/man/man?/* fi mkdir -p $PKG/usr/doc/amarok-$VERSION cp -a \ AUTHORS COPYING* INSTALL OXYGEN README TODO \ $PKG/usr/doc/amarok-$VERSION ( 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 ) mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $TMP/amarok-$VERSION-$ARCH-$BUILD.txz