1{ stdenv
2, fetchPypi
3, buildPythonPackage
4, Mako
5, pytest
6, numpy
7, cffi
8, pytools
9, decorator
10, appdirs
11, six
12, opencl-headers
13, ocl-icd
14, pybind11
15}:
16
17buildPythonPackage rec {
18 pname = "pyopencl";
19 version = "2020.2.1";
20
21 checkInputs = [ pytest ];
22 buildInputs = [ opencl-headers ocl-icd pybind11 ];
23
24 propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ];
25
26 src = fetchPypi {
27 inherit pname version;
28 sha256 = "deb6c50f37f8f88960a943b379eca8c0a9a80634cf60e09aee691a7453ae202e";
29 };
30
31 # py.test is not needed during runtime, so remove it from `install_requires`
32 postPatch = ''
33 substituteInPlace setup.py --replace "pytest>=2" ""
34 '';
35
36 preBuild = ''
37 export HOME=$(mktemp -d)
38 '';
39
40 # gcc: error: pygpu_language_opencl.cpp: No such file or directory
41 doCheck = false;
42
43 meta = with stdenv.lib; {
44 description = "Python wrapper for OpenCL";
45 homepage = "https://github.com/pyopencl/pyopencl";
46 license = licenses.mit;
47 maintainers = [ maintainers.fridh ];
48 };
49}