[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: Merge remote-tracking branch 'origin/master' into core-updates-fr
From: |
guix-commits |
Subject: |
01/01: Merge remote-tracking branch 'origin/master' into core-updates-frozen |
Date: |
Sun, 5 Dec 2021 13:18:20 -0500 (EST) |
rekado pushed a commit to branch core-updates-frozen
in repository guix.
commit 9bc0f45df5d6aed217020b1183dca54989844fb0
Merge: 6db3c53 10554e0
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Sun Dec 5 19:17:41 2021 +0100
Merge remote-tracking branch 'origin/master' into core-updates-frozen
Makefile.am | 8 +-
build-aux/build-self.scm | 2 +-
doc/contributing.texi | 7 +-
doc/guix.texi | 51 +-
etc/news.scm | 15 +
gnu/bootloader/grub.scm | 3 +-
gnu/home/services/shells.scm | 4 +-
gnu/installer/parted.scm | 55 +-
gnu/local.mk | 7 +-
gnu/packages/admin.scm | 35 +-
gnu/packages/assembly.scm | 4 +-
gnu/packages/astronomy.scm | 57 +-
gnu/packages/audio.scm | 55 +
gnu/packages/aux-files/emacs/guix-emacs.el | 34 +-
.../linux-libre/{5.14-arm.conf => 5.15-arm.conf} | 247 +-
.../{5.14-arm64.conf => 5.15-arm64.conf} | 312 +-
.../linux-libre/{5.14-i686.conf => 5.15-i686.conf} | 284 +-
.../{5.14-x86_64.conf => 5.15-x86_64.conf} | 309 +-
gnu/packages/backup.scm | 4 +-
gnu/packages/bioconductor.scm | 284 +-
gnu/packages/bioinformatics.scm | 294 +-
gnu/packages/bootloaders.scm | 9 +-
gnu/packages/busybox.scm | 20 +-
gnu/packages/ci.scm | 6 +-
gnu/packages/cluster.scm | 4 +-
gnu/packages/code.scm | 25 +-
gnu/packages/compression.scm | 42 +-
gnu/packages/coq.scm | 77 +-
gnu/packages/cpp.scm | 38 +-
gnu/packages/cran.scm | 659 +-
gnu/packages/databases.scm | 18 +-
gnu/packages/dav.scm | 5 +-
gnu/packages/dictionaries.scm | 10 +-
gnu/packages/diffoscope.scm | 4 +-
gnu/packages/django.scm | 8 +-
gnu/packages/dns.scm | 12 +-
gnu/packages/ebook.scm | 38 +
gnu/packages/emacs-xyz.scm | 261 +-
gnu/packages/emacs.scm | 32 +-
gnu/packages/emulators.scm | 6 +-
gnu/packages/engineering.scm | 40 +
gnu/packages/file-systems.scm | 14 +-
gnu/packages/finance.scm | 106 +-
gnu/packages/game-development.scm | 15 +-
gnu/packages/games.scm | 12 +-
gnu/packages/gnome.scm | 4 +-
gnu/packages/gnuzilla.scm | 321 +-
gnu/packages/golang.scm | 137 +-
gnu/packages/guile-xyz.scm | 255 +-
gnu/packages/hardware.scm | 8 +-
gnu/packages/haskell-apps.scm | 14 +-
gnu/packages/image-viewers.scm | 53 +-
gnu/packages/java.scm | 40 +-
gnu/packages/julia-xyz.scm | 66 +
gnu/packages/kde.scm | 7 +-
gnu/packages/language.scm | 2 +-
gnu/packages/less.scm | 4 +-
gnu/packages/linux.scm | 193 +-
gnu/packages/lisp-xyz.scm | 290 +-
gnu/packages/lisp.scm | 4 +-
gnu/packages/machine-learning.scm | 15 +-
gnu/packages/mail.scm | 32 +-
gnu/packages/mastodon.scm | 11 +-
gnu/packages/maths.scm | 5 +-
gnu/packages/mes.scm | 5 +-
gnu/packages/messaging.scm | 45 +-
gnu/packages/mpd.scm | 4 +-
gnu/packages/mpi.scm | 12 +-
gnu/packages/networking.scm | 203 +-
gnu/packages/nss.scm | 18 +-
gnu/packages/ocaml.scm | 408 +-
gnu/packages/package-management.scm | 12 +-
gnu/packages/parallel.scm | 4 +-
gnu/packages/patches/coq-fix-envvars.patch | 139 +
gnu/packages/patches/dynaconf-unvendor-deps.patch | 179 +
gnu/packages/patches/icecat-78-makeicecat.patch | 110 -
gnu/packages/patches/icecat-CVE-2021-43527.patch | 354 +
gnu/packages/patches/nss-CVE-2021-43527.patch | 354 +
.../patches/racket-minimal-backport-1629887.patch | 28 -
.../patches/u-boot-rk3399-enable-emmc-phy.patch | 26 +
gnu/packages/patches/yggdrasil-extra-config.patch | 78 +-
gnu/packages/perl-check.scm | 4 +-
gnu/packages/perl.scm | 8 +-
gnu/packages/php.scm | 8 +-
gnu/packages/python-check.scm | 29 +-
gnu/packages/python-web.scm | 155 +-
gnu/packages/python-xyz.scm | 1124 +-
gnu/packages/racket.scm | 13 +-
gnu/packages/radio.scm | 1 +
gnu/packages/ruby.scm | 8 +-
gnu/packages/security-token.scm | 50 +-
gnu/packages/ssh.scm | 21 +-
gnu/packages/statistics.scm | 75 +-
gnu/packages/suckless.scm | 13 +-
gnu/packages/terminals.scm | 38 +-
gnu/packages/text-editors.scm | 4 +-
gnu/packages/textutils.scm | 4 +-
gnu/packages/video.scm | 105 +-
gnu/packages/vim.scm | 35 +-
gnu/packages/virtualization.scm | 8 +-
gnu/packages/vpn.scm | 9 +-
gnu/packages/web-browsers.scm | 64 +-
gnu/packages/web.scm | 4 +-
gnu/packages/wm.scm | 43 +
gnu/packages/xdisorg.scm | 14 +-
gnu/packages/xorg.scm | 4 +-
gnu/services/admin.scm | 2 +-
gnu/services/auditd.scm | 2 +-
gnu/services/authentication.scm | 4 +-
gnu/services/avahi.scm | 2 +-
gnu/services/base.scm | 26 +-
gnu/services/cgit.scm | 4 +-
gnu/services/cuirass.scm | 4 +-
gnu/services/cups.scm | 4 +-
gnu/services/databases.scm | 6 +-
gnu/services/dbus.scm | 6 +-
gnu/services/dns.scm | 8 +-
gnu/services/docker.scm | 8 +-
gnu/services/file-sharing.scm | 2 +-
gnu/services/ganeti.scm | 20 +-
gnu/services/getmail.scm | 2 +-
gnu/services/hurd.scm | 4 +-
gnu/services/lirc.scm | 2 +-
gnu/services/mail.scm | 6 +-
gnu/services/mcron.scm | 2 +-
gnu/services/messaging.scm | 4 +-
gnu/services/monitoring.scm | 6 +-
gnu/services/networking.scm | 10 +-
gnu/services/nix.scm | 2 +-
gnu/services/pm.scm | 4 +-
gnu/services/rsync.scm | 2 +-
gnu/services/science.scm | 2 +-
gnu/services/shepherd.scm | 2 +-
gnu/services/sound.scm | 2 +-
gnu/services/ssh.scm | 4 +-
gnu/services/syncthing.scm | 2 +-
gnu/services/telephony.scm | 8 +-
gnu/services/version-control.scm | 4 +-
gnu/services/virtualization.scm | 8 +-
gnu/services/vpn.scm | 6 +-
gnu/services/web.scm | 14 +-
gnu/services/xorg.scm | 4 +-
gnu/system/mapped-devices.scm | 10 +-
gnu/system/vm.scm | 3 +-
guix/build-system/haskell.scm | 11 +-
guix/build/emacs-build-system.scm | 3 +-
guix/import/hackage.scm | 5 +-
guix/import/pypi.scm | 11 +-
guix/inferior.scm | 17 +-
guix/scripts/system.scm | 10 +
nix/libstore/build.cc | 3 +-
nix/libstore/local-store.cc | 7 +-
po/doc/guix-cookbook.de.po | 85 +-
po/doc/guix-cookbook.es.po | 2 +-
po/doc/guix-manual.de.po | 25306 ++++++++++---------
po/doc/guix-manual.es.po | 23951 +++++++++---------
po/doc/guix-manual.fa.po | 23781 ++++++++---------
po/doc/guix-manual.fr.po | 23978 +++++++++---------
po/doc/guix-manual.it.po | 23781 ++++++++---------
po/doc/guix-manual.ko.po | 23814 ++++++++---------
po/doc/guix-manual.pt_BR.po | 23792 ++++++++---------
po/doc/guix-manual.ru.po | 23863 ++++++++---------
po/doc/guix-manual.sk.po | 23797 ++++++++---------
po/doc/guix-manual.zh_CN.po | 23785 ++++++++---------
po/guix/cs.po | 618 +-
po/guix/da.po | 619 +-
po/guix/de.po | 791 +-
po/guix/eo.po | 619 +-
po/guix/es.po | 855 +-
po/guix/fr.po | 626 +-
po/guix/hu.po | 618 +-
po/guix/it.po | 618 +-
po/guix/ko.po | 621 +-
po/guix/nl.po | 623 +-
po/guix/oc.po | 617 +-
po/guix/pl.po | 671 +-
po/guix/pt_BR.po | 633 +-
po/guix/ru.po | 1415 +-
po/guix/si.po | 616 +-
po/guix/sk.po | 624 +-
po/guix/sr.po | 619 +-
po/guix/sv.po | 619 +-
po/guix/ta.po | 619 +-
po/guix/vi.po | 617 +-
po/guix/zh_CN.po | 618 +-
po/packages/da.po | 3316 +--
po/packages/de.po | 3310 +--
po/packages/eo.po | 3311 +--
po/packages/es.po | 3321 +--
po/packages/fr.po | 3351 +--
po/packages/hu.po | 3311 +--
po/packages/it.po | 3310 +--
po/packages/ko.po | 3310 +--
po/packages/nl.po | 3310 +--
po/packages/oc.po | 3310 +--
po/packages/pl.po | 3310 +--
po/packages/pt_BR.po | 3310 +--
po/packages/sk.po | 3310 +--
po/packages/sr.po | 3310 +--
po/packages/zh_CN.po | 3310 +--
tests/hackage.scm | 20 +-
tests/store.scm | 78 +
202 files changed, 161728 insertions(+), 151382 deletions(-)
diff --cc doc/guix.texi
index 59651f9,9914829..5862566
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@@ -96,9 -96,9 +96,10 @@@ Copyright @copyright{} 2021 Domagoj Sto
Copyright @copyright{} 2021 Hui Lu@*
Copyright @copyright{} 2021 pukkamustard@*
Copyright @copyright{} 2021 Alice Brenon@*
+Copyright @copyright{} 2021 Josselin Poiret@*
Copyright @copyright{} 2021 Andrew Tropin@*
Copyright @copyright{} 2021 Sarah Morgensen@*
+ Copyright @copyright{} 2021 Josselin Poiret@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
diff --cc gnu/local.mk
index a2a8c4a,e61e825..50ca9b6
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@@ -960,7 -951,7 +960,8 @@@ dist_patch_DATA =
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
+ %D%/packages/patches/coreutils-gnulib-tests.patch \
+ %D%/packages/patches/coq-fix-envvars.patch \
%D%/packages/patches/coreutils-ls.patch \
%D%/packages/patches/cpuinfo-system-libraries.patch \
%D%/packages/patches/crawl-upgrade-saves.patch \
@@@ -1508,7 -1520,7 +1510,8 @@@
%D%/packages/patches/nnpack-system-libraries.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nsis-source-date-epoch.patch \
+ %D%/packages/patches/nss-getcwd-nonnull.patch \
+ %D%/packages/patches/nss-CVE-2021-43527.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-3.56-pkgconfig.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \
diff --cc gnu/packages/compression.scm
index fb35243,787359e..5fe559e
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@@ -32,8 -32,8 +32,9 @@@
;;; Copyright © 2020 Léo Le Bouter <lle-bout@zaclys.net>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+ ;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/django.scm
index a179f43,d36950d..73c5244
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@@ -1276,13 -1295,13 +1276,13 @@@ to ElasticSearch."
(uri (pypi-uri "django-netfields" version))
(sha256
(base32
- "1c47azr5am0q8g45x0fbn0cay7vyrack6n7k6siliw1j2p0gzi7s"))))
+ "0jwlbyaxk91fq69g2y0zpfjgmjgh6l0lqm5mhys7m5968lkihvgp"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;XXX: Requires a running PostgreSQL server
- (native-inputs
- `(("python-django" ,python-django)))
(propagated-inputs
- `(("python-netaddr" ,python-netaddr)
+ `(("python-django" ,python-django)
+ ("python-netaddr" ,python-netaddr)
+ ("python-psycopg2" ,python-psycopg2)
("python-six" ,python-six)))
(home-page "https://github.com/jimfunk/django-postgresql-netfields")
(synopsis "PostgreSQL netfields implementation for Django")
diff --cc gnu/packages/gnome.scm
index f2b663a,87d9fec..2238cfa
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@@ -12007,10 -11477,9 +12006,11 @@@ these services on the Guix System."
("cmake-minimal" ,cmake-minimal)
("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal)
+ ("glib" ,glib)
("glib:bin" ,glib "bin")
+ ("gmime" ,gmime)
("gobject-introspection" ,gobject-introspection)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("itstool" ,itstool)
("libarchive" ,libarchive)
("libxml2" ,libxml2)
diff --cc gnu/packages/gnuzilla.scm
index 579103b,36b8a35..32411d0
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@@ -13,11 -13,9 +13,11 @@@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net>
- ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+ ;;; Copyright © 2020, 2021 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr>
;;;
;;; This file is part of GNU Guix.
@@@ -1762,9 -1469,12 +1483,11 @@@ standards of the IceCat project."
(string-append (getcwd) "/.mozconfig"))
(setenv "CC" "gcc")
(setenv "MOZ_NOSPAM" "1")
+ (setenv "MACH_USE_SYSTEM_PYTHON" "1")
(setenv "PYTHON"
- (string-append (assoc-ref inputs "python2")
- "/bin/python"))
+ (search-input-file inputs "/bin/python"))
(setenv "MOZ_BUILD_DATE" ,%icedove-build-id) ; avoid timestamp
+ (setenv "MOZ_APP_NAME" "icedove")
(setenv "LDFLAGS" (string-append "-Wl,-rpath="
(assoc-ref outputs "out")
"/lib/icedove"))
@@@ -1866,7 -1575,7 +1588,7 @@@
("gtk+" ,gtk+)
("gtk+-2" ,gtk+-2)
("hunspell" ,hunspell)
- ("icu4c" ,icu4c-67)
- ("icu4c" ,icu4c-69)
++ ("icu4c" ,icu4c)
("libcanberra" ,libcanberra)
("libevent" ,libevent)
("libffi" ,libffi)
@@@ -1907,19 -1617,19 +1630,19 @@@
(file-name (string-append "thunderbird-" version "-checkout"))
(sha256
(base32
- "0ww1rgm8hpmji9fjhinqrwf07j2jikdq8j2x87h5s3naw5898fr3")))))
- ("autoconf" ,autoconf-2.13)
+ "0rp4i353dskx065a6hskvfpf0l2qywqnivks9qc6a85h4yah4rvq")))))
- ("cargo" ,rust-1.51 "cargo")
+ ("cargo" ,rust "cargo")
("clang" ,clang)
("llvm" ,llvm)
+ ("m4" ,m4)
("nasm" ,nasm)
("node" ,node)
("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python)
("python2" ,python-2.7)
- ("rust" ,rust-1.51)
+ ("rust" ,rust)
- ("rust-cbindgen" ,rust-cbindgen-0.14)
+ ("rust-cbindgen" ,rust-cbindgen-0.19)
("which" ,which)
("yasm" ,yasm)))
(home-page "https://www.thunderbird.net")
diff --cc gnu/packages/image-viewers.scm
index d750458,291dcd3..d2307a3
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@@ -20,8 -20,8 +20,9 @@@
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 jgart <jgart@dismail.de>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
+ ;;; Copyright © 2021 dissent <disseminatedissent@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/nss.scm
index fcd6938,e41d016..b230044
--- a/gnu/packages/nss.scm
+++ b/gnu/packages/nss.scm
@@@ -1,12 -1,10 +1,12 @@@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès
<ludo@gnu.org>
- ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver
<mhw@netris.org>
+ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Mark H Weaver
<mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@@ -94,8 -70,19 +94,21 @@@ platform-neutral API for system level a
in the Mozilla clients.")
(license license:mpl2.0)))
+ (define-public nspr-4.32
+ (package
+ (inherit nspr)
+ (version "4.32")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v"
+ version "/src/nspr-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0v3zds1id71j5a5si42a658fjz8nv2f6zp6w4gqrqmdr6ksz8sxv"))))))
+
+;;; Note: When updating, verify that the nss-certs package still builds fine
+;;; as it inherits its source from the nss package.
(define-public nss
(package
(name "nss")
diff --cc gnu/packages/python-check.scm
index 14a3598,ef8629a..cb598b0
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@@ -1,7 -1,7 +1,7 @@@
;;; GNU Guix --- Functional package management for GNU
- ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+ ;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
diff --cc gnu/packages/python-xyz.scm
index a596b00,81b99e1..a1e7f60
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@@ -8583,11 -8734,7 +8661,10 @@@ callback signature using a prototype fu
;; (which depends on ipython).
(delete-file "IPython/core/tests/test_display.py")
;; AttributeError: module 'IPython.core' has no attribute
'formatters'
- (delete-file "IPython/core/tests/test_interactiveshell.py"))))))
+ (delete-file "IPython/core/tests/test_interactiveshell.py")
+ ;; AttributeError: module 'matplotlib_inline' has no
+ ;; attribute 'backend_inline'
- (delete-file "IPython/core/tests/test_pylabtools.py")
- #t)))))
++ (delete-file "IPython/core/tests/test_pylabtools.py"))))))
(home-page "https://ipython.org")
(synopsis "IPython is a tool for interactive computing in Python")
(description
@@@ -16255,80 -16371,42 +16347,47 @@@ characters, mouse support, and auto sug
(package-with-python2 python-prompt-toolkit-1))
(define-public python-jedi
- ;; The 0.18.0 release tests do not work with Python 3.9.6. Use a more
- ;; recent commit.
- (let ((commit "1d944943c311b2d71655432f8870d68b2cf7d44b")
- (revision "1"))
- (package
- (name "python-jedi")
- (version
- (git-version "0.18.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davidhalter/jedi")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "052szkbv2pf9hy21any6zb4dhx3c5w1v6b9hn5grlc84zfm350vq"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'unpack-submodule-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (copy-recursively (assoc-ref inputs "python-django-stubs")
- "jedi/third_party/django-stubs")
- (copy-recursively (assoc-ref inputs "python-typeshed")
- "jedi/third_party/typeshed")
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (setenv "HOME" "/tmp")
- ;; Disable the pytest tests that fail with pytest 6. See:
- ;; https://github.com/davidhalter/jedi/issues/1660.
- (invoke "pytest" "-vv" "-k"
- "not test_completion[pytest"))
- #t)))))
- (native-inputs
- `(("python-pytest" ,python-pytest)
- ("python-docopt" ,python-docopt)
- ("python-django-stubs"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davidhalter/django-stubs")
- (commit "3d2534ea8d8300c4c9db8f18e300355d5fd5488b")))
- (file-name "django-stubs-checkout")
- (sha256
- (base32
"1fpvn4lcqkd2q18z29rcnwakm649fccw2k6jik5d64j7p6xns08r"))))
- ("python-typeshed"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/davidhalter/typeshed")
- (commit "ae9d4f4b21bb5e1239816c301da7b1ea904b44c3")))
- (file-name "typeshed-checkout")
- (sha256
- (base32
"02xdip4amj0a7z9xph2mj46x1k55bjxl8d0gkpy25575acyx1kjq"))))))
- (propagated-inputs
- `(("python-parso" ,python-parso)))
- (home-page "https://github.com/davidhalter/jedi")
- (synopsis "Autocompletion and static analysis library for Python")
- (description
- "Jedi is a static analysis tool for Python that can be used in
Integrated
+ (package
+ (name "python-jedi")
+ (version "0.18.1")
+ (source
+ (origin
- (method url-fetch)
- (uri (pypi-uri "jedi" version))
++ (method git-fetch)
++ (uri (git-reference
++ (url "https://github.com/davidhalter/jedi")
++ (commit (string-append "v" version))
++ (recursive? #true)))
++ (file-name (git-file-name name version))
+ (sha256
- (base32 "1as9v6kv49j11al2mzjh72dd5mxxnfcjv0z5dbmwi6aalqk7c4vl"))))
++ (base32
++ "07drmi3ai49jw5n23ibkambcgijqcw073ihypjgxfnks5lv4yqy1"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "python" "-m" "pytest" "-vv"))
+ #t)))))
+ (native-inputs
- `(("python-docopt" ,python-docopt)
- ("python-colorama" ,python-colorama)
++ `(("python-colorama" ,python-colorama)
++ ("python-docopt" ,python-docopt)
+ ("python-django" ,python-django-2.2)
+ ("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-parso" ,python-parso)))
+ (home-page "https://github.com/davidhalter/jedi")
+ (synopsis "Autocompletion and static analysis library for Python")
+ (description
+ "Jedi is a static analysis tool for Python that can be used in Integrated
Development Environments (@dfn{IDE}s) and text editors. It understands Python
on a deeper level than many other static analysis frameworks for Python.
--Jedi understands docstrings and you can use Jedi autocompletion in your REPL
as
--well.")
- (license license:expat))))
-
- (define-public python2-jedi
- (package-with-python2 python-jedi))
++Jedi understands docstrings and you can use Jedi autocompletion in your REPL
++as well.")
+ (license license:expat)))
(define-public ptpython
(package
@@@ -16353,9 -16431,9 +16412,9 @@@
(synopsis "Python Read-Eval-Print-Loop with nice IDE-like features")
(description
"ptpython is a Python read-eval-print loop with IDE-like features.
--It supports syntax highlighting, multiline editing, autocompletion, mouse,
--color schemes, bracketed paste, Vi and Emacs keybindings, Chinese characters
--etc.")
++ It supports syntax highlighting, multiline editing, autocompletion,
mouse,
++ color schemes, bracketed paste, Vi and Emacs keybindings, Chinese
characters
++ etc.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay ptpython-2))))))
@@@ -16405,8 -16483,8 +16464,8 @@@
(synopsis "Command-line interface for Python modules")
(description
"@code{entrypoint2} is an easy to use command-line interface for Python
--modules based on @code{argparse}. It translates function signature and
--documentation to argparse configuration.")
++ modules based on @code{argparse}. It translates function signature and
++ documentation to argparse configuration.")
(license license:bsd-3)))
(define-public python-pyvirtualdisplay
@@@ -16472,8 -16544,8 +16531,8 @@@
"Python controller library that allows applications to interact with
Tor")
(description
"Stem is a Python controller library for Tor. With it you can use Tor's
--control protocol to script against the Tor process and read descriptor data
--relays publish about themselves.")
++ control protocol to script against the Tor process and read descriptor
data
++ relays publish about themselves.")
(license license:lgpl3)))
(define-public python-pyserial
@@@ -16499,8 -16571,8 +16558,8 @@@
"https://github.com/pyserial/pyserial")
(synopsis "Python Serial Port Bindings")
(description "@code{pyserial} provide serial port bindings for Python. It
--supports different byte sizes, stop bits, parity and flow control with RTS/CTS
--and/or Xon/Xoff. The port is accessed in RAW mode.")
++ supports different byte sizes, stop bits, parity and flow control with
RTS/CTS
++ and/or Xon/Xoff. The port is accessed in RAW mode.")
(license license:bsd-3)))
(define-public python2-pyserial
@@@ -16521,7 -16593,7 +16580,7 @@@
(home-page "https://github.com/pyserial/pyserial-asyncio")
(synopsis "Pyserial asynchronous I/O extension")
(description "This package extends Pyserial with asynchronous I/O
--support.")
++ support.")
(license license:bsd-3)))
(define-public python-pymodbus
@@@ -16576,24 -16644,24 +16635,24 @@@
(home-page "https://github.com/riptideio/pymodbus/")
(synopsis "Modbus protocol stack in Python")
(description "Pymodbus is a full Modbus protocol implementation using
--@code{asyncio}, @code{tornado} or @code{twisted} for its asynchronous
--communications core. It includes the following @emph{client} features:
--@itemize
--@item full read/write protocol on discrete and register
--@item most of the extended protocol (diagnostic/file/pipe/setting/information)
--@item TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
--@item asynchronous and synchronous versions
--@item payload builder/decoder utilities
--@item pymodbus read eval print loop (REPL).
--@end itemize
--It also includes the following @emph{server} features:
--@itemize
--@item can function as a fully implemented Modbus server
--@item TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
--@item asynchronous and synchronous versions
--@item full server control context (device information, counters, etc)
--@item a number of backing contexts (database, redis, sqlite, a slave device).
--@end itemize")
++ @code{asyncio}, @code{tornado} or @code{twisted} for its asynchronous
++ communications core. It includes the following @emph{client} features:
++ @itemize
++ @item full read/write protocol on discrete and register
++ @item most of the extended protocol
(diagnostic/file/pipe/setting/information)
++ @item TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
++ @item asynchronous and synchronous versions
++ @item payload builder/decoder utilities
++ @item pymodbus read eval print loop (REPL).
++ @end itemize
++ It also includes the following @emph{server} features:
++ @itemize
++ @item can function as a fully implemented Modbus server
++ @item TCP, UDP, Serial ASCII, Serial RTU, and Serial Binary
++ @item asynchronous and synchronous versions
++ @item full server control context (device information, counters, etc)
++ @item a number of backing contexts (database, redis, sqlite, a slave
device).
++ @end itemize")
(license license:bsd-3)))
(define-public python-kivy
@@@ -16630,7 -16700,7 +16689,7 @@@
"Multitouch application framework")
(description
"A software library for rapid development of
--hardware-accelerated multitouch applications.")
++ hardware-accelerated multitouch applications.")
(license license:expat)))
(define-public python2-kivy
@@@ -16663,7 -16733,7 +16722,7 @@@
(home-page "https://github.com/audreyr/binaryornot")
(synopsis "Package to check if a file is binary or text")
(description "Ultra-lightweight pure Python package to check if a file is
--binary or text.")
++ binary or text.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-binaryornot))))))
@@@ -16700,7 -16774,7 +16759,7 @@@
(home-page "https://github.com/ReFirmLabs/binwalk")
(synopsis "Firmware analysis tool")
(description "Binwalk is a tool for analyzing, reverse engineering, and
--extracting firmware images")
++ extracting firmware images")
(license license:expat)))
(define-public python-binwalk
@@@ -16731,9 -16805,9 +16790,9 @@@
(home-page "http://nltk.org/")
(synopsis "Natural Language Toolkit")
(description "It provides interfaces to over 50 corpora and lexical
--resources such as WordNet, along with a suite of text processing libraries
--for classification, tokenization, stemming, tagging, parsing, and semantic
--reasoning, wrappers for natural language processing libraries.")
++ resources such as WordNet, along with a suite of text processing
libraries
++ for classification, tokenization, stemming, tagging, parsing, and
semantic
++ reasoning, wrappers for natural language processing libraries.")
(license license:asl2.0)))
;; Versions >=3.5 breaks backward-compatibility,
@@@ -16795,7 -16869,7 +16854,7 @@@
(synopsis "Python client for Consul")
(description
"Python client for @url{http://www.consul.io/,Consul}, a tool for service
--discovery, monitoring and configuration.")
++ discovery, monitoring and configuration.")
(license license:expat)))
(define-public python2-consul
@@@ -16853,7 -16929,7 +16912,7 @@@
(home-page "https://github.com/eea/odfpy")
(synopsis "Python API and tools to manipulate OpenDocument files")
(description "Collection of libraries and utility programs written in
--Python to manipulate OpenDocument 1.2 files.")
++ Python to manipulate OpenDocument 1.2 files.")
(license
;; The software is mainly dual GPL2+ and ASL2.0, but includes a
;; number of files with other licenses.
@@@ -16890,13 -16979,13 +16949,13 @@@
(synopsis "Natural sorting for python and shell")
(description
"Natsort lets you apply natural sorting on lists instead of
--lexicographical. If you use the built-in @code{sorted} method in python
--on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
--@code{a10}]}, it would be returned as @code{[@code{a1}, @code{a10},
@code{a20},
--@code{a4}, @code{a9}]}. Natsort provides a function @code{natsorted} that
--identifies numbers and sorts them separately from strings. It can also sort
--version numbers, real numbers, mixed types and more, and comes with a shell
--command @command{natsort} that exposes this functionality in the command
line.")
++ lexicographical. If you use the built-in @code{sorted} method in python
++ on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4},
++ @code{a10}]}, it would be returned as
@code{[@code{a1}, @code{a10}, @code{a20},
++ @code{a4}, @code{a9}]}. Natsort provides
a function @code{natsorted} that
++ identifies numbers and sorts them separately from strings. It can also
sort
++ version numbers, real numbers, mixed types and more, and comes with a
shell
++ command @command{natsort} that exposes this functionality in the command
line.")
(license license:expat)))
(define-public glances
@@@ -16928,8 -17017,8 +16987,8 @@@
(synopsis "Cross-platform curses-based monitoring tool")
(description
"Glances is a curses-based monitoring tool for a wide variety of
platforms.
--Glances uses the PsUtil library to get information from your system. It
--monitors CPU, load, memory, network bandwidth, disk I/O, disk use, and more.")
++ Glances uses the PsUtil library to get information from your system. It
++ monitors CPU, load, memory, network bandwidth, disk I/O, disk use, and
more.")
(license license:lgpl3+)))
(define-public python-graphql-core
@@@ -16964,9 -17053,9 +17023,9 @@@
(synopsis "GraphQL implementation for Python")
(description
"GraphQL implementation for Python. GraphQL is a data query language and
--runtime designed and used to request and deliver data to mobile and web apps.
--This library is a port of
@url{https://github.com/graphql/graphql-js,graphql-js}
--to Python.")
++ runtime designed and used to request and deliver data to mobile and web
apps.
++ This library is a port of
@url{https://github.com/graphql/graphql-js,graphql-js}
++ to Python.")
(license license:expat)))
(define-public python-graphql-relay
@@@ -16998,10 -17078,10 +17057,10 @@@
(synopsis "Relay implementation for Python")
(description
"This is a library to allow the easy creation of Relay-compliant servers
--using the GraphQL Python reference implementation of a GraphQL server. It
--should be noted that the code is a exact port of the original
--@url{https://github.com/graphql/graphql-relay-js,graphql-relay js
implementation}
--from Facebook.")
++ using the GraphQL Python reference implementation of a GraphQL server.
It
++ should be noted that the code is a exact port of the original
++ @url{https://github.com/graphql/graphql-relay-js,graphql-relay js
implementation}
++ from Facebook.")
(license license:expat)))
(define-public python-graphene
@@@ -17028,8 -17108,41 +17087,8 @@@
(synopsis "GraphQL Framework for Python")
(description
"Graphene is a Python library for building GraphQL schemas/types.
--A GraphQL schema describes your data model, and provides a GraphQL server
--with an associated set of resolve methods that know how to fetch data.")
- (license license:expat)))
-
-(define-public python-nautilus
- (package
- (name "python-nautilus")
- (version "0.4.9")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "nautilus" version))
- (sha256
- (base32
- "01hwzjc1zshk4vvxrcghm398fpy4jls66dyz06g07mrwqif8878p"))))
- (build-system python-build-system)
- (arguments `(#:tests? #f)) ; fails to import test modules
- (propagated-inputs
- `(("python-bcrypt" ,python-bcrypt)
- ("python-click" ,python-click)
- ("python-consul" ,python-consul)
- ("python-graphene" ,python-graphene)
- ("python-jinja2" ,python-jinja2)
- ("python-peewee" ,python-peewee)
- ("python-pika" ,python-pika)
- ("python-tornado" ,python-tornado)
- ("python-wtforms" ,python-wtforms)))
- (native-inputs
- `(("python-nose2" ,python-nose2)))
- (home-page "https://github.com/AlecAivazis/nautilus")
- (synopsis "Library for creating microservice applications")
- (description
- "Nautilus is a framework for flux based microservices that looks to
-provide extendible implementations of common aspects of a cloud so that you
can
-focus on building massively scalable web applications.")
++ A GraphQL schema describes your data model, and provides a GraphQL server
++ with an associated set of resolve methods that know how to fetch data.")
(license license:expat)))
(define-public python-random2
@@@ -17050,13 -17161,13 +17109,13 @@@
(synopsis "Python 3 version of the Python 2 @code{random} module")
(description
"This package provides a Python 3 ported version of Python 2.7’s
--@code{random} module. It has also been back-ported to work in Python 2.6.
++ @code{random} module. It has also been back-ported to work in Python
2.6.
--In Python 3, the implementation of @code{randrange()} was changed, so that
--even with the same seed you get different sequences in Python 2 and 3.
++ In Python 3, the implementation of @code{randrange()} was changed, so
that
++ even with the same seed you get different sequences in Python 2 and 3.
--This package closes that gap, allowing stable random number generation
--between the different Python versions.")
++ This package closes that gap, allowing stable random number generation
++ between the different Python versions.")
(license license:psfl)))
(define-public python2-random2
@@@ -17079,8 -17190,8 +17138,8 @@@
(home-page "https://github.com/shibukawa/snowball_py")
(synopsis "Snowball stemming library collection for Python")
(description "This package provides 16 word stemmer algorithms generated
--from Snowball algorithms. It includes the 15 original ones plus the Poerter
--English stemmer.")
++ from Snowball algorithms. It includes the 15 original ones plus the
Poerter
++ English stemmer.")
(license license:bsd-3)))
(define-public python2-snowballstemmer
@@@ -17128,12 -17239,12 +17187,12 @@@
(synopsis
"Setproctitle implementation for Python to customize the process title")
(description "The library allows a process to change its title (as
displayed
--by system tools such as ps and top).
++ by
system tools such as ps and top).
--Changing the title is mostly useful in multi-process systems, for
--example when a master process is forked: changing the children's title
--allows identifying the task each process is busy with. The technique
--is used by PostgreSQL and the OpenSSH Server for example.")
++ Changing the title is mostly useful in multi-process systems, for
++ example when a master process is forked: changing the children's title
++ allows identifying the task each process is busy with. The technique
++ is used by PostgreSQL and the OpenSSH Server for example.")
(license license:bsd-3)
(properties `((python2-variant . ,(delay python2-setproctitle))))))
@@@ -17175,9 -17290,9 +17234,9 @@@
(synopsis "General purpose Python data validator")
(description "It allows validation of arbitrary Python data structures.
--The schema format is based on the JSON Schema
--proposal (http://json-schema.org), so combined with json the library is also
--useful as a validator for JSON data.")
++ The schema format is based on the JSON Schema
++ proposal (http://json-schema.org), so combined with json the library is
also
++ useful as a validator for JSON data.")
(license license:expat)))
(define-public python2-validictory
@@@ -17200,9 -17325,9 +17259,9 @@@
(synopsis
"Analyze binary and library file information")
(description "This Python library provides interfaces for parsing and
--analyzing two binary and library file formats; the Executable and Linking
--Format (ELF), and debugging information in the Debugging With Attributed
--Record Format (DWARF).")
++ analyzing two binary and library file formats ; the Executable and
Linking
++ Format (ELF), and debugging information in the Debugging With Attributed
++ Record Format (DWARF).")
(license license:public-domain)))
(define-public python-pyev
@@@ -17253,7 -17379,7 +17312,7 @@@
(synopsis "Gets image size of files in various formats in Python")
(description
"This package allows determination of image size from
--PNG, JPEG, JPEG2000 and GIF files in pure Python.")
++ PNG, JPEG, JPEG2000 and GIF files in pure Python.")
(license license:expat)))
(define-public python2-imagesize
@@@ -17306,10 -17432,10 +17365,10 @@@
(home-page "https://github.com/kislyuk/argcomplete")
(synopsis "Shell tab completion for Python argparse")
(description "argcomplete provides extensible command line tab completion
--of arguments and options for Python scripts using @code{argparse}. It's
--particularly useful for programs with many options or sub-parsers that can
--dynamically suggest completions; for example, when browsing resources over the
--network.")
++ of arguments and options for Python scripts using @code{argparse}. It's
++ particularly useful for programs with many options or sub-parsers that
can
++ dynamically suggest completions ; for example, when browsing resources
over the
++ network.")
(license license:asl2.0)
(properties `((python2-variant . ,(delay python2-argcomplete))))))
@@@ -17374,7 -17500,7 +17433,7 @@@
(home-page "http://opensource.perlig.de/rcssmin/")
(synopsis "CSS Minifier")
(description "The minifier is based on the semantics of the YUI
compressor,
--which itself is based on the rule list by Isaac Schlueter.")
++ which itself is based on the rule list by Isaac Schlueter.")
(license license:asl2.0)))
(define-public python-rjsmin
@@@ -17409,9 -17535,9 +17468,9 @@@
(home-page "http://opensource.perlig.de/rjsmin/")
(synopsis "Javascript Minifier")
(description "@code{rJSmin} is a javascript minifier written in Python.
The
--minifier is based on the semantics of jsmin.c by Douglas Crockford. The
module
--is a re-implementation aiming for speed, so it can be used at runtime (rather
--than during a preprocessing step).")
++ minifier is based on the semantics of jsmin.c by Douglas Crockford. The
module
++ is a re-implementation aiming for speed, so it can be used at runtime
(rather
++
than during a preprocessing step).")
(license license:asl2.0)))
(define-public python-xopen
@@@ -17431,10 -17557,10 +17490,10 @@@
(home-page "https://github.com/marcelm/xopen/")
(synopsis "Open compressed files transparently")
(description "This module provides an @code{xopen} function that works
like
--Python's built-in @code{open} function, but can also deal with compressed
files.
--Supported compression formats are gzip, bzip2 and, xz, and are automatically
--recognized by their file extensions. The focus is on being as efficient as
--possible on all supported Python versions.")
++ Python's built-in @code{open} function, but can also deal with
compressed files.
++ Supported compression formats are gzip, bzip2 and, xz, and are
automatically
++ recognized by their file extensions. The focus is on being as efficient
as
++ possible on all supported Python versions.")
(license license:expat)))
(define-public python2-xopen
@@@ -17481,29 -17625,29 +17540,29 @@@
(home-page "https://cheetahtemplate.org/")
(synopsis "Template engine")
(description "Cheetah is a text-based template engine and Python code
--generator.
--
--Cheetah can be used as a standalone templating utility or referenced as
--a library from other Python applications. It has many potential uses,
--but web developers looking for a viable alternative to ASP, JSP, PHP and
--PSP are expected to be its principle user group.
--
--Features:
--@enumerate
--@item Generates HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or any
other
-- text-based format.
--@item Cleanly separates content, graphic design, and program code.
--@item Blends the power and flexibility of Python with a simple template
language
-- that non-programmers can understand.
--@item Gives template writers full access to any Python data structure, module,
-- function, object, or method in their templates.
--@item Makes code reuse easy by providing an object-orientated interface to
-- templates that is accessible from Python code or other Cheetah templates.
-- One template can subclass another and selectively reimplement sections of
it.
--@item Provides a simple, yet powerful, caching mechanism that can dramatically
-- improve the performance of a dynamic website.
--@item Compiles templates into optimized, yet readable, Python code.
--@end enumerate")
++ generator.
++
++ Cheetah can be used as a standalone templating utility or referenced as
++ a library from other Python applications. It has many potential uses,
++ but web developers looking for a viable alternative to ASP, JSP, PHP and
++ PSP are expected to be its principle user group.
++
++ Features:
++ @enumerate
++ @item Generates HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or
any other
++ text-based format.
++ @item Cleanly separates content, graphic design, and program code.
++ @item Blends the power and flexibility of Python with a simple template
language
++ that non-programmers can understand.
++ @item Gives template writers full access to any Python data structure,
module,
++ function, object, or method in their templates.
++ @item Makes code reuse easy by providing an object-orientated interface
to
++ templates that is accessible from Python code or other Cheetah templates.
++ One template can subclass another and selectively reimplement sections
of it.
++ @item Provides a simple, yet powerful, caching mechanism that can
dramatically
++ improve the performance of a dynamic website.
++ @item Compiles templates into optimized, yet readable, Python code.
++ @end enumerate")
(license (license:x11-style "file://LICENSE"))))
(define-public python2-cheetah
@@@ -17550,7 -17694,7 +17609,7 @@@
(home-page "https://www.dulwich.io/")
(synopsis "Git implementation in Python")
(description "Dulwich is an implementation of the Git file formats and
--protocols written in pure Python.")
++ protocols written in pure Python.")
;; Can be used with either license.
(license (list license:asl2.0 license:gpl2+))))
@@@ -17577,13 -17724,13 +17636,13 @@@
(home-page "https://www.dlitz.net/software/python-pbkdf2/")
(synopsis "Password-based key derivation")
(description "This module implements the password-based key derivation
--function, PBKDF2, specified in RSA PKCS#5 v2.0.
++ function, PBKDF2, specified in RSA PKCS#5 v2.0.
--PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function which
--is part of the RSA Public Key Cryptography Standards series. The provided
--implementation takes a password or a passphrase and a salt value (and
--optionally a iteration count, a digest module, and a MAC module) and provides
--a file-like object from which an arbitrarily-sized key can be read.")
++ PKCS#5 v2.0 Password-Based Key Derivation is a key derivation function
which
++ is part of the RSA Public Key Cryptography Standards series. The
provided
++ implementation takes a password or a passphrase and a salt value (and
++
optionally a iteration count, a digest module, and a MAC module) and provides
++ a file-like object from which an arbitrarily-sized key can be read.")
(license license:expat)))
(define-public python2-pbkdf2
@@@ -17610,12 -17757,12 +17669,12 @@@
(home-page "https://github.com/lincolnloop/python-qrcode")
(synopsis "QR Code image generator")
(description "This package provides a pure Python QR Code generator
--module. It uses the Python Imaging Library (PIL) to allow for the generation
--of QR Codes.
++ module. It uses the Python Imaging Library (PIL) to allow for the
generation
++ of QR Codes.
--In addition this package provides a command line tool to generate QR codes and
--either write these QR codes to a file or do the output as ascii art at the
--console.")
++ In addition this package provides a command line tool to generate QR
codes and
++ either write these QR codes to a file or do the output as ascii art at
the
++ console.")
(license license:bsd-3)))
(define-public python2-qrcode
@@@ -17639,7 -17786,7 +17698,7 @@@
(synopsis "Convert RST to ANSI-decorated console output")
(description
"Python module dedicated to rendering RST (reStructuredText) documents
--to ansi-escaped strings suitable for display in a terminal.")
++ to ansi-escaped strings suitable for display in a terminal.")
(license license:expat)))
(define-public python-ansi2html
@@@ -17663,7 -17810,7 +17722,7 @@@
(synopsis "Convert ANSI-decorated console output to HTML")
(description
"@command{ansi2html} is a Python library and command line utility for
--converting text with ANSI color codes to HTML or LaTeX.")
++ converting text with ANSI color codes to HTML or LaTeX.")
(license license:gpl3+)))
(define-public python2-ansi2html
@@@ -17687,10 -17834,10 +17746,10 @@@
(synopsis "Terminal framework API")
(description
"Easy ANSI is a terminal framework API to give you an easy way to use
--colors, cursor control movements, and line/box drawing. It is not meant as a
--replacement to more full-featured frameworks (such as curses or urwid), but as
--a tool to quickly create nice-looking screens in your terminal window. You
--can even create animations with the cursor controls.")
++ colors, cursor control movements, and line/box drawing. It is not meant
as a
++ replacement to more full-featured frameworks (such as curses or urwid),
but as
++ a tool to quickly create nice-looking screens in your terminal window.
You
++ can even create animations with the cursor controls.")
(license license:expat)))
(define-public python-ddt
@@@ -17713,8 -17860,8 +17772,8 @@@
(synopsis "Data-Driven Tests")
(description
"Data-Driven Tests (@dfn{DDT}) allow you to multiply one test case by
--running it with different test data, and make it appear as multiple test
--cases.")
++ running it with different test data, and make it appear as multiple test
++ cases.")
(license license:expat)))
(define-public python-pycountry
@@@ -17733,16 -17880,16 +17792,16 @@@
(synopsis "ISO databases for languages, countries, currencies, etc.")
(description
"@code{pycountry} provides the ISO databases for the standards:
--@enumerate
--@item 639-3 (Languages)
--@item 3166 (Countries)
--@item 3166-3 (Deleted Countries)
--@item 3166-2 (Subdivisions of countries)
--@item 4217 (Currencies)
--@item 15924 (Scripts)
--@end enumerate
--It includes a copy from Debian’s pkg-isocodes and makes the data accessible
--through a Python API.")
++ @enumerate
++ @item 639-3 (Languages)
++ @item 3166 (Countries)
++ @item 3166-3 (Deleted Countries)
++ @item 3166-2 (Subdivisions of countries)
++ @item 4217 (Currencies)
++ @item 15924 (Scripts)
++ @end enumerate
++ It includes a copy from Debian’s pkg-isocodes and makes the data
accessible
++ through a Python API.")
(license license:lgpl2.1+)))
(define-public python2-pycountry
@@@ -17767,9 -17914,9 +17826,9 @@@
(synopsis "Bindings to picosat (a SAT solver)")
(description
"This package provides efficient Python bindings to @code{picosat} on
--the C level. When importing pycosat, the @code{picosat} solver becomes part
--of the Python process itself. @code{picosat} is a @dfn{Boolean Satisfiability
--Problem} (SAT) solver.")
++ the C level. When importing pycosat, the @code{picosat} solver becomes
part
++ of the Python process itself. @code{picosat} is a @dfn{Boolean
Satisfiability
++ Problem}
(SAT) solver.")
(license license:expat)))
(define-public python2-pycosat
@@@ -17800,13 -17947,13 +17859,13 @@@
(synopsis "Version of dict that keeps keys in insertion order")
(description
"This is an implementation of an ordered dictionary with @dfn{Key
--Insertion Order} (KIO: updates of values do not affect the position of the
--key), @dfn{Key Value Insertion Order} (KVIO, an existing key's position is
--removed and put at the back). The standard library module @code{OrderedDict},
--implemented later, implements a subset of @code{ordereddict} functionality.
--Sorted dictionaries are also provided. Currently only with @dfn{Key Sorted
--Order} (KSO, no sorting function can be specified, but a transform can be
--specified to apply on the key before comparison (e.g. @code{string.lower})).")
++
Insertion Order} (KIO: updates of values do not affect the position of the
++ key),
@dfn{Key Value Insertion Order} (KVIO, an existing key's position is
++ removed
and put at the back). The standard library module @code{OrderedDict},
++ implemented later, implements a subset of @code{ordereddict}
functionality.
++ Sorted dictionaries are also provided. Currently only with @dfn{Key
Sorted
++
Order} (KSO, no sorting function can be specified, but a transform can be
++
specified to apply on the key before comparison (e.g. @code{string.lower})).")
(license license:expat)))
(define-public python-pypeg2
@@@ -17828,8 -17975,8 +17887,8 @@@
(home-page "https://fdik.org/pyPEG/")
(synopsis "Parsing Expression Grammars in Python")
(description "PyPEG is an intrinsic parser interpreter framework for
--Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can
--parse many formal languages.")
++ Python. It is based on Parsing Expression Grammars, PEG. With pyPEG
you can
++ parse many formal languages.")
(license license:gpl2)))
(define-public python-incremental
@@@ -17847,7 -17994,7 +17906,7 @@@
(home-page "https://github.com/hawkowl/incremental")
(synopsis "Library for versioning Python projects")
(description "Incremental is a small library that versions your Python
--projects.")
++ projects.")
(license license:expat)))
(define-public python2-incremental
@@@ -17884,9 -18030,9 +17943,9 @@@
(synopsis "Pythonic task execution")
(description
"Invoke is a Python task execution tool and library, drawing inspiration
--from various sources to arrive at a powerful and clean feature set. It is
--evolved from the Fabric project, but focuses on local and abstract concerns
--instead of servers and network commands.")
++ from various sources to arrive at a powerful and clean feature set. It
is
++ evolved from the Fabric project, but focuses on local and abstract
concerns
++ instead of servers and network commands.")
(license license:bsd-3)))
(define-public python2-invoke
@@@ -17936,8 -18064,8 +17995,8 @@@
(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).")
++ expression of finite-state automata (particularly deterministic
finite-state
++ transducers).")
(license license:expat)))
(define-public python2-automat
@@@ -17963,7 -18091,7 +18022,7 @@@
(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.")
++ reST format.")
(license license:expat)))
(define-public python2-m2r
@@@ -17983,8 -18111,8 +18042,8 @@@
(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.")
++ constant support. It includes collections and constants with text,
numeric,
++ and bit flag values.")
(license license:expat)))
(define-public python2-constantly
@@@ -18016,8 -18160,8 +18075,8 @@@
(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.")
++ ease the chores of implementing the most common attribute-related object
++ protocols.")
(license license:expat)))
(define-public python2-attrs
@@@ -18059,8 -18210,8 +18118,8 @@@
(home-page "https://liw.fi/cliapp/")
(synopsis "Python framework for command line programs")
(description "@code{cliapp} is a Python framework for command line
--programs. It contains the typical stuff such programs need to do, such
--as parsing the command line for options, and iterating over input files.")
++ programs. It contains the typical stuff such programs need to do, such
++ as parsing the command line for options, and iterating over input
files.")
(license license:gpl2+)))
(define-public python2-cliapp
@@@ -18095,11 -18246,11 +18154,11 @@@
(lambda _ (invoke "make" "check"))))))
(home-page "https://liw.fi/ttystatus/")
(synopsis "Python library for showing progress reporting and
--status updates on terminals")
++ status updates on terminals")
(description "@code{ttystatus} is a Python library for showing progress
--reporting and status updates on terminals, for command line programs.
--Output is automatically adapted to the width of the terminal: truncated
--if it does not fit, and resized if the terminal size changes.")
++ reporting and status updates on terminals, for command line programs.
++ Output is automatically adapted to the width of the terminal: truncated
++ if it does not fit, and resized if the terminal size changes.")
(license license:gpl3+)))
(define-public python2-ttystatus
@@@ -18124,11 -18275,11 +18183,11 @@@
(home-page "https://liw.fi/tracing/")
(synopsis "Python debug logging helper")
(description "@code{python2-tracing} is a python library for
--logging debug messages. It provides a way to turn debugging messages
--on and off, based on the filename they occur in. It is much faster
--than using @code{logging.Filter} to accomplish the same thing, which
--matters when code is run in production mode. The actual logging still
--happens using the @code{logging} library.")
++ logging debug messages. It provides a way to turn debugging messages
++ on and off, based on the filename they occur in. It is much faster
++ than using @code{logging.Filter} to accomplish the same thing, which
++ matters when code is run in production mode. The actual logging still
++ happens using the @code{logging} library.")
(license license:gpl3+)))
(define-public python-astroid
@@@ -18153,16 -18310,16 +18212,16 @@@
("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://github.com/PyCQA/astroid")
(synopsis "Common base representation of python source code for pylint and
--other projects")
++ other projects")
(description "@code{python-astroid} provides a common base representation
--of python source code for projects such as pychecker, pyreverse, pylint, etc.
--
--It provides a compatible representation which comes from the _ast module. It
--rebuilds the tree generated by the builtin _ast module by recursively walking
--down the AST and building an extended ast. The new node classes have
--additional methods and attributes for different usages. They include some
--support for static inference and local name scopes. Furthermore, astroid
--builds partial trees by inspecting living objects.")
++ of python source code for projects such as pychecker, pyreverse, pylint,
etc.
++
++ It provides a compatible representation which comes from the _ast
module. It
++ rebuilds the tree generated by the builtin _ast module by recursively
walking
++ down the AST and building an extended ast. The new node classes have
++ additional methods and attributes for different usages. They include
some
++ support for static inference and local name scopes. Furthermore, astroid
++ builds partial trees by inspecting living objects.")
(license license:lgpl2.1+)
(properties `((python2-variant . ,(delay python2-astroid))))))
@@@ -18218,9 -18374,9 +18277,9 @@@
(home-page "https://github.com/xlcnd/isbnlib")
(synopsis "Python library to work with ISBN strings")
(description "@code{python-isbnlib} is a (pure) python library that
provides
--several useful methods and functions to validate, clean, transform, hyphenate
and
--get metadata for ISBN strings. Its origin was as the core of isbntools.
This short
--version, is suitable to be include as a dependency in other projects.")
++ several useful methods and functions to validate, clean, transform,
hyphenate and
++ get metadata for ISBN strings. Its origin was as the core of isbntools.
This short
++ version, is suitable to be include as a dependency in other projects.")
(license license:lgpl3+)))
(define-public python-isort
@@@ -18231,77 -18387,23 +18290,77 @@@
(origin
(method git-fetch)
(uri (git-reference
- ;; Tests pass only from the Github sources
- (url "https://github.com/timothycrosley/isort")
- (commit version)))
+ ;; Tests pass only from the Github sources
+ (url "https://github.com/timothycrosley/isort")
+ (commit version)))
(file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet '(for-each delete-file (find-files "." "\\.whl$")))
(sha256
(base32
- "1q0mlrpki5vjbgwxag5rghljjcfg7mvb0pbkwid80p0sqrxlm2p6"))))
+ "0phq4s911mjjdyr5h5siz93jnpkqb2qgphgcfk6axncgxr8i7vi1"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; A foretaste of what our future python-build-system will need to
+ ;; do.
+ (replace 'build
+ (lambda _
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" out whl))))
+ (add-after 'install 'install-example-plugins
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Patch to use the core poetry API.
+ (substitute* '("example_isort_formatting_plugin/pyproject.toml"
+ "example_shared_isort_profile/pyproject.toml")
+ (("poetry>=0.12")
+ "poetry-core>=1.0.0")
+ (("poetry.masonry.api")
+ "poetry.core.masonry.api"))
+ ;; Build the example plugins.
+ (for-each (lambda (source-directory)
+ (invoke "python" "-m" "build" "--wheel"
+ "--no-isolation" "--outdir=dist"
+ source-directory))
+ '("example_isort_formatting_plugin"
+ "example_shared_isort_profile"))
+ ;; Install them to temporary storage, for the test.
+ (setenv "HOME" (getcwd))
+ (let ((example-whls (find-files "dist" "^example.*\\.whl$")))
+ (apply invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--user" "--no-deps" example-whls)))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (setenv "PATH" (string-append (getenv "PATH") ":" bin)))
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv" "tests/unit/"
+ "--ignore=tests/unit/test_deprecated_finders.py")))))))
(native-inputs
- `(("python-mock" ,python-mock)
+ `(("git" ,git-minimal)
+ ("python-black" ,python-black)
+ ("python-colorama" ,python-colorama)
+ ("python-hypothesmith" ,python-hypothesmith)
+ ("python-libcst" ,python-libcst-minimal)
+ ("python-poetry-core" ,python-poetry-core)
+ ("python-pylama" ,python-pylama)
+ ("python-pypa-build" ,python-pypa-build)
+ ("python-pytest-mock" ,python-pytest-mock)
("python-pytest" ,python-pytest)))
- (home-page "https://github.com/timothycrosley/isort")
+ (home-page "https://github.com/PyCQA/isort")
(synopsis "Python utility/library to sort python imports")
(description "@code{python-isort} is a python utility/library to sort
--imports alphabetically, and automatically separated into sections. It
--provides a command line utility, a python library and plugins for various
--editors.")
++ imports alphabetically, and automatically separated into sections. It
++ provides a command line utility, a python library and plugins for various
++ editors.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-isort))))))
@@@ -18333,7 -18435,7 +18392,7 @@@
(home-page "https://github.com/jaraco/backports.functools_lru_cache")
(synopsis "Backport of functools.lru_cache from Python 3.3")
(description "@code{python2-backports-functools-lru-cache} is a backport
--of @code{functools.lru_cache} from python 3.3.")
++ of @code{functools.lru_cache} from python 3.3.")
(license license:expat)))
(define-public python-configparser
@@@ -18353,8 -18455,8 +18412,8 @@@
(home-page "https://github.com/jaraco/configparser/")
(synopsis "Backport of configparser from python 3.5")
(description "@code{python-configparser} is a backport of
--@code{configparser} from Python 3.5 so that it can be used directly
--in other versions.")
++ @code{configparser} from Python 3.5 so that it can be used directly
++ in other versions.")
(license license:expat)))
(define-public python2-configparser
@@@ -18375,14 -18477,14 +18434,14 @@@
(home-page "https://github.com/RonnyPfannschmidt/iniconfig")
(synopsis "Simple INI-file parser")
(description "The @code{iniconfig} package provides a small and simple
--INI-file parser module having a unique set of features; @code{iniconfig}
--@itemize
--@item maintains the order of sections and entries;
--@item supports multi-line values with or without line-continuations;
--@item supports \"#\" comments everywhere;
--@item raises errors with proper line-numbers;
--@item raises an error when two sections have the same name.
--@end itemize")
++ INI-file parser module having a unique set of features ; @code{iniconfig}
++ @itemize
++ @item maintains the order of sections and entries ;
++ @item supports multi-line values with or without line-continuations ;
++ @item supports \"#\" comments everywhere ;
++ @item raises errors with proper line-numbers ;
++ @item raises an error when two sections have the same name.
++ @end itemize")
(license license:expat)))
(define-public python-mamba
@@@ -18404,7 -18506,7 +18463,7 @@@
(synopsis "Test runner for Python")
(description
"Mamba is a Behaviour-Driven Development tool for Python developers.
--Is heavily influenced from RSpec, Mocha, Jasmine or Ginkgo.")
++ Is heavily influenced from RSpec, Mocha, Jasmine or Ginkgo.")
(license license:expat)))
(define-public python-mando
@@@ -18428,7 -18530,7 +18487,7 @@@
"Wrapper around argparse, allowing creation of complete CLI
applications")
(description
"This package is a wrapper around argparse, allowing you to write
complete CLI
--applications in seconds while maintaining all the flexibility.")
++ applications in seconds while maintaining all the flexibility.")
(license license:expat)))
(define-public python2-mando
@@@ -18452,7 -18554,7 +18511,7 @@@
(synopsis "Python command-line parsing library")
(description
"This package is mostly for people who want to have @code{argparse} on
--older Pythons because it was not part of the standard library back then.")
++ older Pythons because it was not part of the standard library back
then.")
(license license:psfl)))
(define-public python-mwclient
@@@ -18511,7 -18613,7 +18570,7 @@@
(synopsis "Convenient utilities not included with the standard Python
install")
(description
"Python Utils is a collection of small Python functions and classes
which
--make common patterns shorter and easier.")
++ make common patterns shorter and easier.")
(license license:bsd-2)))
(define-public python-diff-match-patch
@@@ -18529,7 -18631,7 +18588,7 @@@
(home-page "https://code.google.com/p/google-diff-match-patch")
(synopsis "Synchronize plain text")
(description "Diff Match and Patch libraries offer robust algorithms to
--perform the operations required for synchronizing plain text.")
++ perform the operations required for synchronizing plain text.")
(license license:asl2.0)))
(define-public python2-diff-match-patch
@@@ -18573,13 -18675,13 +18632,13 @@@
(synopsis "Fast computation of Levenshtein distance and string
similarity")
(description
"The Levenshtein Python C extension module contains functions for fast
computation of
--@enumerate
--@item Levenshtein (edit) distance, and edit operations
--@item string similarity
--@item approximate median strings, and generally string averaging
--@item string sequence and set similarity
--@end enumerate
--It supports both normal and Unicode strings.")
++ @enumerate
++ @item Levenshtein (edit) distance, and edit operations
++ @item string similarity
++ @item approximate median strings, and generally string averaging
++ @item string sequence and set similarity
++ @end enumerate
++ It supports both normal and Unicode strings.")
(license license:gpl2+)))
(define-public python2-levenshtein
@@@ -18605,12 -18707,12 +18664,12 @@@
(synopsis "Directory iteration function")
(description
"Directory iteration function like os.listdir(), except that instead of
--returning a list of bare filenames, it yields DirEntry objects that include
--file type and stat information along with the name. Using scandir() increases
--the speed of os.walk() by 2-20 times (depending on the platform and file
--system) by avoiding unnecessary calls to os.stat() in most cases.
++ returning a list of bare filenames, it yields DirEntry objects that
include
++ file type and stat information along with the name. Using scandir()
increases
++ the speed of os.walk() by 2-20 times (depending on the platform and file
++ system) by avoiding
unnecessary calls to os.stat() in most cases.
--This package is part of the Python standard library since version 3.5.")
++ This package is part of the Python standard library since version 3.5.")
(license license:bsd-3)))
(define-public python2-scandir
@@@ -18633,10 -18735,10 +18692,10 @@@
(synopsis "Python implementations of various stemming algorithms")
(description
"Python implementations of the Porter, Porter2, Paice-Husk, and Lovins
--stemming algorithms for English. These implementations are straightforward
and
--efficient, unlike some Python versions of the same algorithms available on the
--Web. This package is an extraction of the stemming code included in the
Whoosh
--search engine.")
++ stemming algorithms for English. These implementations are
straightforward and
++ efficient, unlike some Python versions of the same algorithms available
on the
++ Web. This package is an extraction of the stemming code included in the
Whoosh
++ search engine.")
(license license:public-domain)))
(define-public python-factory-boy
@@@ -18660,14 -18762,17 +18719,14 @@@
(description
"Factory_boy is a fixtures replacement based on thoughtbot’s
factory_girl.
--As a fixtures replacement tool, it aims to replace static, hard to maintain
--fixtures with easy-to-use factories for complex object.
++ As a fixtures replacement tool, it aims to replace static, hard to
maintain
++ fixtures with easy-to-use factories for complex object.
--Instead of building an exhaustive test setup with every possible combination
--of corner cases, factory_boy allows you to use objects customized for the
--current test, while only declaring the test-specific fields")
++ Instead of building an exhaustive test setup with every possible
combination
++ of corner cases, factory_boy allows you to use objects customized for the
++ current test, while only declaring the test-specific fields")
(license license:expat)))
-(define-public python2-factory-boy
- (package-with-python2 python-factory-boy))
-
(define-public python-translate-toolkit
(package
(name "python-translate-toolkit")
@@@ -18702,7 -18807,7 +18761,7 @@@
(synopsis "Tools and API for translation and localization engineering")
(description
"Tools and API for translation and localization engineering. It contains
--several utilities, as well as an API for building localization tools.")
++ several utilities, as well as an API for building localization tools.")
(license license:gpl2+)))
;; Required for virtaal, newer versions do not build with python2
@@@ -18737,8 -18855,8 +18796,8 @@@
(home-page "https://github.com/pypa/packaging")
(synopsis "Core utilities for Python packages")
(description "Packaging is a Python module for dealing with Python
packages.
--It offers an interface for working with package versions, names, and
dependency
--information.")
++ It offers an interface for working with package versions, names, and
dependency
++ information.")
;; From 'LICENSE': This software is made available under the terms of
;; *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD.
;; Contributions to this software is made under the terms of *both* these
@@@ -18768,10 -18909,13 +18827,10 @@@
(home-page "https://relatorio.tryton.org/")
(synopsis "Templating library able to output ODT and PDF files")
(description "Relatorio is a templating library which provides a way to
--easily output ODT, ODS, PNG, SVG and several other kinds of files. Support
--for more filetypes can be easily added by creating plugins for them.")
++ easily output ODT, ODS, PNG, SVG and several other kinds of files.
Support
++ for more filetypes can be easily added by creating plugins for them.")
(license license:gpl3+)))
-(define-public python2-relatorio
- (package-with-python2 python-relatorio))
-
(define-public python-radon
(package
(name "python-radon")
@@@ -18806,13 -18943,13 +18865,13 @@@
(home-page "https://radon.readthedocs.org/")
(synopsis "Code Metrics in Python")
(description "Radon is a Python tool which computes various code metrics.
--Supported metrics are:
--@itemize @bullet
--@item raw metrics: SLOC, comment lines, blank lines, &c.
--@item Cyclomatic Complexity (i.e. McCabe’s Complexity)
--@item Halstead metrics (all of them)
--@item the Maintainability Index (a Visual Studio metric)
--@end itemize")
++ Supported metrics are:
++ @itemize @bullet
++ @item raw metrics: SLOC, comment lines, blank lines, &c.
++ @item Cyclomatic Complexity (i.e. McCabe’s Complexity)
++ @item Halstead metrics (all of them)
++ @item the Maintainability Index (a Visual Studio metric)
++ @end itemize")
(properties `((python2-variant . ,(delay python2-radon))))
(license license:expat)))
@@@ -18845,7 -18982,7 +18904,7 @@@
(synopsis "Automated testing library in python for python")
(description
"Sure is a python library that leverages a DSL for writing assertions.
--Sure is heavily inspired by @code{RSpec Expectations} and @code{should.js}.")
++ Sure is heavily inspired by @code{RSpec Expectations} and
@code{should.js}.")
(license license:gpl3+)))
(define-public python2-sure
@@@ -18872,7 -19009,7 +18931,7 @@@
"ANSI terminal tool for python, colored shell and other handy fancy
features")
(description
"@code{Couleur} provides python programs a way to use the ANSI features
in a unix
--terminal such as coloured output in the shell, overwriting output,
indentation, etc.")
++ terminal such as coloured output in the shell, overwriting output,
indentation, etc.")
;; README.md says ASL2.0, but all source code headers are LGPL3+.
;; https://github.com/gabrielfalcao/couleur/issues/11
(license license:lgpl3+)))
@@@ -18902,8 -19039,8 +18961,8 @@@
(synopsis "Python binding for Hoedown")
(description
"@code{Misaka} is a CFFI-based binding for @code{Hoedown}, a fast
markdown processing
--library written in C. It features a fast HTML renderer and functionality to
make custom
--renderers (e.g. man pages or LaTeX).")
++ library written in C. It features a fast HTML renderer and
functionality to make custom
++ renderers (e.g. man pages or LaTeX).")
(license license:expat)))
(define-public python2-misaka
@@@ -18943,9 -19080,9 +19002,9 @@@
(synopsis "Markdown-based test runner for python")
(description
"@code{Steadymark} allows documentation to be written in github-flavoured
--markdown. The documentation may contain snippets of code surrounded by python
--code blocks and @code{Steadymark} will find these snippets and run them,
making
--sure that there are no old malfunctional examples in the documentation
examples.")
++ markdown. The documentation may contain snippets of code surrounded by
python
++ code blocks and @code{Steadymark} will find these snippets and run them,
making
++ sure that there are no old malfunctional examples in the documentation
examples.")
(license license:expat)))
(define-public python-jsonpointer
@@@ -18963,7 -19100,7 +19022,7 @@@
(home-page "https://github.com/stefankoegl/python-json-pointer")
(synopsis "Identify specific nodes in a JSON document")
(description "@code{jsonpointer} allows you to access specific nodes
--by path in a JSON document (see RFC 6901).")
++ by path in a JSON document (see RFC 6901).")
(license license:bsd-3)))
(define-public python2-jsonpointer
@@@ -18990,7 -19127,7 +19049,7 @@@
(home-page "https://github.com/stefankoegl/python-json-patch")
(synopsis "Applying JSON Patches in Python 2.6+ and 3.x")
(description "@code{jsonpatch} is a library and program that allows
--applying JSON Patches according to RFC 6902.")
++ applying JSON Patches according to RFC 6902.")
(license license:bsd-3)))
(define-public python2-jsonpatch
@@@ -19037,8 -19186,8 +19096,8 @@@
(synopsis "Parse and validate URI references")
(description
"@code{rfc3986} is a Python implementation of RFC@tie{}3986 including
--validation and authority parsing. This module also supports RFC@tie{}6874
--which adds support for zone identifiers to IPv6 addresses.")
++ validation and authority parsing. This module also supports
RFC@tie{}6874
++ which adds support for zone identifiers to IPv6 addresses.")
(license license:asl2.0)))
(define-public python2-rfc3986
@@@ -19059,7 -19208,7 +19118,7 @@@
(home-page "https://pypi.org/project/rfc3987/")
(synopsis "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)")
(description "@code{rfc3987} provides routines for parsing and
--validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
++ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
(license license:gpl3+)))
(define-public python2-rfc3987
@@@ -19097,8 -19246,8 +19156,8 @@@
(synopsis "Python implementation of RFC 6555")
(description
"Python implementation of the Happy Eyeballs Algorithm described in RFC
--6555. Provided with a single file and dead-simple API to allow easy vendoring
--and integration into other projects.")
++ 6555. Provided with a single file and dead-simple API to allow easy
vendoring
++ and integration into other projects.")
(license license:asl2.0))))
(define-public python-bagit
@@@ -19120,8 -19269,8 +19179,8 @@@
(home-page "https://libraryofcongress.github.io/bagit-python/")
(synopsis "Create and validate BagIt packages")
(description "Bagit is a Python library and command line utility for
working
--with BagIt style packages. BagIt is a minimalist packaging format for digital
--preservation.")
++ with BagIt style packages. BagIt is a minimalist packaging format for
digital
++ preservation.")
(license license:cc0)))
(define-public python-prov
@@@ -19149,7 -19298,7 +19208,7 @@@
"W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O
(RDF)")
(description
"This package provides a library for W3C Provenance Data Model supporting
--PROV-O (RDF), PROV-XML, PROV-JSON import/export.")
++ PROV-O (RDF), PROV-XML, PROV-JSON import/export.")
(license license:expat)))
(define-public python-arcp
@@@ -19171,17 -19320,17 +19230,17 @@@
"Archive and Package URI parser and generator")
(description
"@acronym{arcp, Archive and Package} provides functions for creating
--@code{arcp_} URIs, which can be used for identifying or parsing hypermedia
files
--packaged in an archive or package, like a ZIP file. arcp URIs can be used to
--consume or reference hypermedia resources bundled inside a file archive or an
--application package, as well as to resolve URIs for archive resources within a
--programmatic framework. This URI scheme provides mechanisms to generate a
--unique base URI to represent the root of the archive, so that relative URI
--references in a bundled resource can be resolved within the archive without
--having to extract the archive content on the local file system. An arcp URI
can
--be used for purposes of isolation (e.g. when consuming multiple archives),
--security constraints (avoiding \"climb out\" from the archive), or for
--externally identiyfing sub-resources referenced by hypermedia formats.")
++ @code{arcp_} URIs, which can be used for identifying or parsing
hypermedia files
++ packaged in an archive or package, like a ZIP file. arcp URIs can be
used to
++ consume or reference hypermedia resources bundled inside a file archive
or an
++ application package, as well as to resolve URIs for archive resources
within a
++ programmatic framework. This URI scheme provides mechanisms to generate
a
++ unique base URI to represent the root of the archive, so that relative
URI
++ references in a bundled resource can be resolved within the archive
without
++ having to extract the archive content on the local file system. An arcp
URI can
++ be used for purposes of isolation (e.g. when consuming multiple
archives),
++ security constraints (avoiding \"climb out\" from the archive), or for
++ externally identiyfing sub-resources referenced by hypermedia formats.")
(license license:asl2.0)))
(define-public python-shellescape
@@@ -19215,9 -19364,9 +19274,9 @@@
"Shell escape a string to safely use it as a token in a shell command")
(description
"The shellescape Python module defines the @code{shellescape.quote()}
--function that returns a shell-escaped version of a Python string. This is a
--backport of the @code{shlex.quote()} function from Python 3.8 that makes it
--accessible to users of Python 3 versions < 3.3 and all Python 2.x versions.")
++ function that returns a shell-escaped version of a Python string. This
is a
++ backport of the @code{shlex.quote()} function from Python 3.8 that makes
it
++ accessible to users of Python 3 versions < 3.3 and all Python 2.x
versions.")
(license license:expat)))
(define-public python-validators
@@@ -19247,11 -19396,14 +19306,11 @@@
(synopsis "Data validation library")
(description
"This package contains validators for different things such as email
--addresses, IP addresses, URLs, hashes and more. It has been designed to
--be easy to use and not require defining a schema or form just to validate
--some input.")
++ addresses, IP addresses, URLs, hashes and more. It has been designed to
++ be easy to use and not require defining a schema or form just to validate
++ some input.")
(license license:expat)))
-(define-public python2-validators
- (package-with-python2 python-validators))
-
(define-public python-validate-email
(package
(name "python-validate-email")
@@@ -19267,7 -19419,7 +19326,7 @@@
(home-page "https://github.com/syrusakbary/validate_email")
(synopsis "Verifies if an email address is valid and really exists")
(description "@code{validate_email} can be used to verify if an email
--address is valid and really exists.")
++ address is valid and really exists.")
(license license:lgpl3+)))
(define-public python2-validate-email
@@@ -19322,9 -19474,9 +19381,9 @@@
("python-pytz" ,python-pytz)))
(home-page "https://github.com/marshmallow-code/marshmallow")
(synopsis "Convert complex datatypes to and from native
--Python datatypes")
++ Python datatypes")
(description "@code{marshmallow} provides a library for converting
--complex datatypes to and from native Python datatypes.")
++ complex datatypes to and from native Python datatypes.")
(license license:expat)))
(define-public python-marshmallow-3.2
@@@ -19364,8 -19516,8 +19423,8 @@@
(synopsis "JSON:API 1.0 formatting with Marshmallow")
(description
"The marshmallow-jsonapi package provides a simple way to produce
--@uref{https://jsonapi.org, JSON:API}-compliant data in any Python Web
framework.
--It includes optional utilities to integrate with Flask.")
++ @uref{https://jsonapi.org, JSON:API}-compliant data in any Python Web
framework.
++ It includes optional utilities to integrate with Flask.")
(license license:expat)))
(define-public python-apispec
@@@ -19397,8 -19555,8 +19456,8 @@@
(home-page "https://github.com/marshmallow-code/apispec")
(synopsis "Swagger/OpenAPI specification generator")
(description "@code{python-apispec} is a pluggable API specification
--generator. It currently supports the OpenAPI specification, formerly known
--as Swagger.")
++ generator. It currently supports the OpenAPI specification, formerly
known
++ as Swagger.")
(license license:expat)))
(define-public python-flasgger
@@@ -19442,7 -19603,7 +19501,7 @@@
(home-page "https://github.com/rochacbruno/flasgger/")
(synopsis "Extract Swagger specs from your Flask project")
(description "@code{python-flasgger} allows extracting Swagger specs
--from your Flask project. It is a fork of Flask-Swagger.")
++ from your Flask project. It is a fork of Flask-Swagger.")
(license license:expat)))
(define-public python-swagger-spec-validator
@@@ -19465,7 -19626,7 +19524,7 @@@
"https://github.com/Yelp/swagger_spec_validator")
(synopsis "Validation of Swagger specifications")
(description "@code{swagger_spec_validator} provides a library for
--validating Swagger API specifications.")
++ validating Swagger API specifications.")
(license license:asl2.0)))
(define-public python-apache-libcloud
@@@ -19494,7 -19655,7 +19553,7 @@@
(substitute* "libcloud/test/compute/test_ssh_client.py"
(("class ShellOutSSHClientTests")
"@unittest.skip(\"Guix container doesn't have ssh service\")
--class ShellOutSSHClientTests"))
++ class ShellOutSSHClientTests"))
#t))
(add-before 'check 'copy-secret
(lambda _
@@@ -19515,7 -19676,7 +19574,7 @@@
(home-page "https://libcloud.apache.org/")
(synopsis "Unified Cloud API")
(description "@code{libcloud} is a Python library for interacting with
--many of the popular cloud service providers using a unified API.")
++ many of the popular cloud service providers using a unified API.")
(license license:asl2.0)))
(define-public python-smmap
@@@ -19534,7 -19695,7 +19593,7 @@@
(home-page "https://github.com/Byron/smmap")
(synopsis "Python sliding window memory map manager")
(description "@code{smmap} is a pure Python implementation of a sliding
--window memory map manager.")
++ window memory map manager.")
(license license:bsd-3)))
(define-public python2-smmap
@@@ -19558,13 -19719,13 +19617,13 @@@
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "python" "-c"
-- "from regex.test_regex import test_main;
test_main()"))))))
-- (home-page "https://bitbucket.org/mrabarnett/mrab-regex")
-- (synopsis "Alternative regular expression module")
-- (description "This regular expression implementation is backwards-
++ "from regex.test_regex import test_main ;
test_main()"))))))
++ (home-page "https://bitbucket.org/mrabarnett/mrab-regex")
++ (synopsis "Alternative regular expression module")
++ (description "This regular expression implementation is backwards-
compatible with the standard @code{re} module, but offers additional
functionality like full case-folding for case-insensitive matches in
Unicode.")
-- (license license:psfl)))
++ (license license:psfl)))
(define-public python2-regex
(package-with-python2 python-regex))
@@@ -28021,6 -28207,167 +28126,143 @@@ simple mock/record and a complete captu
interfaces.")
(license license:bsd-3)))
+ (define-public python-orgparse
+ (package
+ (name "python-orgparse")
+ (version "0.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "orgparse" version))
+ (sha256
+ (base32 "14iv4pg3rma9560plg0w943x04mr2cmrssda43y2d1x9acrd2n71"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "orgparse/tests")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-setuptools-scm" ,python-setuptools-scm)))
+ (home-page "https://github.com/karlicoss/orgparse")
+ (synopsis "Emacs Org mode parser in Python")
+ (description
+ "This package is a Python module for reading Emacs Org mode files.")
+ (license license:bsd-3)))
+
-(define-public python-sgmllib3k
- (package
- (name "python-sgmllib3k")
- (version "1.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sgmllib3k" version))
- (sha256
- (base32 "1s8jm3dgqabgf8x96931scji679qkhvczlv3qld4qxpsicfgns3q"))))
- (build-system python-build-system)
- ;; Requires a test.html input that is not supplied
- (arguments
- `(#:tests? #f))
- (home-page "https://pypi.org/project/sgmllib3k/")
- ;; Actual homepage seems to be down
- ;; (home-page "https://hg.hardcoded.net/sgmllib")
- (synopsis "Python 3 port of sgmllib")
- (description
- "This package provides an unmaintained port of sgmllib to Python 3.
-It is used to parse text files formatted in @acronym{SGML,Standard Generalized
-Mark-up Language}.")
- (license license:bsd-3)))
-
+ (define-public dynaconf
+ (package
+ (name "dynaconf")
+ (version "3.1.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/rochacbruno/dynaconf")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pjyjsdzairpn5vq8nzddhxwxmr18grn272nj31wcy2ipwdl3c3h"))
+ (patches (search-patches "dynaconf-unvendor-deps.patch"))
+ (modules '((guix build utils)))
+ (snippet '(begin
+ ;; Remove vendored dependencies
+ (let ((unvendor '("click" "dotenv" "ruamel" "toml")))
+ (with-directory-excursion "dynaconf/vendor"
+ (for-each delete-file-recursively unvendor))
+ (with-directory-excursion "dynaconf/vendor_src"
+ (for-each delete-file-recursively unvendor)))))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (when tests?
+ (setenv "PATH"
+ (string-append (assoc-ref outputs "out") "/bin:"
+ (getenv "PATH")))
+ ;; These tests depend on hvac and a live Vault process.
+ (delete-file "tests/test_vault.py")
+ (invoke "make" "test_only")))))))
+ (propagated-inputs
+ `(("python-click" ,python-click)
+ ("python-configobj" ,python-configobj)
+ ("python-dotenv" ,python-dotenv-0.13.0)
+ ("python-ruamel.yaml" ,python-ruamel.yaml)
+ ("python-toml" ,python-toml)))
+ (native-inputs
+ `(("python-django" ,python-django)
+ ("python-flask" ,python-flask)
+ ("python-pytest" ,python-pytest-6)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-mock" ,python-pytest-mock)))
+ (home-page "https://www.dynaconf.com/")
+ (synopsis "The dynamic configurator for your Python project")
+ (description
+ "This package provides @code{dynaconf} the dynamic configurator manager
for
+ your Python project. It provides features such as:
+
+ @itemize
+ @item Inspired by the @url{https://12factor.net/config, 12-factor application
guide};
+ @item Settings management (default values, validation, parsing, templating);
+ @item Protection of sensitive information (passwords/tokens);
+ @item Multiple file formats @code{toml|yaml|json|ini|py} and also customizable
+ loaders;
+ @item Full support for environment variables to override existing settings
+ (dotenv support included);
+ @item Optional layered system for multiple environments @code{[default,
+ development, testing, production]};
+ @item Built-in support for Hashicorp Vault and Redis as settings and secrets
storage;
+ @item Built-in extensions for Django and Flask web frameworks;
+ @item CLI for common operations such as @code{init, list, write, validate,
export}.
+ @end itemize")
+ (license license:expat)))
+
+ (define-public pudb
+ (package
+ (name "pudb")
+ (version "2021.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pudb" version))
+ (sha256
+ (base32 "0p16pvzfa3w02ybg3n0iy5rs23z4rz4a42lb8wh3mcq62y9ik2w7"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-read-only-home
+ (lambda _
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest")))))))
+ (native-inputs
+ `(("python-numpy" ,python-numpy)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-mock" ,python-pytest-mock)))
+ (propagated-inputs
+ `(("python-jedi" ,python-jedi)
+ ("python-pygments" ,python-pygments)
+ ("python-urwid" ,python-urwid)
+ ("python-urwid-readline" ,python-urwid-readline)))
+ (home-page "https://documen.tician.de/pudb/")
+ (synopsis "Console-based Python debugger")
+ (description
+ "@command{pudb} is a full-screen, console-based Python debugger providing
+ all the niceties of modern GUI-based debuggers in a more lightweight and
+ keyboard-friendly package.")
+ (license license:expat)))
+
(define-public python-iwlib
(package
(name "python-iwlib")
diff --cc gnu/packages/security-token.scm
index cc8840b,d5ce6e1..537f43c
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@@ -10,9 -10,9 +10,10 @@@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Raphaël Mélotte <raphael.melotte@mind.be>
;;; Copyright © 2021 Antero Mejr <antero@kodmin.com>
+;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Sergey Trofimov <sarg@sarg.org.ru>
;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev>
+ ;;; Copyright © 2021 Ahmad Jarara <git@ajarara.io>
;;;
;;; This file is part of GNU Guix.
;;;
diff --cc gnu/packages/video.scm
index b6205fa,eeabb11..7868b5c
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@@ -52,9 -52,9 +52,10 @@@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
+;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Robin Templeton <robin@terpri.org>
+ ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@@ -101,9 -101,9 +102,10 @@@
#:use-module (gnu packages avahi)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
diff --cc gnu/packages/vpn.scm
index 9927765,a59762f..b06ca33
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@@ -328,12 -328,11 +328,11 @@@ endpoints."
(substitute* "src/libstrongswan/tests/suites/test_process.c"
(("/bin/sh") (which "sh"))
(("/bin/echo") (which "echo"))
- (("cat") (which "cat")))
- #t))
+ (("cat") (which "cat")))))
(add-before 'check 'set-up-test-environment
(lambda* (#:key inputs #:allow-other-keys)
- (setenv "TZDIR" (string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo")))))
+ (setenv "TZDIR"
+ (search-input-directory inputs "share/zoneinfo")))))
#:configure-flags
(list
"--disable-ldap"
diff --cc gnu/services/dbus.scm
index a895c63,ddb20bd..85a4c3e
--- a/gnu/services/dbus.scm
+++ b/gnu/services/dbus.scm
@@@ -300,20 -300,11 +300,20 @@@ tuples, are all set as environment vari
(define-record-type* <polkit-configuration>
polkit-configuration make-polkit-configuration
polkit-configuration?
- (polkit polkit-configuration-polkit ;<package>
+ (polkit polkit-configuration-polkit ;file-like
- (default polkit))
+ (default %default-polkit))
- (actions polkit-configuration-actions ;list of <package>
+ (actions polkit-configuration-actions ;list of file-like
(default '())))
+(define %default-polkit
+ ;; The default polkit package.
+ (let-system (system target)
+ ;; Since mozjs depends on Rust, which is currently x86_64-only, use
+ ;; polkit-duktape on other systems.
+ (if (string-prefix? "x86_64-" (or target system))
+ polkit-mozjs
+ polkit-duktape)))
+
(define %polkit-accounts
(list (user-group (name "polkitd") (system? #t))
(user-account
diff --cc gnu/system/vm.scm
index a65397f,f1541cf..2487539
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@@ -708,11 -708,10 +708,10 @@@ with '-virtfs' options for the host fil
'())
"-no-reboot"
- "-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
- "-device" "virtio-rng-pci,rng=guixsd-vm-rng"
+ "-object" "rng-random,filename=/dev/urandom,id=guix-vm-rng"
+ "-device" "virtio-rng-pci,rng=guix-vm-rng"
#$@(map virtfs-option shared-fs)
- "-vga std"
(format #f "-drive
file=~a,if=virtio,cache=writeback,werror=report,readonly=on"
#$image)))
diff --cc guix/build-system/haskell.scm
index 3770304,72e37f2..dc83512
--- a/guix/build-system/haskell.scm
+++ b/guix/build-system/haskell.scm
@@@ -2,7 -2,7 +2,8 @@@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2020 Timothy Sample <samplet@ngyro.com>
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
+ ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
;;; This file is part of GNU Guix.
;;;