tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
python312Packages.gmpy2: 2.1.2 -> 2.2.0a2, refactor, adopt
TomaSajt
2 years ago
f91cd16b
9f7053ff
+56
-25
1 changed file
expand all
collapse all
unified
split
pkgs
development
python-modules
gmpy2
default.nix
+56
-25
pkgs/development/python-modules/gmpy2/default.nix
···
1
-
{ lib
2
-
, buildPythonPackage
3
-
, fetchFromGitHub
4
-
, isPyPy
5
-
, gmp
6
-
, mpfr
7
-
, libmpc
8
-
9
-
# Reverse dependency
10
-
, sage
0
0
0
0
0
0
0
11
}:
12
13
-
let
14
pname = "gmpy2";
15
-
version = "2.1.2";
16
-
format = "setuptools";
17
-
in
18
-
19
-
buildPythonPackage {
20
-
inherit pname version;
21
22
-
disabled = isPyPy;
23
24
src = fetchFromGitHub {
25
owner = "aleaxit";
26
repo = "gmpy";
27
-
rev = "gmpy2-${version}";
28
-
hash = "sha256-ARCttNzRA+Ji2j2NYaSCDXgvoEg01T9BnYadyqON2o0=";
29
};
30
31
-
buildInputs = [ gmp mpfr libmpc ];
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
33
pythonImportsCheck = [ "gmpy2" ];
34
35
-
passthru.tests = { inherit sage; };
0
0
36
37
-
meta = with lib; {
38
-
description = "GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x";
0
39
homepage = "https://github.com/aleaxit/gmpy/";
40
-
license = licenses.gpl3Plus;
0
41
};
42
}
···
1
+
{
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,
18
}:
19
20
+
buildPythonPackage rec {
21
pname = "gmpy2";
22
+
version = "2.2.0a2";
23
+
pyproject = true;
0
0
0
0
24
25
+
disabled = isPyPy || pythonOlder "3.7";
26
27
src = fetchFromGitHub {
28
owner = "aleaxit";
29
repo = "gmpy";
30
+
rev = "refs/tags/gmpy2-${version}";
31
+
hash = "sha256-luLEDEY1cezhzZo4fXmM/MUg2YyAaz7n0HwSpbNayP8=";
32
};
33
34
+
build-system = [ setuptools ];
35
+
36
+
buildInputs = [
37
+
gmp
38
+
mpfr
39
+
libmpc
40
+
];
41
+
42
+
# make relative imports in tests work properly
43
+
preCheck = ''
44
+
rm gmpy2 -r
45
+
'';
46
+
47
+
nativeCheckInputs = [
48
+
pytestCheckHook
49
+
hypothesis
50
+
cython
51
+
mpmath
52
+
];
53
+
54
+
disabledTests = lib.optionals (stdenv.isLinux && stdenv.isAarch64) [
55
+
# issue with some overflow logic
56
+
"test_mpz_to_bytes"
57
+
"test_mpz_from_bytes"
58
+
];
59
60
pythonImportsCheck = [ "gmpy2" ];
61
62
+
passthru.tests = {
63
+
inherit sage;
64
+
};
65
66
+
meta = {
67
+
changelog = "https://github.com/aleaxit/gmpy/blob/${src.rev}/docs/history.rst";
68
+
description = "Interface to GMP, MPFR, and MPC for Python 3.7+";
69
homepage = "https://github.com/aleaxit/gmpy/";
70
+
license = lib.licenses.lgpl3Plus;
71
+
maintainers = with lib.maintainers; [ tomasajt ];
72
};
73
}