diff options
Diffstat (limited to 'pkgs/development/python-modules/gmpy2/default.nix')
-rw-r--r-- | pkgs/development/python-modules/gmpy2/default.nix | 84 |
1 files changed, 63 insertions, 21 deletions
diff --git a/pkgs/development/python-modules/gmpy2/default.nix b/pkgs/development/python-modules/gmpy2/default.nix index b5a602d4f222f..58f4cc08f6720 100644 --- a/pkgs/development/python-modules/gmpy2/default.nix +++ b/pkgs/development/python-modules/gmpy2/default.nix @@ -1,37 +1,79 @@ -{ lib -, buildPythonPackage -, fetchFromGitHub -, isPyPy -, gmp -, mpfr -, libmpc +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + isPyPy, + pythonOlder, + setuptools, + gmp, + mpfr, + libmpc, + pytestCheckHook, + hypothesis, + cython, + mpmath, + # Reverse dependency + sage, }: -let +buildPythonPackage rec { pname = "gmpy2"; - version = "2.1.2"; - format = "setuptools"; -in + version = "2.2.0a2"; + pyproject = true; -buildPythonPackage { - inherit pname version; - - disabled = isPyPy; + disabled = isPyPy || pythonOlder "3.7"; src = fetchFromGitHub { owner = "aleaxit"; repo = "gmpy"; - rev = "gmpy2-${version}"; - hash = "sha256-ARCttNzRA+Ji2j2NYaSCDXgvoEg01T9BnYadyqON2o0="; + rev = "refs/tags/gmpy2-${version}"; + hash = "sha256-luLEDEY1cezhzZo4fXmM/MUg2YyAaz7n0HwSpbNayP8="; }; - buildInputs = [ gmp mpfr libmpc ]; + build-system = [ setuptools ]; + + buildInputs = [ + gmp + mpfr + libmpc + ]; + + # make relative imports in tests work properly + preCheck = '' + rm gmpy2 -r + ''; + + nativeCheckInputs = [ + pytestCheckHook + hypothesis + cython + mpmath + ]; + + disabledTests = + lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ + # issue with some overflow logic + "test_mpz_to_bytes" + "test_mpz_from_bytes" + ] + ++ lib.optionals stdenv.isDarwin [ + # TypeError: mpq() requires numeric or string argument + # not sure why it only fails on Darwin + "test_mpq_from_Decimal" + ]; pythonImportsCheck = [ "gmpy2" ]; - meta = with lib; { - description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x"; + passthru.tests = { + inherit sage; + }; + + meta = { + changelog = "https://github.com/aleaxit/gmpy/blob/${src.rev}/docs/history.rst"; + description = "Interface to GMP, MPFR, and MPC for Python 3.7+"; homepage = "https://github.com/aleaxit/gmpy/"; - license = licenses.gpl3Plus; + license = lib.licenses.lgpl3Plus; + maintainers = with lib.maintainers; [ tomasajt ]; }; } |