Files
nixpkgs/pkgs/by-name/sy/symengine/package.nix
Dark Steveneq 646b892680
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
push sheeet
2025-10-09 14:15:47 +02:00

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 ];
};
})