summaryrefslogtreecommitdiff
path: root/README
blob: 11d357094111745c488d5492ae09ef878e691d0d (plain)
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
TABLE OF CONTENTS

1. compiling, dependencies, etc
2. information for distributors

==========================================================

1. compiling, dependencies, etc

* first you need to install dependencies. full list is provided at the end of this section for your convenience

* you will need intltool to be installed. if you don't need translations -- run ./configure --disable-nls (in this case you won't need to install intltool)

* if you want to build from git - install autotools, and run ./autogen.sh to bootstrap

* if you're compiling from tarball, or have completed previous git step..

* after running autogen.sh or unpacking tarball, run "./configure --help", read the output

* now you're ready to configure the build process -- run "./configure --prefix=/usr", and wait until it finishes. you may want to change prefix to another value. consult INSTALL file for more info.

* make sure all plugins you need have "Yes" status in the list that's printed by configure. if not -- install missing dependencies. that is especially important for GTKUI, and ALSA or OSS plugins. make sure you have both. otherwise you won't get GUI and/or sound output.

* after satisfying all dependencies, run "make -j5" (change -j number to suit your number of CPUs/cores, e.g. 5 is quite good for single CPU dual-core machines). it is a good idea to do it as normal user (this step doesn't require root privileges).

* after build finishes, run "make install" as root

full list of dependencies:
    libsamplerate: REQUIRED dependency, does high quality resampling
    gtk+-2.0 >= 2.12 (+ gthread, + glib): GTK+ 2.0 user interface
    alsa-lib: ALSA support
    libvorbis and libogg: for ogg vorbis plugin
    libcurl >= 7.10: for last.fm, vfs_curl (shoutcast/icecast), artwork plugins
    libmad: for mp3 plugin (mpeg1,2 layers1,2,3)
    libFLAC: for flac plugin
    wavpack: for wavpack plugin
    libsndfile: for sndfile plugin
    libcdio + libcddb: for cd audio plugin
    ffmpeg (libavcodec + libavformat): for ffmpeg plugin
    xlib: for global hotkeys
    dbus: for notification daemon support (OSD current song notifications)
    pulseaudio: for PulseAudio output plugin
    faad2: for AAC plugin
    zlib: for Audio Overload plugin (psf, psf2, etc)

actual package names for your Linux distribution may vary.

==========================================================

2. information for distributors

The Deadbeef player code is licensed under GPLv2, but this is not a requirement for plugins.
Plugins don't link directly to deadbeef code, but are using special API header file which uses ZLib license.
There are several plugins included in this source distribution that have code licensed under MAME and other licenses.
Please inspect following plugins and libraries bundled with them for more info:
    * plugins/dumb - uses a modified DUMB 0.9.3 library, which had issues with Debian in the past (but currently seems to be GPL-compliant)
    * plugins/ao - uses Audio Overload SDK, which mixes code from many sources, under many licenses, including both GPL and MAME licenses. you might want to check legal status on distibuting linked MAME+GPL code
    * plugins/shn - based on xmms-shn code, which has some code under Shorten license (see plugins/shn/LICENSE.shorten (which seems to be compatible with GPL)

If you know other places in this project, that have licensing issues, but were not mentioned here - please let me know using this email: waker@users.sf.net

any plugins that impose licensing issues can be safely excluded from build, please see "./configure --help" output for more details
e.g. "./configure --disable-ao" will exclude AOSDK plugin from build