Merge 'master' into core-updates

This commit is contained in:
Thomas Danckaert 2017-10-16 19:52:30 +02:00
commit 8cff2e7aed
No known key found for this signature in database
GPG key ID: 5C3B064C724A5726
69 changed files with 4811 additions and 1034 deletions

View file

@ -22,8 +22,8 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
@ -4512,7 +4512,8 @@ operators such as union, intersection, and difference.")
(scandir (string-append cwd "/build")))
":"
(getenv "PYTHONPATH"))))
(zero? (system* "python" "-m" "rpy2.tests" "-v")))))))
;; FIXME: Even when all tests pass, the check phase will fail.
(system* "python" "-m" "rpy2.tests" "-v"))))))
(propagated-inputs
`(("python-six" ,python-six)
("python-jinja2" ,python-jinja2)
@ -5133,72 +5134,6 @@ a front-end for C compilers or analysis tools.")
(define-public python2-pycparser
(package-with-python2 python-pycparser))
(define-public python-cffi
(package
(name "python-cffi")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cffi" version))
(sha256
(base32 "1mffyilq4qycm8gs4wkgb18rnqil8a9blqq77chdlshzxc8jkc5k"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(inputs
`(("libffi" ,libffi)))
(propagated-inputs ; required at run-time
`(("python-pycparser" ,python-pycparser)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)
("python-pytest" ,python-pytest)))
(arguments
`(#:modules ((ice-9 ftw)
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(setenv "PYTHONPATH"
(string-append
(getenv "PYTHONPATH")
":" (getcwd) "/build/"
(car (scandir "build" (cut string-prefix? "lib." <>)))))
;; XXX The "normal" approach of setting CC and friends does
;; not work here. Is this the correct way of doing things?
(substitute* "testing/embedding/test_basic.py"
(("c = distutils\\.ccompiler\\.new_compiler\\(\\)")
(string-append "c = distutils.ccompiler.new_compiler();"
"c.set_executables(compiler='gcc',"
"compiler_so='gcc',linker_exe='gcc',"
"linker_so='gcc -shared')")))
(substitute* "testing/cffi0/test_ownlib.py"
(("'cc testownlib") "'gcc testownlib"))
(zero? (system* "py.test" "-v" "c/" "testing/"))))
(add-after 'install 'install-doc
(lambda* (#:key 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")))
(with-directory-excursion "doc"
(system* "make" "html")
(mkdir-p html)
(copy-recursively "build/html" html))
(copy-file "LICENSE" (string-append doc "/LICENSE"))
#t))))))
(home-page "http://cffi.readthedocs.org")
(synopsis "Foreign function interface for Python")
(description
"Foreign Function Interface for Python calling C code.")
(license license:expat)))
(define-public python2-cffi
(package-with-python2 python-cffi))
(define-public python-xcffib
(package
(name "python-xcffib")
@ -5854,6 +5789,12 @@ tools for mocking system commands and recording calls to those.")
("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-jinja2" ,python-jinja2)
("python-jupyter-console"
;; The python-ipython and python-jupyter-console require each
;; other. To get the functionality in both packages working, strip
;; down the python-jupyter-console package when using it as an input
;; to python-ipython.
,python-jupyter-console-minimal)
("python-mistune" ,python-mistune)
("python-pexpect" ,python-pexpect)
("python-pickleshare" ,python-pickleshare)
@ -6607,6 +6548,26 @@ providing a clean and modern domain specific specification language (DSL) in
Python style, together with a fast and comfortable execution environment.")
(license license:expat)))
(define-public python-pyqrcode
(package
(name "python-pyqrcode")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyQRCode" version))
(sha256
(base32
"1m9ln8k9v7dfbh1i81225hx5mdsh8mpf9g7r4wpbfmiyfcs7dgzx"))))
(build-system python-build-system)
(home-page
"https://github.com/mnooner256/pyqrcode")
(synopsis "QR code generator")
(description
"Pyqrcode is a QR code generator written purely in Python with
SVG, EPS, PNG and terminal output.")
(license license:bsd-3)))
(define-public python-seaborn
(package
(name "python-seaborn")
@ -7415,15 +7376,13 @@ add functionality and customization to your projects with their own plugins.")
(define-public python-fonttools
(package
(name "python-fonttools")
(version "2.5")
(version "3.15.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/F/FontTools/"
"fonttools-" version ".tar.gz"))
(uri (pypi-uri "fonttools" version ".zip"))
(sha256
(base32
"08ay3x4ijarwhl60gqx2i9jzq6pxs20p4snc2d1q5jagh4rn39lb"))))
"1hhj97izwliy0vybmza72d90l5d4mcn50y8akq7kyccfl82vdx4d"))))
(build-system python-build-system)
(arguments
'(#:test-target "check"
@ -7437,6 +7396,8 @@ add functionality and customization to your projects with their own plugins.")
(substitute* "setup.py"
(("^[ \t]*extra_path *= *'FontTools',") ""))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "https://github.com/behdad/fonttools")
(synopsis "Tools to manipulate font files")
(description
@ -8560,6 +8521,31 @@ Jupyter kernels such as IJulia and IRKernel.")
(define-public python2-jupyter-console
(package-with-python2 python-jupyter-console))
;; The python-ipython and python-jupyter-console require each other. To get
;; the functionality in both packages working, strip down the
;; python-jupyter-console package when using it as an input to python-ipython.
(define python-jupyter-console-minimal
(package
(inherit python-jupyter-console)
(arguments
(substitute-keyword-arguments
(package-arguments python-jupyter-console)
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'delete-bin
(lambda* (#:key outputs #:allow-other-keys)
;; Delete the bin files, to avoid conflicts in profiles
;; where python-ipython and python-jupyter-console are
;; both present.
(delete-file-recursively
(string-append
(assoc-ref outputs "out") "/bin"))))))))
;; Remove the python-ipython propagated input, to avoid the cycle
(propagated-inputs
(alist-delete
"python-ipython"
(package-propagated-inputs python-jupyter-console)))))
(define-public jupyter
(package
(name "jupyter")
@ -10784,14 +10770,14 @@ introspection of @code{zope.interface} instances in code.")
(define-public python-psycopg2
(package
(name "python-psycopg2")
(version "2.6.2")
(version "2.7.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "psycopg2" version))
(sha256
(base32
"0p60z2gwfcal30y2w8gprflchp1kcg9qblc5rn782p4wxl90wjbh"))))
"0rda1j02ds6s28752fhmpwg761sh6jsxi1gpczqkrd28cki1cywv"))))
(build-system python-build-system)
(arguments
;; Tests would require a postgresql database "psycopg2_test"
@ -11746,13 +11732,13 @@ format.")
(define-public python-twisted
(package
(name "python-twisted")
(version "16.2.0")
(version "17.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "Twisted" version ".tar.bz2"))
(sha256
(base32
"0ydxrp9myw1mvsz3qfzx5579y5llmqa82pxvqchgp5syczffi450"))))
"1p245mg15hkxp7hy5cyq2fgvlgjkb4cg0gwkwd148nzy1bbi3wnv"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; FIXME: Some tests are failing.
@ -11762,7 +11748,10 @@ format.")
;; (lambda _
;; (zero? (system* "./bin/trial" "twisted")))))
(propagated-inputs
`(("python-zope-interface" ,python-zope-interface)))
`(("python-zope-interface" ,python-zope-interface)
("python-incremental" ,python-incremental)
("python-constantly" ,python-constantly)
("python-automat" ,python-automat)))
(home-page "https://twistedmatrix.com/")
(synopsis "Asynchronous networking framework written in Python")
(description
@ -14229,6 +14218,133 @@ Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can
parse many formal languages.")
(license license:gpl2)))
(define-public python-incremental
(package
(name "python-incremental")
(version "17.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "incremental" version))
(sha256
(base32
"1cylxdz1cnkm5g3pklna3h2n0i0rks95ir1pnpxfnvpkmab1cxbv"))))
(build-system python-build-system)
(home-page "https://github.com/hawkowl/incremental")
(synopsis "Library for versioning Python projects")
(description "Incremental is a small library that versions your Python
projects.")
(license license:expat)))
(define-public python2-incremental
(package-with-python2 python-incremental))
(define-public python-automat
(package
(name "python-automat")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "Automat" version))
(sha256
(base32
"1a7nsrljysfmdqmpn2apfa1gg6rfah4y9sizvns8gb08rx7d07rw"))))
(build-system python-build-system)
;; We disable the tests because they require python-twisted, while
;; python-twisted depends on python-automat. Twisted is optional, but the
;; tests fail if it is not available. Also see
;; <https://github.com/glyph/automat/issues/71>.
(arguments '(#:tests? #f))
(native-inputs
`(("python-m2r" ,python-m2r)
("python-setuptools-scm" ,python-setuptools-scm)
("python-graphviz" ,python-graphviz)))
(propagated-inputs
`(("python-six" ,python-six)
("python-attrs" ,python-attrs)))
(home-page "https://github.com/glyph/Automat")
(synopsis "Self-service finite-state machines")
(description "Automat is a library for concise, idiomatic Python
expression of finite-state automata (particularly deterministic finite-state
transducers).")
(license license:expat)))
(define-public python2-automat
(package-with-python2 python-automat))
(define-public python-m2r
(package
(name "python-m2r")
(version "0.1.12")
(source (origin
(method url-fetch)
(uri (pypi-uri "m2r" version))
(sha256
(base32
"1axrwnf425sz4qz3c0qc7yhhki4myzb8rki7pczcsgzznzmqdyxd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-docutils" ,python-docutils)
("python-mistune" ,python-mistune)))
(native-inputs
`(("python-pygments" ,python-pygments)
("python-mock" ,python-mock)))
(home-page "https://github.com/miyakogi/m2r")
(synopsis "Markdown to reStructuredText converter")
(description "M2R converts a markdown file including reST markups to valid
reST format.")
(license license:expat)))
(define-public python2-m2r
(package-with-python2 python-m2r))
(define-public python-constantly
(package
(name "python-constantly")
(version "15.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "constantly" version))
(sha256
(base32
"0dgwdla5kfpqz83hfril716inm41hgn9skxskvi77605jbmp4qsq"))))
(build-system python-build-system)
(home-page "https://github.com/twisted/constantly")
(synopsis "Symbolic constants in Python")
(description "Constantly is a Python library that provides symbolic
constant support. It includes collections and constants with text, numeric,
and bit flag values.")
(license license:expat)))
(define-public python2-constantly
(package-with-python2 python-constantly))
(define-public python-attrs
(package
(name "python-attrs")
(version "17.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "attrs" version))
(sha256
(base32
"04gx08ikpk26wnq22f7l42gapcvk8iz1512r927k6sadz6cinkax"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)
("python-hypothesis" ,python-hypothesis)
("python-zope-interface" ,python-zope-interface)
("python-six" ,python-six)))
(home-page "https://github.com/python-attrs/attrs/")
(synopsis "Attributes without boilerplate")
(description "@code{attrs} is a Python package with class decorators that
ease the chores of implementing the most common attribute-related object
protocols.")
(license license:expat)))
(define-public python2-attrs
(package-with-python2 python-attrs))
(define-public python2-cliapp
(package
(name "python2-cliapp")