Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
71 lines
1.7 KiB
Nix
71 lines
1.7 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
fetchpatch2,
|
|
cmake,
|
|
gmp,
|
|
flint,
|
|
mpfr,
|
|
libmpc,
|
|
withShared ? !stdenv.hostPlatform.isStatic,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "symengine";
|
|
version = "0.14.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "symengine";
|
|
repo = "symengine";
|
|
rev = "v${finalAttrs.version}";
|
|
hash = "sha256-WriVcYt3fkObR2U4J6a4KGGc2HgyyFyFpdrwxBD+AHA=";
|
|
};
|
|
|
|
outputs = [
|
|
"out"
|
|
"dev"
|
|
];
|
|
|
|
# upgrade supported cmake version in SymEngineConfig.cmake
|
|
patches = [
|
|
(fetchpatch2 {
|
|
url = "https://github.com/symengine/symengine/commit/c149b874b8ff947e51e8e58670a0d37daf588f86.patch?full_index=1";
|
|
hash = "sha256-LqkJRPdsbE8OE8G6AkpWX9B+GqnOQjUNPHpKKIcCL3Q=";
|
|
})
|
|
(fetchpatch2 {
|
|
url = "https://github.com/symengine/symengine/commit/186f72e208220efd12362c336a49378076f63f30.patch?full_index=1";
|
|
hash = "sha256-CuQra9K3MTxm8M0bt3LooJz9HgW0/Jy6ydRBCvEgkO4=";
|
|
})
|
|
];
|
|
|
|
nativeBuildInputs = [ cmake ];
|
|
|
|
buildInputs = [
|
|
gmp
|
|
flint
|
|
mpfr
|
|
libmpc
|
|
];
|
|
|
|
cmakeFlags = [
|
|
(lib.cmakeBool "WITH_FLINT" true)
|
|
(lib.cmakeFeature "INTEGER_CLASS" "flint")
|
|
(lib.cmakeBool "WITH_SYMENGINE_THREAD_SAFE" true)
|
|
(lib.cmakeBool "WITH_MPC" true)
|
|
(lib.cmakeBool "BUILD_FOR_DISTRIBUTION" true)
|
|
(lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck)
|
|
(lib.cmakeBool "BUILD_SHARED_LIBS" withShared)
|
|
];
|
|
|
|
doCheck = true;
|
|
|
|
meta = {
|
|
description = "Fast symbolic manipulation library";
|
|
homepage = "https://github.com/symengine/symengine";
|
|
platforms = with lib.platforms; unix ++ windows;
|
|
license = lib.licenses.bsd3;
|
|
maintainers = with lib.maintainers; [ costrouc ];
|
|
};
|
|
})
|