From b9e7cdb367518547be3d8bc535828a0d1f1ac96e Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 20 Oct 2014 19:52:45 +0200 Subject: [PATCH] gnu: Add Cython * gnu/packages/python.scm(cython,cython2): New variables --- gnu/packages/python.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 897e248..f8503c3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -37,6 +37,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages databases) #:use-module (gnu packages zip) + #:use-module (gnu packages gcc) #:use-module (gnu packages multiprecision) #:use-module (guix packages) #:use-module (guix download) @@ -1832,3 +1833,52 @@ sources.") (define-public python2-sphinx (package-with-python2 python-sphinx)) + +(define-public cython + (package + (name "cython") + (version "0.21.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://cython.org/release/Cython-" + version ".tar.gz")) + (sha256 + (base32 + "0ddz2l2dvcy5hdkxx4xlfiwpccvwia7ixgcy4h0pdv46a4i4vxj3")))) + (build-system python-build-system) + (inputs + `(("python" ,python))) ; otherwise ld doesn't find libpython3.3m.so + (arguments + `(#:phases + (alist-replace + 'build + (lambda* (#:key outputs inputs + #:allow-other-keys #:rest args) + (let ((build (assoc-ref %standard-phases 'build))) + (setenv "HOME" "/tmp") ; some tests require access to "$HOME/.cython" + (apply build args))) + (alist-replace + 'check + (lambda _ (zero? + (system* "python" + "runtests.py" + "-vv"))) + %standard-phases)))) + (home-page "http://cython.org/") + (synopsis "C extensions for Python") + (description "Cython is an optimising static compiler for both the Python +programming language and the extended Cython programming language. It makes +writing C extensions for Python as easy as Python itself.") + (license asl2.0))) + +(define-public cython2 + (package + (inherit cython) + (name "cython2") + (build-system python-build-system) + (inputs + `(("python-2" ,python-2))) + (arguments + `(#:python ,python-2 ,@(package-arguments cython))))) -- 1.8.4