tmuxPlugins.catppucin: unstable-2024-05-16 -> 2.1.2 (#379030)
[NixPkgs.git] / pkgs / development / python-modules / gmpy2 / default.nix
bloba2755f507e5eaf2c483ac77973b66544285ef3e2
2   lib,
3   stdenv,
4   buildPythonPackage,
5   fetchFromGitHub,
6   isPyPy,
7   pythonOlder,
8   setuptools,
9   gmp,
10   mpfr,
11   libmpc,
12   pytestCheckHook,
13   hypothesis,
14   cython,
15   mpmath,
16   # Reverse dependency
17   sage,
20 buildPythonPackage rec {
21   pname = "gmpy2";
22   version = "2.2.0a2";
23   pyproject = true;
25   disabled = isPyPy || pythonOlder "3.7";
27   src = fetchFromGitHub {
28     owner = "aleaxit";
29     repo = "gmpy";
30     tag = "gmpy2-${version}";
31     hash = "sha256-luLEDEY1cezhzZo4fXmM/MUg2YyAaz7n0HwSpbNayP8=";
32   };
34   build-system = [ setuptools ];
36   buildInputs = [
37     gmp
38     mpfr
39     libmpc
40   ];
42   # make relative imports in tests work properly
43   preCheck = ''
44     rm gmpy2 -r
45   '';
47   nativeCheckInputs = [
48     pytestCheckHook
49     hypothesis
50     cython
51     mpmath
52   ];
54   disabledTests =
55     lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [
56       # issue with some overflow logic
57       "test_mpz_to_bytes"
58       "test_mpz_from_bytes"
59     ]
60     ++ lib.optionals stdenv.hostPlatform.isDarwin [
61       # TypeError: mpq() requires numeric or string argument
62       # not sure why it only fails on Darwin
63       "test_mpq_from_Decimal"
64     ];
66   pythonImportsCheck = [ "gmpy2" ];
68   passthru.tests = {
69     inherit sage;
70   };
72   meta = {
73     changelog = "https://github.com/aleaxit/gmpy/blob/${src.rev}/docs/history.rst";
74     description = "Interface to GMP, MPFR, and MPC for Python 3.7+";
75     homepage = "https://github.com/aleaxit/gmpy/";
76     license = lib.licenses.lgpl3Plus;
77     maintainers = with lib.maintainers; [ tomasajt ];
78   };