Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / intel-vaapi-driver / default.nix
blob5622ad158f91b42bdf73116122bfe2e79119525c
1 { lib, stdenv, fetchFromGitHub, autoreconfHook, gnum4, pkg-config, python3
2 , intel-gpu-tools, libdrm, libva
3 , enableHybridCodec ? false, vaapi-intel-hybrid
4 , enableGui ? true, libX11, libGL, wayland, libXext
5 }:
7 stdenv.mkDerivation rec {
8   pname = "intel-vaapi-driver";
9   version = "2.4.1";
11   src = fetchFromGitHub {
12     owner  = "intel";
13     repo   = "intel-vaapi-driver";
14     rev    = version;
15     sha256 = "1cidki3av9wnkgwi7fklxbg3bh6kysf8w3fk2qadjr05a92mx3zp";
16   };
18   # Set the correct install path:
19   LIBVA_DRIVERS_PATH = "${placeholder "out"}/lib/dri";
21   postInstall = lib.optionalString enableHybridCodec ''
22     ln -s ${vaapi-intel-hybrid}/lib/dri/* $out/lib/dri/
23   '';
25   configureFlags = [
26     (lib.enableFeature enableGui "x11")
27     (lib.enableFeature enableGui "wayland")
28   ] ++ lib.optional enableHybridCodec "--enable-hybrid-codec";
30   nativeBuildInputs = [ autoreconfHook gnum4 pkg-config python3 ];
32   buildInputs = [ intel-gpu-tools libdrm libva ]
33     ++ lib.optionals enableGui [ libX11 libXext libGL wayland ]
34     ++ lib.optional enableHybridCodec vaapi-intel-hybrid;
36   enableParallelBuilding = true;
38   meta = with lib; {
39     homepage = "https://01.org/linuxmedia";
40     license = licenses.mit;
41     description = "VA-API user mode driver for Intel GEN Graphics family";
42     longDescription = ''
43       This VA-API video driver backend provides a bridge to the GEN GPUs through
44       the packaging of buffers and commands to be sent to the i915 driver for
45       exercising both hardware and shader functionality for video decode,
46       encode, and processing.
47       VA-API is an open-source library and API specification, which provides
48       access to graphics hardware acceleration capabilities for video
49       processing. It consists of a main library and driver-specific acceleration
50       backends for each supported hardware vendor.
51     '';
52     platforms = [ "x86_64-linux" "i686-linux" ];
53     maintainers = with maintainers; [ SuperSandro2000 ];
54   };