From e6cfc620633e2fc8344d842aa00bc8c089ea41fb Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sat, 2 Apr 2016 20:34:50 +0100 Subject: [PATCH 1/9] glslang: init at 20160727 --- .../development/compilers/glslang/default.nix | 22 ++++++++++++++++ .../compilers/glslang/install-headers.patch | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 50 insertions(+) create mode 100644 pkgs/development/compilers/glslang/default.nix create mode 100644 pkgs/development/compilers/glslang/install-headers.patch diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix new file mode 100644 index 00000000000..3d0785f702c --- /dev/null +++ b/pkgs/development/compilers/glslang/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchFromGitHub, cmake, bison }: + +stdenv.mkDerivation rec { + name = "glslang-${version}"; + version = "2016-07-27"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "glslang"; + rev = "8c8505c60454549181d78301933f3f108e2f55e6"; + sha256 = "1219sq86pz6k8nzg9sqm34b0rdv6kkjirg54y6b2r5ak568r4kwx"; + }; + + patches = [ ./install-headers.patch ]; + + buildInputs = [ cmake bison ]; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "Khronos reference front-end for GLSL and ESSL"; + }; +} diff --git a/pkgs/development/compilers/glslang/install-headers.patch b/pkgs/development/compilers/glslang/install-headers.patch new file mode 100644 index 00000000000..73b31ae3a67 --- /dev/null +++ b/pkgs/development/compilers/glslang/install-headers.patch @@ -0,0 +1,26 @@ +diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt +index 50cda68..d4ba381 100755 +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -26,3 +26,8 @@ endif(WIN32) + + install(TARGETS SPIRV + ARCHIVE DESTINATION lib) ++ ++foreach(file ${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 +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -87,3 +87,8 @@ endif(WIN32) + + install(TARGETS glslang + ARCHIVE DESTINATION lib) ++ ++foreach(file ${HEADERS}) ++ get_filename_component(dir ${file} DIRECTORY) ++ install(FILES ${file} DESTINATION include/glslang/${dir}) ++endforeach() diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index de8216c27f4..313c0777211 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4844,6 +4844,8 @@ in dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {}); + glslang = callPackage ../development/compilers/glslang { }; + go_bootstrap = callPackage ../development/compilers/go/1.4.nix { inherit (darwin.apple_sdk.frameworks) Security; }; From aa8b69c1f6d018fd49bd5afa02cb039ad797b9fe Mon Sep 17 00:00:00 2001 From: Joe Hermaszewski Date: Sat, 2 Apr 2016 20:35:14 +0100 Subject: [PATCH 2/9] vulkan-loader: init at 1.0.21.0 --- .../libraries/vulkan-loader/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/libraries/vulkan-loader/default.nix diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix new file mode 100644 index 00000000000..a5c8fb8766e --- /dev/null +++ b/pkgs/development/libraries/vulkan-loader/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchgit, fetchFromGitHub, cmake, git, python3, libxcb +, python3Packages, glslang, pkgconfig, x11 }: + +assert stdenv.system == "x86_64-linux"; + +stdenv.mkDerivation rec { + name = "vulkan-loader-${version}"; + version = "1.0.21.0"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "Vulkan-LoaderAndValidationLayers"; + rev = "97e3b677d9681aa8d420c314edae96c4bf72246d"; + sha256 = "1y42rlffmr80rd4m0xfv2mfwd9qvd680i18vr0xs109narb6fm4f"; + }; + + buildInputs = [ cmake git python3 libxcb python3Packages.lxml glslang + pkgconfig x11 + ]; + + installPhase = '' + mkdir -p $out/lib + mkdir -p $out/bin + cp loader/libvulkan.so* $out/lib + cp demos/vulkaninfo $out/bin + ''; + + meta = with stdenv.lib; { + description = "LunarG Vulkan loader"; + homepage = http://www.lunarg.com; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 313c0777211..c5e71f8d285 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9346,6 +9346,8 @@ in CoreText IOSurface ImageIO OpenGL GLUT; }; + vulkan-loader = callPackage ../development/libraries/vulkan-loader { }; + vtkWithQt4 = vtk.override { qtLib = qt4; }; vxl = callPackage ../development/libraries/vxl { From 97577571702225f607fdfff02e6d58a33750fe70 Mon Sep 17 00:00:00 2001 From: lummax Date: Wed, 31 Aug 2016 12:19:14 +0200 Subject: [PATCH 3/9] spirv-tools: init at 20160718 --- .../development/tools/spirv-tools/default.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 39 insertions(+) create mode 100644 pkgs/development/tools/spirv-tools/default.nix diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix new file mode 100644 index 00000000000..99cda697d33 --- /dev/null +++ b/pkgs/development/tools/spirv-tools/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, cmake, python }: + +let + +spirv_sources = { + # `vulkan-loader` requires a specific version of `spirv-tools` as specified + # in `/spirv-tools_revision`. + tools = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "SPIRV-Tools"; + rev = "1a9385bbd0e6eae188c14302cf37c415ecc8b698"; + sha256 = "12a2wyxhsnms966s12x9bkz2kh478qf9ygglzkxkd83j5fvmvzwm"; + }; + headers = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "SPIRV-Headers"; + rev = "3814effb879ab5a98a7b9288a4b4c7849d2bc8ac"; + sha256 = "1wfszfsx318i0gavwk0w1klg4wiav8g4q4qpraqgm69arasfb9gh"; + }; +}; + +in + +stdenv.mkDerivation rec { + name = "spirv-tools-${version}"; + version = "2016-07-18"; + + src = spirv_sources.tools; + patchPhase = ''ln -sv ${spirv_sources.headers} external/spirv-headers''; + + buildInputs = [ cmake python ]; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules."; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c5e71f8d285..e322d1c6351 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6344,6 +6344,8 @@ in spin = callPackage ../development/tools/analysis/spin { }; + spirv-tools = callPackage ../development/tools/spirv-tools { }; + splint = callPackage ../development/tools/analysis/splint { flex = flex_2_5_35; }; From efc51ce52de498eb9ef6f37cd1632caa80fce2c6 Mon Sep 17 00:00:00 2001 From: lummax Date: Wed, 31 Aug 2016 12:22:01 +0200 Subject: [PATCH 4/9] glslang: 2016-07-27 -> 2016-07-16 `vulkan-loader` requires a specific version of `glslang` as specified in `/glslang_revision`. --- pkgs/development/compilers/glslang/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix index 3d0785f702c..5c88a4441f2 100644 --- a/pkgs/development/compilers/glslang/default.nix +++ b/pkgs/development/compilers/glslang/default.nix @@ -2,13 +2,15 @@ stdenv.mkDerivation rec { name = "glslang-${version}"; - version = "2016-07-27"; + version = "2016-07-16"; + # `vulkan-loader` requires a specific version of `glslang` as specified in + # `/glslang_revision`. src = fetchFromGitHub { owner = "KhronosGroup"; repo = "glslang"; - rev = "8c8505c60454549181d78301933f3f108e2f55e6"; - sha256 = "1219sq86pz6k8nzg9sqm34b0rdv6kkjirg54y6b2r5ak568r4kwx"; + rev = "e4821e43c86d97bcf65fb07c1f70471b7102978d"; + sha256 = "0vnfl8r5ssil1sffgk9sf7c7n5l3775pfizxgb1bcyvm84vw0pr3"; }; patches = [ ./install-headers.patch ]; From 051024a581307f688b906e951eb92531817c5c09 Mon Sep 17 00:00:00 2001 From: lummax Date: Wed, 31 Aug 2016 12:29:40 +0200 Subject: [PATCH 5/9] vulkan-loader: add `spirv-tools` as dependency --- pkgs/development/libraries/vulkan-loader/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix index a5c8fb8766e..28da27372c4 100644 --- a/pkgs/development/libraries/vulkan-loader/default.nix +++ b/pkgs/development/libraries/vulkan-loader/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchgit, fetchFromGitHub, cmake, git, python3, libxcb -, python3Packages, glslang, pkgconfig, x11 }: +{ stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3, + python3Packages, glslang, spirv-tools, x11, libxcb}: assert stdenv.system == "x86_64-linux"; @@ -14,8 +14,8 @@ stdenv.mkDerivation rec { sha256 = "1y42rlffmr80rd4m0xfv2mfwd9qvd680i18vr0xs109narb6fm4f"; }; - buildInputs = [ cmake git python3 libxcb python3Packages.lxml glslang - pkgconfig x11 + buildInputs = [ cmake pkgconfig git python3 python3Packages.lxml + glslang spirv-tools x11 libxcb ]; installPhase = '' From b52e8809d68593f4dab7ea21f510d79d314b5d65 Mon Sep 17 00:00:00 2001 From: lummax Date: Wed, 31 Aug 2016 22:57:37 +0200 Subject: [PATCH 6/9] vulkan-loader: enable wayland WSI --- pkgs/development/libraries/vulkan-loader/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix index 28da27372c4..35d3e11a20e 100644 --- a/pkgs/development/libraries/vulkan-loader/default.nix +++ b/pkgs/development/libraries/vulkan-loader/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3, - python3Packages, glslang, spirv-tools, x11, libxcb}: + python3Packages, glslang, spirv-tools, x11, libxcb, wayland }: assert stdenv.system == "x86_64-linux"; @@ -15,9 +15,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ cmake pkgconfig git python3 python3Packages.lxml - glslang spirv-tools x11 libxcb + glslang spirv-tools x11 libxcb wayland ]; + cmakeFlags = [ + "-DBUILD_WSI_WAYLAND_SUPPORT=ON" # XLIB/XCB supported by default + ]; + installPhase = '' mkdir -p $out/lib mkdir -p $out/bin From e0e27c83ab2c8082f1c5aed412ccfd6fccf8bb0a Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Sat, 17 Sep 2016 22:19:40 -0700 Subject: [PATCH 7/9] vulkan-loader: 1.0.21.0 -> 1.0.26.0 Also added asserts to ensure everything stays in sync. --- .../development/compilers/glslang/default.nix | 9 ++++---- .../compilers/glslang/install-headers.patch | 18 ++++++++-------- .../libraries/vulkan-loader/default.nix | 21 +++++++++++++------ .../development/tools/spirv-tools/default.nix | 17 +++++++++------ 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 # `/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 `/spirv-tools_revision`. + # `vulkan-loader` requires a specific version of `spirv-tools` and `spirv-headers` as specified in + # `/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."; From d60845600565fae25b534eed1270e3fd787e9385 Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Sat, 17 Sep 2016 22:44:07 -0700 Subject: [PATCH 8/9] shaderc-git: init at 2016-09-08 --- .../development/compilers/shaderc/default.nix | 31 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/development/compilers/shaderc/default.nix diff --git a/pkgs/development/compilers/shaderc/default.nix b/pkgs/development/compilers/shaderc/default.nix new file mode 100644 index 00000000000..df0c136d05f --- /dev/null +++ b/pkgs/development/compilers/shaderc/default.nix @@ -0,0 +1,31 @@ +{ stdenv, fetchFromGitHub, cmake, glslang, spirv-tools, python }: + +stdenv.mkDerivation rec { + name = "shaderc-git-${version}"; + version = "2016-09-08"; + + # `vulkan-loader` requires a specific version of `glslang` as specified in + # `/glslang_revision`. + src = fetchFromGitHub { + owner = "google"; + repo = "shaderc"; + rev = "e17bb8ba3b8b0b9142b788d988612a40541c54ce"; + sha256 = "17qfjqkz6j355qi130kixaz51svl09k9b5sfikksgnbmzglzcwki"; + }; + + patchPhase = '' + cp -r ${spirv-tools.src} third_party/spirv-tools + chmod -R +w third_party/spirv-tools + ln -s ${spirv-tools.headers} third_party/spirv-tools/external/spirv-headers + ''; + + buildInputs = [ cmake glslang python ]; + enableParallelBuilding = true; + + cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" "-DSHADERC_GLSLANG_DIR=${glslang.src}" ]; + + meta = with stdenv.lib; { + inherit (src.meta) homepage; + description = "A collection of tools, libraries and tests for shader compilation."; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e322d1c6351..24d1241cb0a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11775,6 +11775,8 @@ in sampradaya = callPackage ../data/fonts/sampradaya { }; + shaderc = callPackage ../development/compilers/shaderc { }; + shared_mime_info = callPackage ../data/misc/shared-mime-info { }; shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { }; From a30702135d0f00acad24b94655636e963b24baf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 22 Oct 2016 11:35:56 +0200 Subject: [PATCH 9/9] vulkan-loader: convert eval-time checks to build-time The checks depend on fetched source, so they forced building during evaluation. --- .../libraries/vulkan-loader/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix index 4dc59bddb6d..4c00bb86142 100644 --- a/pkgs/development/libraries/vulkan-loader/default.nix +++ b/pkgs/development/libraries/vulkan-loader/default.nix @@ -14,14 +14,20 @@ let 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; + 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 ];