tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
python312Packages.symengine: fix build
Moraxyc
2 years ago
a3ca2bbf
25f5ac01
+37
-19
1 changed file
expand all
collapse all
unified
split
pkgs
development
python-modules
symengine
default.nix
+37
-19
pkgs/development/python-modules/symengine/default.nix
···
1
-
{ lib
2
-
, buildPythonPackage
3
-
, fetchFromGitHub
4
-
, cython
5
-
, cmake
6
-
, symengine
7
-
, pytest
8
-
, sympy
9
-
, python
0
0
0
10
}:
11
12
buildPythonPackage rec {
13
pname = "symengine";
14
version = "0.11.0";
15
-
format = "setuptools";
0
0
16
17
src = fetchFromGitHub {
18
owner = "symengine";
···
21
hash = "sha256-uUMcNnynE2itIwc7IGFwxveqLRL8f4dAAcaD6FUWJaY=";
22
};
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
postPatch = ''
25
substituteInPlace setup.py \
26
-
--replace "\"cmake\"" "\"${cmake}/bin/cmake\"" \
27
-
--replace "'cython>=0.29.24'" "'cython'"
0
0
28
'';
29
30
nativeBuildUnputs = [ cmake ];
31
32
buildInputs = [ cython ];
33
34
-
nativeCheckInputs = [ pytest sympy ];
35
-
36
-
setupPyBuildFlags = [
37
-
"--symengine-dir=${symengine}/"
38
-
"--define=\"CYTHON_BIN=${cython}/bin/cython\""
39
];
40
41
checkPhase = ''
42
-
mkdir empty
43
-
cd empty
44
${python.interpreter} ../bin/test_python.py
45
'';
46
···
1
+
{
2
+
lib,
3
+
buildPythonPackage,
4
+
fetchFromGitHub,
5
+
fetchpatch,
6
+
cython,
7
+
cmake,
8
+
symengine,
9
+
pytest,
10
+
sympy,
11
+
python,
12
+
setuptools,
13
}:
14
15
buildPythonPackage rec {
16
pname = "symengine";
17
version = "0.11.0";
18
+
19
+
build-system = [ setuptools ];
20
+
pyproject = true;
21
22
src = fetchFromGitHub {
23
owner = "symengine";
···
26
hash = "sha256-uUMcNnynE2itIwc7IGFwxveqLRL8f4dAAcaD6FUWJaY=";
27
};
28
29
+
env = {
30
+
SymEngine_DIR = "${symengine}";
31
+
};
32
+
33
+
patches = [
34
+
# Distutils has been removed in python 3.12
35
+
# See https://github.com/symengine/symengine.py/pull/478
36
+
(fetchpatch {
37
+
name = "no-distutils.patch";
38
+
url = "https://github.com/symengine/symengine.py/pull/478/commits/e72006d5f7425cd50c54b22766e0ed4bcd2dca85.patch";
39
+
hash = "sha256-kGJRGkBgxOfI1wf88JwnSztkOYd1wvg62H7wA6CcYEQ=";
40
+
})
41
+
];
42
+
43
postPatch = ''
44
substituteInPlace setup.py \
45
+
--replace-fail "\"cmake\"" "\"${lib.getExe' cmake "cmake"}\"" \
46
+
--replace-fail "'cython>=0.29.24'" "'cython'"
47
+
48
+
export PATH=${cython}/bin:$PATH
49
'';
50
51
nativeBuildUnputs = [ cmake ];
52
53
buildInputs = [ cython ];
54
55
+
nativeCheckInputs = [
56
+
pytest
57
+
sympy
0
0
58
];
59
60
checkPhase = ''
61
+
mkdir empty && cd empty
0
62
${python.interpreter} ../bin/test_python.py
63
'';
64