From d14dbf6e006b29b93152134c724265cb0b65e41f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 23 Feb 2015 17:22:29 +0100 Subject: [PATCH] gnu: Add Scikit-learn. * gnu/packages/python.scm (python-scikit-learn, python2-scikit-learn): New variables. --- gnu/packages/python.scm | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e19d707..88e99d7 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1960,6 +1960,71 @@ sources.") (define-public python2-sphinx-rtd-theme (package-with-python2 python-sphinx-rtd-theme)) +(define-public python-scikit-learn + (package + (name "python-scikit-learn") + (version "0.15.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/scikit-learn/scikit-learn/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1rb93h2q15f219sz60sczjb65rg70xjmnp0q4pkkaairx5s05q55")))) + (build-system python-build-system) + (arguments + `(#:phases + (alist-cons-before + 'build 'set-environment-variables + (lambda* (#:key inputs #:allow-other-keys) + (let* ((atlas-threaded + (string-append (assoc-ref inputs "atlas") + "/lib/libtatlas.so")) + ;; On single core CPUs only the serial library is created. + (atlas-lib + (if (file-exists? atlas-threaded) + atlas-threaded + (string-append (assoc-ref inputs "atlas") + "/lib/libsatlas.so")))) + (setenv "ATLAS" atlas-lib))) + (alist-cons-before + 'check 'set-HOME + ;; some tests require access to "$HOME" + (lambda _ (setenv "HOME" "/tmp")) + ;; Tests can only be run after the library has been installed and not + ;; within the source directory. + (alist-cons-after + 'install 'check + (lambda _ + (with-directory-excursion "/tmp" + ;; With Python 3 one test of 3334 fails + ;; (sklearn.tests.test_common.test_transformers); see + ;; https://github.com/scikit-learn/scikit-learn/issues/3693 + (system* "nosetests" "-v" "sklearn"))) + (alist-delete 'check %standard-phases)))))) + (inputs + `(("atlas" ,atlas) + ("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-nose" ,python-nose))) + (home-page "http://scikit-learn.org/") + (synopsis "Machine Learning in Python") + (description + "Scikit-learn provides simple and efficient tools for data +mining and data analysis.") + (license bsd-3))) + +(define-public python2-scikit-learn + (let ((scikit (package-with-python2 python-scikit-learn))) + (package (inherit python-scikit-learn) + (name "python2-scikit-learn") + (propagated-inputs + `(("python2-py2cairo" ,python2-py2cairo) + ,@(alist-delete "python-pycairo" + (package-propagated-inputs scikit))))))) + (define-public python-cython (package (name "python-cython") -- 2.1.0