summary refs log tree commit diff
diff options
context:
space:
mode:
authorBenjamin Saunders <ben.e.saunders@gmail.com>2016-09-17 22:19:40 -0700
committerJoe Hermaszewski <git@monoid.al>2016-10-12 13:19:34 +0100
commite0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a (patch)
tree6afd3a699ba7629a4434430228bf9ce9bee3e476
parentb52e8809d68593f4dab7ea21f510d79d314b5d65 (diff)
downloadnixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.tar
nixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.tar.gz
nixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.tar.bz2
nixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.tar.lz
nixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.tar.xz
nixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.tar.zst
nixpkgs-e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a.zip
vulkan-loader: 1.0.21.0 -> 1.0.26.0
Also added asserts to ensure everything stays in sync.
-rw-r--r--pkgs/development/compilers/glslang/default.nix9
-rw-r--r--pkgs/development/compilers/glslang/install-headers.patch18
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix21
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix17
4 files changed, 40 insertions, 25 deletions
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix
index 5c88a4441f2..63b4b4c2c4f 100644
--- a/pkgs/development/compilers/glslang/default.nix
+++ b/pkgs/development/compilers/glslang/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, bison }:
 
 stdenv.mkDerivation rec {
-  name = "glslang-${version}";
-  version = "2016-07-16";
+  name = "glslang-git-${version}";
+  version = "2016-08-26";
 
   # `vulkan-loader` requires a specific version of `glslang` as specified in
   # `<vulkan-loader-repo>/glslang_revision`.
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = "e4821e43c86d97bcf65fb07c1f70471b7102978d";
-    sha256 = "0vnfl8r5ssil1sffgk9sf7c7n5l3775pfizxgb1bcyvm84vw0pr3";
+    rev = "81cd764b5ffc475bc73f1fb35f75fd1171bb2343";
+    sha256 = "1vfwl6lzkjh9nh29q32b7zca4q1abf3q4nqkahskijgznw5lr59g";
   };
 
   patches = [ ./install-headers.patch ];
 
   buildInputs = [ cmake bison ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/development/compilers/glslang/install-headers.patch b/pkgs/development/compilers/glslang/install-headers.patch
index 73b31ae3a67..9ad6f5e1906 100644
--- a/pkgs/development/compilers/glslang/install-headers.patch
+++ b/pkgs/development/compilers/glslang/install-headers.patch
@@ -1,23 +1,23 @@
 diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
-index 50cda68..d4ba381 100755
+index 48a6c46..593d941 100755
 --- a/SPIRV/CMakeLists.txt
 +++ b/SPIRV/CMakeLists.txt
-@@ -26,3 +26,8 @@ endif(WIN32)
-
- install(TARGETS SPIRV
+@@ -42,3 +42,8 @@ endif(WIN32)
+ 
+ install(TARGETS SPIRV SPVRemapper
          ARCHIVE DESTINATION lib)
 +
-+foreach(file ${HEADERS})
++foreach(file ${HEADERS} ${SPVREMAP_HEADERS})
 +    get_filename_component(dir ${file} DIRECTORY)
 +    install(FILES ${file} DESTINATION include/SPIRV/${dir})
 +endforeach()
 diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
-index 28f4742..5a25cbb 100644
+index ff91135..4318279 100644
 --- a/glslang/CMakeLists.txt
 +++ b/glslang/CMakeLists.txt
-@@ -87,3 +87,8 @@ endif(WIN32)
-
- install(TARGETS glslang
+@@ -90,3 +90,8 @@ endif(WIN32)
+ 
+ install(TARGETS glslang 
          ARCHIVE DESTINATION lib)
 +
 +foreach(file ${HEADERS})
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 35d3e11a20e..4dc59bddb6d 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -3,20 +3,29 @@
 
 assert stdenv.system == "x86_64-linux";
 
-stdenv.mkDerivation rec {
-  name = "vulkan-loader-${version}";
-  version = "1.0.21.0";
-
+let
+  version = "1.0.26.0";
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-LoaderAndValidationLayers";
-    rev = "97e3b677d9681aa8d420c314edae96c4bf72246d";
-    sha256 = "1y42rlffmr80rd4m0xfv2mfwd9qvd680i18vr0xs109narb6fm4f";
+    rev = "sdk-${version}";
+    sha256 = "157m746hc76xrxd3qq0f44f5dy7pjbz8cx74ykqrlbc7rmpjpk58";
   };
+  getRev = name: builtins.substring 0 40 (builtins.readFile "${src}/${name}_revision");
+in
+
+assert getRev "spirv-tools" == spirv-tools.src.rev;
+assert getRev "spirv-headers" == spirv-tools.headers.rev;
+assert getRev "glslang" == glslang.src.rev;
+
+stdenv.mkDerivation rec {
+  name = "vulkan-loader-${version}";
+  inherit version src;
 
   buildInputs = [ cmake pkgconfig git python3 python3Packages.lxml
                   glslang spirv-tools x11 libxcb wayland
                 ];
+  enableParallelBuilding = true;
 
   cmakeFlags = [
     "-DBUILD_WSI_WAYLAND_SUPPORT=ON" # XLIB/XCB supported by default
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index 99cda697d33..b0c15a6df4b 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -3,19 +3,19 @@
 let
 
 spirv_sources = {
-  # `vulkan-loader` requires a specific version of `spirv-tools` as specified
-  # in `<vulkan-loader-repo>/spirv-tools_revision`.
+  # `vulkan-loader` requires a specific version of `spirv-tools` and `spirv-headers` as specified in
+  # `<vulkan-loader-repo>/spirv-tools_revision`.
   tools = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
-    rev = "1a9385bbd0e6eae188c14302cf37c415ecc8b698";
-    sha256 = "12a2wyxhsnms966s12x9bkz2kh478qf9ygglzkxkd83j5fvmvzwm";
+    rev = "923a4596b44831a07060df45caacb522613730c9";
+    sha256 = "0hmgng2sv34amfsag3ya09prnv1w535djwlzfn8h2vh430vgawxa";
   };
   headers = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "3814effb879ab5a98a7b9288a4b4c7849d2bc8ac";
-    sha256 = "1wfszfsx318i0gavwk0w1klg4wiav8g4q4qpraqgm69arasfb9gh";
+    rev = "33d41376d378761ed3a4c791fc4b647761897f26";
+    sha256 = "1s103bpi3g6hhq453qa4jbabfkyxxpf9vn213j8k4vm26lsi8hs2";
   };
 };
 
@@ -27,9 +27,14 @@ stdenv.mkDerivation rec {
 
   src = spirv_sources.tools;
   patchPhase = ''ln -sv ${spirv_sources.headers} external/spirv-headers'';
+  enableParallelBuilding = true;
 
   buildInputs = [ cmake python ];
 
+  passthru = {
+    headers = spirv_sources.headers;
+  };
+
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules.";