mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00: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 @@
|
||||||
#:use-module (gnu packages protobuf)
|
#:use-module (gnu packages protobuf)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages statistics)
|
#:use-module (gnu packages statistics)
|
||||||
#:use-module (gnu packages swig)
|
|
||||||
#:use-module (gnu packages tbb)
|
#:use-module (gnu packages tbb)
|
||||||
#:use-module (gnu packages textutils)
|
#:use-module (gnu packages textutils)
|
||||||
#:use-module (gnu packages vim)
|
#:use-module (gnu packages vim)
|
||||||
|
@ -2476,145 +2475,6 @@ features; exactSNP: a SNP caller that discovers SNPs by testing signals
|
||||||
against local background noises.")
|
against local background noises.")
|
||||||
(license license:gpl3+)))
|
(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
|
(define-public vcftools
|
||||||
(package
|
(package
|
||||||
(name "vcftools")
|
(name "vcftools")
|
||||||
|
|
|
@ -21,13 +21,17 @@
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix build-system cmake)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages gcc)
|
#:use-module (gnu packages gcc)
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages statistics)
|
||||||
|
#:use-module (gnu packages swig)
|
||||||
#:use-module (gnu packages xml))
|
#:use-module (gnu packages xml))
|
||||||
|
|
||||||
(define-public libsvm
|
(define-public libsvm
|
||||||
|
@ -144,3 +148,142 @@ learning method. Most interesting features are variable selection, missing
|
||||||
value imputation, classifier creation, generalization error estimation and
|
value imputation, classifier creation, generalization error estimation and
|
||||||
sample proximities between pairs of cases.")
|
sample proximities between pairs of cases.")
|
||||||
(license license:gpl3+)))
|
(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…
Add table
Add a link
Reference in a new issue