Created
September 3, 2020 14:26
-
-
Save CajuM/86b867aa73eb85ab997cca73c8b9416b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix | |
index dee3f488ecc..560c37a7752 100644 | |
--- a/pkgs/development/compilers/glslang/default.nix | |
+++ b/pkgs/development/compilers/glslang/default.nix | |
@@ -26,21 +26,6 @@ stdenv.mkDerivation rec { | |
nativeBuildInputs = [ cmake python3 bison jq ]; | |
enableParallelBuilding = true; | |
- postPatch = '' | |
- cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools | |
- ln -s "${spirv-headers.src}" External/spirv-tools/external/spirv-headers | |
- ''; | |
- | |
- # Ensure spirv-headers and spirv-tools match exactly to what is expected | |
- preConfigure = '' | |
- HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit') | |
- TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit') | |
- if [ "$HEADERS_COMMIT" != "${spirv-headers.src.rev}" ] || [ "$TOOLS_COMMIT" != "${spirv-tools.src.rev}" ]; then | |
- echo "ERROR: spirv-tools commits do not match expected versions: expected tools at $TOOLS_COMMIT, headers at $HEADERS_COMMIT"; | |
- exit 1; | |
- fi | |
- ''; | |
- | |
meta = with stdenv.lib; { | |
inherit (src.meta) homepage; | |
description = "Khronos reference front-end for GLSL and ESSL"; | |
diff --git a/pkgs/development/compilers/shaderc/default.nix b/pkgs/development/compilers/shaderc/default.nix | |
index 6a0c7ded4b9..02e3ad2930f 100644 | |
--- a/pkgs/development/compilers/shaderc/default.nix | |
+++ b/pkgs/development/compilers/shaderc/default.nix | |
@@ -1,31 +1,13 @@ | |
-{ stdenv, fetchFromGitHub, cmake, python3 }: | |
+{ stdenv, fetchFromGitHub, cmake, python3, glslang | |
+, spirv-tools, spirv-headers }: | |
# Like many google projects, shaderc doesn't gracefully support separately compiled dependencies, so we can't easily use | |
# the versions of glslang and spirv-tools used by vulkan-loader. Exact revisions are taken from | |
# https://github.com/google/shaderc/blob/known-good/known_good.json | |
# Future work: extract and fetch all revisions automatically based on a revision of shaderc's known-good branch. | |
-let | |
- glslang = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "glslang"; | |
- rev = "3ee5f2f1d3316e228916788b300d786bb574d337"; | |
- sha256 = "1l5h9d92mzd35pgs0wibqfg7vbl771lwnvdlcsyhf6999khn5dzv"; | |
- }; | |
- spirv-tools = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "SPIRV-Tools"; | |
- rev = "b63f0e5ed3e818870968ebf6af73317127fd07b0"; | |
- sha256 = "1chv30azfp76nha428ivg4ixrij6d8pxj5kn3jam87gmkmgc9zhm"; | |
- }; | |
- spirv-headers = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "SPIRV-Headers"; | |
- rev = "979924c8bc839e4cb1b69d03d48398551f369ce7"; | |
- sha256 = "07vyjlblpm4zhfds612h86lnz0qvrj5qqw5z2zzfa3m9fax7cm85"; | |
- }; | |
-in stdenv.mkDerivation rec { | |
+stdenv.mkDerivation rec { | |
pname = "shaderc"; | |
- version = "2020.2"; | |
+ version = "2020.0"; | |
outputs = [ "out" "lib" "bin" "dev" "static" ]; | |
@@ -33,22 +15,32 @@ in stdenv.mkDerivation rec { | |
owner = "google"; | |
repo = "shaderc"; | |
rev = "v${version}"; | |
- sha256 = "1sxz8872x3rdlrhmbn83r1vniq4j51jnk0ka3447fq68il4myf1w"; | |
+ sha256 = "1kqqvsvib01bsmfbdy3fbwwpvkcdlfb6k71kjvzb3crql7w0rxff"; | |
}; | |
- patchPhase = '' | |
- cp -r --no-preserve=mode ${glslang} third_party/glslang | |
- cp -r --no-preserve=mode ${spirv-tools} third_party/spirv-tools | |
- ln -s ${spirv-headers} third_party/spirv-tools/external/spirv-headers | |
- ''; | |
+ nativeBuildInputs = [ cmake python3 spirv-headers ]; | |
- nativeBuildInputs = [ cmake python3 ]; | |
+ buildInputs = [ spirv-tools glslang ]; | |
+ | |
+ postPatch = '' | |
+ sed '/examples/d;/third_party/d' -i CMakeLists.txt | |
+ sed '/build-version/d' -i glslc/CMakeLists.txt | |
+ sed -i 's/HLSL glslang/glslang HLSL/g' glslc/CMakeLists.txt | |
+ | |
+ cat << EOF > glslc/src/build-version.inc | |
+ "${version}\\n" | |
+ "${spirv-tools.version}\\n" | |
+ "${glslang.version}\\n" | |
+ EOF | |
+ ''; | |
postInstall = '' | |
moveToOutput "lib/*.a" $static | |
''; | |
- cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ]; | |
+ cmakeFlags = [ | |
+ "-DSHADERC_SKIP_TESTS=ON" | |
+ ]; | |
meta = with stdenv.lib; { | |
inherit (src.meta) homepage; | |
diff --git a/pkgs/development/libraries/spirv-headers/default.nix b/pkgs/development/libraries/spirv-headers/default.nix | |
index 79b8e7c2dda..b99142c262d 100644 | |
--- a/pkgs/development/libraries/spirv-headers/default.nix | |
+++ b/pkgs/development/libraries/spirv-headers/default.nix | |
@@ -2,13 +2,13 @@ | |
stdenv.mkDerivation rec { | |
pname = "spirv-headers"; | |
- version = "1.5.3"; | |
+ version = "1.5.3.reservations1"; | |
src = fetchFromGitHub { | |
owner = "KhronosGroup"; | |
repo = "SPIRV-Headers"; | |
rev = version; | |
- sha256 = "069sivqajp7z4p44lmrz23lvf237xpkjxd4lzrg27836pwqcz9bj"; | |
+ sha256 = "17h5cn4dyw8ixp1cpw8vf1z90m0fn1hhlvh0iycmknccbb1z34q7"; | |
}; | |
nativeBuildInputs = [ cmake ]; | |
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix | |
index 317a5059aec..bf0de0946e0 100644 | |
--- a/pkgs/development/libraries/vulkan-headers/default.nix | |
+++ b/pkgs/development/libraries/vulkan-headers/default.nix | |
@@ -1,15 +1,15 @@ | |
{ stdenv, fetchFromGitHub, cmake }: | |
stdenv.mkDerivation rec { | |
pname = "vulkan-headers"; | |
- version = "1.2.141.0"; | |
+ version = "1.2.152"; | |
nativeBuildInputs = [ cmake ]; | |
src = fetchFromGitHub { | |
owner = "KhronosGroup"; | |
repo = "Vulkan-Headers"; | |
- rev = "sdk-${version}"; | |
- sha256 = "10nmx6y4llllfcczyfz76amd0vkqv09dj952d19zkzmmgcval7zq"; | |
+ rev = "v${version}"; | |
+ sha256 = "1innfbmdx6x55zgi23b8jskj910ywjbdg0f2b5ngbgyzflqvhyjc"; | |
}; | |
meta = with stdenv.lib; { | |
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix | |
index fdf1a725559..c3b8eaa5b05 100644 | |
--- a/pkgs/development/libraries/vulkan-loader/default.nix | |
+++ b/pkgs/development/libraries/vulkan-loader/default.nix | |
@@ -3,13 +3,13 @@ | |
stdenv.mkDerivation rec { | |
pname = "vulkan-loader"; | |
- version = "1.2.141.0"; | |
+ version = "1.2.151"; | |
src = fetchFromGitHub { | |
owner = "KhronosGroup"; | |
repo = "Vulkan-Loader"; | |
- rev = "sdk-${version}"; | |
- sha256 = "10fyg71dza6qakz5zdchccfn0zcr8b1zpfi2rqir6jpzcbi28kcj"; | |
+ rev = "v${version}"; | |
+ sha256 = "0yybynb30lya4c4bd8dbsxakr027fvm8vhkv14kxm2026gw4d9iv"; | |
}; | |
nativeBuildInputs = [ pkgconfig cmake ]; | |
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix | |
index bac10d24442..2259caf5de5 100644 | |
--- a/pkgs/development/tools/spirv-tools/default.nix | |
+++ b/pkgs/development/tools/spirv-tools/default.nix | |
@@ -1,7 +1,7 @@ | |
{ stdenv, fetchFromGitHub, cmake, python3, spirv-headers }: | |
let | |
# Update spirv-headers rev in lockstep according to DEPs file | |
- version = "2020.2"; | |
+ version = "2020.4"; | |
in | |
stdenv.mkDerivation rec { | |
@@ -12,13 +12,16 @@ stdenv.mkDerivation rec { | |
owner = "KhronosGroup"; | |
repo = "SPIRV-Tools"; | |
rev = "v${version}"; | |
- sha256 = "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"; | |
+ sha256 = "16as0337iwhz3i3xfgccfygqq25az2fwz4vnc5plv136rq6yn80l"; | |
}; | |
enableParallelBuilding = true; | |
nativeBuildInputs = [ cmake python3 ]; | |
- cmakeFlags = [ "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" ]; | |
+ cmakeFlags = [ | |
+ "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" | |
+ "-DBUILD_SHARED_LIBS=ON" | |
+ ]; | |
meta = with stdenv.lib; { | |
inherit (src.meta) homepage; | |
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix | |
index b42a9e8caf8..3190abe2454 100644 | |
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix | |
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix | |
@@ -1,19 +1,20 @@ | |
{ stdenv, fetchFromGitHub, cmake, writeText, python3 | |
, vulkan-headers, vulkan-loader, glslang, spirv-headers | |
-, pkgconfig, xlibsWrapper, libxcb, libXrandr, wayland }: | |
+, spirv-tools, pkgconfig, xlibsWrapper, libxcb, libXrandr | |
+, wayland }: | |
stdenv.mkDerivation rec { | |
pname = "vulkan-validation-layers"; | |
- version = "1.2.141.0"; | |
+ version = "1.2.151"; | |
src = fetchFromGitHub { | |
owner = "KhronosGroup"; | |
repo = "Vulkan-ValidationLayers"; | |
- rev = "sdk-${version}"; | |
- sha256 = "1yfas7q122kx74nbjk3wxlyacysgncvlvq081a5dp238m88vkmbj"; | |
+ rev = "v${version}"; | |
+ sha256 = "0l17ba2gpqf55znlv3i8pklhsvn30w2235fhxy3ycpk1i2v7hm7d"; | |
}; | |
- nativeBuildInputs = [ pkgconfig cmake python3 spirv-headers ]; | |
+ nativeBuildInputs = [ pkgconfig cmake python3 spirv-headers spirv-tools ]; | |
buildInputs = [ vulkan-headers vulkan-loader libxcb libXrandr wayland ]; | |
enableParallelBuilding = true; | |
@@ -21,6 +22,7 @@ stdenv.mkDerivation rec { | |
"-DVULKAN_HEADERS_INSTALL_DIR=${vulkan-headers}" | |
"-DGLSLANG_INSTALL_DIR=${glslang}" | |
"-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}" | |
+ "-DSPIRV_TOOLS_INSTALL_DIR=${spirv-tools}" | |
]; | |
# Help vulkan-loader find the validation layers | |
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix | |
index deca3bec9cc..0bb021104ec 100644 | |
--- a/pkgs/games/quakespasm/vulkan.nix | |
+++ b/pkgs/games/quakespasm/vulkan.nix | |
@@ -1,4 +1,4 @@ | |
-{ stdenv, SDL2, fetchFromGitHub, makeWrapper, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader }: | |
+{ stdenv, SDL2, fetchFromGitHub, fetchpatch, makeWrapper, gzip, libvorbis, libmad, vulkan-headers, vulkan-loader }: | |
stdenv.mkDerivation rec { | |
pname = "vkquake"; | |
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec { | |
sha256 = "1ry861pk3z02hy7i0yi3xwmd1zma802qzcnlm09w6pslayd9rwbf"; | |
}; | |
+ patches = [ | |
+ (fetchpatch { | |
+ name = "a869a22d9b51c68e57646fa20e4c40fc6db36760.patch"; | |
+ url = "https://github.com/Novum/vkQuake/commit/a869a22d9b51c68e57646fa20e4c40fc6db36760.patch"; | |
+ sha256 = "1yr9fzwq34yw1hnmsnz07y1db2q9hrpxaig7p1krd56kfiqnbbkr"; | |
+ }) | |
+ ]; | |
+ | |
+ patchFlags = [ "-p2" ]; | |
+ | |
sourceRoot = "source/Quake"; | |
nativeBuildInputs = [ | |
diff --git a/pkgs/misc/emulators/wine/vkd3d.nix b/pkgs/misc/emulators/wine/vkd3d.nix | |
index 082eb0b90c6..a6affbe7838 100644 | |
--- a/pkgs/misc/emulators/wine/vkd3d.nix | |
+++ b/pkgs/misc/emulators/wine/vkd3d.nix | |
@@ -1,4 +1,4 @@ | |
-{ stdenv, fetchurl, vulkan-headers, spirv-headers, vulkan-loader }: | |
+{ stdenv, fetchurl, fetchpatch, vulkan-headers, spirv-headers, vulkan-loader }: | |
#TODO: MoltenVK | |
#TODO: unstable | |
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec { | |
sha256 = "1dkayp95g1691w7n2yn1q9y7klq5xa921dgmn9a5vil0rihxqnj9"; | |
}; | |
+ patches = [ | |
+ (fetchpatch { | |
+ name = "vkd3d-1.1-Fix-build.patch"; | |
+ url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-emulation/vkd3d/files/vkd3d-1.1-Fix-build.patch"; | |
+ sha256 = "0kxq8hpyl55rx5aqnfk0zmx0vfc508sfn95kzdzfyabl7cxc0h9d"; | |
+ }) | |
+ ]; | |
+ | |
buildInputs = [ vulkan-headers spirv-headers vulkan-loader ]; | |
enableParallelBuilding = true; | |
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix | |
index 9f7578989a9..0da8d4ab7b8 100644 | |
--- a/pkgs/tools/graphics/vulkan-tools/default.nix | |
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix | |
@@ -4,13 +4,13 @@ | |
stdenv.mkDerivation rec { | |
pname = "vulkan-tools"; | |
- version = "1.2.141.0"; | |
+ version = "1.2.151"; | |
src = fetchFromGitHub { | |
owner = "KhronosGroup"; | |
repo = "Vulkan-Tools"; | |
- rev = "sdk-${version}"; | |
- sha256 = "1ch56ihm7rmilipfyc4i4ww7l6i20fb3qikkpm1ch43kzn42zjaw"; | |
+ rev = "v${version}"; | |
+ sha256 = "1wpb7z87b522kq3prkax83372858h8aaqwk9svbsm4m3b2gcbjbw"; | |
}; | |
nativeBuildInputs = [ cmake pkgconfig ]; | |
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix | |
index 14de1d8611d..305d7229f9e 100644 | |
--- a/pkgs/top-level/all-packages.nix | |
+++ b/pkgs/top-level/all-packages.nix | |
@@ -9015,24 +9015,7 @@ in | |
dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {}); | |
- glslang = callPackage ../development/compilers/glslang { | |
- spirv-tools = spirv-tools.overrideAttrs (_: { | |
- src = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "SPIRV-Tools"; | |
- rev = "fd8e130510a6b002b28eee5885a9505040a9bdc9"; | |
- sha256 = "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6"; | |
- }; | |
- }); | |
- spirv-headers = spirv-headers.overrideAttrs (_: { | |
- src = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "SPIRV-Headers"; | |
- rev = "f8bf11a0253a32375c32cad92c841237b96696c0"; | |
- sha256 = "1znwjy02dl9rshqzl87rqsv9mfczw7gvwfhcirbl81idahgp4p6l"; | |
- }; | |
- }); | |
- }; | |
+ glslang = callPackage ../development/compilers/glslang { }; | |
go_bootstrap = if stdenv.isAarch64 then | |
srcOnly { | |
@@ -15645,33 +15628,7 @@ in | |
vulkan-headers = callPackage ../development/libraries/vulkan-headers { }; | |
vulkan-loader = callPackage ../development/libraries/vulkan-loader { }; | |
vulkan-tools = callPackage ../tools/graphics/vulkan-tools { }; | |
- vulkan-validation-layers = callPackage ../development/tools/vulkan-validation-layers { | |
- glslang = (glslang.override { | |
- spirv-tools = spirv-tools.overrideAttrs (_: { | |
- src = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "SPIRV-Tools"; | |
- rev = "e128ab0d624ce7beb08eb9656bb260c597a46d0a"; | |
- sha256 = "0jj8zrl3dh9fq71jc8msx3f3ifb2vjcb37nl0w4sa8sdhfff74pv"; | |
- }; | |
- }); | |
- spirv-headers = spirv-tools.overrideAttrs (_: { | |
- src = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "SPIRV-Headers"; | |
- rev = "ac638f1815425403e946d0ab78bac71d2bdbf3be"; | |
- sha256 = "1lkhs7pxcrfkmiizcxl0w5ajx6swwjv7w3iq586ipgh571fc75gx"; | |
- }; | |
- }); | |
- }).overrideAttrs (_: { | |
- src = fetchFromGitHub { | |
- owner = "KhronosGroup"; | |
- repo = "glslang"; | |
- rev = "e00d27c6d65b7d3e72506a311d7f053da4051295"; | |
- sha256 = "00lzvzk613gpm1vsdxffmx52z3c52ijwvzk4sfhh95p71kdydhgv"; | |
- }; | |
- }); | |
- }; | |
+ vulkan-validation-layers = callPackage ../development/tools/vulkan-validation-layers { }; | |
vtkWithQt5 = vtk.override { qtLib = qt5; }; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment