#!/bin/sh # Heavily based on the Slackware 13.0 SlackBuild # http://zaps166.devilroot.pl/ # Packager Andrea Sciucca ( gohanz at infinito.it) # http://www.slacky.eu # # # Required libmodplug, libsndfile, mpg123, portaudio, # # Required on compilation libresample # # Exit on most errors set -e CWD=`pwd` TMP=${TMP:-/tmp/txz} NAME=qmplay PKG=$TMP/package/$NAME VERSION=1.53.02 ARCH=${ARCH:-i486} BUILD=3as SOURCE=http://qt-apps.org/CONTENT/content-files/118304-public_qmplay_src_1_53_02.tar.bz2 if [ ! -e 118304-public_qmplay_src_1_53_02.tar.bz2 ]; then wget -c $SOURCE fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486 elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST=i486 elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64" fi if [ ! -d $TMP ]; then mkdir -p $TMP fi if [ ! -d $PKG ]; then mkdir -p $PKG fi cd $TMP tar xvjf $CWD/118304-public_qmplay_src_1_53_02.tar.bz2 echo -e "\E[0;32m+-------------------------+\E[0;0m" echo -e "\E[0;32m| Start SlackBuild QMPlay |\E[0;0m" echo -e "\E[0;32m+-------------------------+\E[0;0m" cd public_qmplay_src_1_53_02 find . -perm 666 -exec chmod 644 {} \; find . -perm 664 -exec chmod 644 {} \; find . -perm 600 -exec chmod 644 {} \; find . -perm 444 -exec chmod 644 {} \; find . -perm 400 -exec chmod 644 {} \; find . -perm 440 -exec chmod 644 {} \; find . -perm 777 -exec chmod 755 {} \; find . -perm 775 -exec chmod 755 {} \; find . -perm 511 -exec chmod 755 {} \; find . -perm 711 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; chown -R root:root . # Building QMPlay package # Configure: ( cd qmp qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmplay.pro ) ( cd qmp_curl qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_internet_support.pro ) ( cd qmp_equalizer qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_equalizer.pro ) ( cd qmp_export qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_export.pro ) ( cd qmp_lib qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_lib.pro ) ( cd qmp_out qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_out.pro ) # Building QMPlay Plugins ( cd plugins/aac/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_aac.pro ) ( cd plugins/ao/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_ao.pro ) ( cd plugins/cdda/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_cd.pro ) ( cd plugins/effect_resample/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_effect_resample.pro ) ( cd plugins/effect_tst/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_effect_tst.pro ) ( cd plugins/func_associate/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_func_associate.pro ) ( cd plugins/func_music_browser qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_func_music_browser.pro ) ( cd plugins/func_rec/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_func_rec.pro ) ( cd plugins/func_tag_editor qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_func_tag_editor.pro ) ( cd plugins/modplug/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_mp.pro ) ( cd plugins/mp3/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_mp3.pro ) ( cd plugins/ogg/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_ogg.pro ) ( cd plugins/playlists/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_playlists.pro ) ( cd plugins/portaudio/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_pa.pro ) ( cd plugins/raw/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_raw.pro ) ( cd plugins/snd_generator/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_snd_generator.pro ) ( cd plugins/sndfile/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_sndfile.pro ) ( cd plugins/vis_fft/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_vis_fft.pro ) ( cd plugins/vis_tst/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_vis_tst.pro ) ( cd plugins/vis_xmms_opengl_spectrum qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qmp_plugin_vis_xos.pro ) # Building QMPlay QTcurve ( cd other/QtCurve/style/ qmake -unix PREFIX=/usr QMAKE_LIBS="$SLKLDFLAGS" QMAKE_CFLAGS="$SLKCFLAGS" QMAKE_CXXFLAGS="$SLKCFLAGS" -o Makefile qtcurve.pro ) # Build and install: rm -r qmplay_binary mkdir qmplay_binary mkdir qmplay_binary/styles mkdir qmplay_binary/lang mkdir qmplay_binary/colors mkdir qmplay_binary/plugins mkdir qmplay_binary/lib cd qmp LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp qmplay ../qmplay_binary cd ../qmp_curl LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../qmplay_binary/lib cd ../qmp_equalizer LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../qmplay_binary/lib cd ../qmp_export LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../qmplay_binary/lib cd ../qmp_lib LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../qmplay_binary/lib cd ../qmp_out LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../qmplay_binary/lib cd ../plugins/aac LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/ao LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/cdda LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/effect_resample/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/effect_tst/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/func_associate/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/func_music_browser/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/func_rec/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/func_tag_editor/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/modplug/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/mp3/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/ogg/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/playlists/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/portaudio/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/raw/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/snd_generator/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/sndfile/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/vis_fft/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/vis_tst/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../plugins/vis_xmms_opengl_spectrum/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../qmplay_binary/plugins cd ../../other/QtCurve/style/ LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ make && cp *.so ../../../qmplay_binary/styles/qtcurve.so cd ../../../ cp qmp/colors/*.qmpcolor qmplay_binary/colors cp qmp/lang/*.qmplang qmplay_binary/lang cp qmp/ChangeLog_QMPlay.txt qmplay_binary cp COPYING qmplay_binary mkdir -p $PKG/usr/bin cat << EOF > $PKG/usr/bin/qmplay #!/bin/bash cd /usr/share/qmplay exec /usr/share/qmplay/qmplay EOF chmod 755 $PKG/usr/bin/* mkdir -p $PKG/usr/share/qmplay cp -a -r qmplay_binary/* $PKG/usr/share/qmplay ( 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 find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null ) mkdir -p $PKG/usr/share/applications cat << EOF > $PKG/usr/share/applications/$NAME.desktop [Desktop Entry] Type=Application Encoding=UTF-8 Name=QMPlay GenericName=Music Player Comment=Qt4 multi-platform music player Comment=Lettore musicale multipiattaforma scritto in Qt4 Icon=qmplay Exec=qmplay Terminal=false StartupNotify=true Categories=Application;Qt;Audio; EOF install -m 644 -p -D $CWD/qmplay.png $PKG/usr/share/pixmaps/qmplay.png mkdir -p $PKG/usr/doc/$NAME-$VERSION/SlackBuild cp -a COPYING $PKG/usr/doc/$NAME-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/slack-desc cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/SlackBuild/$NAME.SlackBuild echo "if [ -x /usr/bin/update-desktop-database ]; then /usr/bin/update-desktop-database &> /dev/null fi" >> $PKG/install/doinst.sh echo "" >> $PKG/install/doinst.sh echo "if [ -x /usr/bin/gtk-update-icon-cache ]; then /usr/bin/gtk-update-icon-cache -f -q /usr/share/icons/hicolor &> /dev/null fi" >> $PKG/install/doinst.sh echo "" >> $PKG/install/doinst.sh cd $PKG requiredbuilder -v -y -s $CWD $PKG makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.txz if [ "$1" = "--cleanup" ]; then rm -rf $TMP fi