diff options
author | Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> | 2015-06-02 15:10:37 +0200 |
---|---|---|
committer | Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> | 2015-06-12 12:57:30 +0200 |
commit | 71f80f548741fa61fa3bc2039c296feb1a25d4de (patch) | |
tree | 592b2704909de7da6fb10ee4233898e3767088f4 | |
parent | 741115b6490c111f9db7b86964b13bdb22fd6dd0 (diff) | |
download | guix-71f80f548741fa61fa3bc2039c296feb1a25d4de.tar.gz |
gnu: Add python-libsvm.
* gnu/packages/machine-learning.scm (python-libsvm): New variable.
-rw-r--r-- | gnu/packages/machine-learning.scm | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 78d7e649a9..b35e9b72c6 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -22,7 +22,8 @@ #:use-module (guix utils) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (gnu packages)) + #:use-module (gnu packages) + #:use-module (gnu packages python)) (define-public libsvm (package @@ -63,3 +64,35 @@ classification, (C-SVC, nu-SVC), regression (epsilon-SVR, nu-SVR) and distribution estimation (one-class SVM). It supports multi-class classification.") (license license:bsd-3))) + +(define-public python-libsvm + (package (inherit libsvm) + (name "python-libsvm") + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no "check" target + #:make-flags '("-C" "python") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace + 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((site (string-append (assoc-ref outputs "out") + "/lib/python" + (string-take + (string-take-right + (assoc-ref inputs "python") 5) 3) + "/site-packages/"))) + (substitute* "python/svm.py" + (("../libsvm.so.2") "libsvm.so.2")) + (mkdir-p site) + (for-each (lambda (file) + (copy-file file (string-append site (basename file)))) + (find-files "python" "\\.py")) + (copy-file "libsvm.so.2" + (string-append site "libsvm.so.2"))) + #t))))) + (inputs + `(("python" ,python))) + (synopsis "Python bindings of libSVM"))) |