diff options
Diffstat (limited to 'pkgs/development/libraries/ffmpeg/generic.nix')
-rw-r--r-- | pkgs/development/libraries/ffmpeg/generic.nix | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 270e96055822..3d9027db1602 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -26,7 +26,7 @@ * see `ffmpeg-full' for an ffmpeg build with all features included. * * Need fixes to support Darwin: - * libvpx pulseaudio + * pulseaudio * * Known issues: * 0.6 - fails to compile (unresolved) (so far, only disabling a number of @@ -58,6 +58,8 @@ let disDarwinOrArmFix = origArg: minVer: fixArg: if ((isDarwin || isAarch32) && reqMin minVer) then fixArg else origArg; vaapiSupport = reqMin "0.6" && ((isLinux || isFreeBSD) && !isAarch32); + + vpxSupport = reqMin "0.6" && !isAarch32; in assert openglSupport -> libGLU_combined != null; @@ -130,7 +132,7 @@ stdenv.mkDerivation rec { (ifMinVer "0.6" (enableFeature vaapiSupport "vaapi")) "--enable-vdpau" "--enable-libvorbis" - (disDarwinOrArmFix (ifMinVer "0.6" "--enable-libvpx") "0.6" "--disable-libvpx") + (ifMinVer "0.6" (enableFeature vpxSupport "libvpx")) (ifMinVer "2.4" "--enable-lzma") (ifMinVer "2.2" (enableFeature openglSupport "opengl")) (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse") @@ -148,7 +150,7 @@ stdenv.mkDerivation rec { "--disable-stripping" # Disable mmx support for 0.6.90 (verFix null "0.6.90" "--disable-mmx") - ] ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ + ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--cross-prefix=${stdenv.cc.targetPrefix}" "--enable-cross-compile" ] ++ optional stdenv.cc.isClang "--cc=clang"; @@ -159,7 +161,8 @@ stdenv.mkDerivation rec { bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus ] ++ optional openglSupport libGLU_combined - ++ optionals (!isDarwin && !isAarch32) [ libvpx libpulseaudio ] # Need to be fixed on Darwin and ARM + ++ optional vpxSupport libvpx + ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva ++ optional isLinux alsaLib ++ optionals isDarwin darwinFrameworks @@ -170,9 +173,15 @@ stdenv.mkDerivation rec { doCheck = false; # fails + # ffmpeg 3+ generates pkg-config (.pc) files that don't have the + # form automatically handled by the multiple-outputs hooks. postFixup = '' moveToOutput bin "$bin" moveToOutput share/ffmpeg/examples "$doc" + for pc in ''${!outputDev}/lib/pkgconfig/*.pc; do + substituteInPlace $pc \ + --replace "includedir=$out" "includedir=''${!outputInclude}" + done ''; installFlags = [ "install-man" ]; |