1{ stdenv
2, pythonOlder
3, fetchPypi
4, python
5, buildPythonPackage
6, isPy27
7, isPy33
8, isPy3k
9, numpy
10, llvmlite
11, funcsigs
12, singledispatch
13, libcxx
14}:
15
16buildPythonPackage rec {
17 version = "0.48.0";
18 pname = "numba";
19 # uses f-strings
20 disabled = pythonOlder "3.6";
21
22 src = fetchPypi {
23 inherit pname version;
24 sha256 = "9d21bc77e67006b5723052840c88cc59248e079a907cc68f1a1a264e1eaba017";
25 };
26
27 NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
28
29 propagatedBuildInputs = [numpy llvmlite] ++ stdenv.lib.optional (!isPy3k) funcsigs ++ stdenv.lib.optional (isPy27 || isPy33) singledispatch;
30
31 # Copy test script into $out and run the test suite.
32 checkPhase = ''
33 ${python.interpreter} -m numba.runtests
34 '';
35 # ImportError: cannot import name '_typeconv'
36 doCheck = false;
37
38 meta = {
39 homepage = http://numba.pydata.org/;
40 license = stdenv.lib.licenses.bsd2;
41 description = "Compiling Python code using LLVM";
42 maintainers = with stdenv.lib.maintainers; [ fridh ];
43 };
44}