guix-commits
[Top][All Lists]
Advanced

[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.
  ;;;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]