mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: shogun: Move package to machine-learning.scm.
* gnu/packages/bioinformatics.scm (shogun): Move from here... * gnu/packages/machine-learning.scm (shogun): ...to here.
This commit is contained in:
parent
365481116c
commit
c1670a8196
2 changed files with 143 additions and 140 deletions
|
@ -46,7 +46,6 @@ (define-module (gnu packages bioinformatics)
|
|||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tbb)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages vim)
|
||||
|
@ -2476,145 +2475,6 @@ (define-public subread
|
|||
against local background noises.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public shogun
|
||||
(package
|
||||
(name "shogun")
|
||||
(version "4.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"ftp://shogun-toolbox.org/shogun/releases/"
|
||||
(version-major+minor version)
|
||||
"/sources/shogun-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"159nlijnb7mnrv9za80wnm1shwvy45hgrqzn51hxy7gw4z6d6fdb"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 rdelim)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove non-free sources and files referencing them
|
||||
(for-each delete-file
|
||||
(find-files "src/shogun/classifier/svm/"
|
||||
"SVMLight\\.(cpp|h)"))
|
||||
(for-each delete-file
|
||||
(find-files "examples/undocumented/libshogun/"
|
||||
(string-append
|
||||
"(classifier_.*svmlight.*|"
|
||||
"evaluation_cross_validation_locked_comparison).cpp")))
|
||||
;; Remove non-free functions.
|
||||
(define (delete-ifdefs file)
|
||||
(with-atomic-file-replacement file
|
||||
(lambda (in out)
|
||||
(let loop ((line (read-line in 'concat))
|
||||
(skipping? #f))
|
||||
(if (eof-object? line)
|
||||
#t
|
||||
(let ((skip-next?
|
||||
(or (and skipping?
|
||||
(not (string-prefix?
|
||||
"#endif //USE_SVMLIGHT" line)))
|
||||
(string-prefix?
|
||||
"#ifdef USE_SVMLIGHT" line))))
|
||||
(when (or (not skipping?)
|
||||
(and skipping? (not skip-next?)))
|
||||
(display line out))
|
||||
(loop (read-line in 'concat) skip-next?)))))))
|
||||
(for-each delete-ifdefs (find-files "src/shogun/kernel/"
|
||||
"^Kernel\\.(cpp|h)"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no check target
|
||||
#:phases
|
||||
(alist-cons-after
|
||||
'unpack 'delete-broken-symlinks
|
||||
(lambda _
|
||||
(for-each delete-file '("applications/arts/data"
|
||||
"applications/asp/data"
|
||||
"applications/easysvm/data"
|
||||
"applications/msplicer/data"
|
||||
"applications/ocr/data"
|
||||
"examples/documented/data"
|
||||
"examples/documented/matlab_static"
|
||||
"examples/documented/octave_static"
|
||||
"examples/undocumented/data"
|
||||
"examples/undocumented/matlab_static"
|
||||
"examples/undocumented/octave_static"
|
||||
"tests/integration/data"
|
||||
"tests/integration/matlab_static"
|
||||
"tests/integration/octave_static"
|
||||
"tests/integration/python_modular/tests"))
|
||||
#t)
|
||||
(alist-cons-after
|
||||
'unpack 'change-R-target-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* '("src/interfaces/r_modular/CMakeLists.txt"
|
||||
"src/interfaces/r_static/CMakeLists.txt"
|
||||
"examples/undocumented/r_modular/CMakeLists.txt")
|
||||
(("\\$\\{R_COMPONENT_LIB_PATH\\}")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/lib/R/library/")))
|
||||
#t)
|
||||
(alist-cons-after
|
||||
'unpack 'fix-octave-modules
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* '("src/interfaces/octave_modular/CMakeLists.txt"
|
||||
"src/interfaces/octave_static/CMakeLists.txt")
|
||||
(("^include_directories\\(\\$\\{OCTAVE_INCLUDE_DIRS\\}")
|
||||
"include_directories(${OCTAVE_INCLUDE_DIRS} ${OCTAVE_INCLUDE_DIRS}/octave"))
|
||||
|
||||
;; change target directory
|
||||
(substitute* "src/interfaces/octave_modular/CMakeLists.txt"
|
||||
(("\\$\\{OCTAVE_OCT_LOCAL_API_FILE_DIR\\}")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/octave/packages")))
|
||||
#t)
|
||||
(alist-cons-before
|
||||
'build 'set-HOME
|
||||
;; $HOME needs to be set at some point during the build phase
|
||||
(lambda _ (setenv "HOME" "/tmp") #t)
|
||||
%standard-phases))))
|
||||
#:configure-flags
|
||||
(list "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
|
||||
"-DUSE_SVMLIGHT=OFF" ;disable proprietary SVMLIGHT
|
||||
;;"-DJavaModular=ON" ;requires unpackaged jblas
|
||||
;;"-DRubyModular=ON" ;requires unpackaged ruby-narray
|
||||
;;"-DPerlModular=ON" ;"FindPerlLibs" does not exist
|
||||
;;"-DLuaModular=ON" ;fails because lua doesn't build pkgconfig file
|
||||
"-DOctaveModular=ON"
|
||||
"-DOctaveStatic=ON"
|
||||
"-DPythonModular=ON"
|
||||
"-DPythonStatic=ON"
|
||||
"-DRModular=ON"
|
||||
"-DRStatic=ON"
|
||||
"-DCmdLineStatic=ON")))
|
||||
(inputs
|
||||
`(("python" ,python)
|
||||
("numpy" ,python-numpy)
|
||||
("r" ,r)
|
||||
("octave" ,octave)
|
||||
("swig" ,swig)
|
||||
("hdf5" ,hdf5)
|
||||
("atlas" ,atlas)
|
||||
("arpack" ,arpack-ng)
|
||||
("lapack" ,lapack)
|
||||
("glpk" ,glpk)
|
||||
("libxml2" ,libxml2)
|
||||
("lzo" ,lzo)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://shogun-toolbox.org/")
|
||||
(synopsis "Machine learning toolbox")
|
||||
(description
|
||||
"The Shogun Machine learning toolbox provides a wide range of unified and
|
||||
efficient Machine Learning (ML) methods. The toolbox seamlessly allows to
|
||||
combine multiple data representations, algorithm classes, and general purpose
|
||||
tools. This enables both rapid prototyping of data pipelines and extensibility
|
||||
in terms of new algorithms.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public vcftools
|
||||
(package
|
||||
(name "vcftools")
|
||||
|
|
|
@ -21,13 +21,17 @@ (define-module (gnu packages machine-learning)
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public libsvm
|
||||
|
@ -144,3 +148,142 @@ (define-public randomjungle
|
|||
value imputation, classifier creation, generalization error estimation and
|
||||
sample proximities between pairs of cases.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public shogun
|
||||
(package
|
||||
(name "shogun")
|
||||
(version "4.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"ftp://shogun-toolbox.org/shogun/releases/"
|
||||
(version-major+minor version)
|
||||
"/sources/shogun-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"159nlijnb7mnrv9za80wnm1shwvy45hgrqzn51hxy7gw4z6d6fdb"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 rdelim)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove non-free sources and files referencing them
|
||||
(for-each delete-file
|
||||
(find-files "src/shogun/classifier/svm/"
|
||||
"SVMLight\\.(cpp|h)"))
|
||||
(for-each delete-file
|
||||
(find-files "examples/undocumented/libshogun/"
|
||||
(string-append
|
||||
"(classifier_.*svmlight.*|"
|
||||
"evaluation_cross_validation_locked_comparison).cpp")))
|
||||
;; Remove non-free functions.
|
||||
(define (delete-ifdefs file)
|
||||
(with-atomic-file-replacement file
|
||||
(lambda (in out)
|
||||
(let loop ((line (read-line in 'concat))
|
||||
(skipping? #f))
|
||||
(if (eof-object? line)
|
||||
#t
|
||||
(let ((skip-next?
|
||||
(or (and skipping?
|
||||
(not (string-prefix?
|
||||
"#endif //USE_SVMLIGHT" line)))
|
||||
(string-prefix?
|
||||
"#ifdef USE_SVMLIGHT" line))))
|
||||
(when (or (not skipping?)
|
||||
(and skipping? (not skip-next?)))
|
||||
(display line out))
|
||||
(loop (read-line in 'concat) skip-next?)))))))
|
||||
(for-each delete-ifdefs (find-files "src/shogun/kernel/"
|
||||
"^Kernel\\.(cpp|h)"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no check target
|
||||
#:phases
|
||||
(alist-cons-after
|
||||
'unpack 'delete-broken-symlinks
|
||||
(lambda _
|
||||
(for-each delete-file '("applications/arts/data"
|
||||
"applications/asp/data"
|
||||
"applications/easysvm/data"
|
||||
"applications/msplicer/data"
|
||||
"applications/ocr/data"
|
||||
"examples/documented/data"
|
||||
"examples/documented/matlab_static"
|
||||
"examples/documented/octave_static"
|
||||
"examples/undocumented/data"
|
||||
"examples/undocumented/matlab_static"
|
||||
"examples/undocumented/octave_static"
|
||||
"tests/integration/data"
|
||||
"tests/integration/matlab_static"
|
||||
"tests/integration/octave_static"
|
||||
"tests/integration/python_modular/tests"))
|
||||
#t)
|
||||
(alist-cons-after
|
||||
'unpack 'change-R-target-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* '("src/interfaces/r_modular/CMakeLists.txt"
|
||||
"src/interfaces/r_static/CMakeLists.txt"
|
||||
"examples/undocumented/r_modular/CMakeLists.txt")
|
||||
(("\\$\\{R_COMPONENT_LIB_PATH\\}")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/lib/R/library/")))
|
||||
#t)
|
||||
(alist-cons-after
|
||||
'unpack 'fix-octave-modules
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* '("src/interfaces/octave_modular/CMakeLists.txt"
|
||||
"src/interfaces/octave_static/CMakeLists.txt")
|
||||
(("^include_directories\\(\\$\\{OCTAVE_INCLUDE_DIRS\\}")
|
||||
"include_directories(${OCTAVE_INCLUDE_DIRS} ${OCTAVE_INCLUDE_DIRS}/octave"))
|
||||
|
||||
;; change target directory
|
||||
(substitute* "src/interfaces/octave_modular/CMakeLists.txt"
|
||||
(("\\$\\{OCTAVE_OCT_LOCAL_API_FILE_DIR\\}")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/octave/packages")))
|
||||
#t)
|
||||
(alist-cons-before
|
||||
'build 'set-HOME
|
||||
;; $HOME needs to be set at some point during the build phase
|
||||
(lambda _ (setenv "HOME" "/tmp") #t)
|
||||
%standard-phases))))
|
||||
#:configure-flags
|
||||
(list "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
|
||||
"-DUSE_SVMLIGHT=OFF" ;disable proprietary SVMLIGHT
|
||||
;;"-DJavaModular=ON" ;requires unpackaged jblas
|
||||
;;"-DRubyModular=ON" ;requires unpackaged ruby-narray
|
||||
;;"-DPerlModular=ON" ;"FindPerlLibs" does not exist
|
||||
;;"-DLuaModular=ON" ;fails because lua doesn't build pkgconfig file
|
||||
"-DOctaveModular=ON"
|
||||
"-DOctaveStatic=ON"
|
||||
"-DPythonModular=ON"
|
||||
"-DPythonStatic=ON"
|
||||
"-DRModular=ON"
|
||||
"-DRStatic=ON"
|
||||
"-DCmdLineStatic=ON")))
|
||||
(inputs
|
||||
`(("python" ,python)
|
||||
("numpy" ,python-numpy)
|
||||
("r" ,r)
|
||||
("octave" ,octave)
|
||||
("swig" ,swig)
|
||||
("hdf5" ,hdf5)
|
||||
("atlas" ,atlas)
|
||||
("arpack" ,arpack-ng)
|
||||
("lapack" ,lapack)
|
||||
("glpk" ,glpk)
|
||||
("libxml2" ,libxml2)
|
||||
("lzo" ,lzo)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://shogun-toolbox.org/")
|
||||
(synopsis "Machine learning toolbox")
|
||||
(description
|
||||
"The Shogun Machine learning toolbox provides a wide range of unified and
|
||||
efficient Machine Learning (ML) methods. The toolbox seamlessly allows to
|
||||
combine multiple data representations, algorithm classes, and general purpose
|
||||
tools. This enables both rapid prototyping of data pipelines and extensibility
|
||||
in terms of new algorithms.")
|
||||
(license license:gpl3+)))
|
||||
|
|
Loading…
Reference in a new issue