depot/third_party/nixpkgs/pkgs/applications/science/math/pynac/default.nix
Default email 5c370c0b2a Project import generated by Copybara.
GitOrigin-RevId: 33d1e753c82ffc557b4a585c77de43d4c922ebb5
2024-05-15 17:35:15 +02:00

66 lines
1.7 KiB
Nix

{ lib, stdenv
, fetchpatch
, fetchFromGitHub
, autoreconfHook
, pkg-config
, flint
, gmp
, python3
, singular
, ncurses
}:
stdenv.mkDerivation (finalAttrs: {
pname = "pynac";
version = "0.7.29";
src = fetchFromGitHub {
owner = "pynac";
repo = "pynac";
rev = "pynac-${finalAttrs.version}";
hash = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
};
patches = [
# the patch below is included in sage 9.4 and should be included
# in a future pynac release. see https://trac.sagemath.org/ticket/28357
(fetchpatch {
name = "realpartloop.patch";
url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/realpartloop.patch?h=9.4.beta5";
hash = "sha256-1nj0xtlFN5fZKEiRLD+tiW/ZtxMQre1ziEGA0OVUGE4=";
})
];
# Python 3.11 moved this header file, but is now is imported by default
postPatch = ''
substituteInPlace ginac/numeric.cpp \
--replace-fail "#include <longintrepr.h>" ""
'';
buildInputs = [
flint
gmp
singular
python3
ncurses
];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
meta = with lib; {
description = "Python is Not a CAS -- modified version of Ginac";
longDescription = ''
Pynac -- "Python is Not a CAS" is a modified version of Ginac that
replaces the depency of GiNaC on CLN by a dependency instead of Python.
It is a lite version of GiNaC as well, not implementing all the features
of the full GiNaC, and it is *only* meant to be used as a Python library.
'';
homepage = "http://pynac.org";
license = licenses.gpl2Plus;
maintainers = teams.sage.members;
platforms = platforms.unix;
};
})