about summary refs log tree commit diff
path: root/pkgs/development/libraries/libav
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2011-07-15 12:20:34 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2011-07-15 12:20:34 +0000
commit56a081cd55365d1028876f4a9b3ea75f00b6a224 (patch)
tree2e3f0124bebf7406fb2682d6b181c72963a34b46 /pkgs/development/libraries/libav
parent48b86237e598d96f1068926f9ec1f0a19c61491d (diff)
downloadnixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.tar
nixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.tar.gz
nixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.tar.bz2
nixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.tar.lz
nixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.tar.xz
nixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.tar.zst
nixlib-56a081cd55365d1028876f4a9b3ea75f00b6a224.zip
* Added libav, a fork of ffmpeg.
svn path=/nixpkgs/trunk/; revision=27797
Diffstat (limited to 'pkgs/development/libraries/libav')
-rw-r--r--pkgs/development/libraries/libav/default.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
new file mode 100644
index 000000000000..0d6637d6116b
--- /dev/null
+++ b/pkgs/development/libraries/libav/default.nix
@@ -0,0 +1,72 @@
+{ stdenv, fetchurl, pkgconfig, yasm, xz
+, mp3Support ? true, lame ? null
+, speexSupport ? true, speex ? null
+, theoraSupport ? true, libtheora ? null
+, vorbisSupport ? true, libvorbis ? null
+, vpxSupport ? false, libvpx ? null
+, x264Support ? false, x264 ? null
+, xvidSupport ? true, 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;
+
+stdenv.mkDerivation rec {
+  name = "libav-0.7";
+  
+  src = fetchurl {
+    url = "http://libav.org/releases/${name}.tar.xz";
+    sha256 = "04pl6y53xh6xmwzz0f12mg5vh62ylp5zwwinj6dxzd8pnbjg4lsz";
+  };
+
+  # `--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 xz ]
+    ++ 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;
+
+  crossAttrs = {
+    dontSetConfigureCross = true;
+    configureFlags = configureFlags ++ [
+      "--cross-prefix=${stdenv.cross.config}-"
+      "--enable-cross-compile"
+      "--target_os=linux"
+      "--arch=${stdenv.cross.arch}"
+      ];
+  };
+
+  meta = {
+    homepage = http://libav.org/;
+    description = "A complete, cross-platform solution to record, convert and stream audio and video (fork of ffmpeg)";
+  };
+}