me
/
guix
Archived
1
0
Fork 0

gnu: python-scipy: Move to (gnu packages python-science).

* gnu/packages/python-xyz.scm (python-scipy, python2-scipy): Move these from
here...
* gnu/packages/python-science.scm (python-scipy, python2-scipy): ...to here.
* gnu/packages/bioinformatics.scm, gnu/packages/machine-learning.scm,
gnu/packages/statistics.scm: Adjust module imports.
master
Ricardo Wurmus 2019-12-02 14:04:39 +01:00
parent ca7c365312
commit ec1224a73b
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
5 changed files with 129 additions and 119 deletions

View File

@ -105,6 +105,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)

View File

@ -69,6 +69,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)

View File

@ -24,12 +24,138 @@
(define-module (gnu packages python-science)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages gcc)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system python))
(define-public python-scipy
(package
(name "python-scipy")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
(base32 "192d8dsybvhv19igkrsafbdafx198nz7pibkjgrqjhlr66s3jfd0"))))
(build-system python-build-system)
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)
("python-pyparsing" ,python-pyparsing)))
(inputs
`(("lapack" ,lapack)
("openblas" ,openblas)))
(native-inputs
`(("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc)
("gfortran" ,gfortran)
("perl" ,perl)
("which" ,which)))
(outputs '("out" "doc"))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-broken-tests
(lambda _
(substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
(("^( +)def test_threads_parallel\\(self\\):" m indent)
(string-append indent
"@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
m)))
(substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
(("^def test_parallel_threads\\(\\):" m)
(string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
m)))
#t))
(add-before 'build 'configure-openblas
(lambda* (#:key inputs #:allow-other-keys)
(call-with-output-file "site.cfg"
(lambda (port)
(format port
"[blas]
libraries = openblas
library_dirs = ~a/lib
include_dirs = ~a/include
# backslash-n to make emacs happy
\n[atlas]
library_dirs = ~a/lib
atlas_libs = openblas
"
(assoc-ref inputs "openblas")
(assoc-ref inputs "openblas")
(assoc-ref inputs "openblas"))))
#t))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html"))
(pyver ,(string-append "PYVER=" (version-major+minor
(package-version python))))
;; By default it tries to run sphinx-build through the Python
;; interpreter which won't work with our shell wrapper.
(sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
;; Make installed package available for building the
;; documentation
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "doc"
;; Fix generation of images for mathematical expressions.
(substitute* (find-files "source" "conf\\.py")
(("pngmath_use_preview = True")
"pngmath_use_preview = False"))
(mkdir-p html)
(invoke "make" "html" pyver sphinxbuild)
(with-directory-excursion "build/html"
(for-each (lambda (file)
(let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir)))
(install-file file html)))
(find-files "." ".*")))))
#t))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "/tmp"
(invoke "python" "-c"
"import scipy; scipy.test(verbose=2)")))))))
(home-page "https://www.scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
the SciPy stack. It provides many user-friendly and efficient numerical
routines such as routines for numerical integration and optimization.")
(properties `((python2-variant . ,(delay python2-scipy))))
(license license:bsd-3)))
;; Version 1.2.2 is the last version to support Python 2
(define-public python2-scipy
(package
(inherit (package-with-python2
(strip-python2-variant python-scipy)))
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
(base32
"1cgvgin8fvckv96hjh3ikmwkra5rif51bdb75ifzf7xbil5iwcx4"))))))
(define-public python-scikit-image
(package
(name "python-scikit-image")

View File

@ -4277,125 +4277,6 @@ those files. It can also efficiently manipulate ranges of integers using set
operators such as union, intersection, and difference.")
(license license:asl2.0)))
(define-public python-scipy
(package
(name "python-scipy")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
(base32 "192d8dsybvhv19igkrsafbdafx198nz7pibkjgrqjhlr66s3jfd0"))))
(build-system python-build-system)
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-matplotlib" ,python-matplotlib)
("python-pyparsing" ,python-pyparsing)))
(inputs
`(("lapack" ,lapack)
("openblas" ,openblas)))
(native-inputs
`(("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-sphinx" ,python-sphinx)
("python-numpydoc" ,python-numpydoc)
("gfortran" ,gfortran)
("perl" ,perl)
("which" ,which)))
(outputs '("out" "doc"))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-broken-tests
(lambda _
(substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
(("^( +)def test_threads_parallel\\(self\\):" m indent)
(string-append indent
"@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
m)))
(substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
(("^def test_parallel_threads\\(\\):" m)
(string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
m)))
#t))
(add-before 'build 'configure-openblas
(lambda* (#:key inputs #:allow-other-keys)
(call-with-output-file "site.cfg"
(lambda (port)
(format port
"[blas]
libraries = openblas
library_dirs = ~a/lib
include_dirs = ~a/include
# backslash-n to make emacs happy
\n[atlas]
library_dirs = ~a/lib
atlas_libs = openblas
"
(assoc-ref inputs "openblas")
(assoc-ref inputs "openblas")
(assoc-ref inputs "openblas"))))
#t))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html"))
(pyver ,(string-append "PYVER=" (version-major+minor
(package-version python))))
;; By default it tries to run sphinx-build through the Python
;; interpreter which won't work with our shell wrapper.
(sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
;; Make installed package available for building the
;; documentation
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "doc"
;; Fix generation of images for mathematical expressions.
(substitute* (find-files "source" "conf\\.py")
(("pngmath_use_preview = True")
"pngmath_use_preview = False"))
(mkdir-p html)
(invoke "make" "html" pyver sphinxbuild)
(with-directory-excursion "build/html"
(for-each (lambda (file)
(let* ((dir (dirname file))
(tgt-dir (string-append html "/" dir)))
(install-file file html)))
(find-files "." ".*")))))
#t))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(delete 'check)
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "/tmp"
(invoke "python" "-c"
"import scipy; scipy.test(verbose=2)")))))))
(home-page "https://www.scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
the SciPy stack. It provides many user-friendly and efficient numerical
routines such as routines for numerical integration and optimization.")
(properties `((python2-variant . ,(delay python2-scipy))))
(license license:bsd-3)))
;; Version 1.2.2 is the last version to support Python 2
(define-public python2-scipy
(package
(inherit (package-with-python2
(strip-python2-variant python-scipy)))
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
(base32
"1cgvgin8fvckv96hjh3ikmwkra5rif51bdb75ifzf7xbil5iwcx4"))))))
(define-public python-socksipy-branch
(package
(name "python-socksipy-branch")

View File

@ -66,6 +66,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages sphinx)