ocamlPackages.hxd: 0.3.2 -> 0.3.3 (#364231)
[NixPkgs.git] / pkgs / by-name / vu / vulkan-memory-allocator / package.nix
bloba4205b5db8344bf184c5743ff2e229ecc379cd6e
2   lib,
3   stdenvNoCC,
4   fetchFromGitHub,
5   fetchpatch,
6   cmake,
7 }:
9 stdenvNoCC.mkDerivation (finalAttrs: {
10   pname = "vulkan-memory-allocator";
11   version = "3.1.0";
13   src = fetchFromGitHub {
14     owner = "GPUOpen-LibrariesAndSDKs";
15     repo = "VulkanMemoryAllocator";
16     rev = "v${finalAttrs.version}";
17     hash = "sha256-j0Z9OEwQx3RB2cni9eK3gYfwkhOc2ST213b6VseaVzg=";
18   };
20   patches = [
21     # Allows specifying version constraints on the CMake module
22     # Remove when version > 3.1.0
23     (fetchpatch {
24       name = "0001-vulkan-memory-allocator-add-cmake-package-version-file.patch";
25       url = "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/commit/257138b8f5686ae84491a3df9f90a77d5660c3bd.patch";
26       hash = "sha256-qbQhIJho/WQqzAwB2zzWgGKx4QK9zKmbaGisbNOV8mg=";
27     })
28   ];
30   # A compiler is only required for the samples. This lets us use stdenvNoCC.
31   postPatch = ''
32     substituteInPlace CMakeLists.txt \
33       --replace-warn 'LANGUAGES CXX' 'LANGUAGES NONE'
34   '';
36   nativeBuildInputs = [
37     cmake
38   ];
40   strictDeps = true;
42   meta = {
43     description = "Easy to integrate Vulkan memory allocation library";
44     homepage = "https://gpuopen.com/vulkan-memory-allocator/";
45     changelog = "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/blob/${finalAttrs.src.rev}/CHANGELOG.md";
46     license = lib.licenses.mit;
47     maintainers = with lib.maintainers; [ fgaz ];
48     mainProgram = "vulkan-memory-allocator";
49     platforms = lib.platforms.unix ++ lib.platforms.windows;
50   };