diff --git a/admin/mac/add-Qt-to-bundle.sh b/admin/mac/add-Qt-to-bundle.sh index fee822d38..e5c8f319f 100755 --- a/admin/mac/add-Qt-to-bundle.sh +++ b/admin/mac/add-Qt-to-bundle.sh @@ -46,10 +46,18 @@ shift mkdir -p Contents/MacOS mkdir -p Contents/MacOS/sqldrivers mkdir -p Contents/MacOS/imageformats +mkdir -p Contents/MacOS/phonon_backend +mkdir -p Contents/MacOS/crypto cp -R $QT_PLUGINS_DIR/sqldrivers/libqsqlite.dylib Contents/MacOS/sqldrivers/ cp -R $QT_PLUGINS_DIR/imageformats/libqgif.dylib Contents/MacOS/imageformats/ cp -R $QT_PLUGINS_DIR/imageformats/libqjpeg.dylib Contents/MacOS/imageformats/ +cp -R $QT_PLUGINS_DIR/imageformats/libqico.dylib Contents/MacOS/imageformats/ +cp -R $QT_PLUGINS_DIR/imageformats/libqmng.dylib Contents/MacOS/imageformats/ +cp -R $QT_PLUGINS_DIR/imageformats/libqsvg.dylib Contents/MacOS/imageformats/ +cp -R $QT_PLUGINS_DIR/imageformats/libqtiff.dylib Contents/MacOS/imageformats/ +cp -R $QT_PLUGINS_DIR/crypto/libqca-ossl.dylib Contents/MacOS/crypto/ +cp -R $QT_PLUGINS_DIR/phonon_backend/phonon_vlc.so Contents/MacOS/phonon_backend/ #cleanup find Contents/Frameworks -name Headers -o -name \*.prl -o -name \*_debug | xargs rm -rf diff --git a/admin/mac/add-spotify.sh b/admin/mac/add-spotify.sh new file mode 100755 index 000000000..5f440f051 --- /dev/null +++ b/admin/mac/add-spotify.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# author: lfranchi@kde.org +# usage: Run from inside the bundle root directory, eg. Tomahawk.app +# The first parameter should be the spotify resolver binary to copy. +# eg: add-spotify.sh /path/to/tomahawk_spotify +################################################################################ + +mkdir -p Contents/Frameworks +cp -R /Library/Frameworks/libspotify.framework Contents/Frameworks + +install_name_tool -change /usr/local/Cellar/qt/4.7.3/lib/QtCore.framework/Versions/4/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore $1 +install_name_tool -change /usr/local/Cellar/qt/4.7.3/lib/QtNetwork.framework/Versions/4/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/4/QtNetwork $1 +install_name_tool -change libqjson.0.dylib @executable_path/libqjson.0.7.1.dylib $1 + +mkdir -p Contents/MacOS +cp $1 Contents/MacOS/ diff --git a/admin/mac/build-release-osx.sh b/admin/mac/build-release-osx.sh index b283a2e44..e065ce697 100755 --- a/admin/mac/build-release-osx.sh +++ b/admin/mac/build-release-osx.sh @@ -36,7 +36,7 @@ echo "Goes here: $QTDIR" export QMAKESPEC='macx-g++' export QTDIR export VERSION -export QTVERSION='4.7.2' +export QTVERSION='4.7.3' ################################################################################ @@ -49,21 +49,32 @@ VERSION=$1 header "Adding Qt to app bundle" cd tomahawk.app $ROOT/../admin/mac/add-Qt-to-bundle.sh \ - 'QtCore QtGui QtXml QtNetwork QtSql QtXmlPatterns QtWebKit phonon' - - header "Running install_name_tool" - $ROOT/../admin/mac/deposx.sh + 'QtCore QtGui QtXml QtNetwork QtSql QtXmlPatterns QtWebKit QtDbus phonon' header "Renaming files" mv Contents/Resources/tomahawkSources.icns Contents/Resources/Tomahawk.icns mv Contents/MacOS/tomahawk Contents/MacOS/Tomahawk # cp $ROOT/../admin/mac/Info.plist Contents/Info.plist + header "Copying VLC plugins into bundle" + mkdir -p Contents/PlugIns + cp -R /usr/local/Cellar/vlc-git/HEAD/lib/vlc/plugins/* Contents/PlugIns + + header "Running install_name_tool" + $ROOT/../admin/mac/deposx.sh + header "Copying Sparkle pubkey & framework, and qt.conf" cp $ROOT/../admin/mac/sparkle_pub.pem Contents/Resources cp -R /Library/Frameworks/Sparkle.framework Contents/Frameworks cp $ROOT/../admin/mac/qt.conf Contents/Resources + header "Adding spotify resolver to bundle if tomahawk_spotify found in $ROOT" + if [ -e $ROOT/tomahawk_spotify ] + then + header "Found, so adding spotify resolver." + $ROOT/../admin/mac/add-spotify.sh $ROOT/tomahawk_spotify + fi + header "Creating DMG" cd .. mv tomahawk.app Tomahawk.app diff --git a/admin/mac/deposx.sh b/admin/mac/deposx.sh index 8a8332936..d37e00500 100755 --- a/admin/mac/deposx.sh +++ b/admin/mac/deposx.sh @@ -23,6 +23,8 @@ cd Contents QTLIBS=`ls Frameworks | cut -d. -f1` LIBS=`cd MacOS && ls -fR1 | grep dylib` +PLUGINFOLDERS=`ls PlugIns | cut -d. -f1` + ################################################################################ @@ -67,21 +69,34 @@ function deplib_change install_name_tool -change /usr/local/lib/libclucene-core.0.9.23.dylib @executable_path/libclucene-core.0.9.23.dylib $1 install_name_tool -change /usr/local/lib/libclucene-shared.0.9.23.dylib @executable_path/libclucene-shared.0.9.23.dylib $1 install_name_tool -change /usr/local/Cellar/gloox/1.0/lib/libgloox.8.dylib @executable_path/libgloox.8.dylib $1 - install_name_tool -change /usr/local/Cellar/taglib/1.6.3/lib/libtag.1.dylib @executable_path/libtag.1.dylib $1 + install_name_tool -change /usr/local/Cellar/taglib/1.7/lib/libtag.1.7.0.dylib @executable_path/libtag.1.7.0.dylib $1 install_name_tool -change /usr/local/Cellar/libogg/1.2.0/lib/libogg.0.dylib @executable_path/libogg.0.dylib $1 install_name_tool -change /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbis.0.dylib @executable_path/libvorbis.0.dylib $1 install_name_tool -change /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbisfile.3.dylib @executable_path/libvorbisfile.3.dylib $1 install_name_tool -change /usr/local/Cellar/mad/0.15.1b/lib/libmad.0.dylib @executable_path/libmad.0.dylib $1 install_name_tool -change /usr/local/Cellar/flac/1.2.1/lib/libFLAC++.6.dylib @executable_path/libFLAC++.6.dylib $1 install_name_tool -change /usr/local/Cellar/flac/1.2.1/lib/libFLAC.8.dylib @executable_path/libFLAC.8.dylib $1 + install_name_tool -change /usr/local/Cellar/kde-phonon/4.5.0/lib/libphonon.4.dylib @executable_path/libphonon.4.dylib $1 + install_name_tool -change /usr/local/Cellar/kde-phonon/4.5.0/lib/libphonon.4.5.0.dylib @executable_path/libphonon.4.dylib $1 install_name_tool -change $ORIGROOT/src/libtomahawk/libtomahawklib.dylib @executable_path/libtomahawklib.dylib $1 install_name_tool -change $ORIGROOT/libtomahawk_sipjabber.dylib @executable_path/libtomahawk_sipjabber.dylib $1 install_name_tool -change $ORIGROOT/libtomahawk_siptwitter.dylib @executable_path/libtomahawk_siptwitter.dylib $1 install_name_tool -change $ORIGROOT/libtomahawk_sipzeroconf.dylib @executable_path/libtomahawk_sipzeroconf.dylib $1 install_name_tool -change $ORIGROOT/thirdparty/jdns/libtomahawk_jdns.dylib @executable_path/libtomahawk_jdns.dylib $1 install_name_tool -change $ORIGROOT/thirdparty/qtweetlib/libtomahawk_qtweetlib.dylib @executable_path/libtomahawk_qtweetlib.dylib $1 + install_name_tool -change /usr/local/Cellar/kde-phonon/4.5.0/lib/libphonon.4.5.0.dylib @executable_path/libphonon.4.dylib $1 + install_name_tool -change /Users/leo/kde/tomahawk/build/thirdparty/jreen/libjreen.0.dylib @executable_path/libjreen.0.dylib $1 + install_name_tool -change /usr/local/Cellar/jreen/HEAD/lib/libjreen.dylib @executable_path/libjreen.0.dylib $1 + install_name_tool -change /usr/local/Cellar/qca/2.0.2/lib/qca.framework/Versions/2/qca @executable_path/../Frameworks/qca.framework/Versions/2/qca $1 - install_name_tool -change libqjson.0.7.1.dylib @executable_path/libqjson.0.7.1.dylib $1 + install_name_tool -change /usr/local/Cellar/gettext/0.18.1.1/lib/libintl.8.dylib @executable_path/libintl.8.dylib $1 + install_name_tool -change /usr/local/Cellar/vlc-git/HEAD/lib/libvlc.5.dylib @executable_path/libvlc.5.dylib $1 + install_name_tool -change /usr/local/Cellar/vlc-git/HEAD/lib/libvlccore.4.dylib @executable_path/libvlccore.4.dylib $1 + + install_name_tool -change /usr/local/Cellar/qt/4.7.3/lib/QtDBus.framework/Versions/4/QtDBus @executable_path/../Frameworks/QtDBus.framework/Versions/4/QtDBus $1 + install_name_tool -change /Users/leo/kde/tomahawk/build/libtomahawk_sipgoogle.dylib libtomahawk_sipgoogle.dylib $1 + install_name_tool -change /Users/leo/kde/tomahawk/build/libtomahawk_sipjabber.dylib libtomahawk_sipgoogle.dylib $1 + install_name_tool -change libqjson.0.dylib @executable_path/libqjson.0.7.1.dylib $1 install_name_tool -change libechonest.1.1.dylib @executable_path/libechonest.1.1.dylib $1 install_name_tool -change libclucene-core.0.9.23.dylib @executable_path/libclucene-core.0.9.23.dylib $1 install_name_tool -change libclucene-shared.0.9.23.dylib @executable_path/libclucene-shared.0.9.23.dylib $1 @@ -100,9 +115,9 @@ do done import_lib /usr/local/Cellar/qjson/0.7.1/lib/libqjson.0.7.1.dylib -import_lib /usr/local/Cellar/liblastfm/0.3.3/lib/liblastfm.0.dylib +#import_lib /usr/local/Cellar/liblastfm/0.3.3/lib/liblastfm.0.dylib import_lib /usr/local/Cellar/gloox/1.0/lib/libgloox.8.dylib -import_lib /usr/local/Cellar/taglib/1.6.3/lib/libtag.1.dylib +import_lib /usr/local/Cellar/taglib/1.7/lib/libtag.1.7.0.dylib import_lib /usr/local/Cellar/libogg/1.2.0/lib/libogg.0.dylib import_lib /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbis.0.dylib import_lib /usr/local/Cellar/libvorbis/1.3.1/lib/libvorbisfile.3.dylib @@ -112,14 +127,25 @@ import_lib /usr/local/Cellar/flac/1.2.1/lib/libFLAC.8.dylib import_lib /usr/local/lib/libechonest.1.1.dylib import_lib /usr/local/lib/libclucene-core.0.9.23.dylib import_lib /usr/local/lib/libclucene-shared.0.9.23.dylib +import_lib /usr/local/Cellar/kde-phonon/4.5.0/lib/libphonon.4.dylib +import_lib /Users/leo/kde/tomahawk/build/thirdparty/jreen/libjreen.0.dylib +import_lib /usr/local/Cellar/vlc-git/HEAD/lib/libvlc.5.dylib +import_lib /usr/local/Cellar/vlc-git/HEAD/lib/libvlccore.4.dylib +import_lib /usr/local/Cellar/gettext/0.18.1.1/lib/libintl.8.dylib import_lib ../../libtomahawk_sipjabber.dylib +import_lib ../../libtomahawk_sipgoogle.dylib import_lib ../../libtomahawk_siptwitter.dylib import_lib ../../libtomahawk_sipzeroconf.dylib import_lib ../../src/libtomahawk/libtomahawklib.dylib import_lib ../../thirdparty/jdns/libtomahawk_jdns.dylib import_lib ../../thirdparty/qtweetlib/libtomahawk_qtweetlib.dylib +cp -R /usr/local/Cellar/qca/2.0.2/lib/qca.framework Frameworks/ +chmod 644 Frameworks/qca.framework/Versions/2/qca +deplib_change Frameworks/qca.framework/Versions/2/qca +deposx_change Frameworks/qca.framework/Versions/2/qca + # now Qt for x in $QTLIBS do @@ -128,4 +154,16 @@ do deposx_change Frameworks/$x.framework/Versions/4/$x install_name_tool -id @executable_path/../Frameworks/$x.framework/Versions/4/$x \ Frameworks/$x.framework/Versions/4/$x + deplib_change "Frameworks/$x.framework/Versions/4/$x" +done + +# now VLC plugins +for x in PlugIns/$PLUGINFOLDERS +do + for plugin in `ls PlugIns/$x | cut -f1` + do + echo "Fixing VLC plugin: $plugin" + chmod 644 PlugIns/$x/$plugin + deplib_change PlugIns/$x/$plugin + done done diff --git a/thirdparty/jreen b/thirdparty/jreen index 40fd6b0a3..58fb2d4bc 160000 --- a/thirdparty/jreen +++ b/thirdparty/jreen @@ -1 +1 @@ -Subproject commit 40fd6b0a3dbc729fdf1db8490848b43d5b1f57f5 +Subproject commit 58fb2d4bc2abebdf778ca230a84042c7f5694583