vulkan-loader: 1.0.26.0 -> 1.0.39.1

This commit is contained in:
Benjamin Saunders
2017-01-31 04:47:19 +03:00
committed by Nikolay Amiantov
parent 8d379ddfef
commit dbd4a35060
5 changed files with 318 additions and 137 deletions
@@ -1,13 +1,14 @@
{ stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3,
python3Packages, glslang, spirv-tools, x11, libxcb, wayland }:
python3Packages, glslang, spirv-tools, x11, libxcb, libXrandr,
libXext, wayland }:
let
version = "1.0.26.0";
version = "1.0.39.1";
src = fetchFromGitHub {
owner = "KhronosGroup";
repo = "Vulkan-LoaderAndValidationLayers";
rev = "sdk-${version}";
sha256 = "157m746hc76xrxd3qq0f44f5dy7pjbz8cx74ykqrlbc7rmpjpk58";
sha256 = "0y9zzrnjjjza2kkf5jfsdqhn98md6rsq0hb7jg62z2dipzky7zdp";
};
in
@@ -15,23 +16,13 @@ stdenv.mkDerivation rec {
name = "vulkan-loader-${version}";
inherit version src;
prePatch = ''
if [ "$(cat '${src}/spirv-tools_revision')" != '${spirv-tools.src.rev}' ] \
|| [ "$(cat '${src}/spirv-headers_revision')" != '${spirv-tools.headers.rev}' ] \
|| [ "$(cat '${src}/glslang_revision')" != '${glslang.src.rev}' ]
then
echo "Version mismatch, aborting!"
false
fi
'';
buildInputs = [ cmake pkgconfig git python3 python3Packages.lxml
glslang spirv-tools x11 libxcb wayland
glslang spirv-tools x11 libxcb libXrandr libXext wayland
];
enableParallelBuilding = true;
cmakeFlags = [
"-DBUILD_WSI_WAYLAND_SUPPORT=ON" # XLIB/XCB supported by default
"-DBUILD_WSI_MIR_SUPPORT=OFF"
];
patches = [ ./use-xdg-paths.patch ];
@@ -40,7 +31,7 @@ stdenv.mkDerivation rec {
preConfigure = ''
checkRev() {
[ "$2" = $(cat "$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "$1_revision") && exit 1)
[ "$2" = $(cat "external_revisions/$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "external_revisions/$1_revision") && exit 1)
}
checkRev spirv-tools "${spirv-tools.src.rev}"
checkRev spirv-headers "${spirv-tools.headers.rev}"
@@ -58,7 +49,8 @@ stdenv.mkDerivation rec {
mkdir -p $dev/include
cp -rv ../include $dev/
mkdir -p $demos/bin
cp demos/smoketest demos/tri demos/cube demos/*.spv demos/*.ppm $demos/bin
cp demos/*.spv demos/*.ppm $demos/bin
find demos -type f -executable -not -name vulkaninfo -exec cp {} $demos/bin \;
'';
meta = with stdenv.lib; {