diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/vulkan-loader')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix | 45 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch | 14 |
2 files changed, 59 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix new file mode 100644 index 000000000000..a4cb0ae82330 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/vulkan-loader/default.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11, libxcb +, libXrandr, wayland, moltenvk, vulkan-headers, addOpenGLRunpath }: + +stdenv.mkDerivation rec { + pname = "vulkan-loader"; + version = "1.3.254"; + + src = fetchFromGitHub { + owner = "KhronosGroup"; + repo = "Vulkan-Loader"; + rev = "v${version}"; + hash = "sha256-bxmDhKDM+OOTsSJEoGXlWPZciBcwevv0e4gHweH46JU="; + }; + + patches = [ ./fix-pkgconfig.patch ]; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ vulkan-headers ] + ++ lib.optionals (!stdenv.isDarwin) [ libX11 libxcb libXrandr wayland ]; + + cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ] + ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share" + ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share" + ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-DUSE_GAS=OFF"; + + outputs = [ "out" "dev" ]; + + doInstallCheck = true; + + installCheckPhase = '' + grep -q "${vulkan-headers}/include" $dev/lib/pkgconfig/vulkan.pc || { + echo vulkan-headers include directory not found in pkg-config file + exit 1 + } + ''; + + meta = with lib; { + description = "LunarG Vulkan loader"; + homepage = "https://www.lunarg.com"; + platforms = platforms.unix; + license = licenses.asl20; + maintainers = [ maintainers.ralith ]; + broken = (version != vulkan-headers.version); + }; +} diff --git a/nixpkgs/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch b/nixpkgs/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch new file mode 100644 index 000000000000..42295a67d466 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/vulkan-loader/fix-pkgconfig.patch @@ -0,0 +1,14 @@ +diff --git a/loader/vulkan.pc.in b/loader/vulkan.pc.in +index 153815577..584b15273 100644 +--- a/loader/vulkan.pc.in ++++ b/loader/vulkan.pc.in +@@ -1,7 +1,5 @@ +-prefix=@CMAKE_INSTALL_PREFIX@ +-exec_prefix=${prefix} +-libdir=${exec_prefix}/@CMAKE_INSTALL_REL_LIBDIR_PC@ +-includedir=${prefix}/@CMAKE_INSTALL_REL_INCLUDEDIR_PC@ ++libdir=@CMAKE_INSTALL_LIBDIR@ ++includedir=@CMAKE_INSTALL_INCLUDEDIR@ + + Name: @CMAKE_PROJECT_NAME@ + Description: Vulkan Loader |