about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/vk-bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/vk-bootstrap')
-rw-r--r--nixpkgs/pkgs/development/libraries/vk-bootstrap/default.nix43
1 files changed, 43 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/vk-bootstrap/default.nix b/nixpkgs/pkgs/development/libraries/vk-bootstrap/default.nix
new file mode 100644
index 000000000000..bc43da3567d8
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/vk-bootstrap/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, vulkan-headers
+, glfw
+, catch2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vk-bootstrap";
+  version = "0.7";
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "charles-lunarg";
+    repo = "vk-bootstrap";
+    rev = "v${version}";
+    hash = "sha256-X3ANqfplrCF1R494+H5/plcwMH7rbW6zpLA4MZrYaoE=";
+  };
+
+  postPatch = ''
+    # Upstream uses cmake FetchContent to resolve glfw and catch2
+    # needed for examples and tests
+    sed -iE 's=add_subdirectory(ext)==g' CMakeLists.txt
+    sed -iE 's=Catch2==g' tests/CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ vulkan-headers glfw catch2 ];
+
+  cmakeFlags = [
+    "-DVK_BOOTSTRAP_VULKAN_HEADER_DIR=${vulkan-headers}/include"
+  ];
+
+  meta = with lib; {
+    description = "Vulkan Bootstrapping Library";
+    license = licenses.mit;
+    homepage = "https://github.com/charles-lunarg/vk-bootstrap";
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.all;
+  };
+}