1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
{ sage-src
, perl
, buildPythonPackage
, arb
, openblasCompat
, brial
, cliquer
, cypari2
, cysignals
, cython
, ecl
, eclib
, ecm
, flint
, gd
, givaro
, glpk
, gsl
, iml
, jinja2
, lcalc
, lrcalc
, gap
, linbox
, m4ri
, m4rie
, libmpc
, mpfi
, ntl
, numpy
, pari
, pkgconfig
, pkg-config
, planarity
, ppl
, pynac
, python
, ratpoints
, readline
, rankwidth
, symmetrica
, zn_poly
, fflas-ffpack
, boost
, singular
, pip
, jupyter_core
, libhomfly
, libbraiding
}:
# This is the core sage python package. Everything else is just wrappers gluing
# stuff together. It is not very useful on its own though, since it will not
# find many of its dependencies without `sage-env`, will not be tested without
# `sage-tests` and will not have html docs without `sagedoc`.
buildPythonPackage rec {
format = "other";
version = src.version;
name = "sagelib-${version}";
src = sage-src;
nativeBuildInputs = [
iml
perl
jupyter_core
pkg-config
];
buildInputs = [
gd
readline
];
propagatedBuildInputs = [
cypari2
jinja2
numpy
pkgconfig
boost
arb
brial
cliquer
ecl
eclib
ecm
fflas-ffpack
flint
givaro
glpk
gsl
lcalc
gap
libmpc
linbox
lrcalc
m4ri
m4rie
mpfi
ntl
openblasCompat
pari
planarity
ppl
pynac
rankwidth
ratpoints
singular
symmetrica
zn_poly
pip
cython
cysignals
libhomfly
libbraiding
];
buildPhase = ''
export SAGE_ROOT="$PWD"
export SAGE_LOCAL="$SAGE_ROOT"
export SAGE_SHARE="$SAGE_LOCAL/share"
export JUPYTER_PATH="$SAGE_LOCAL/jupyter"
export PATH="$SAGE_ROOT/build/bin:$SAGE_ROOT/src/bin:$PATH"
export SAGE_NUM_THREADS="$NIX_BUILD_CORES"
mkdir -p "$SAGE_SHARE/sage/ext/notebook-ipython"
mkdir -p "var/lib/sage/installed"
cd src
source bin/sage-dist-helpers
${python.interpreter} -u setup.py --no-user-cfg build
'';
installPhase = ''
${python.interpreter} -u setup.py --no-user-cfg install --prefix=$out
rm -r "$out/${python.sitePackages}/sage/cython_debug"
'';
}
|