-
Notifications
You must be signed in to change notification settings - Fork 367
/
README
128 lines (96 loc) · 3.71 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Quickstart on Ubuntu
--------------------
$ sudo apt-get install build-essential cmake libtag1c2a libtag1-dev liblastfm-dev libqt4-dev \
libqt4-sql-sqlite libvorbis-dev libmad0-dev libflac++-dev libasound2-dev \
libboost-dev zlib1g-dev libgnutls-dev pkg-config
Gloox 1.0 (XMPP library)
------------------------
On Ubuntu 10.10 (and higher):
$ sudo apt-get install libgloox-dev
Otherwise see: http://camaya.net/glooxdownload
You need to build gloox 1.0 from source, Ubuntu 10.04 only packages version 0.9.
Download and unpack tarball:
$ ./configure --without-openssl --with-gnutls --without-libidn --with-zlib --without-examples --without-tests
$ CXXFLAGS=-fPIC make
$ sudo make install
QJson (Qt JSON library)
-----------------------
On Ubuntu 10.04 (and higher):
$ sudo apt-get install libqjson-dev
Otherwise see: http://sourceforge.net/projects/qjson/files/ (developed using version 0.7.1)
Download and unpack tarball:
$ ./configure && make
$ sudo make install
libEchonest 1.1.1
---------------
See: http://projects.kde.org/projects/playground/libs/libechonest/
Download and unpack tarball:
$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install
CLucene 0.9.23
---------------
See: http://clucene.sourceforge.net/download.shtml
Clone from git and build CLucene:
$ git clone git://clucene.git.sourceforge.net/gitroot/clucene/clucene
$ cd clucene && mkdir build && cd build
$ cmake ..
$ make
$ sudo make install
Quickstart on OS X
------------------
Install homebrew
$ ruby -e "$(curl -fsSL https://gist.github.com/raw/323731/install_homebrew.rb)"
$ brew install cmake qt qjson gloox libmad libvorbis flac taglib boost liblastfm
Install libEchnoest & CLucene as per the above instructions.
If liblastfm gives problems, do the below:
$ brew edit liblastfm
Change the url to https://github.com/davidsansome/liblastfm/tarball/0.3.1
$ brew install liblastfm
Copy the md5 hash it returns.
$ brew edit liblastfm
Replace the md5 hash with the new one you copied.
$ brew install liblastfm
Now compile Tomahawk
--------------------
$ mkdir build && cd build
$ cmake ..
$ make
$ ./tomahawk
Dependencies
------------
CMake 2.8.0 http://www.cmake.org/
Qt 4.7.0 http://qt.nokia.com/
QJson 0.7.1 http://qjson.sourceforge.net/
Gloox 1.0 (0.9.x will fail) http://camaya.net/gloox/
SQLite 3.6.22 http://www.sqlite.org/
TagLib 1.6.2 http://developer.kde.org/~wheeler/taglib.html
Boost 1.3x http://www.boost.org/
CLucene 0.9.23 (0.9.21 will fail) http://clucene.sourceforge.net/download.shtml
libmad 0.15.1b http://www.underbit.com/products/mad/
libvorbis 1.2.3 http://xiph.org/vorbis/
libogg 1.1.4 http://xiph.org/ogg/
libflac++ 1.2.0 http://flac.sourceforge.net/
liblastfm 0.3.3 http://github.com/mxcl/liblastfm/
libechonest 1.1.1 http://projects.kde.org/projects/playground/libs/libechonest/
Third party libraries that we ship with our source:
RtAudio 4.0.7 http://www.music.mcgill.ca/~gary/rtaudio/
MiniUPnP http://miniupnp.free.fr/
To build the app:
-----------------
$ mkdir build && cd build
Pick one of the following two choices. If uncertain pick the second one, you probably want a GUI.
$ cmake -Dgui=no .. # enables headless mode, build without GUI
$ cmake .. # normal build including GUI
$ make
To run the app:
---------------
Only run the next two commands if you installed any of the dependencies from source on Linux.
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
$ sudo ldconfig -v
Start the application on Linux:
$ ./tomahawk
Start the application on OS X:
$ open tomahawk.app
Enjoy!