From 4f296cbaeb91370a4ff226485e5d47f5ff082201 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 29 Jul 2017 12:14:17 +0200 Subject: [PATCH] python.pkgs.cython: move expression --- .../python-modules/Cython/default.nix | 57 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 45 +-------------- 2 files changed, 58 insertions(+), 44 deletions(-) create mode 100644 pkgs/development/python-modules/Cython/default.nix diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix new file mode 100644 index 000000000000..9d09b93ed20b --- /dev/null +++ b/pkgs/development/python-modules/Cython/default.nix @@ -0,0 +1,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 ]; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a127da66d84f..53c4a139eea4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3504,50 +3504,7 @@ in { }; }; - cython = buildPythonPackage rec { - name = "Cython-${version}"; - version = "0.25.2"; - - src = pkgs.fetchurl { - url = "mirror://pypi/C/Cython/${name}.tar.gz"; - 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 = optionalString ((stdenv.isi686 || stdenv.isArm) && !isPy3k) '' - sed -i -e 's/\(>>> *\)\(verify_resolution_GH1533()\)/\1int(\2)/' \ - tests/run/cpdef_enums.pyx - ''; - - buildInputs = with self; [ pkgs.glibcLocales pkgs.pkgconfig pkgs.gdb ]; - # For testing - nativeBuildInputs = with self; [ numpy pkgs.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"; - platforms = platforms.all; - homepage = http://cython.org; - license = licenses.asl20; - maintainers = with maintainers; [ fridh ]; - }; - }; + cython = callPackage ../development/python-modules/Cython { }; cytoolz = buildPythonPackage rec { name = "cytoolz-${version}";