libva: build a lighter version by default

Mesa, X etc. are not very light dependencies.
This will also allow us to break the cycle with mesa.
This commit is contained in:
Vladimír Čunát 2015-10-28 14:15:44 +01:00
parent 1d921ad3a7
commit 17b86fef1e
5 changed files with 30 additions and 14 deletions

View File

@ -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}
};
}

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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;