nixpkgs/pkgs/development/libraries/ffmpeg/default.nix
Eelco Dolstra 1b427fe052 * Sync with the trunc.
* Fixed the hash in PulseAudio: I updated the name/version, but forgot
  to update the hash.  So secretly it was still building the old
  version.  Also, now that we've realised that the PulseAudio server
  and library don't need to be the same build, disable some
  dependencies by default (avahi and bluez).

svn path=/nixpkgs/branches/kde-4.7/; revision=28023
2011-07-31 19:44:58 +00:00

76 lines
2.5 KiB
Nix

{ stdenv, fetchurl, pkgconfig, yasm, zlib, bzip2
, mp3Support ? true, lame ? null
, speexSupport ? true, speex ? null
, theoraSupport ? true, libtheora ? null
, vorbisSupport ? false, libvorbis ? null
, vpxSupport ? false, libvpx ? null
, x264Support ? true, x264 ? null
, xvidSupport ? false, xvidcore ? null
, faacSupport ? false, faac ? null
}:
assert speexSupport -> speex != null;
assert theoraSupport -> libtheora != null;
assert vorbisSupport -> libvorbis != null;
assert vpxSupport -> libvpx != null;
assert x264Support -> x264 != null;
assert xvidSupport -> xvidcore != null;
assert faacSupport -> faac != null;
stdenv.mkDerivation rec {
name = "ffmpeg-0.8";
src = fetchurl {
url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
sha256 = "03zwwc1qs117pfjk9r071fbx4al3j0c85j97dgwqc0wp2z1zs9iy";
};
# `--enable-gpl' (as well as the `postproc' and `swscale') mean that
# the resulting library is GPL'ed, so it can only be used in GPL'ed
# applications.
configureFlags = [
"--enable-gpl"
"--enable-postproc"
"--enable-swscale"
"--disable-ffserver"
"--disable-ffplay"
"--enable-shared"
"--enable-runtime-cpudetect"
]
++ stdenv.lib.optional mp3Support "--enable-libmp3lame"
++ stdenv.lib.optional speexSupport "--enable-libspeex"
++ stdenv.lib.optional theoraSupport "--enable-libtheora"
++ stdenv.lib.optional vorbisSupport "--enable-libvorbis"
++ stdenv.lib.optional vpxSupport "--enable-libvpx"
++ stdenv.lib.optional x264Support "--enable-libx264"
++ stdenv.lib.optional xvidSupport "--enable-libxvid"
++ stdenv.lib.optional faacSupport "--enable-libfaac --enable-nonfree";
buildInputs = [ pkgconfig lame yasm zlib bzip2 ]
++ stdenv.lib.optional mp3Support lame
++ stdenv.lib.optional speexSupport speex
++ stdenv.lib.optional theoraSupport libtheora
++ stdenv.lib.optional vorbisSupport libvorbis
++ stdenv.lib.optional vpxSupport libvpx
++ stdenv.lib.optional x264Support x264
++ stdenv.lib.optional xvidSupport xvidcore
++ stdenv.lib.optional faacSupport faac;
enableParallelBuilding = true;
crossAttrs = {
dontSetConfigureCross = true;
configureFlags = configureFlags ++ [
"--cross-prefix=${stdenv.cross.config}-"
"--enable-cross-compile"
"--target_os=linux"
"--arch=${stdenv.cross.arch}"
];
};
meta = {
homepage = http://www.ffmpeg.org/;
description = "A complete, cross-platform solution to record, convert and stream audio and video";
};
}