blob: 9d09b93ed20b2e84ef5b02d87c7c05d0f82c0d0c (
plain) (
blame)
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
|
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, isPy3k
, python
, glibcLocales
, pkgconfig
, gdb
, numpy
, ncurses
}:
buildPythonPackage rec {
pname = "Cython";
name = "${pname}-${version}";
version = "0.25.2";
src = fetchPypi {
inherit pname version;
sha256 = "01h3lrf6d98j07iakifi81qjszh6faa37ibx7ylva1vsqbwx2hgi";
};
# With Python 2.x on i686-linux or 32-bit ARM this test fails because the
# result is "3L" instead of "3", so let's fix it in-place.
#
# Upstream issue: https://github.com/cython/cython/issues/1548
postPatch = lib.optionalString ((stdenv.isi686 || stdenv.isArm) && !isPy3k) ''
sed -i -e 's/\(>>> *\)\(verify_resolution_GH1533()\)/\1int(\2)/' \
tests/run/cpdef_enums.pyx
'';
buildInputs = [ glibcLocales pkgconfig gdb ];
# For testing
nativeBuildInputs = [ numpy ncurses ];
LC_ALL = "en_US.UTF-8";
# cython's testsuite is not working very well with libc++
# We are however optimistic about things outside of testsuite still working
checkPhase = ''
export HOME="$NIX_BUILD_TOP"
${python.interpreter} runtests.py \
${if stdenv.cc.isClang or false then ''--exclude="(cpdef_extern_func|libcpp_algo)"'' else ""}
'';
# Disable tests temporarily
# https://github.com/cython/cython/issues/1676
doCheck = false;
meta = {
description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
homepage = http://cython.org;
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fridh ];
};
}
|