1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, cython
5, cmake
6, symengine
7, pytest
8, sympy
9, python
10}:
11
12buildPythonPackage rec {
13 pname = "symengine";
14 version = "0.8.1";
15
16 src = fetchFromGitHub {
17 owner = "symengine";
18 repo = "symengine.py";
19 rev = "v${version}";
20 sha256 = "0yyi3w03fk19i32jmns1baq3rpmf7xfykzkivc7dmnxmjmxvq2gr";
21 };
22
23 postConfigure = ''
24 substituteInPlace setup.py \
25 --replace "\"cmake\"" "\"${cmake}/bin/cmake\"" \
26 --replace "'cython>=0.29.24'" "'cython'"
27
28 substituteInPlace cmake/FindCython.cmake \
29 --replace "SET(CYTHON_BIN cython" "SET(CYTHON_BIN ${cython}/bin/cython"
30 '';
31
32 nativeBuildUnputs = [ cmake ];
33
34 buildInputs = [ cython ];
35
36 checkInputs = [ pytest sympy ];
37
38 setupPyBuildFlags = [
39 "--symengine-dir=${symengine}/"
40 "--define=\"CYTHON_BIN=${cython}/bin/cython\""
41 ];
42
43 checkPhase = ''
44 mkdir empty
45 cd empty
46 ${python.interpreter} ../bin/test_python.py
47 '';
48
49 meta = with lib; {
50 description = "Python library providing wrappers to SymEngine";
51 homepage = "https://github.com/symengine/symengine.py";
52 license = licenses.mit;
53 maintainers = [ maintainers.costrouc ];
54 };
55}