Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenv, fetchFromGitHub, cmake, python3, spirv-headers }: 2 3stdenv.mkDerivation rec { 4 pname = "spirv-tools"; 5 version = "2023.2"; 6 7 src = fetchFromGitHub { 8 owner = "KhronosGroup"; 9 repo = "SPIRV-Tools"; 10 rev = "v${version}"; 11 hash = "sha256-l44Ru0WjROQEDNU/2YQJGti1uDZP9osRdfsXus5EGX0="; 12 }; 13 14 nativeBuildInputs = [ cmake python3 ]; 15 16 cmakeFlags = [ 17 "-DSPIRV-Headers_SOURCE_DIR=${spirv-headers.src}" 18 # Avoid blanket -Werror to evade build failures on less 19 # tested compilers. 20 "-DSPIRV_WERROR=OFF" 21 ]; 22 23 # https://github.com/KhronosGroup/SPIRV-Tools/issues/3905 24 postPatch = '' 25 substituteInPlace CMakeLists.txt \ 26 --replace '-P ''${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake' \ 27 '-DCMAKE_INSTALL_FULL_LIBDIR=''${CMAKE_INSTALL_FULL_LIBDIR} 28 -DCMAKE_INSTALL_FULL_INCLUDEDIR=''${CMAKE_INSTALL_FULL_INCLUDEDIR} 29 -P ''${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake' 30 substituteInPlace cmake/SPIRV-Tools.pc.in \ 31 --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \ 32 --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ 33 substituteInPlace cmake/SPIRV-Tools-shared.pc.in \ 34 --replace '$'{prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@ \ 35 --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ 36 ''; 37 38 meta = with lib; { 39 description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules"; 40 homepage = "https://github.com/KhronosGroup/SPIRV-Tools"; 41 license = licenses.asl20; 42 platforms = platforms.unix; 43 maintainers = [ maintainers.ralith ]; 44 }; 45}