Building OS X Application Bundle

From TomahaWiki

Jump to: navigation, search

Contents

Installing Homebrew & Dependencies

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew update
brew tap tomahawk-player/tomahawkqt5
brew install qtkeychain
brew install qca --with-qt5 --without-qt
brew install --HEAD lucenepp --c++11
brew install --HEAD jreen
brew install --HEAD websocketpp
brew install --HEAD vlc
brew install --HEAD tomahawk-player/tomahawkqt5/quazip
brew install tomahawk-player/tomahawkqt5/liblastfm
brew install `brew deps tomahawk`

Compiling Tomahawk

git clone git://github.com/tomahawk-player/tomahawk.git
mkdir tomahawk/build && cd tomahawk/build
export PATH=/usr/local/opt/qt5/bin:$PATH
cmake ..
make
open tomahawk.app

Troubleshooting

Compiling on Mavericks

  • Disable Breakpad by running cmake again:
cmake -DWITH_BREAKPAD=OFF ..

Updating Qt

After updating to a newer Qt version, you need to run the following commands to compile and link the dependencies against the new Qt:

cd /usr/local
brew cleanup
packages_using_qt=`brew uses --installed qt`
echo $packages_using_qt | xargs brew remove
echo $packages_using_qt | xargs brew install
unset packages_using_qt
cd tomahawk
rm -rf build

Then start again from creating the build directory.

CMake Failed to Execute

If you get 'Failed to execute: cmake' try again with a standard environment. For example the below.

brew install --env=std tomahawk-player/tomahawk/libechonest

Updating Homebrew Tap

Sometimes a new package gets added to Tomahawk's tap. To update the tap, untap then tap again.

brew untap tomahawk-player/tomahawkqt5
brew tap tomahawk-player/tomahawkqt5

Runtime Issues

Application Database and Preferences

In the case of a crash when nothing else seems to clear out a problem and the Tomahawk devs say it's ok to remove them, these are the paths to Tomahawk's database, cache and preferences.

Database and Cache

~/Library/Application Support/Tomahawk

Preferences

~/Library/Preferences/org.tomahawk-player.*
Personal tools