-
Notifications
You must be signed in to change notification settings - Fork 1
/
INSTALL
301 lines (279 loc) · 10.8 KB
/
INSTALL
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
*******************************************************************************
Program Depends
*******************************************************************************
--------
:common:
--------
bzip2
zlib
iconv (libc on GNU/Linux)
----------------
:libeiskaltdcpp:
----------------
gettext
libssl (>= 0.9.8)
liblua5.1 (optional, see cmake keys)
libpcrecpp0 (optional, see cmake keys)
miniupnpc (optional, see cmake keys)
libidn (optional, see cmake keys)
libattr (optional)
----------------
:eiskaltdcpp-qt:
----------------
libqtcore4, libqtgui4, libqt4-network, libqt4-xml (>= 4.6.0)
libqt4-script (>= 4.6.0) (optional, see cmake keys)
libqt4-dbus (>= 4.6.0) (optional, see cmake keys)
libaspell (optional, see cmake keys)
-----------------
:eiskaltdcpp-gtk:
-----------------
gettext
libpango
libgtk2 (>= 2.24)
libglib2 (>= 2.24)
libnotify (>= 0.4.1) (optional, see cmake keys)
libgnome2 (optional, see cmake keys)
libcanberra (optional, see cmake keys)
--------------------
:eiskaltdcpp-daemon:
--------------------
libxmlrpc-c++4 (>= 1.19.0) (optional, see cmake keys)
-----------------
:eiskaltdcpp-cli:
-----------------
perl (>= 5.10)
perl modules:
Getopt::Long (libgetopt-long-descriptive-perl)
Data::Dump (libdata-dump-perl)
Term::ShellUI (libterm-shellui-perl)
RPC::XML (librpc-xml-perl) (optional, see cmake keys)
JSON::RPC (libjson-rpc-perl) (optional, see cmake keys)
*******************************************************************************
Optional Depends
*******************************************************************************
----------------
:eiskaltdcpp-qt:
----------------
sh (bash, dash, etc...)
see examples/ and eiskaltdcpp-qt/qtscripts/
php5-cli (or other version, check the compatibility by yourself)
see eiskaltdcpp-qt/examples/ and eiskaltdcpp-qt/qtscripts/
libqtscript4-core, libqtscript4-gui, libqtscript4-network, libqtscript4-xml
see eiskaltdcpp-qt/qtscripts/
-----------------
:eiskaltdcpp-gtk:
-----------------
...
*******************************************************************************
Build Depends
*******************************************************************************
--------
:common:
--------
gcc (>= 4.4.0) or clang (>= 2.9)
iconv (libc on GNU/Linux)
cmake (>= 2.6.3)
pkg-config
bzip2
zlib
----------------
:libeiskaltdcpp:
----------------
gettext
libboost-dev (>= 1.38.0) (headers only) (optional, see cmake keys)
liblua5.1-dev (optional, see cmake keys)
libpcre3-dev (optional, see cmake keys)
miniupnpc (optional, see cmake keys)
libidn (optional, see cmake keys)
libattr-dev (optional)
----------------
:eiskaltdcpp-qt:
----------------
qt4 (>= 4.6.0)
gcc (>= 4.5.0) or clang (>= 3.1)
libaspell-dev (optional, see cmake keys)
-----------------
:eiskaltdcpp-gtk:
-----------------
libgtk2.0-dev (optional, see cmake keys)
libgtk-3-dev (optional, see cmake keys)
libnotify-dev (optional, see cmake keys)
libgnome2-dev (optional, see cmake keys)
libcanberra-dev (optional, see cmake keys)
--------------------
:eiskaltdcpp-daemon:
--------------------
libxmlrpc-c++4-dev (>=1.19.0) (optional, see cmake keys)
*******************************************************************************
Installation in Linux and other UNIX-like systems
*******************************************************************************
mkdir -p builddir && cd builddir
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../
make -j2
sudo make install
---------
# Note: you can get the lastest program sorces from git repository
git clone git://github.com/negativ/eiskaltdcpp.git
# or
wget -4 http://nodeload.github.com/negativ/eiskaltdcpp/tarball/master
# or
svn export http://svn.github.com/negativ/eiskaltdcpp/ eiskaltdcpp
*******************************************************************************
Keys for cmake
*******************************************************************************
----------------
:libeiskaltdcpp:
----------------
-DLOCAL_BOOST=ON/OFF (default: OFF)
use local boost headers
Script downloads archive with only necessary headers: http://code.google.com/p/eiskaltdc/downloads/detail?name=boost.tar.gz
(This archive have less size than official boost archive)
If boost.tar.gz already available in source tree nothing happens.
-DLUA_SCRIPT=ON/OFF (default: OFF)
lua scripts
-DPERL_REGEX=ON/OFF (default: OFF)
use pcre lib for regex in perl style (now it uses only in ADL Search)
-DUSE_IDNA=ON/OFF (default: ON)
Use libidn for rfc3490 (resolving Internationalized Domain Names)
-DWITH_DHT=ON/OFF (default: ON)
DHT support (http://www.adcportal.com/wiki/StrongDC++_DHT)
-DLINK=STATIC/SHARED (default: SHARED)
make static or shared library
Option available only on Unix-like systems.
On MS Windows platform it forcibly set to STATIC.
----------------
:eiskaltdcpp-qt:
----------------
-DUSE_QT=ON/OFF (default: ON)
build EiskaltDC++ with Qt interface
-DUSE_ASPELL=ON/OFF (default: OFF)
use or not use aspell
-DFREE_SPACE_BAR_C=ON/OFF (default: ON)
free space bar in status panel
-DDBUS_NOTIFY=ON/OFF (default: ON)
use or not use QtDBus module
-DUSE_JS=ON/OFF (default: OFF)
Enable/disable QtScript basic support
-DUSE_QT_QML=ON/OFF (default: OFF)
Enable/disable Qt Declarative UI support. Work only with Qt >= 4.7.0
-DUSE_QT_SQLITE=ON/OFF (default: OFF)
Build with SQLite support. (This is experimental option)
-----------------
:eiskaltdcpp-gtk:
-----------------
-DUSE_GTK=ON/OFF (default: OFF)
build EiskaltDC++ with Gtk interface (based on FreeDC++ and LinuxDC++)
-DUSE_GTK3=ON/OFF (default: OFF)
build EiskaltDC++ with Gtk interface using Gtk3 library
-DUSE_LIBGNOME2=ON/OFF (default: OFF)
Enable/disable sound notifications support over libgnome2 in EiskaltDC++ Gtk
-DUSE_LIBCANBERRA=ON/OFF (default: OFF)
Enable/disable sound notifications support over libcanberra in EiskaltDC++ Gtk
-DUSE_LIBNOTIFY=ON/OFF (default: ON)
Enable/disable popup notifications support in EiskaltDC++ Gtk
--------------------
:eiskaltdcpp-daemon:
--------------------
-DNO_UI_DAEMON=ON/OFF (default: OFF)
build daemon (without any UI)
-DXMLRPC_DAEMON=ON/OFF (default: OFF)
make this daemon as xmlrpc server
-DJSONRPC_DAEMON=ON/OFF (default: OFF)
make this daemon as json server
-----------------
:eiskaltdcpp-cli:
----------------
-DUSE_CLI_XMLRPC=ON/OFF (default: OFF)
use command line interface to control daemon via XMLRPC
-DUSE_CLI_JSONRPC=ON/OFF (default: OFF)
use command line interface to control daemon via JSONRPC
--------
:common:
--------
-DWITH_EMOTICONS=ON/OFF (default: ON)
If ON install emoticons/
-DWITH_EXAMPLES=ON/OFF (default: ON)
If ON install examples/
-DWITH_LUASCRIPTS=ON/OFF (default: OFF)
If ON install luascripts/
-DUSE_MINIUPNP=ON/OFF (default: OFF)
use or not use miniupnpc lib
-DLOCAL_MINIUPNP=ON/OFF (default: OFF)
If ON use local miniupnpc lib
-DWITH_SOUNDS=ON/OFF (default: OFF)
If ON install sounds/
-Dlinguas:STRING="needed translations, separator is whitespace" (default: *)
examples:
-Dlinguas="en ru" - install ru and en translations
-Dlingaus="*" - install all translations
-Dlinguas="" - don't install any translation
-DFORCE_XDG=ON/OFF (default: ON)
use or not use $XDG_CONFIG_HOME and $XDG_CONFIG_DOWNLOADS variables
see http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html
-DCMAKE_INSTALL_PREFIX=<prefix for install> (default: /usr/local)
.
-DLIBDIR=<lib prefix> (default: lib)
install lib to <prefix for install>/<lib prefix>
examples:
-DLIBDIR=lib64 - install lib to <prefix for install>/lib64
-DLIB_INSTALL_DIR=<lib prefix> (default: lib)
see -DLIBDIR
-DINSTALL_RUNTIME_PATH=ON/OFF (default: OFF)
Set RPATH in library. About possible troubles see:
https://fedoraproject.org/wiki/RPath_Packaging_Draft
http://wiki.debian.org/RpathIssue
-DWITH_DEV_FILES=ON/OFF (default: OFF)
If ON install development files (headers for libeiskaltdcpp)
see also -DEISKALTDCPP_INCLUDE_DIR
-DEISKALTDCPP_INCLUDE_DIR=<dir> (default: <prefix for install>/include/eiskaltdcpp)
install development files (headers for libeiskaltdcpp) to <dir>
-DDESKTOP_ENTRY_PATH=<prefix for install> (default: /usr/local/share/applications/)
.
-DPIXMAPS_ENTRY_PATH=<prefix for install> (default: /usr/local/share/pixmaps/)
.
-DENABLE_STACKTRACE=ON/OFF (default: OFF)
Show stacktrace when program receive SIGSEGV
-DCMAKE_BUILD_TYPE={Release, RelWithDebInfo, Debug, MinRelSize}
build type (please use RelWithDebInfo for debug mode, not Debug)
And other standart cmake keys...
---------
# Example of the complete assembly:
mkdir -p builddir && cd builddir
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DUSE_QT=ON -DUSE_GTK=ON -DUSE_JS=ON -DUSE_ASPELL=ON -DFREE_SPACE_BAR_C=ON -DCREATE_MO=ON -DLUA_SCRIPT=ON -DWITH_SOUNDS=ON -DWITH_LUASCRIPTS=ON -DUSE_MINIUPNP=ON -DLOCAL_MINIUPNP=ON ../
make
sudo make install
*******************************************************************************
Uninstall program
*******************************************************************************
sudo make uninstall
*******************************************************************************
*BSD specific notes
*******************************************************************************
mkdir -p builddir && cd builddir
cmake -DCMAKE_BUILD_TYPE=Release ../
gmake -j2
sudo gmake install
*******************************************************************************
Mac OS X specific notes
*******************************************************************************
# If you need program without unnecessary features just configure cmake like this:
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_MINIUPNP=ON -DFREE_SPACE_BAR_C=ON -DLOCAL_MINIUPNP=ON -DWITH_SOUNDS=ON -DCMAKE_C_COMPILER=/opt/local/bin/gcc-mp-4.5 -DCMAKE_CXX_COMPILER=/opt/local/bin/g++-mp-4.5
# For generate native app bundle in Mac OS X use:
cpack -G DragNDrop
*******************************************************************************
MS Windows specific notes
*******************************************************************************
Instructions are available in the file: win32/READ_ME.txt
*******************************************************************************
Haiku specific notes
*******************************************************************************
To configure program use command like this:
+cmake -DLOCAL_BOOST=ON -DCMAKE_INSTALL_PREFIX=/boot/apps/Eiskaltdcpp -DFORCE_XDG=OFF -DSHARE_DIR=/boot/apps/Eiskaltdcpp ..
*******************************************************************************
How to install Term::ShellUI perl module in Debian and Ubuntu
*******************************************************************************
# Correct method:
sudo apt-get install dh-make-perl
sudo dh-make-perl --install --cpan Term::ShellUI
# If that doesn't work for some reason use CPAN:
sudo cpan Term::ShellUI