{ lib , stdenv , fetchPypi , buildPythonPackage , Mako , pytest , numpy , cffi , pytools , decorator , appdirs , six , opencl-headers , ocl-icd , pybind11 , mesa_drivers }: let os-specific-buildInputs = if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ]; in buildPythonPackage rec { pname = "pyopencl"; version = "2021.2.8"; checkInputs = [ pytest ]; buildInputs = [ opencl-headers pybind11 ] ++ os-specific-buildInputs; propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ]; src = fetchPypi { inherit pname version; sha256 = "15809b5d2b9a86ad01e31d176c00415436805ac884c4d197d9263bfe98280d76"; }; # py.test is not needed during runtime, so remove it from `install_requires` postPatch = '' substituteInPlace setup.py --replace "pytest>=2" "" ''; preBuild = '' export HOME=$(mktemp -d) ''; # gcc: error: pygpu_language_opencl.cpp: No such file or directory doCheck = false; meta = with lib; { description = "Python wrapper for OpenCL"; homepage = "https://github.com/pyopencl/pyopencl"; license = licenses.mit; maintainers = [ maintainers.fridh ]; }; }