summaryrefslogtreecommitdiff
path: root/README
blob: cb0afa309ef87717d3040a14d26866a111f68b3f (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
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, as long as the configure script is already generated)

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

* run "./configure --help", and read it.

* 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 which you want have "Yes" status in the list that's printed by configure. if not -- install missing dependencies, and rerun configure. 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 is below.
most of them are optional, which means deadbeef will build and run without them, but to make it useful - you'd probably need at least GTK UI plugin and some audio codecs built.

    libsamplerate: for dsp_libsrc plugin (resampler)
    gtk+-2.0 >= 2.12 (+ gthread, + glib): GTK+ 2.0 user interface
    libsm: optional dependency for gtkui session client support
    libice: optional dependency for gtkui session client support
    alsa-lib: ALSA support
    libvorbis and libogg: for ogg vorbis plugin
    libcurl >= 7.10: for last.fm, vfs_curl (shoutcast/icecast), artwork plugins
    imlib2: for artwork plugin; see libjpeg and libpng below
    libjpeg and libpng: for artwork plugin (when imlib2 is not installed, or --disable-artwork-imlib2 is used)
    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), GME (for vgz)
    libzip: for vfs_zip plugin
    yasm: required to build assembly portions of ffap plugin on supported platforms (x86, x86_64)

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.