about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pyopencl/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyopencl/default.nix49
1 files changed, 49 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
new file mode 100644
index 000000000000..624dca05e1e3
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/pyopencl/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, fetchPypi
+, buildPythonPackage
+, Mako
+, pytest
+, numpy
+, cffi
+, pytools
+, decorator
+, appdirs
+, six
+, opencl-headers
+, ocl-icd
+, pybind11
+}:
+
+buildPythonPackage rec {
+  pname = "pyopencl";
+  version = "2018.2.3";
+
+  checkInputs = [ pytest ];
+  buildInputs = [ opencl-headers ocl-icd pybind11 ];
+
+  propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ebefe9505cad970dfb4c8024630ef5a546c68d22943dbb3e5677943a6d006ac6";
+  };
+
+  # 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 stdenv.lib; {
+    description = "Python wrapper for OpenCL";
+    homepage = https://github.com/pyopencl/pyopencl;
+    license = licenses.mit;
+    maintainers = [ maintainers.fridh ];
+  };
+}