1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 cython,
6 setuptools,
7 cmake,
8 symengine,
9 pytest,
10 sympy,
11 python,
12}:
13
14buildPythonPackage rec {
15 pname = "symengine";
16 version = "0.14.1";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "symengine";
21 repo = "symengine.py";
22 tag = "v${version}";
23 hash = "sha256-adzODm7gAqwAf7qzfRQ1AG8mC3auiXM4OsV/0h+ZmUg=";
24 };
25
26 postPatch = ''
27 substituteInPlace setup.py \
28 --replace-fail "'cython>=0.29.24'" "'cython'"
29 '';
30
31 build-system = [
32 cython
33 setuptools
34 ];
35
36 dontUseCmakeConfigure = true;
37
38 nativeBuildInputs = [
39 cmake
40 ];
41
42 buildInputs = [
43 symengine
44 ];
45
46 nativeCheckInputs = [
47 pytest
48 sympy
49 ];
50
51 checkPhase = ''
52 runHook preCheck
53
54 mkdir empty && cd empty
55 ${python.interpreter} ../bin/test_python.py
56
57 runHook postCheck
58 '';
59
60 meta = {
61 description = "Python library providing wrappers to SymEngine";
62 homepage = "https://github.com/symengine/symengine.py";
63 license = lib.licenses.mit;
64 maintainers = [ ];
65 };
66}