fex: 2412 -> 2501 (#374691)
[NixPkgs.git] / pkgs / by-name / vu / vulkan-extension-layer / package.nix
blob5abe48cbf00aa0fc83deb6c331189df4ef8a4a8b
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   writeText,
8   vulkan-headers,
9   vulkan-utility-libraries,
10   jq,
11   libX11,
12   libXrandr,
13   libxcb,
14   wayland,
17 stdenv.mkDerivation rec {
18   pname = "vulkan-extension-layer";
19   version = "1.3.296.0";
21   src = fetchFromGitHub {
22     owner = "KhronosGroup";
23     repo = "Vulkan-ExtensionLayer";
24     rev = "vulkan-sdk-${version}";
25     hash = "sha256-pBpHYxJq36FrHsvpaMJvX0IKTvAh0R86qR7/vn6EBCw=";
26   };
28   nativeBuildInputs = [
29     cmake
30     pkg-config
31     jq
32   ];
34   buildInputs = [
35     vulkan-headers
36     vulkan-utility-libraries
37     libX11
38     libXrandr
39     libxcb
40     wayland
41   ];
43   # Help vulkan-loader find the validation layers
44   setupHook = writeText "setup-hook" ''
45     addToSearchPath XDG_DATA_DIRS @out@/share
46   '';
48   # Tests are not for gpu-less and headless environments
49   cmakeFlags = [
50     "-DBUILD_TESTS=false"
51   ];
53   # Include absolute paths to layer libraries in their associated
54   # layer definition json files.
55   preFixup = ''
56     for f in "$out"/share/vulkan/explicit_layer.d/*.json "$out"/share/vulkan/implicit_layer.d/*.json; do
57       jq <"$f" >tmp.json ".layer.library_path = \"$out/lib/\" + .layer.library_path"
58       mv tmp.json "$f"
59     done
60   '';
62   meta = with lib; {
63     description = "Layers providing Vulkan features when native support is unavailable";
64     homepage = "https://github.com/KhronosGroup/Vulkan-ExtensionLayer/";
65     platforms = platforms.linux;
66     license = licenses.asl20;
67     maintainers = [ ];
68   };