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