1{ lib, stdenv
2, fetchFromGitHub
3, cmake
4, gmp
5, flint
6, mpfr
7, libmpc
8}:
9
10stdenv.mkDerivation rec {
11 pname = "symengine";
12 version = "0.7.0";
13
14 src = fetchFromGitHub {
15 owner = "symengine";
16 repo = "symengine";
17 rev = "v${version}";
18 sha256 = "sha256-aoitTT9fwTIs3ovfqQjKGgrU+kT5mj+vDHt5lg49JHU=";
19 };
20
21 nativeBuildInputs = [ cmake ];
22
23 buildInputs = [ gmp flint mpfr libmpc ];
24
25 cmakeFlags = [
26 "-DWITH_FLINT=ON"
27 "-DINTEGER_CLASS=flint"
28 "-DWITH_SYMENGINE_THREAD_SAFE=yes"
29 "-DWITH_MPC=yes"
30 "-DBUILD_FOR_DISTRIBUTION=yes"
31 ];
32
33 doCheck = true;
34
35 checkPhase = ''
36 ctest
37 '';
38
39 meta = with lib; {
40 description = "A fast symbolic manipulation library";
41 homepage = "https://github.com/symengine/symengine";
42 platforms = platforms.unix ++ platforms.windows;
43 license = licenses.bsd3;
44 maintainers = [ maintainers.costrouc ];
45 };
46
47}