;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2016, 2017, 2018, 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
+ #:use-module (gnu packages enchant)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
(define-public python-babel
(package
(name "python-babel")
- (version "2.7.0")
+ (version "2.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Babel" version))
(sha256
(base32
- "0a7wawx8vsg7igvz6p3x909fskhg4b2y1910xk4f4c8y22p3aqg8"))))
+ "0f0f2vvs1mpdpz2c0mg1mnc3sih8bizmc1h9m67kdsnqs3i2mb0s"))))
(build-system python-build-system)
(native-inputs
`(("python-freezegun" ,python-freezegun)
(define-public python2-jdcal
(package-with-python2 python-jdcal))
+(define-public python-jsondiff
+ (package
+ (name "python-jsondiff")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jsondiff" version))
+ (sha256
+ (base32
+ "00v3689175aqzdscrxpffm712ylp8jvcpqdg51ca22ni6721p51l"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)
+ ("python-nose-random" ,python-nose-random)))
+ (home-page
+ "https://github.com/fzumstein/jsondiff")
+ (synopsis "Compare JSON and JSON-like structures in Python")
+ (description "@code{jsondiff} is a Python library which lets you
+compare, diff, and patch JSON and JSON-like structures in Python.")
+ (license license:expat)))
+
(define-public python-jsonschema
(package
(name "python-jsonschema")
(package
(name "python-pympler")
(home-page "https://pythonhosted.org/Pympler/")
- (version "0.7")
+ (version "0.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "Pympler" version))
(sha256
(base32
- "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs"))))
+ "08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
;; Only setup.py is gpl3+, everything else is apache 2.0 licensed.
(license (list license:asl2.0 license:gpl3+))))
+(define-public python-anytree
+ (package
+ (name "python-anytree")
+ (version "2.8.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "anytree" version))
+ (sha256
+ (base32
+ "1aycpc387wqz7h9w2p53qxn43qsh3m6by6ak4kkc66x9aprr63rz"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-six" ,python-six)))
+ (native-inputs
+ `(;; For tests.
+ ("graphviz" ,graphviz) ;for 'dot'
+ ("python-nose" ,python-nose)))
+ (home-page "https://github.com/c0fec0de/anytree")
+ (synopsis "Lightweight tree data library")
+ (description
+ "@code{anytree} is a simple, lightweight, and extensible tree data
+structure for Python.")
+ (license license:asl2.0)))
+
(define-public python-docutils
(package
(name "python-docutils")
(define-public python-pygments
(package
(name "python-pygments")
- (version "2.4.2")
+ (version "2.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Pygments" version))
(sha256
(base32
- "15v2sqm5g12bqa0c7wikfh9ck2nl97ayizy1hpqhmws5gqalq748"))))
+ "1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests require sphinx, which depends on this.
'(#:tests? #f))
- (home-page "http://pygments.org/")
+ (home-page "https://pygments.org/")
(synopsis "Syntax highlighting")
(description
"Pygments is a syntax highlighting package written in Python.")
@end itemize")
(license license:asl2.0)))
+(define-public python-rstr
+ (package
+ (name "python-rstr")
+ (version "2.2.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rstr" version))
+ (sha256
+ (base32
+ "197dw8mbq0pjjz1l6h1ksi62vgn7x55d373ch74y06744qiq5sjx"))))
+ (build-system python-build-system)
+ (home-page
+ "http://bitbucket.org/leapfrogdevelopment/rstr/overview")
+ (synopsis "Generate random strings in Python")
+ (description "This package provides a python module for generating
+random strings of various types. It could be useful for fuzz testing,
+generating dummy data, or other applications. It has no dependencies
+outside the standard library.")
+ (license license:bsd-3)))
+
(define-public python-scp
(package
(name "python-scp")
(define-public python-language-server
(package
(name "python-language-server")
- (version "0.31.6")
+ (version "0.31.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
- "0cqrffd5272p2hifa35rf1h1g6dss741jmjkwa43jninifmbz0df"))))
+ "0f8rljff4h2ay9m2n9ang7axai37nzd39zd7m6c90rci5wh8cmxh"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
(define-public python-cython
(package
(name "python-cython")
- (version "0.29.13")
+ (version "0.29.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
(base32
- "13k37lrcgagwwnzr5bzririsscb793vndj234d475x1h9ad0d7f2"))))
+ "0c5cjyxfvba6c0vih1fvhywp8bpz30vwvbjqdm1q1k55xzhmkn30"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
(add-before 'check 'set-HOME
;; some tests require access to "$HOME/.cython"
(lambda _ (setenv "HOME" "/tmp") #t))
-
- ;; FIXME: These tests started failing on armhf after the 0.28 update
- ;; (commit c69d11c5930), both with an error such as this:
- ;; compiling (cpp) and running dictcomp ...
- ;; === C/C++ compiler error output: ===
- ;; ‘
- ;; dictcomp.cpp:5221: confused by earlier errors, bailing out
- ;; See <https://hydra.gnu.org/build/2948724> for logs.
- ,@(if (target-arm32?)
- `((add-before 'check 'disable-failing-tests
- (lambda _
- (let ((disabled-tests (open-file "tests/bugs.txt" "a")))
- (for-each (lambda (test)
- (format disabled-tests "~a\n" test))
- '("memslice" "dictcomp"))
- (close-port disabled-tests)))))
- '())
-
(replace 'check
(lambda _
;; Disable compiler optimizations to greatly reduce the running
(define-public python-markdown
(package
(name "python-markdown")
- (version "3.1.1")
+ (version "3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Markdown" version))
(sha256
(base32
- "0yhylk4ffqqs7x086fav4pnfsl1021v7lghznzkififprmmqfl1f"))))
+ "1gwqrhrp0n9xllgmjc8n1p260968kr0dd2jncjkj4r617q61imss"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)
Markdown. The library features international input, various Markdown
extensions, and several HTML output formats. A command line wrapper
markdown_py is also provided to convert Markdown files to HTML.")
+ (properties `((python2-variant . ,(delay python2-markdown))))
(license license:bsd-3)))
+;; Markdown 3.2 dropped support for Python 2.
(define-public python2-markdown
- (package-with-python2 python-markdown))
+ (let ((base (package-with-python2 (strip-python2-variant python-markdown))))
+ (package/inherit
+ base
+ (version "3.1.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Markdown" version))
+ (sha256
+ (base32
+ "0yhylk4ffqqs7x086fav4pnfsl1021v7lghznzkififprmmqfl1f")))))))
(define-public python-ptyprocess
(package
(define-public python-pip
(package
(name "python-pip")
- (version "19.2.1")
+ (version "20.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pip" version))
(sha256
(base32
- "100sd12ss4mbdj5lf3wawad29cm573b27765mq098x6xhcj71395"))))
+ "0zwnlsjn6mb742cr995zfbk9v56ygxp8w3k49601r9by9kmcic3x"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; there are no tests in the pypi archive.
;; Modules are either GPLv2+ or GPLv3+.
(license license:gpl3+)))
-(define-public python2-debian
- (package-with-python2 python-debian))
-
(define-public python-nbformat
(package
(name "python-nbformat")
`(; FIXME: Missing: ("python-pytest-timeout" ,python-pytest-timeout)
("python-pytest" ,python-pytest) ; >= 2.3.5
("python-setuptools-scm" ,python-setuptools-scm)))
- (home-page "http://tox.testrun.org/")
+ (home-page "https://tox.readthedocs.io")
(synopsis "Virtualenv-based automation of test activities")
(description "Tox is a generic virtualenv management and test command line
tool. It can be used to check that a package installs correctly with
(define-public python-mako
(package
(name "python-mako")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Mako" version))
(sha256
(base32
- "0jqa3qfpykyn4fmkn0kh6043sfls7br8i2bsdbccazcvk9cijsd3"))))
+ "193mds7lv91pphnvn6c1n55rhjkgq94asdzgrsb2fiqx7rrsd119"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(define-public python-cleo
(package
(name "python-cleo")
- (version "0.6.8")
+ (version "0.7.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "cleo" version))
(sha256
(base32
- "06zp695hq835rkaq6irr1ds1dp2qfzyf32v60vxpd8rcnxv319l5"))))
+ "02dlc0rn43zgvw0s5v4j80bca9n1jfpwy3r78gn9qjgk0qj39kwr"))))
(build-system python-build-system)
(native-inputs
`( ;; For testing
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-backpack" ,python-backpack)
+ ("python-clikit" ,python-clikit)
("python-pastel" ,python-pastel)
("python-pylev" ,python-pylev)))
(home-page "https://github.com/sdispater/cleo")
(define-public python-tomlkit
(package
(name "python-tomlkit")
- (version "0.5.7")
+ (version "0.5.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tomlkit" version))
(sha256
(base32
- "18820ga5z3if1w8dvykxrfm000akracq01ic402xrbljgbn5grn4"))))
+ "0sf2a4q61kf344hjbw8kb6za1hlccl89j9lzqw0l2zpddp0hrh9j"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(define-public python-clikit
(package
(name "python-clikit")
- (version "0.2.4")
+ (version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "clikit" version))
(sha256
(base32
- "0dc8czib5f4j9px1ivcpqnmivnx2zjpc0xb00ldrhsqylks7r06n"))))
+ "10gab65pq0jdf589n33sj2513pxal2lisl4xwf1ijysdjxmpdr4a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pastel" ,python-pastel)
(define-public python-snowballstemmer
(package
(name "python-snowballstemmer")
- (version "1.2.1")
+ (version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "snowballstemmer" version))
(sha256
(base32
- "0a0idq4y5frv7qsg2x62jd7rd272749xk4x99misf5rcifk2d7wi"))))
+ "0ligk61idlz8kkgd5hpip5whm172riwglb6xydii7h62yhysqfyz"))))
(build-system python-build-system)
(arguments
`(;; No tests exist
(define-public python-parso
(package
(name "python-parso")
- (version "0.5.1")
+ (version "0.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parso" version))
(sha256
(base32
- "171a9ivhxwsd52h1cgsz40zgzpgzscn7yqb7sdjhy8m1lzj0wsv6"))))
+ "1qgvrkpma7vylrk047mxxvqd66nwqk978n3ig2w8iz9m3bgjbksm"))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(build-system python-build-system)
(define-public pybind11
(package
(name "pybind11")
- (version "2.3.0")
+ (version "2.4.3")
(source (origin
(method git-fetch)
(uri (git-reference
(commit (string-append "v" version))))
(sha256
(base32
- "11b6dniri8m05spfd2a19irz82shf4sdca73566bniggrf3zclnf"))
+ "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(native-inputs
- `(("python" ,python)
- ("python-pytest" ,python-pytest)))
+ `(("python" ,python-wrapper)
+
+ ;; The following dependencies are used for tests.
+ ("python-pytest" ,python-pytest)
+ ("catch" ,catch-framework2-1)
+ ("eigen" ,eigen)))
(arguments
- `(#:test-target "check"))
+ `(#:configure-flags
+ (list (string-append "-DCATCH_INCLUDE_DIR="
+ (assoc-ref %build-inputs "catch")
+ "/include/catch"))
+
+ #:phases (modify-phases %standard-phases
+ (add-after 'install 'install-python
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "../source"
+ (setenv "PYBIND11_USE_CMAKE" "yes")
+ (invoke "python" "setup.py" "install"
+ "--single-version-externally-managed"
+ "--root=/"
+ (string-append "--prefix=" out)))))))
+
+ #:test-target "check"))
(home-page "https://github.com/pybind/pybind11/")
(synopsis "Seamless operability between C++11 and Python")
- (description "pybind11 is a lightweight header-only library that exposes
-C++ types in Python and vice versa, mainly to create Python bindings of
-existing C++ code. Its goals and syntax are similar to the excellent
-Boost.Python library by David Abrahams: to minimize boilerplate code in
-traditional extension modules by inferring type information using compile-time
-introspection.")
- (license license:expat)))
+ (description
+ "@code{pybind11} is a lightweight header-only library that exposes C++
+types in Python and vice versa, mainly to create Python bindings of existing
+C++ code. Its goals and syntax are similar to the @code{Boost.Python}
+library: to minimize boilerplate code in traditional extension modules by
+inferring type information using compile-time introspection.")
+ (license license:bsd-3)))
(define-public python-fasteners
(package
GSSAPI C libraries. While it focuses on the Kerberos mechanism, it should
also be useable with other GSSAPI mechanisms.")
(license license:isc)))
+
+(define-public python-check-manifest
+ (package
+ (name "python-check-manifest")
+ (version "0.37")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "check-manifest" version))
+ (sha256
+ (base32
+ "0lk45ifdv2cpkl6ayfyix7jwmnxa1rha7xvb0ih5999k115wzqs4"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-mock" ,python-mock)
+ ("git" ,git)))
+ (home-page "https://github.com/mgedmin/check-manifest")
+ (synopsis "Check MANIFEST.in in a Python source package for completeness")
+ (description "Python package can include a MANIFEST.in file to help with
+sending package files to the Python Package Index. This package checks that
+file to ensure it completely and accurately describes your project.")
+ (license license:expat)))
+
+(define-public python-android-stringslib
+ (package
+ (name "python-android-stringslib")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://framagit.org/tyreunom/python-android-strings-lib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gij55qzzq1h83kfpvhai1vf78kkhyvxa6l17m2nl24454lhfin4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f))
+ (home-page "https://framagit.org/tyreunom/python-android-strings-lib")
+ (synopsis "Android strings.xml support")
+ (description "Android Strings Lib provides support for android's strings.xml
+files. These files are used to translate strings in android apps.")
+ (license license:expat)))
+
+(define-public python-watchdog
+ (package
+ (name "python-watchdog")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "watchdog" version))
+ (sha256
+ (base32
+ "07cnvvlpif7a6cg4rav39zq8fxa5pfqawchr46433pij0y6napwn"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'remove-failing
+ (lambda _
+ (delete-file "tests/test_inotify_buffer.py")
+ (delete-file "tests/test_snapshot_diff.py")
+ #t)))))
+ (propagated-inputs
+ `(("python-argh" ,python-argh)
+ ("python-pathtools" ,python-pathtools)
+ ("python-pyyaml" ,python-pyyaml)))
+ (native-inputs
+ `(("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-timeout" ,python-pytest-timeout)))
+ (home-page "https://github.com/gorakhargosh/watchdog")
+ (synopsis "Filesystem events monitoring")
+ (description "This package provides a way to monitor filesystem events
+such as a file modification and trigger an action. This is similar to inotify,
+but portable.")
+ (license license:asl2.0)))
+
+(define-public offlate
+ (package
+ (name "offlate")
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://framagit.org/tyreunom/offlate")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "13pqnbl05wcyldfvl75fp89vjgwsvxyc69vhnb17kkha2rc2k1h7"))))
+ (build-system python-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("python-android-stringslib" ,python-android-stringslib)
+ ("python-dateutil" ,python-dateutil)
+ ("python-gitlab" ,python-gitlab)
+ ("python-lxml" ,python-lxml)
+ ("python-polib" ,python-polib)
+ ("python-pyenchant" ,python-pyenchant)
+ ("python-pygit2" ,python-pygit2)
+ ("python-pygithub" ,python-pygithub)
+ ("python-pyqt" ,python-pyqt)
+ ("python-requests" ,python-requests)
+ ("python-ruamel.yaml" ,python-ruamel.yaml)
+ ("python-translation-finder" ,python-translation-finder)
+ ("python-watchdog" ,python-watchdog)))
+ (native-inputs
+ `(("qttools" ,qttools)))
+ (home-page "https://framagit.org/tyreunom/offlate")
+ (synopsis "Offline translation interface for online translation tools")
+ (description "Offlate offers a unified interface for different translation
+file formats, as well as many different online translation platforms. You can
+use it to get work from online platforms, specialized such as the Translation
+Project, or not such a gitlab instance when your upstream doesn't use any
+dedicated platform. The tool proposes a unified interface for any format and
+an upload option to send your work back to the platform.")
+ (license license:gpl3+)))
+
+(define-public python-pypng
+ (package
+ (name "python-pypng")
+ (version "0.0.20")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pypng" version))
+ (sha256
+ (base32 "02qpa22ls41vwsrzw9r9qhj1nhq05p03hb5473pay6y980s86chh"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/drj11/pypng")
+ (synopsis "Pure Python PNG image encoder/decoder")
+ (description
+ "The PyPNG module implements support for PNG images. It reads and writes
+PNG files with all allowable bit depths (1/2/4/8/16/24/32/48/64 bits per
+pixel) and colour combinations: greyscale (1/2/4/8/16 bit); RGB, RGBA,
+LA (greyscale with alpha) with 8/16 bits per channel; colour mapped
+images (1/2/4/8 bit). Adam7 interlacing is supported for reading and writing.
+A number of optional chunks can be specified (when writing) and
+understood (when reading): tRNS, bKGD, gAMA.
+
+PyPNG is not a high level toolkit for image processing (like PIL) and does not
+aim at being a replacement or competitor. Its strength lies in fine-grained
+extensive support of PNG features. It can also read and write Netpbm PAM
+files, with a focus on its use as an intermediate format for implementing
+custom PNG processing.")
+ (license license:expat)))