anchor.diff:        src = fetchFromGitHub {
           owner = "KhronosGroup";
           repo = "SPIRV-Tools";
  -        rev = "c9c1f54330d13a0bec1aa3f08d436249d8e35596";
  -        sha256 = "0r5whsw9x8j4199xwxv293ar2ga73pm2s7rngw732ylh6rw3bkly";
  +        rev = "c79edd260c2b503f0eca57310057b4a100999cc5";
  +        sha256 = "01qq5g2a8c5ljn1j6yqh3v90kbhavibh45dcnasixvpf5q7k2ary";
         };
       });
       argSpirv-headers = localSpirvHeaders;
  
positive.code:     src = fetchFromGitHub {
        owner = "KhronosGroup";
        repo = "glslang";
        rev = "dd69df7f3dac26362e10b0f38efb9e47990f7537";
        sha256 = "1iafbh524avsjg4pjiq156b62pck2rwlfl2pjnml8sjy285506rk";
      };
    });
  in
  
  stdenv.mkDerivation rec {
    pname = "vulkan-validation-layers";
    version = "1.2.162.0";
  
    # If we were to use "dev" here instead of headers, the setupHook would be
    # placed in that output instead of "out".
  
negative.code:     owner = "KhronosGroup";
      repo = "Vulkan-ValidationLayers";
      rev = "sdk-${version}";
      sha256 = "1mp110a686lwl6wfplg79vwnlrvbz2pd5mjkgyg9i3jyfs65lr33";
    };
  
    # Include absolute paths to layer libraries in their associated
    # layer definition json files.
    postPatch = ''
      sed "s|\([[:space:]]*set(INSTALL_DEFINES \''${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY=\"\)\(\$<TARGET_FILE_NAME:\''${TARGET_NAME}>\")\)|\1$out/lib/\2|" -i layers/CMakeLists.txt
    '';
  
    nativeBuildInputs = [
      cmake
    ];
  
    buildInputs = [
      libX11
      libxcb
      libXrandr
      vulkan-headers
      wayland
    ];
  
    cmakeFlags = [
      "-DGLSLANG_INSTALL_DIR=${localGlslang}"
      "-DSPIRV_HEADERS_INSTALL_DIR=${localSpirvHeaders}"
      "-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
      "-DBUILD_LAYER_SUPPORT_FILES=ON"
      # Hide dev warnings that are useless for packaging
      "-Wno-dev"
    ];
  
    # Tests require access to vulkan-compatible GPU, which isn't
    # available in Nix sandbox. Fails with VK_ERROR_INCOMPATIBLE_DRIVER.
    doCheck = false;
  
    meta = with lib; {
      description = "The official Khronos Vulkan validation layers";
  