nixpkgs/pkgs/applications/video/vlc/default.nix
Martin Sturm 9e0519e554 vlc: use libsamplerate
Change the sample rate converter used from default "ugly_resampler" to
libsamplerate (aka secret rabbit code).
2015-09-18 10:17:21 +02:00

71 lines
2.4 KiB
Nix

{ stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray
, zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska
, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
, libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg
, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
, libvdpau, libsamplerate
, onlyLibVLC ? false
, qt4 ? null, qt5 ? null, withQt5 ? false
, jackSupport ? false
}:
with stdenv.lib;
assert (withQt5 -> qt5 != null);
assert (!withQt5 -> qt4 != null);
stdenv.mkDerivation rec {
name = "vlc-${version}";
version = "2.2.1";
src = fetchurl {
url = "http://download.videolan.org/vlc/${version}/${name}.tar.xz";
sha256 = "1jqzrzrpw6932lbkf863xk8cfmn4z2ngbxz7w8ggmh4f6xz9sgal";
};
buildInputs =
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt
libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec
udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
]
++ (if withQt5 then with qt5; [ base ] else [qt4])
++ optional jackSupport libjack2;
nativeBuildInputs = [ pkgconfig ];
configureFlags =
[ "--enable-alsa"
"--with-kde-solid=$out/share/apps/solid/actions"
"--enable-dc1394"
"--enable-ncurses"
"--enable-vdpau"
"--enable-dvdnav"
"--enable-samplerate"
]
++ optional onlyLibVLC "--disable-vlc";
preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure'';
enableParallelBuilding = true;
preBuild = ''
substituteInPlace modules/text_renderer/freetype.c --replace \
/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf \
${freefont_ttf}/share/fonts/truetype/FreeSerifBold.ttf
'';
meta = with stdenv.lib; {
description = "Cross-platform media player and streaming server";
homepage = http://www.videolan.org/vlc/;
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}