diff --git a/pkgs/development/python-modules/vulkan/default.nix b/pkgs/development/python-modules/vulkan/default.nix new file mode 100644 index 000000000000..a0479a50f7ab --- /dev/null +++ b/pkgs/development/python-modules/vulkan/default.nix @@ -0,0 +1,63 @@ +{ + buildPythonPackage, + cffi, + fetchFromGitHub, + inflection, + jinja2, + lib, + pysdl2, + setuptools, + vulkan-loader, + wheel, + xmltodict, +}: + +buildPythonPackage rec { + pname = "vulkan"; + version = "1.3.275.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "realitix"; + repo = "vulkan"; + rev = "refs/tags/${version}"; + hash = "sha256-b1jHNKdHF7pIC6H4O2yxy36Ppb60J0uN2P0WaCw51Gc="; + }; + + postPatch = '' + substituteInPlace vulkan/_vulkan.py \ + --replace-fail 'lib = ffi.dlopen(name)' 'lib = ffi.dlopen("${vulkan-loader}/lib/" + name)' + ''; + + buildInputs = [ + vulkan-loader + ]; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + inflection + jinja2 + pysdl2 + xmltodict + cffi + ]; + + pythonImportsCheck = [ + "vulkan" + ]; + + meta = { + description = "Ultimate Python binding for Vulkan API"; + homepage = "https://github.com/realitix/vulkan"; + license = lib.licenses.asl20; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ + grimmauld + getchoo + ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bae65926011a..602fc91c0905 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17549,6 +17549,8 @@ self: super: with self; { vulcan-api = callPackage ../development/python-modules/vulcan-api { }; + vulkan = callPackage ../development/python-modules/vulkan { }; + vultr = callPackage ../development/python-modules/vultr { }; vulture = callPackage ../development/python-modules/vulture { };