Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / pyopencl / default.nix
blob9f33457730f60d1c6282c610d090a9ea4b8d9aeb
1 { lib
2 , stdenv
3 , fetchPypi
4 , buildPythonPackage
5 , appdirs
6 , cffi
7 , decorator
8 , mako
9 , mesa_drivers
10 , numpy
11 , ocl-icd
12 , oldest-supported-numpy
13 , opencl-headers
14 , platformdirs
15 , pybind11
16 , pytest
17 , pytestCheckHook
18 , pytools
19 , setuptools
20 , six
21 , wheel
24 let
25   os-specific-buildInputs =
26     if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ];
27 in buildPythonPackage rec {
28   pname = "pyopencl";
29   version = "2023.1.4";
30   format = "pyproject";
32   src = fetchPypi {
33     inherit pname version;
34     hash = "sha256-IgF078qQDp1d5a7yqht3pvJVBQHekrA1qRATrq5NTF4=";
35   };
37   nativeBuildInputs = [
38     oldest-supported-numpy
39     setuptools
40     wheel
41   ];
43   buildInputs = [ opencl-headers pybind11 ] ++ os-specific-buildInputs;
45   propagatedBuildInputs = [
46     appdirs
47     cffi
48     decorator
49     mako
50     numpy
51     platformdirs
52     pytools
53     six
54   ];
56   nativeCheckInputs = [ pytestCheckHook ];
58   preBuild = ''
59     export HOME=$(mktemp -d)
60   '';
62   # gcc: error: pygpu_language_opencl.cpp: No such file or directory
63   doCheck = false;
65   pythonImportsCheck = [ "pyopencl" ];
67   meta = with lib; {
68     description = "Python wrapper for OpenCL";
69     homepage = "https://github.com/pyopencl/pyopencl";
70     license = licenses.mit;
71     maintainers = [ maintainers.fridh ];
72   };