1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-17 04:20:44 +02:00

Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2018-09-03 19:20:06 +02:00
commit 70dc8db8e7
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
91 changed files with 4385 additions and 971 deletions

View file

@ -99,6 +99,7 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
@ -3363,14 +3364,14 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
(define-public python-matplotlib
(package
(name "python-matplotlib")
(version "2.2.2")
(version "2.2.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "matplotlib" version))
(sha256
(base32
"1s6dv225w3k4fv52h8lfjc7qq5y56i9755ayx0mz48ddi99fzisd"))))
"1rcc7x9ig3hpchkc4cwdvym3y451w74275fxr455zkfagrsvymbk"))))
(build-system python-build-system)
(propagated-inputs ; the following packages are all needed at run time
`(("python-cycler" ,python-cycler)
@ -3398,7 +3399,8 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
;; object. For this reason we need to import both libraries.
;; https://pythonhosted.org/cairocffi/cffi_api.html#converting-pycairo
("python-pycairo" ,python-pycairo)
("python-pyqt" ,python-pyqt)
;; XXX: qtwebkit cannot be built reliably.
("python-pyqt" ,python-pyqt-without-qtwebkit)
("python-cairocffi" ,python-cairocffi)))
(inputs
`(("libpng" ,libpng)
@ -3649,6 +3651,18 @@ functions.")
(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"
@ -7267,7 +7281,7 @@ applications.")
(description "With apipkg you can control the exported namespace of a Python
package and greatly reduce the number of imports for your users. It is a small
pure Python module that works on virtually all Python versions.")
(home-page "https://bitbucket.org/hpk42/apipkg")
(home-page "https://github.com/pytest-dev/apipkg")
(license license:expat)))
(define-public python2-apipkg
@ -13821,3 +13835,112 @@ Let's Encrypt.")
development that supports command line argument parsing, command string
validation testing and application logic.")
(license license:expat)))
;; Make sure to upgrade python-llvmlite in (gnu packages llvm) together with
;; python-numba. They have a very unflexible relationship.
(define-public python-numba
(package
(name "python-numba")
(version "0.39.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "numba" version))
(sha256
(base32
"1bibvkwga1v8293i9ivl469d8bzgabn3vgr2ig7c1i68v8frsx07"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build python-build-system)
(ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-proprietary-features
(lambda _
(setenv "NUMBA_DISABLE_HSA" "1")
(setenv "NUMBA_DISABLE_CUDA" "1")
#t))
(add-after 'unpack 'remove-failing-tests
(lambda _
;; FIXME: these tests fail for unknown reasons:
;; test_non_writable_pycache, test_non_creatable_pycache, and
;; test_frozen (all in numba.tests.test_dispatcher.TestCache).
(substitute* "numba/tests/test_dispatcher.py"
(("def test(_non_writable_pycache)" _ m)
(string-append "def guix_skip" m))
(("def test(_non_creatable_pycache)" _ m)
(string-append "def guix_skip" m))
(("def test(_frozen)" _ m)
(string-append "def guix_skip" m)))
;; These tests fail because we don't run the tests from the build
;; directory: test_setup_py_distutils, test_setup_py_setuptools
;; They ar in numba.tests.test_pycc.TestDistutilsSupport.
(substitute* "numba/tests/test_pycc.py"
(("def test(_setup_py_distutils|_setup_py_setuptools)" _ m)
(string-append "def guix_skip" m)))
#t))
(replace 'check
(lambda _
(let ((cwd (getcwd)))
(setenv "PYTHONPATH"
(string-append cwd "/build/"
(find (cut string-prefix? "lib" <>)
(scandir (string-append cwd "/build")))
":"
(getenv "PYTHONPATH")))
;; Something is wrong with the PYTHONPATH when running the
;; tests from the build directory, as it complains about not being
;; able to import certain modules.
(with-directory-excursion "/tmp"
(invoke "python3" "-m" "numba.runtests" "-v" "-m")))
#t)))))
(propagated-inputs
`(("python-llvmlite" ,python-llvmlite)
("python-numpy" ,python-numpy)
("python-singledispatch" ,python-singledispatch)))
;; Needed for tests.
(inputs
`(("python-jinja2" ,python-jinja2)
("python-pygments" ,python-pygments)))
(home-page "https://numba.pydata.org")
(synopsis "Compile Python code using LLVM")
(description "Numba gives you the power to speed up your applications with
high performance functions written directly in Python. With a few
annotations, array-oriented and math-heavy Python code can be just-in-time
compiled to native machine instructions, similar in performance to C, C++ and
Fortran, without having to switch languages or Python interpreters.
Numba works by generating optimized machine code using the LLVM compiler
infrastructure at import time, runtime, or statically (using the included pycc
tool).")
(license license:bsd-3)))
(define-public python-anndata
(package
(name "python-anndata")
(version "0.6.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "anndata" version))
(sha256
(base32
"1fh461xyyc7pcrjfgd013bdc2alf53r46ss3gfw3431mbb1gappi"))))
(build-system python-build-system)
(propagated-inputs
`(("python-h5py" ,python-h5py)
("python-natsort" ,python-natsort)
("python-pandas" ,python-pandas)
("python-scipy" ,python-scipy)))
(home-page "https://github.com/theislab/anndata")
(synopsis "Annotated data for data analysis pipelines")
(description "Anndata is a package for simple (functional) high-level APIs
for data analysis pipelines. In this context, it provides an efficient,
scalable way of keeping track of data together with learned annotations and
reduces the code overhead typically encountered when using a mostly
object-oriented library such as @code{scikit-learn}.")
(license license:bsd-3)))