diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix index 7d349f31e04..07ce30d6319 100644 --- a/pkgs/development/libraries/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/default.nix @@ -1,4 +1,4 @@ -{ callPackage }: +{ callPackage, libva-full }: rec { gstreamer = callPackage ./core { }; @@ -17,5 +17,8 @@ rec { gst-editing-services = callPackage ./ges { inherit gnonlin; }; - gst-vaapi = callPackage ./vaapi { inherit gst-plugins-base gstreamer gst-plugins-bad; }; + gst-vaapi = callPackage ./vaapi { + inherit gst-plugins-base gstreamer gst-plugins-bad; + libva = libva-full; # looks also for libva-{x11,wayland} + }; } diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix index 349b5093a3b..93c9b9a59b9 100644 --- a/pkgs/development/libraries/gstreamer/vaapi/default.nix +++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva +{ stdenv, fetchurl, pkgconfig, gst-plugins-base, bzip2, libva, wayland , libdrm, udev, xorg, mesa, yasm, gstreamer, gst-plugins-bad, nasm , libvpx }: @@ -14,8 +14,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = with stdenv.lib; [ pkgconfig bzip2 ]; - buildInputs = with stdenv.lib; [ gstreamer gst-plugins-base gst-plugins-bad libva libdrm udev - xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM xorg.libICE mesa nasm libvpx ]; + buildInputs = [ + gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev + xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM xorg.libICE mesa nasm libvpx + ]; preConfigure = " export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0 diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix index 5b1aa2f4284..a3d2d3fde30 100644 --- a/pkgs/development/libraries/libav/default.nix +++ b/pkgs/development/libraries/libav/default.nix @@ -7,7 +7,7 @@ , x264Support ? false, x264 ? null , xvidSupport ? true, xvidcore ? null , faacSupport ? false, faac ? null -, vaapiSupport ? false, libva ? null # ToDo: it has huge closure +, vaapiSupport ? true, libva ? null , vdpauSupport ? true, libvdpau ? null , freetypeSupport ? true, freetype ? null # it's small and almost everywhere , SDL # only for avplay in $bin, adds nontrivial closure to it diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix index 12de07ced32..ff44b157eaf 100644 --- a/pkgs/development/libraries/libva/default.nix +++ b/pkgs/development/libraries/libva/default.nix @@ -1,5 +1,6 @@ { stdenv, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi -, mesa ? null +, mesa_noglu +, minimal ? true, libva }: stdenv.mkDerivation rec { @@ -10,9 +11,15 @@ stdenv.mkDerivation rec { sha256 = "0bjfb5s8dk3lql843l91ffxzlq47isqks5sj19cxh7j3nhzw58kz"; }; - buildInputs = [ libX11 libXext pkgconfig libdrm libXfixes wayland libffi mesa ]; + outputs = [ "dev" "out" "bin" ]; - configureFlags = stdenv.lib.optional (mesa != null) "--enable-glx"; + nativeBuildInputs = [ pkgconfig ]; + + buildInputs = [ libdrm ] + ++ stdenv.lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ]; + # TODO: share libs between minimal and !minimal - perhaps just symlink them + + #configureFlags = stdenv.lib.optional (mesa != null) "--enable-glx"; meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/vaapi; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f5936c47889..76de3c30264 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6365,9 +6365,7 @@ let gperftools = callPackage ../development/libraries/gperftools { }; - gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer { - callPackage = pkgs.newScope (pkgs // { inherit (pkgs) libav; }); - }); + gst_all_1 = recurseIntoAttrs (callPackage ../development/libraries/gstreamer { }); gst_all = { inherit (pkgs) gstreamer gnonlin gst_python qt_gstreamer; @@ -7430,6 +7428,7 @@ let }); libva = callPackage ../development/libraries/libva { }; + libva-full = libva.override { minimal = false; }; libvdpau = callPackage ../development/libraries/libvdpau { }; @@ -8350,9 +8349,13 @@ let inherit (pythonPackages) gyp; }; - vaapiIntel = callPackage ../development/libraries/vaapi-intel { }; + vaapiIntel = callPackage ../development/libraries/vaapi-intel { + libva = libva-full; # also wants libva-{x11,drm,wayland} + }; - vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { }; + vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { + libva = libva-full; # needs libva-{x11,glx} + }; vamp = callPackage ../development/libraries/audio/vamp { }; @@ -13092,6 +13095,7 @@ let vlc = callPackage ../applications/video/vlc { ffmpeg = ffmpeg_2; + libva = libva-full; # also wants libva-x11 }; vlc_qt5 = qt5Libs.vlc;