summary refs log tree commit diff
path: root/pkgs/tools/audio/liquidsoap/full.nix
blob: 30b608c5ba4d0aba935cd0442d7095364a8fe08a (plain) (blame)
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
{ stdenv, fetchurl, which, pkgconfig
, ocaml, ocamlPackages
, libao, portaudio, alsaLib, pulseaudio, jack2
, libsamplerate, libmad, taglib, lame, libogg
, libvorbis, speex, libtheora, libopus, fdk_aac
, faad2, flac, ladspaH, ffmpeg, frei0r, dssi
, }:

let
  version = "1.1.1";

  packageFilters = map (p: "-e '/ocaml-${p}/d'" )
    [ "gstreamer" "shine" "aacplus" "schroedinger"
      "voaacenc" "soundtouch" "gavl" "lo"
    ];
in
stdenv.mkDerivation {
  name = "liquidsoap-full-${version}";

  src = fetchurl {
    url = "mirror://sourceforge/project/savonet/liquidsoap/${version}/liquidsoap-${version}-full.tar.gz";
    sha256 = "1w1grgja5yibph90vsxj7ffkpz1sgzmr54jj52s8889dpy609wqa";
  };

  preConfigure = "sed ${toString packageFilters} PACKAGES.default > PACKAGES";
  configureFlags = [ "--localstatedir=/var" ];

  buildInputs =
    [ which ocaml ocamlPackages.findlib pkgconfig
      libao portaudio alsaLib pulseaudio jack2
      libsamplerate libmad taglib lame libogg
      libvorbis speex libtheora libopus fdk_aac
      faad2 flac ladspaH ffmpeg frei0r dssi
      ocamlPackages.xmlm ocamlPackages.ocaml_pcre
      ocamlPackages.camomile
    ];

  meta = with stdenv.lib; {
    description = "Swiss-army knife for multimedia streaming";
    homepage = http://liquidsoap.fm/;
    maintainers = with maintainers; [ emery ];
    license = licenses.gpl2;
    platform = ocaml.meta.platforms;
  };
}