biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / science / math / pynac / default.nix
blob1389a5a77ece97cbea35ca5f81306cbd5841b70c
1 { lib, stdenv
2 , fetchpatch
3 , fetchFromGitHub
4 , autoreconfHook
5 , pkg-config
6 , flint
7 , gmp
8 , python3
9 , singular
10 , ncurses
13 stdenv.mkDerivation (finalAttrs: {
14   pname = "pynac";
15   version = "0.7.29";
17   src = fetchFromGitHub {
18     owner = "pynac";
19     repo = "pynac";
20     rev = "pynac-${finalAttrs.version}";
21     hash = "sha256-ocR7emXtKs+Xe2f6dh4xEDAacgiolY8mtlLnWnNBS8A=";
22   };
24   patches = [
25     # the patch below is included in sage 9.4 and should be included
26     # in a future pynac release. see https://trac.sagemath.org/ticket/28357
27     (fetchpatch {
28       name = "realpartloop.patch";
29       url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/realpartloop.patch?h=9.4.beta5";
30       hash = "sha256-1nj0xtlFN5fZKEiRLD+tiW/ZtxMQre1ziEGA0OVUGE4=";
31     })
32   ];
34   # Python 3.11 moved this header file, but is now is imported by default
35   postPatch = ''
36     substituteInPlace ginac/numeric.cpp \
37         --replace-fail "#include <longintrepr.h>" ""
38   '';
40   buildInputs = [
41     flint
42     gmp
43     singular
44     python3
45     ncurses
46   ];
48   nativeBuildInputs = [
49     autoreconfHook
50     pkg-config
51   ];
53   meta = with lib; {
54     description = "Python is Not a CAS -- modified version of Ginac";
55     longDescription = ''
56       Pynac -- "Python is Not a CAS" is a modified version of Ginac that
57       replaces the depency of GiNaC on CLN by a dependency instead of Python.
58       It is a lite version of GiNaC as well, not implementing all the features
59       of the full GiNaC, and it is *only* meant to be used as a Python library.
60     '';
61     homepage    = "http://pynac.org";
62     license = licenses.gpl2Plus;
63     maintainers = teams.sage.members;
64     platforms   = platforms.unix;
65   };