summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/ci.scm3
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/admin.scm11
-rw-r--r--gnu/packages/audio.scm4
-rw-r--r--gnu/packages/autotools.scm2
-rw-r--r--gnu/packages/backup.scm5
-rw-r--r--gnu/packages/bioconductor.scm16
-rw-r--r--gnu/packages/bioinformatics.scm11
-rw-r--r--gnu/packages/boost.scm25
-rw-r--r--gnu/packages/code.scm2
-rw-r--r--gnu/packages/cran.scm69
-rw-r--r--gnu/packages/databases.scm2
-rw-r--r--gnu/packages/digest.scm4
-rw-r--r--gnu/packages/disk.scm9
-rw-r--r--gnu/packages/embedded.scm2
-rw-r--r--gnu/packages/emulators.scm4
-rw-r--r--gnu/packages/enlightenment.scm17
-rw-r--r--gnu/packages/fltk.scm2
-rw-r--r--gnu/packages/freedesktop.scm4
-rw-r--r--gnu/packages/games.scm35
-rw-r--r--gnu/packages/geo.scm28
-rw-r--r--gnu/packages/gnome.scm4
-rw-r--r--gnu/packages/golang.scm51
-rw-r--r--gnu/packages/guile-xyz.scm32
-rw-r--r--gnu/packages/guile.scm9
-rw-r--r--gnu/packages/haskell-xyz.scm7
-rw-r--r--gnu/packages/hyperledger.scm126
-rw-r--r--gnu/packages/java-compression.scm59
-rw-r--r--gnu/packages/libusb.scm41
-rw-r--r--gnu/packages/linux.scm49
-rw-r--r--gnu/packages/lisp.scm4
-rw-r--r--gnu/packages/machine-learning.scm43
-rw-r--r--gnu/packages/mail.scm9
-rw-r--r--gnu/packages/man.scm4
-rw-r--r--gnu/packages/maths.scm207
-rw-r--r--gnu/packages/mingw.scm4
-rw-r--r--gnu/packages/mp3.scm2
-rw-r--r--gnu/packages/music.scm6
-rw-r--r--gnu/packages/networking.scm2
-rw-r--r--gnu/packages/password-utils.scm80
-rw-r--r--gnu/packages/patches/bluez-CVE-2020-0556.patch180
-rw-r--r--gnu/packages/perl-check.scm10
-rw-r--r--gnu/packages/perl.scm2
-rw-r--r--gnu/packages/python-xyz.scm10
-rw-r--r--gnu/packages/skarnet.scm4
-rw-r--r--gnu/packages/statistics.scm30
-rw-r--r--gnu/packages/textutils.scm2
-rw-r--r--gnu/packages/version-control.scm70
-rw-r--r--gnu/packages/video.scm2
-rw-r--r--gnu/packages/web.scm12
-rw-r--r--gnu/packages/webkit.scm4
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/xdisorg.scm10
-rw-r--r--gnu/packages/xorg.scm24
-rw-r--r--gnu/services/web.scm14
55 files changed, 1073 insertions, 300 deletions
diff --git a/gnu/ci.scm b/gnu/ci.scm
index e024c09ebc..44a6a87e1a 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -55,7 +55,8 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:use-module (ice-9 match)
-  #:export (channel-source->package
+  #:export (%cross-targets
+            channel-source->package
             hydra-jobs))
 
 ;;; Commentary:
diff --git a/gnu/local.mk b/gnu/local.mk
index e1f4f1985e..610c81ec97 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -763,6 +763,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/binutils-loongson-workaround.patch	\
   %D%/packages/patches/blender-2.79-newer-ffmpeg.patch		\
   %D%/packages/patches/blender-2.79-python-3.7-fix.patch	\
+  %D%/packages/patches/bluez-CVE-2020-0556.patch		\
   %D%/packages/patches/byobu-writable-status.patch		\
   %D%/packages/patches/calibre-no-updates-dialog.patch		\
   %D%/packages/patches/calibre-remove-test-bs4.patch		\
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 0f27e6370b..5ec34864e2 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -3170,7 +3170,16 @@ late.")
                     version "/launchmon-v" version ".tar.gz"))
               (sha256
                (base32
-                "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))))
+                "0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; Fix build failure with GCC 7 due to a conversion error.
+                  ;; Remove for versions > 1.0.2.
+                  (substitute* "launchmon/src/linux/lmon_api/lmon_coloc_spawner.cxx"
+                    ((" lmonpl = '\\\\0'")
+                     " *lmonpl = '\\0'"))
+                  #t))))
     (build-system gnu-build-system)
     (inputs
      `(("mpi" ,openmpi)
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 63227b89ea..b6e0a436c3 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1306,7 +1306,7 @@ PS, and DAB+.")
              #t)))))
     (native-inputs
      `(("unzip" ,unzip)))
-    (home-page "http://faust.grame.fr/")
+    (home-page "https://faust.grame.fr/")
     (synopsis "Signal processing language")
     (description
      "Faust is a programming language for realtime audio signal processing.")
@@ -2992,7 +2992,7 @@ synthesizer written in C++.")
                      (string-append "--prefix=" (assoc-ref outputs "out"))))))
        ;; No 'check' target.
        #:tests? #f))
-    (home-page "http://themaister.net/rsound.html")
+    (home-page "https://themaister.net/rsound.html")
     (synopsis "Networked audio system")
     (description
      "RSound allows you to send audio from an application and transfer it
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 2ba9950981..62e0b9291f 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -243,7 +243,7 @@ Autobuild generates an HTML summary file, containing links to each build log.
 The summary includes project name, version, build hostname, host type (cross
 compile aware), date of build, and indication of success or failure.  The
 output is indexed in many ways to simplify browsing.")
-    (home-page "http://josefsson.org/autobuild/")
+    (home-page "https://josefsson.org/autobuild/")
     (license gpl3+)))
 
 (define-public automake
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 9d8d984cb2..b18dbf30f0 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -520,13 +520,14 @@ detection, and lossless compression.")
 (define-public borg
   (package
     (name "borg")
-    (version "1.1.10")
+    (version "1.1.11")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "borgbackup" version))
        (sha256
-        (base32 "1pp70p4n5kamvcbl4d8021ggrxhyykmg9isjg4yd3wags8b19d7g"))
+        (base32
+         "190gjzx83b6p64nqj840x382dgz9gfv0gm7wj585lnkrpa90j29n"))
        (modules '((guix build utils)))
        (snippet
         '(begin
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 167cb00ece..4320bc0bb5 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -3605,14 +3605,14 @@ profiles (GO and KEGG) of gene and gene clusters.")
 (define-public r-mlinterfaces
   (package
     (name "r-mlinterfaces")
-    (version "1.66.4")
+    (version "1.66.5")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MLInterfaces" version))
        (sha256
         (base32
-         "19hlicdndy2p45y7w91gnwi3wgq5s465a646z3qqk8gmn5sn614q"))))
+         "05bg7qcrv485m03rkyq3qg5hrr1m3y7zx49bipwaivzqm3s1mbw5"))))
     (properties `((upstream-name . "MLInterfaces")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5570,14 +5570,14 @@ manipulation of flow cytometry data.")
 (define-public r-ggcyto
   (package
     (name "r-ggcyto")
-    (version "1.14.0")
+    (version "1.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ggcyto" version))
        (sha256
         (base32
-         "165qszvy5z176h1l3dnjb5dcm279b6bjl5n5gzz8wfn4xpn8anc8"))))
+         "16jwdslhmj1nsa28wmaircy15cq7qn8nsyiawinjv711qiqhgw50"))))
     (properties `((upstream-name . "ggcyto")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5591,6 +5591,8 @@ manipulation of flow cytometry data.")
        ("r-rcolorbrewer" ,r-rcolorbrewer)
        ("r-rlang" ,r-rlang)
        ("r-scales" ,r-scales)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://github.com/RGLab/ggcyto/issues")
     (synopsis "Visualize Cytometry data with ggplot")
     (description
@@ -6025,14 +6027,14 @@ genes in the gene-set that are ranked above the leading edge).")
 (define-public r-cicero
   (package
     (name "r-cicero")
-    (version "1.4.2")
+    (version "1.4.4")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "cicero" version))
        (sha256
         (base32
-         "154djqd32w87814ycfmfz27ikp17bnampvmvw5hzi5p2x9l3h82r"))))
+         "1ay1g2r0la4grcp1y8vcp211lfwzjf7j819ajzdirsh5dab8whld"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-assertthat" ,r-assertthat)
@@ -6056,6 +6058,8 @@ genes in the gene-set that are ranked above the leading edge).")
        ("r-tibble" ,r-tibble)
        ("r-tidyr" ,r-tidyr)
        ("r-vgam" ,r-vgam)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://bioconductor.org/packages/cicero/")
     (synopsis "Predict cis-co-accessibility from single-cell data")
     (description
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d95b58b0bb..4dedee6223 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -2755,7 +2755,7 @@ quantitative phenotypes.")
 (define-public edirect
   (package
     (name "edirect")
-    (version "12.1.20190829")
+    (version "13.3.20200128")
     (source (origin
               (method url-fetch)
               (uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect"
@@ -2763,7 +2763,10 @@ quantitative phenotypes.")
                                   "/edirect-" version ".tar.gz"))
               (sha256
                (base32
-                "1xb330z28dgp7slrvp8r7rgncsasv9lpcpqim571yg728dq7xdik"))))
+                "093zp7klv81ph0y8mm8d78a9hnpfxbv2kdym70gzdf3vz176rw33"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin (delete-file "Mozilla-CA.tar.gz") #t))))
     (build-system perl-build-system)
     (arguments
      `(#:phases
@@ -8288,7 +8291,7 @@ throughput genetic sequencing data sets using regression methods.")
 (define-public r-qtl
  (package
   (name "r-qtl")
-  (version "1.45-11")
+  (version "1.46-2")
   (source
    (origin
     (method url-fetch)
@@ -8296,7 +8299,7 @@ throughput genetic sequencing data sets using regression methods.")
                         version ".tar.gz"))
     (sha256
      (base32
-      "1d6qgj602fm6zia3djl4hmca0ri4v57ffp3g93p2yc3cabx2hq90"))))
+      "0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a"))))
   (build-system r-build-system)
   (home-page "https://rqtl.org/")
   (synopsis "R package for analyzing QTL experiments in genetics")
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 11fb8e1201..8bf2002adb 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -195,6 +195,29 @@ across a broad spectrum of applications.")
                    (symlink "libboost_python27.a" "libboost_python.a"))
                  #t)))))))))
 
+(define-public boost-1.69
+  (package
+    (inherit boost)
+    (name "boost")
+    (version "1.69.0")
+    (source (origin
+              (method url-fetch)
+              (uri (let ((version-with-underscores
+                          (string-map (lambda (x) (if (eq? x #\.) #\_ x)) version)))
+                     (list (string-append "mirror://sourceforge/boost/boost/" version
+                                          "/boost_" version-with-underscores ".tar.bz2")
+                           (string-append "https://dl.bintray.com/boostorg/release/"
+                                          version "/source/boost_"
+                                          version-with-underscores ".tar.bz2"))))
+              (sha256
+               (base32
+                "01j4n142dz20lcgqji8d8hspp04p1nv7m8i6dz8w5lchfdhx8clg"))))
+    (arguments
+     (substitute-keyword-arguments (package-arguments boost)
+       ((#:make-flags flags)
+        `(cons* "cxxflags=-std=c++14" ,flags))))
+    (properties '((hidden? . #t)))))
+
 (define-public boost-for-mysql
   ;; Older version for MySQL 5.7.23.
   (package
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 6af1d413b8..c1eaaf1aab 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -306,7 +306,7 @@ tools such as @command{grep}.")
                (base32
                 "02pwd5m5vq7hbrffgm2na1dfc249z50yyr5jv73vdw15bd7ygl44"))))
     (build-system gnu-build-system)
-    (home-page "http://daniel.haxx.se/projects/trio/")
+    (home-page "https://daniel.haxx.se/projects/trio/")
     (synopsis "Portable and extendable printf and string functions")
     (description
      "Trio is a set of @code{printf} and string functions designed be used by
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 4ef2f922ec..406ccc644b 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -4066,20 +4066,22 @@ to variables on the left-hand side of the assignment.")
 (define-public r-vctrs
   (package
     (name "r-vctrs")
-    (version "0.2.3")
+    (version "0.2.4")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vctrs" version))
        (sha256
         (base32
-         "1pnjnxp1pwsr083qa6xp5akls6q0pnjz8pq2m9d7z3kc1886sw8w"))))
+         "15sgzs6afvmhssk6jcg41rn3bvmzmbm4sgca6f6x8lfrsazvdj6w"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-digest" ,r-digest)
        ("r-ellipsis" ,r-ellipsis)
        ("r-glue" ,r-glue)
        ("r-rlang" ,r-rlang)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://github.com/r-lib/vctrs")
     (synopsis "Vector helpers")
     (description
@@ -5168,14 +5170,14 @@ specific S3-method.")
 (define-public r-vim
   (package
     (name "r-vim")
-    (version "5.1.0")
+    (version "5.1.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "VIM" version))
        (sha256
         (base32
-         "09600piny3qrxrmh8844iwrvgrhwan1c3nlh6irqy1vjha2w4gb3"))))
+         "0w22ir0gvym7gqd6nw2j7w5ivlb3az1dkfxv33imimkb7c83056a"))))
     (properties `((upstream-name . "VIM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -5303,14 +5305,14 @@ contain lags, diffs and missing values.")
 (define-public r-catdap
   (package
     (name "r-catdap")
-    (version "1.3.4")
+    (version "1.3.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "catdap" version))
        (sha256
         (base32
-         "0i877l61f6c75pczi235rzci67w29zv1d7z5zn5p5ymndclvlpl2"))))
+         "0fyhl69z2lznymvpzxra9qvcg85ggzkfjy68c6mzdmf1ja44d2k5"))))
     (build-system r-build-system)
     (native-inputs
      `(("gfortran" ,gfortran)))
@@ -8585,20 +8587,19 @@ conversion of indices such as Cohen's d, r, odds, etc.")
 (define-public r-sjplot
   (package
     (name "r-sjplot")
-    (version "2.8.2")
+    (version "2.8.3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "sjPlot" version))
        (sha256
-        (base32 "16721a5006q0gv45zjcwnkykxhjkzpq5n35vhik0g0ixgm3a2vci"))))
+        (base32 "0ip1rkjlhyf3axlc8qqss1qq1f0xrda890c1jmcbhm98wwjw264f"))))
     (properties `((upstream-name . "sjPlot")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bayestestr" ,r-bayestestr)
        ("r-dplyr" ,r-dplyr)
        ("r-effectsize" ,r-effectsize)
-       ("r-forcats" ,r-forcats)
        ("r-ggeffects" ,r-ggeffects)
        ("r-ggplot2" ,r-ggplot2)
        ("r-insight" ,r-insight)
@@ -8613,6 +8614,8 @@ conversion of indices such as Cohen's d, r, odds, etc.")
        ("r-sjmisc" ,r-sjmisc)
        ("r-sjstats" ,r-sjstats)
        ("r-tidyr" ,r-tidyr)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://strengejacke.github.io/sjPlot/")
     (synopsis "Data visualization for statistics in social science")
     (description
@@ -9240,14 +9243,14 @@ package provides a minimal R interface by relying on the Rcpp package.")
 (define-public r-rcppparallel
   (package
     (name "r-rcppparallel")
-    (version "4.4.4")
+    (version "5.0.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "RcppParallel" version))
        (sha256
         (base32
-         "0p13f2mywjr7gmskf8ri4y8p5yr1bvr4xrpw2w11vdvafwz1vcia"))))
+         "1mhd6vp47xmfw533h0pkvydv96m57fspvd85g8m7iqb5rcxvhhdb"))))
     (properties `((upstream-name . "RcppParallel")))
     (build-system r-build-system)
     (home-page "http://rcppcore.github.io/RcppParallel")
@@ -9823,13 +9826,13 @@ maps.")
 (define-public r-tidytree
   (package
     (name "r-tidytree")
-    (version "0.3.1")
+    (version "0.3.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "tidytree" version))
        (sha256
-        (base32 "1bnzs62z2l8ck2h9gabmxvayizv4nfn8dmyzry83fv0cspjbyiv7"))))
+        (base32 "0dx9jn19mfykn20camsmq1amlgg0w6z5hn5rdqygs1fk1l5aazad"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ape" ,r-ape)
@@ -9838,6 +9841,8 @@ maps.")
        ("r-magrittr" ,r-magrittr)
        ("r-rlang" ,r-rlang)
        ("r-tibble" ,r-tibble)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://github.com/GuangchuangYu/tidytree")
     (synopsis "Tidy tool for phylogenetic tree data manipulation")
     (description
@@ -11200,14 +11205,14 @@ covariance functions for large data sets.")
 (define-public r-spatialextremes
   (package
     (name "r-spatialextremes")
-    (version "2.0-7.2")
+    (version "2.0-8")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "SpatialExtremes" version))
        (sha256
         (base32
-         "0aqq9ryxi4xsdqjhc1lhb7ai8szs7m2vys6nn0ygps1w3pm4xwj8"))))
+         "0r2byz5xxc46zqnigdax28q7446ibmzmsmi10lmm2hdks3ml6sl3"))))
     (properties
      `((upstream-name . "SpatialExtremes")))
     (build-system r-build-system)
@@ -13245,13 +13250,13 @@ also provided to illustrate various methods.")
 (define-public r-pegas
   (package
     (name "r-pegas")
-    (version "0.12")
+    (version "0.13")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "pegas" version))
        (sha256
-        (base32 "0sb8cmz4d238mcb56hv9fa0cagm00k82r7aj4cj4lxa1flxlpy8p"))))
+        (base32 "002i7s4g0nhnq0v05gs0yssqiyhpq2f7rw2rhn31hsbgxc86frvy"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-adegenet" ,r-adegenet)
@@ -14077,19 +14082,21 @@ package.")
 (define-public r-ggplotify
   (package
     (name "r-ggplotify")
-    (version "0.0.4")
+    (version "0.0.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggplotify" version))
        (sha256
         (base32
-         "0nv3wdmxnc5ww9m3xlgnb0jp30j45dg33nqc6gg3y36svg8anjcg"))))
+         "0pfnp4lrissf21z7867kdm6slr979kchyva8iaf83i1302kscph3"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ggplot2" ,r-ggplot2)
        ("r-gridgraphics" ,r-gridgraphics)
        ("r-rvcheck" ,r-rvcheck)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://github.com/GuangchuangYu/ggplotify")
     (synopsis "Convert plots to @code{grob} or @code{ggplot} object")
     (description
@@ -15212,14 +15219,14 @@ includes data sets from oceanography.")
 (define-public r-ggfortify
   (package
     (name "r-ggfortify")
-    (version "0.4.8")
+    (version "0.4.9")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "ggfortify" version))
        (sha256
         (base32
-         "191q2z7w0l4v7swjlxs2hjgbjngw2838688s7ygnj0kigsm310f3"))))
+         "1p6knrbyaynaqwd939w09hpf1zz1gn95cb46sfgppl8l98krb2h5"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-dplyr" ,r-dplyr)
@@ -15229,6 +15236,8 @@ includes data sets from oceanography.")
        ("r-stringr" ,r-stringr)
        ("r-tibble" ,r-tibble)
        ("r-tidyr" ,r-tidyr)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://github.com/sinhrks/ggfortify")
     (synopsis "Data visualization tools for statistical analysis results")
     (description
@@ -15754,14 +15763,14 @@ be used further by e.g. graphic devices.")
 (define-public r-graphlayouts
   (package
     (name "r-graphlayouts")
-    (version "0.5.0")
+    (version "0.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "graphlayouts" version))
        (sha256
         (base32
-         "03dizbhhdhnzbj2i5zvqgs617kwcv4h2pha4f16adic0fph1rxl3"))))
+         "1la016m37kp79zk8p1yx9kaha8y6d4w52w39h0mzv1mfsi6d75w0"))))
     (properties `((upstream-name . "graphlayouts")))
     (build-system r-build-system)
     (propagated-inputs
@@ -15871,19 +15880,21 @@ in pipelines.")
 (define-public r-parameters
   (package
     (name "r-parameters")
-    (version "0.5.0")
+    (version "0.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "parameters" version))
        (sha256
         (base32
-         "19cblrq079svp5j3wgikw5fsdbsp1w0f2llm7kcf1rg5w1aagjr7"))))
+         "0zin3ikc013hc713n5zs0dbhc3m4nfw1vhc3924z0mrww8r241xn"))))
     (properties `((upstream-name . "parameters")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-bayestestr" ,r-bayestestr)
        ("r-insight" ,r-insight)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://cran.r-project.org/web/packages/parameters")
     (synopsis "Processing of model parameters")
     (description
@@ -20086,14 +20097,14 @@ translated to input syntax for the R packages @code{sem} and @code{lavaan}.")
 (define-public r-cdm
   (package
     (name "r-cdm")
-    (version "7.4-19")
+    (version "7.5-15")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "CDM" version))
        (sha256
         (base32
-         "1ln1r3rk004fmk55iy08bjh3vv4wnkb8zg2wj3r9rq7pi8jn8fv4"))))
+         "159ny2dz0rf1r3k1mqlfwambffc8rx425sggf5bn51nybpzanq3l"))))
     (properties `((upstream-name . "CDM")))
     (build-system r-build-system)
     (propagated-inputs
@@ -20120,14 +20131,14 @@ well as Ravand and Robitzsch (2015).")
 (define-public r-tam
   (package
     (name "r-tam")
-    (version "3.3-10")
+    (version "3.4-26")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "TAM" version))
        (sha256
         (base32
-         "1rkjp5x6wrk1dfspp1imvfals0wvy4w1wb8a5mhfbnilc7vgnlbq"))))
+         "111d7qkxhwh1lfvldyh9d61pdb5vb6x8lr8n9h95ssvw07vjqvk9"))))
     (properties `((upstream-name . "TAM")))
     (build-system r-build-system)
     (propagated-inputs
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 02d6a48384..9681be8b4b 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1857,7 +1857,7 @@ Driver.")
                 "1sbpvhg15gadq0mpcy16q7k3rkg4b4dicpnn5xifpkpn02sqik3s"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f))          ;No check target
-    (home-page "http://www.unqlite.org")
+    (home-page "https://www.unqlite.org")
     (synopsis "In-memory key/value and document store")
     (description
      "UnQLite is an in-process software library which implements a
diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm
index f76cbabcf8..1a9d58c0d3 100644
--- a/gnu/packages/digest.scm
+++ b/gnu/packages/digest.scm
@@ -25,7 +25,7 @@
 (define-public xxhash
   (package
     (name "xxhash")
-    (version "0.7.2")
+    (version "0.7.3")
     (source
      (origin
        (method git-fetch)
@@ -34,7 +34,7 @@
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1f9gl0cymmi92ihsfan0p4zmyf2hxwx4arjimpbmbp719nbcvdsx"))))
+        (base32 "0bin0jch6lbzl4f8y052a7azfgq2n7iwqihzgqmcccv5vq4vcx5a"))))
     (build-system gnu-build-system)
     (arguments
      `(#:make-flags
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 534b64ef95..4373d52974 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -199,7 +199,7 @@ tables, and it understands a variety of different formats.")
                (install-file "fixparts.8" man)
                (install-file "gdisk.8" man)
                (install-file "sgdisk.8" man)))))))
-    (home-page "http://www.rodsbooks.com/gdisk/")
+    (home-page "https://www.rodsbooks.com/gdisk/")
     (synopsis "Low-level GPT disk partitioning and formatting")
     (description "GPT fdisk (aka gdisk) is a text-mode partitioning tool that
 works on Globally Unique Identifier (@dfn{GUID}) Partition Table (@dfn{GPT})
@@ -293,15 +293,14 @@ and a @command{fsck.vfat} compatibility symlink for use in an initrd.")
 (define-public sdparm
   (package
     (name "sdparm")
-    (version "1.10")
+    (version "1.11")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "http://sg.danny.cz/sg/p/"
-                           name "-" version ".tar.xz"))
+                           "sdparm-" version ".tar.xz"))
        (sha256
-        (base32
-         "1jjq3lzgfy4r76rc26q02lv4wm5cb4dx5nh913h489zjrr4f3jbx"))))
+        (base32 "1nqjc4w2w47zavcbf5xmm53x1zbwgljaw1lpajcdi537cgy32fa8"))))
     (build-system gnu-build-system)
     (home-page "http://sg.danny.cz/sg/sdparm.html")
     (synopsis "Provide access to SCSI device parameters")
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 136add4e82..46c7a03104 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -1125,7 +1125,7 @@ SPI, I2C, JTAG.")
          (delete 'configure))))
     (synopsis "Programs Microchip's PIC microcontrollers")
     (description "This program programs Microchip's PIC microcontrollers.")
-    (home-page "http://hyvatti.iki.fi/~jaakko/pic/picprog.html")
+    (home-page "https://hyvatti.iki.fi/~jaakko/pic/picprog.html")
     (license license:gpl3+)))
 
 (define-public fc-host-tools
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 7e4c98fbc7..3591b1740c 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -266,7 +266,7 @@ turbo speed, networked multiplayer, and graphical enhancements.")
        ("alsa-lib" ,alsa-lib)
        ("glu" ,glu)
        ("mesa" ,mesa)))
-    (home-page "http://www.dosbox.com")
+    (home-page "https://www.dosbox.com")
     (synopsis "X86 emulator with CGA/EGA/VGA/etc. graphics and sound")
     (description "DOSBox is a DOS-emulator that uses the SDL library.  DOSBox
 also emulates CPU:286/386 realmode/protected mode, Directory
@@ -1453,7 +1453,7 @@ play them on systems for which they were never designed!")
        ("sqlite" ,sqlite)
        ("utf8proc" ,utf8proc)
        ("zlib" ,zlib)))
-    (home-page "http://mamedev.org/")
+    (home-page "https://www.mamedev.org")
     (synopsis "Multi-purpose emulation framework")
     (description "MAME's purpose is to preserve decades of software
 history.  As electronic technology continues to rush forward, MAME
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index d79ca949f2..4a65c55af9 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -515,15 +515,12 @@ and in creating applications based on the Enlightenment Foundation Library suite
     (name "ephoto")
     (version "1.5")
     (source
-      (origin
-        (method url-fetch)
-        (uri (list (string-append "http://www.smhouston.us/stuff/ephoto-"
-                                  version ".tar.xz")
-                   (string-append "https://download.enlightenment.org/rel/"
-                                  "apps/ephoto/ephoto-" version ".tar.xz")))
-        (sha256
-         (base32
-          "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.enlightenment.org/rel/"
+                           "apps/ephoto/ephoto-" version ".tar.xz"))
+       (sha256
+        (base32 "1q7v9abjp9jrs08xc7pqaac64yzax24dk1snjb9rciarzzh3mlzy"))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases
@@ -536,7 +533,7 @@ and in creating applications based on the Enlightenment Foundation Library suite
        ("pkg-config" ,pkg-config)))
     (inputs
      `(("efl" ,efl)))
-    (home-page "http://smhouston.us/ephoto/")
+    (home-page "https://smhouston.us/projects/ephoto/")
     (synopsis "EFL image viewer/editor/manipulator/slideshow creator")
     (description "Ephoto is an image viewer and editor written using the
 @dfn{Enlightenment Foundation Libraries} (EFL).  It focuses on simplicity and
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
index f09b383ef1..573c0541bb 100644
--- a/gnu/packages/fltk.scm
+++ b/gnu/packages/fltk.scm
@@ -88,7 +88,7 @@
                  (("-lpng") (string-append "-L" png "/lib -lpng"))
                  (("-lz") (string-append "-L" zlib "/lib -lz"))))
              #t)))))
-    (home-page "http://www.fltk.org")
+    (home-page "https://www.fltk.org")
     (synopsis "3D C++ GUI library")
     (description "FLTK is a C++ GUI toolkit providing modern GUI functionality
 without the bloat.  It supports 3D graphics via OpenGL and its built-in GLUT
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 57acc103f2..1244da4fa0 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1593,14 +1593,14 @@ encoding names are iconv-compatible.")
 (define-public udiskie
   (package
     (name "udiskie")
-    (version "2.0.4")
+    (version "2.1.0")
     (source
      (origin
        (method url-fetch)
        (uri (pypi-uri "udiskie" version))
        (sha256
         (base32
-         "0gjjzz0k8dlsk03fl2882lbl88hbv031ww72qj02gr65yph0jqgc"))
+         "0smib8vbs9q37n7ynhzyw97q16fgdkcdw7fw69lci0xvyq00v1dz"))
        ;; Remove support for the libappindicator library of the
        ;; Unity desktop environment which is not in Guix.
        (patches (search-patches "udiskie-no-appindicator.patch"))))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 9b4ff4df9a..2791b18dca 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -46,6 +46,7 @@
 ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
 ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
 ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
+;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -383,7 +384,7 @@ physics settings to tweak as well.")
     (inputs
      `(("boost" ,boost)
        ("ncurses" ,ncurses)))
-    (home-page "http://fph.altervista.org/prog/bastet.html")
+    (home-page "https://fph.altervista.org/prog/bastet.html")
     (synopsis "Antagonistic Tetris-style falling brick game for text terminals")
     (description
      "Bastet (short for Bastard Tetris) is a simple ncurses-based falling brick
@@ -10157,3 +10158,35 @@ best human chess grandmasters.  It can be used with UCI-compatible GUIs like
 ChessX.")
     (home-page "https://stockfishchess.org/")
     (license license:gpl3+)))
+
+(define-public barrage
+  (package
+    (name "barrage")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/lgames/barrage/"
+                           "barrage-" version ".tar.gz"))
+       (sha256
+        (base32 "0139wxyrir10cbkvkjn548xgmp84wax8mfwk80yxbxlcdamrg257"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("hicolor-icon-theme" ,hicolor-icon-theme)
+       ("sdl" ,sdl)
+       ("sdl-mixer" ,sdl-mixer)))
+    (arguments
+     `(#:configure-flags
+       (list
+        (string-append "CFLAGS="
+                       "-I" (assoc-ref %build-inputs "sdl-mixer")
+                       "/include/SDL"))))
+    (home-page "http://lgames.sourceforge.net/Barrage/")
+    (synopsis "Violent point-and-click shooting game with nice effects")
+    (description
+     "Barrage is a rather destructive action game that puts you on a shooting
+range with the objective to hit as many dummy targets as possible within
+3 minutes.  You control a gun that may either fire small or large grenades at
+soldiers, jeeps and tanks.  The gameplay is simple but it is not that easy to
+get high scores.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 05d177c3b1..0e5afdae30 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -776,7 +776,7 @@ extension.")
                               "cmd/tegola_lambda/main.go")
                  (("version not set") ,version)))
              #t)))))
-    (home-page "http://tegola.io")
+    (home-page "https://tegola.io")
     (synopsis "Vector tile server for maps")
     (description "Tegola is a free vector tile server written in Go.  Tegola
 takes geospatial data and slices it into vector tiles that can be efficiently
@@ -1523,3 +1523,29 @@ input file (in @code{.osm} or @code{.osm.pbf} format).")
 tools supporting SpatiaLite.")
     (home-page "https://www.gaia-gis.it/fossil/spatialite-tools/index")
     (license license:gpl3+)))
+
+(define-public virtualpg
+  (package
+    (name "virtualpg")
+    (version "1.0.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://www.gaia-gis.it/gaia-sins/"
+                           "virtualpg-" version ".tar.gz"))
+       (sha256
+        (base32 "0kjipcd08vvn188xmwbs7sw41xcs06x47n2hbqshpjcr51mxbarp"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("postgresql" ,postgresql)
+       ("sqlite" ,sqlite)))
+    (synopsis "Allow SQLite/SpatiaLite to access PostgreSQL/PostGIS tables")
+    (description
+     "VirtualPG is a dynamic extension for the SQLite DBMS.  It implements
+the VirtualPostgres driver, allowing to directly exchange data between SQLite
+and PostgreSQL; if SpatiaLite is available even PostGIS geometries can be
+exchanged form one Spatial DBMS and the other.")
+    (home-page "https://www.gaia-gis.it/fossil/virtualpg/index")
+    (license (list license:gpl2+
+                   license:lgpl2.1+
+                   license:mpl1.1))))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 86d0b8881c..a08cd00d72 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5384,7 +5384,7 @@ USB transfers with your high-level application or system daemon.")
 (define-public simple-scan
   (package
     (name "simple-scan")
-    (version "3.34.4")
+    (version "3.36.0")
     (source
      (origin
        (method url-fetch)
@@ -5392,7 +5392,7 @@ USB transfers with your high-level application or system daemon.")
                            (version-major+minor version) "/"
                            "simple-scan-" version ".tar.xz"))
        (sha256
-        (base32 "0xvy672zyl6jsdlnxma8nc2aqsx9k92jhp6wfxs0msj9ppp1nd3z"))))
+        (base32 "198l3yhqhb2wzfdcgi8fzbwycr0njn44583dazz6wy1gqbiqnzgm"))))
     (build-system meson-build-system)
     ;; TODO: Fix icons in home screen, About dialogue, and scan menu.
     (arguments
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 871b1fed2f..0d92139311 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright @ 2018, 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 ;;; Copyright @ 2019 Giovanni Biscuolo <g@xelera.eu>
-;;; Copyright @ 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright @ 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
 ;;;
@@ -1166,7 +1166,7 @@ GNU extensions} to the POSIX recommendations for command-line options.")
         (base32
          "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
     (build-system go-build-system)
-    (native-inputs
+    (propagated-inputs
      `(("go-golang-org-x-crypto"
         ,go-golang-org-x-crypto)
        ("go-github-com-stretchr-testify"
@@ -1181,6 +1181,31 @@ GNU extensions} to the POSIX recommendations for command-line options.")
 compatible with the standard library logger.")
     (license license:expat)))
 
+(define-public go-github-com-rifflock-lfshook
+  (package
+    (name "go-github-com-rifflock-lfshook")
+    (version "2.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/rifflock/lfshook.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/rifflock/lfshook"))
+    (propagated-inputs
+     `(("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)))
+    (home-page "https://github.com/rifflock/lfshook")
+    (synopsis "Local File System hook for Logrus logger")
+    (description "This package provides a hook for Logrus to write directly to
+a file on the filesystem.  The log levels are dynamic at instantiation of the
+hook, so it is capable of logging at some or all levels.")
+    (license license:expat)))
+
 (define-public go-github-com-kardianos-osext
   (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
         (revision "1"))
@@ -3349,3 +3374,25 @@ test results.")
 data serialization format.")
     (home-page "https://github.com/golang/protobuf")
     (license license:bsd-3)))
+
+(define-public go-github-com-mattn-go-zglob
+  (package
+    (name "go-github-com-mattn-go-zglob")
+    (version "0.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/mattn/go-zglob.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/mattn/go-zglob"))
+    (home-page "https://github.com/mattn/go-zglob")
+    (synopsis "Glob library that descends into other directories")
+    (description " A glob library that implements descending into other
+directories.  It is optimized for filewalking. ")
+    (license license:expat)))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index b71b0178d6..9f8173657e 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -21,7 +21,7 @@
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
-;;; Copyright © 2019 Amar Singh <nly@disroot.org>
+;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -3144,3 +3144,33 @@ models and also supports a rich set of boolean query operators.")
     (inputs
      `(("guile" ,guile-next)
        ,@(alist-delete "guile" (package-inputs guile-xapian))))))
+
+(define-public guile-torrent
+  (package
+    (name "guile-torrent")
+    (version "0.1.3")
+    (source (origin (method git-fetch)
+                    (uri (git-reference
+                          (url
+                           "https://github.com/o-nly/torrent.git")
+                          (commit version)))
+                    (file-name (git-file-name name version))
+                    (sha256
+                     (base32
+                      "1yiagi55ncq1x7s9n7salzywjm4l96y3n7y3s47a9anvz87mrmim"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("guile" ,guile-2.2)
+       ("texinfo" ,texinfo)
+       ("perl" ,perl)
+       ("pkg-config" ,pkg-config)))
+    (propagated-inputs
+     `(("guile-gcrypt" ,guile-gcrypt)))
+    (home-page "https://github.com/o-nly/torrent")
+    (synopsis "Torrent library for GNU Guile")
+    (description "This package provides facilities for working with
+@code{.torrent} or metainfo files.  Implements a bencode reader and writer
+according to Bitorrent BEP003.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 1d9d93d774..80ac9ea706 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -303,15 +303,6 @@ without requiring the source code to be rewritten.")
               (patches
                (append (search-patches "guile-3.0-crash.patch")
                        (origin-patches (package-source guile-2.2))))))
-
-    (arguments
-     (substitute-keyword-arguments (package-arguments guile-2.2)
-       ;; XXX: On ARMv7, work around <https://bugs.gnu.org/39208> by disabling
-       ;; JIT.
-       ((#:configure-flags flags '())
-        (if (target-arm32?)
-            `(cons "--disable-jit" ,flags)
-            flags))))
     (native-search-paths
      (list (search-path-specification
             (variable "GUILE_LOAD_PATH")
diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm
index e368082c03..418eb7cc46 100644
--- a/gnu/packages/haskell-xyz.scm
+++ b/gnu/packages/haskell-xyz.scm
@@ -3774,7 +3774,7 @@ versions of GHC (i.e., < 6.10).")
 (define-public ghc-extra
   (package
     (name "ghc-extra")
-    (version "1.6.18")
+    (version "1.7.1")
     (source
      (origin
        (method url-fetch)
@@ -3784,12 +3784,13 @@ versions of GHC (i.e., < 6.10).")
              ".tar.gz"))
        (sha256
         (base32
-         "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy"))))
+         "0zshxv9dnd8vksncmb8dj4wvq2wdybzwxyhmy2zp6a81icm4azx4"))))
     (build-system haskell-build-system)
     (inputs
      `(("ghc-clock" ,ghc-clock)
        ("ghc-semigroups" ,ghc-semigroups)
-       ("ghc-quickcheck" ,ghc-quickcheck)))
+       ("ghc-quickcheck" ,ghc-quickcheck)
+       ("ghc-quickcheck-instances" ,ghc-quickcheck-instances)))
     (home-page "https://github.com/ndmitchell/extra")
     (synopsis "Extra Haskell functions")
     (description "This library provides extra functions for the standard
diff --git a/gnu/packages/hyperledger.scm b/gnu/packages/hyperledger.scm
index 158a66e898..f0b33e0deb 100644
--- a/gnu/packages/hyperledger.scm
+++ b/gnu/packages/hyperledger.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -19,18 +20,28 @@
 
 (define-module (gnu packages hyperledger)
   #:use-module (ice-9 match)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system go)
-  #:use-module (guix build-system trivial)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix licenses)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
+  #:use-module (gnu packages boost)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages docker)
   #:use-module (gnu packages golang)
-  #:use-module (gnu packages version-control))
+  #:use-module (gnu packages logging)
+  #:use-module (gnu packages machine-learning)
+  #:use-module (gnu packages popt)
+  #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages protobuf)
+  #:use-module (gnu packages tbb)
+  #:use-module (gnu packages version-control)
+  #:use-module (gnu packages web))
 
 (define-public hyperledger-fabric
   (package
@@ -93,3 +104,112 @@ solutions, underpinned by a modular architecture focusing on confidentiality
 and resiliency.  It is designed to support pluggable implementations of
 different components.")
     (license asl2.0)))
+
+(define-public hyperledger-iroha-ed25519
+  (package
+    (name "hyperledger-iroha-ed25519")
+    (version "2.0.2")
+    (home-page "https://github.com/hyperledger/iroha-ed25519")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url home-page)
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0kr1zwah8mhnpfrpk3h6hdafyqdl3ixhs7czdfscqv6vxqfiabc4"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("googletest" ,googletest)))
+    (arguments
+     `(#:tests? #f      ; Tests don't build because CMake cannot find GTest main.
+       #:configure-flags '("-DHUNTER_ENABLED=OFF"
+                           "-DBUILD=SHARED"
+                           ;; TODO: x86_64 should use amd64-64-24k-pic but it
+                           ;; fails to link when built as a shared library.
+                           "-DEDIMPL=ref10"
+                           "-DHASH=sha3_brainhub")))
+    (synopsis "Ed25519 digital signature algorithm")
+    (description "This repository aims to provide modularized implementation
+of the Ed25519 digital signature algorithm which is is described in
+RFC8032 (@url{https://tools.ietf.org/html/rfc8032}).
+
+Originally Ed25519 consists of three modules:
+
+@itemize
+@item digital signature algorithm itself
+@item SHA512 hash function
+@item random number generator, to generate keypairs
+@end itemize
+
+This project offers at least two different C implementations for every
+module.  Every implementation can be replaced with another one at
+link-time.  New implementations can be added as well.")
+    (license asl2.0)))
+
+(define-public hyperledger-iroha
+  (package
+    (name "hyperledger-iroha")
+    (version "1.1.1")
+    (home-page "https://github.com/hyperledger/iroha")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url home-page)
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "014mbwq059yxwihw0mq8zgns53fsw8ckczi1lw8q9pz3pk86pa9b"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  ;; https://github.com/hyperledger/iroha/commit/4dc710d2e9a067af866771318f673c7392797e48
+                  ;; Backport unversioned fmt dependency, remove next update:
+                  (substitute* "libs/logger/logger.hpp"
+                    (("fmt::v5") "fmt"))
+                  #t))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       '("-DTESTING=OFF"    ; The tests fail to link correctly to googletest.
+         ;; Don't install the shared libraries of the dependencies:
+         "-DENABLE_LIBS_PACKAGING=OFF")
+       #:tests? #f
+       ;; https://iroha.readthedocs.io/en/latest/build/index.html#running-tests-optional
+       #:test-target "."))
+    ;; https://github.com/hyperledger/iroha/blob/master/vcpkg/VCPKG_DEPS_LIST
+    (native-inputs
+     `(("fmt" ,fmt)
+       ("googletest" ,googletest)
+       ("rapidjson" ,rapidjson)
+       ("rxcpp" ,rxcpp)
+       ("spdlog" ,spdlog)))
+    (inputs
+     `(("boost" ,boost-1.69)
+       ("gflags" ,gflags)
+       ("grpc" ,grpc)
+       ("hyperledger-iroha-ed25519" ,hyperledger-iroha-ed25519)
+       ("postgresql" ,postgresql)
+       ("protobuf" ,protobuf)
+       ("soci" ,soci)
+       ("tbb" ,tbb)))
+    (synopsis "Simple, decentralized ledger")
+    (description "Iroha is a distributed ledger technology (DLT).  Iroha has
+essential functionality for your asset, information and identity management
+needs, at the same time being a crash fault-tolerant tool.
+
+Iroha has the following features:
+
+@itemize
+@item Creation and management of custom fungible assets, such as currencies,
+kilos of gold, etc.
+@item Management of user accounts
+@item Taxonomy of accounts based on domains in the system
+@item The system of rights and verification of user permissions for the
+execution of transactions and queries in the system
+@item Validation of business rules for transactions and queries in the system
+@item Multisignature transactions
+@end itemize\n")
+    (license asl2.0)))
diff --git a/gnu/packages/java-compression.scm b/gnu/packages/java-compression.scm
index 3102c70d88..536e1e6530 100644
--- a/gnu/packages/java-compression.scm
+++ b/gnu/packages/java-compression.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2017, 2018 Julien Lepiller <julien@lepiller.eu>
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +25,7 @@
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system ant)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
@@ -35,21 +36,26 @@
 (define-public java-snappy
   (package
     (name "java-snappy")
-    (version "1.1.7.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/xerial/snappy-java/archive/"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "1p557vdv006ysgxbpp83krmq0066k46108vyiyka69w8i4i8rbbm"))))
+    (version "1.1.7.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/xerial/snappy-java")
+             (commit version)))
+       (sha256
+        (base32 "07c145w1kv8g7dbwpy5xss142il7zr0qq78p2ih76azgl97n5cba"))
+       (file-name (git-file-name name version))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "snappy.jar"
        #:source-dir "src/main/java"
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'make-git-checkout-writable
+           (lambda _
+             (for-each make-file-writable (find-files "."))
+             #t))
          (add-before 'build 'remove-binaries
            (lambda _
              (delete-file "lib/org/xerial/snappy/OSInfo.class")
@@ -125,14 +131,17 @@ compressor/decompressor.")
 (define-public java-snappy-1
   (package
     (inherit java-snappy)
+    (name "java-snappy")
     (version "1.0.3-rc3")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/xerial/snappy-java/archive/"
-                                  "snappy-java-" version ".tar.gz"))
-              (sha256
-               (base32
-                "08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url (string-append "https://github.com/xerial/snappy-java"))
+             (commit (string-append "snappy-java-" version))))
+       (sha256
+        (base32 "0gbg3xmhniyh5p6w5zqj16fr15fa8j4raswd8pj00l4ixf5qa6m4"))
+       (file-name (git-file-name name version))))
     (arguments
      `(#:jar-name "snappy.jar"
        #:source-dir "src/main/java"
@@ -184,13 +193,15 @@ compressor/decompressor.")
   (package
     (name "java-iq80-snappy")
     (version "0.4")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/dain/snappy/archive/snappy-"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf"))))
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/dain/snappy")
+             (commit (string-append "snappy-" version))))
+       (sha256
+        (base32 "1mswh207065rdzbxk6rxaqlxhbg1ngxa0vjc20knsn31kqbq1bcz"))
+       (file-name (git-file-name name version))))
     (build-system ant-build-system)
     (arguments
      `(#:jar-name "iq80-snappy.jar"
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index f41ed6b9bc..01c138cb4e 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -302,6 +302,47 @@ wrapper for accessing libusb-1.0.")
 (define-public python2-pyusb
   (package-with-python2 python-pyusb))
 
+(define-public python-capablerobot-usbhub
+  (package
+    (name "python-capablerobot-usbhub")
+    (version "0.2.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "capablerobot_usbhub" version))
+       (sha256
+        (base32
+         "1priic4iq2vn1rc711kzxwhxrwa508rkxrr193qdz2lw26kdhvix"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'install-udev-rules
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               (mkdir-p (string-append out "/lib/udev/rules.d"))
+               (copy-file "50-capablerobot-usbhub.rules"
+                          (string-append out
+                                         "/lib/udev/rules.d/"
+                                         "50-capablerobot-usbhub.rules"))
+               #t))))))
+    (propagated-inputs
+     `(("python-click" ,python-click)
+       ("python-construct" ,python-construct)
+       ("python-pyusb" ,python-pyusb)
+       ("python-pyyaml" ,python-pyyaml)))
+    (home-page
+     "https://github.com/CapableRobot/CapableRobot_USBHub_Driver")
+    (synopsis
+     "Host side driver for the Capable Robot Programmable USB Hub")
+    (description
+     "This package provides access to the internal state of the Capable Robot
+USB Hub, allowing you to monitor and control the Hub from an upstream
+computer.  It also creates a transparent CircuitPython Bridge, allowing
+unmodified CircuitPython code to run on the host computer and interact with
+I2C and SPI devices attached to the USB Hub.")
+    (license license:expat)))
+
 (define-public libplist
   (package
     (name "libplist")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index dbcfc9650e..688d9eefaf 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -362,42 +362,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
                         "linux-" version ".tar.xz"))
     (sha256 hash)))
 
-(define-public linux-libre-5.4-version "5.4.24")
+(define-public linux-libre-5.4-version "5.4.25")
 (define-public linux-libre-5.4-pristine-source
   (let ((version linux-libre-5.4-version)
-        (hash (base32 "1cvy3mxwzll4f9j8i3hfmi0i0zq75aiafq1jskp9n4kq9iwar83z")))
+        (hash (base32 "09ay0adc3s3m7qk0nj5lkmrp5i0q76a9kax0xix8914d115rgvf0")))
    (make-linux-libre-source version
                             (%upstream-linux-source version hash)
                             deblob-scripts-5.4)))
 
-(define-public linux-libre-4.19-version "4.19.108")
+(define-public linux-libre-4.19-version "4.19.109")
 (define-public linux-libre-4.19-pristine-source
   (let ((version linux-libre-4.19-version)
-        (hash (base32 "18shyy1z2s8r26qb4rcz7gwl43dnmycjjywp9gss5zlfn2jyrbh9")))
+        (hash (base32 "0kwnlv5336vqdf38dzn077ic17zkb4rl5khxmc47syzd9zm4fhnh")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.19)))
 
-(define-public linux-libre-4.14-version "4.14.172")
+(define-public linux-libre-4.14-version "4.14.173")
 (define-public linux-libre-4.14-pristine-source
   (let ((version linux-libre-4.14-version)
-        (hash (base32 "0yi13cky6jdswca7nrjgcrdxk8rnqdbhblhy6mws103mjfms2613")))
+        (hash (base32 "0kxp3mgiags8hdax15masab9zr89xraqvl9ri7zwgksx8ixav0m2")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.14)))
 
-(define-public linux-libre-4.9-version "4.9.215")
+(define-public linux-libre-4.9-version "4.9.216")
 (define-public linux-libre-4.9-pristine-source
   (let ((version linux-libre-4.9-version)
-        (hash (base32 "0j4z2al318654z40w4f8zhh73zwpgn8igjr5k4mz401phm3jyvr3")))
+        (hash (base32 "0lgv5k8v5xz9z2z4k42566bh0akyk1gr0dx6s1m1rjrzsf9k86l6")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.9)))
 
-(define-public linux-libre-4.4-version "4.4.215")
+(define-public linux-libre-4.4-version "4.4.216")
 (define-public linux-libre-4.4-pristine-source
   (let ((version linux-libre-4.4-version)
-        (hash (base32 "00zy6cxwb16pqziiqs25pz5llryx2v2nbk9vvzpzxa8x43ad7g18")))
+        (hash (base32 "1hjgh9brvxzi6ypgfnk07l3j28xsxgz88sdshnz19vj96bn1w70q")))
     (make-linux-libre-source version
                              (%upstream-linux-source version hash)
                              deblob-scripts-4.4)))
@@ -3497,6 +3497,12 @@ thanks to the use of namespaces.")
                       _ program)
                      (string-append "/run/setuid-programs/singularity-"
                                     program "-helper")))
+
+                  ;; These squashfs mount options are apparently no longer
+                  ;; supported since Linux-libre 5.4.5.
+                  (substitute* "src/lib/image/squashfs/mount.c"
+                    (("\"errors=remount-ro\"")
+                     "NULL"))
                   #t))))
     (build-system gnu-build-system)
     (arguments
@@ -3509,7 +3515,19 @@ thanks to the use of namespaces.")
                (("if ! singularity_which mksquashfs") "if 0")
                (("if ! mksquashfs")
                 (string-append "if ! " (which "mksquashfs"))))
-             #t)))))
+             #t))
+         (add-after 'install 'set-PATH
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; Have the 'singularity' and 'run-singularity' self-sufficient.
+             (let ((out (assoc-ref outputs "out"))
+                   (coreutils (assoc-ref inputs "coreutils")))
+               (wrap-program (string-append out "/bin/singularity")
+                 `("PATH" ":" = (,(string-append coreutils "/bin"))))
+               (substitute* (string-append out "/bin/run-singularity")
+                 (("/usr/bin/env singularity")
+                  (string-append (which "env") " "
+                                 out "/bin/singularity")))
+               #t))))))
     (inputs
      `(("libarchive" ,libarchive)
        ("python" ,python-wrapper)
@@ -3991,6 +4009,7 @@ Bluetooth audio output devices like headphones or loudspeakers.")
 (define-public bluez
   (package
     (name "bluez")
+    (replacement bluez/fixed)
     (version "5.53")
     (source (origin
               (method url-fetch)
@@ -4056,6 +4075,14 @@ Bluetooth audio output devices like headphones or loudspeakers.")
 is flexible, efficient and uses a modular implementation.")
     (license license:gpl2+)))
 
+(define bluez/fixed
+  (package
+    (inherit bluez)
+    (source (origin
+              (inherit (package-source bluez))
+              (patches (append (origin-patches (package-source bluez))
+                               (search-patches "bluez-CVE-2020-0556.patch")))))))
+
 (define-public fuse-exfat
   (package
     (name "fuse-exfat")
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index b5d8fd30f3..2af0d78da3 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -797,7 +797,7 @@ enough to play the original mainframe Zork all the way through.")
 (define-public txr
   (package
     (name "txr")
-    (version "232")
+    (version "233")
     (source
      (origin
        (method git-fetch)
@@ -808,7 +808,7 @@ enough to play the original mainframe Zork all the way through.")
        (patches (search-patches "txr-shell.patch"))
        (sha256
         (base32
-         "1vcnask4a1rxrljp4rcbkfihrndkv25l256l125vv39gjhf315xp"))))
+         "14dwjgx9lbfajk3q539m3v3b9j047q83ldnqb4cagbs8ampvhfbv"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags '("cc=gcc")
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 50c41dc113..52e639723b 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -1285,6 +1285,7 @@ Python.")
   (package
     (name "grpc")
     (version "1.16.1")
+    (outputs '("out" "static"))
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1301,7 +1302,42 @@ Python.")
        (list "-DgRPC_ZLIB_PROVIDER=package"
              "-DgRPC_CARES_PROVIDER=package"
              "-DgRPC_SSL_PROVIDER=package"
-             "-DgRPC_PROTOBUF_PROVIDER=package")))
+             "-DgRPC_PROTOBUF_PROVIDER=package"
+             (string-append "-DCMAKE_INSTALL_PREFIX="
+                            (assoc-ref %outputs "out"))
+             "-DCMAKE_INSTALL_LIBDIR=lib"
+             (string-append "-DCMAKE_INSTALL_RPATH="
+                            (assoc-ref %outputs "out") "/lib")
+             "-DCMAKE_VERBOSE_MAKEFILE=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'configure-shared
+           (lambda* (#:key (configure-flags '()) #:allow-other-keys)
+             (mkdir "../build-shared")
+             (with-directory-excursion "../build-shared"
+               (apply invoke
+                      "cmake" "../source"
+                      "-DBUILD_SHARED_LIBS=ON"
+                      configure-flags)
+               (apply invoke "make"
+                      `("-j" ,(number->string (parallel-job-count)))))))
+         (add-after 'install 'install-shared-libraries
+           (lambda _
+             (with-directory-excursion "../build-shared"
+               (invoke "make" "install"))))
+         (add-before 'strip 'move-static-libs
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (static (assoc-ref outputs "static")))
+               (mkdir-p (string-append static "/lib"))
+               (with-directory-excursion
+                 (string-append out "/lib")
+                 (for-each
+                   (lambda (file)
+                     (rename-file file
+                                  (string-append static "/lib/" file)))
+                   (find-files "." "\\.a$"))))
+             #t)))))
     (inputs
      `(("c-ares" ,c-ares/cmake)
        ("openssl" ,openssl)
@@ -1731,6 +1767,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
              (sha256
               (base32
                "161g9841rjfsy5pn52fcis0s9hdr7rxvb06pad38j5rppfihvign")))))
+       ("grpc" ,grpc "static")
        ("googletest" ,googletest)
        ("swig" ,swig)
        ("unzip" ,unzip)))
@@ -1752,7 +1789,7 @@ INSTALL_RPATH " (assoc-ref outputs "out") "/lib)\n")))
        ("libjpeg" ,libjpeg)
        ("libpng" ,libpng)
        ("giflib" ,giflib)
-       ("grpc" ,grpc)
+       ("grpc:bin" ,grpc)
        ("jsoncpp" ,jsoncpp-for-tensorflow)
        ("snappy" ,snappy)
        ("sqlite" ,sqlite)
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 0573e70d07..fb5446107c 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -27,7 +27,7 @@
 ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
-;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -2960,8 +2960,8 @@ replacement for the @code{urlview} program.")
     (license gpl2+)))
 
 (define-public mumi
-  (let ((commit "a933a62a4b8528b416319759b9985db80f3fce14")
-        (revision "6"))
+  (let ((commit "6653e2d525b945fcd671dbfbf7b42cc588a1cf4b")
+        (revision "7"))
     (package
       (name "mumi")
       (version (git-version "0.0.0" revision commit))
@@ -2973,7 +2973,7 @@ replacement for the @code{urlview} program.")
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0vlda7vjzpd942iz5vb471hj7ypml5gwl9s1am92klv6nk2vnvcx"))))
+                  "0h1q61yl01hm7wygv1bv47ncg7l7gcw7aq8ny61g3hr1acsqysjf"))))
       (build-system gnu-build-system)
       (arguments
        `(#:modules ((guix build gnu-build-system)
@@ -3005,6 +3005,7 @@ replacement for the @code{urlview} program.")
        `(("guile-debbugs" ,guile-debbugs)
          ("guile-email" ,guile-email)
          ("guile-json" ,guile-json-3)
+         ("guile-sqlite3" ,guile-sqlite3)
          ("guile-syntax-highlight" ,guile-syntax-highlight)
          ("gnutls" ,gnutls)         ;needed to talk to https://debbugs.gnu.org
          ("guile" ,guile-2.2)
diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm
index 3f31ec96b3..4719777303 100644
--- a/gnu/packages/man.scm
+++ b/gnu/packages/man.scm
@@ -40,7 +40,7 @@
 (define-public libpipeline
   (package
     (name "libpipeline")
-    (version "1.5.1")
+    (version "1.5.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -48,7 +48,7 @@
                     version ".tar.gz"))
               (sha256
                (base32
-                "0bwh5xz5f2czwb7f564jz1mp4znm8pldnvf65fs0hpw4gmmp0cyn"))))
+                "1ysrn22ixd4nmggy6f7qcsm7waadmlbg2i0n9mh6g7dfq54wcngx"))))
     (build-system gnu-build-system)
     (home-page "http://libpipeline.nongnu.org/")
     (synopsis "C library for manipulating pipelines of subprocesses")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 263f80f246..e694a5b187 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4593,36 +4593,8 @@ linear algebra primitives specifically targeting graph analytics.")
          (add-after 'build 'build-tests
            (lambda* (#:key make-flags #:allow-other-keys)
              (apply invoke "make" "build_tests" make-flags)))
-         ;; These tests fail because they require a fully functional MPI
-         ;; environment.
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (setenv "ARGS"
-                     (string-append "--exclude-regex '("
-                                    (string-join
-                                     (list
-                                      "remoteindicestest"
-                                      "remoteindicestest-mpi-2"
-                                      "syncertest"
-                                      "syncertest-mpi-2"
-                                      "variablesizecommunicatortest"
-                                      "variablesizecommunicatortest-mpi-2"
-                                      "arithmetictestsuitetest"
-                                      "assertandreturntest"
-                                      "assertandreturntest_ndebug"
-                                      "concept"
-                                      "debugaligntest"
-                                      "mpicollectivecommunication"
-                                      "mpicollectivecommunication-mpi-2"
-                                      "mpiguardtest"
-                                      "mpiguardtest-mpi-2"
-                                      "mpihelpertest"
-                                      "mpihelpertest-mpi-2"
-                                      "mpihelpertest2"
-                                      "mpihelpertest2-mpi-2")
-                                     "|")
-                                    ")'"))
-             #t)))))
+         (add-before 'check 'mpi-setup
+           ,%openmpi-setup))))
     (inputs
      `(("gmp" ,gmp)
        ("metis" ,metis)
@@ -4684,6 +4656,42 @@ This package contains the basic DUNE geometry classes.")
     ;; GPL version 2 with "runtime exception"
     (license license:gpl2)))
 
+(define-public dune-uggrid
+  (package
+    (name "dune-uggrid")
+    (version "2.6.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://dune-project.org/download/"
+                           version "/dune-uggrid-" version ".tar.gz"))
+       (sha256
+        (base32
+         "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-tests
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (apply invoke "make" "build_tests" make-flags))))))
+    (inputs
+     `(("dune-common" ,dune-common)
+       ("openmpi" ,openmpi)))
+    (native-inputs
+     `(("gfortran" ,gfortran)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://dune-project.org/")
+    (synopsis "Distributed and Unified Numerics Environment")
+    (description "DUNE, the Distributed and Unified Numerics Environment is a
+modular toolbox for solving @dfn{partial differential equations} (PDEs) with
+grid-based methods.  It supports the easy implementation of methods like
+@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite
+Differences} (FD).
+
+This package contains the DUNE UG grid classes.")
+    (license license:lgpl2.1)))
+
 (define-public dune-grid
   (package
     (name "dune-grid")
@@ -4703,54 +4711,8 @@ This package contains the basic DUNE geometry classes.")
          (add-after 'build 'build-tests
            (lambda* (#:key make-flags #:allow-other-keys)
              (apply invoke "make" "build_tests" make-flags)))
-         ;; These tests fail because they require a fully functional MPI
-         ;; environment.
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (setenv "ARGS"
-                     (string-append "--exclude-regex '("
-                                    (string-join
-                                     (list
-                                      "scsgmappertest"
-                                      "conformvolumevtktest"
-                                      "gnuplottest"
-                                      "nonconformboundaryvtktest"
-                                      "subsamplingvtktest"
-                                      "vtktest"
-                                      "vtktest-mpi-2"
-                                      "vtksequencetest"
-                                      "gmshtest-onedgrid"
-                                      "test-dgf-yasp"
-                                      "test-dgf-yasp-offset"
-                                      "test-dgf-oned"
-                                      "test-geogrid-yaspgrid"
-                                      "test-gridinfo"
-                                      "test-identitygrid"
-                                      "testiteratorranges"
-                                      "test-hierarchicsearch"
-                                      "test-parallel-ug-mpi-2"
-                                      "test-yaspgrid-backuprestore-equidistant"
-                                      "test-yaspgrid-backuprestore-equidistant-mpi-2"
-                                      "test-yaspgrid-backuprestore-equidistantoffset"
-                                      "test-yaspgrid-backuprestore-equidistantoffset-mpi-2"
-                                      "test-yaspgrid-backuprestore-tensor"
-                                      "test-yaspgrid-backuprestore-tensor-mpi-2"
-                                      "test-yaspgrid-tensorgridfactory"
-                                      "test-yaspgrid-tensorgridfactory-mpi-2"
-                                      "test-yaspgrid-yaspfactory-1d"
-                                      "test-yaspgrid-yaspfactory-1d-mpi-2"
-                                      "test-yaspgrid-yaspfactory-2d"
-                                      "test-yaspgrid-yaspfactory-2d-mpi-2"
-                                      "test-yaspgrid-yaspfactory-3d"
-                                      "test-yaspgrid-yaspfactory-3d-mpi-2"
-                                      "globalindexsettest"
-                                      "persistentcontainertest"
-                                      "structuredgridfactorytest"
-                                      "tensorgridfactorytest"
-                                      "vertexordertest")
-                                     "|")
-                                    ")'"))
-             #t)))))
+         (add-before 'check 'mpi-setup
+           ,%openmpi-setup))))
     (inputs
      `(("dune-common" ,dune-common)
        ("dune-geometry" ,dune-geometry)
@@ -4759,6 +4721,8 @@ This package contains the basic DUNE geometry classes.")
        ("openblas" ,openblas)
        ("openmpi" ,openmpi)
        ("python" ,python)))
+    (propagated-inputs
+     `(("dune-uggrid" ,dune-uggrid)))
     (native-inputs
      `(("gfortran" ,gfortran)
        ("pkg-config" ,pkg-config)))
@@ -4793,29 +4757,14 @@ This package contains the basic DUNE grid classes.")
          (add-after 'build 'build-tests
            (lambda* (#:key make-flags #:allow-other-keys)
              (apply invoke "make" "build_tests" make-flags)))
-         ;; These tests fail because they require a fully functional MPI
-         ;; environment.
-         (add-after 'unpack 'disable-failing-tests
-           (lambda _
-             (setenv "ARGS"
-                     (string-append "--exclude-regex '("
-                                    (string-join
-                                     (list
-                                      "galerkintest"
-	                              "hierarchytest"
-	                              "pamgtest"
-	                              "pamg_comm_repart_test"
-	                              "matrixredisttest"
-	                              "vectorcommtest"
-	                              "matrixmarkettest")
-                                     "|")
-                                    ")'"))
-             #t)))))
+         (add-before 'check 'mpi-setup
+           ,%openmpi-setup))))
     (inputs
      `(("dune-common" ,dune-common)
        ("openmpi" ,openmpi)
        ;; Optional
        ("metis" ,metis)
+       ("suitesparse" ,suitesparse)
        ("superlu" ,superlu)
        ("openblas" ,openblas)
        ("gmp" ,gmp)
@@ -4896,9 +4845,7 @@ assemble global function spaces on finite-element grids.")
          "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj"))))
     (build-system cmake-build-system)
     (arguments
-     `(#:tests? #f ; 7 of 8 tests fail because they need a full MPI
-                   ; environment
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-include
            (lambda _
@@ -4910,7 +4857,9 @@ assemble global function spaces on finite-element grids.")
            (lambda* (#:key inputs make-flags #:allow-other-keys)
              (setenv "CPLUS_INCLUDE_PATH"
                      (string-append (assoc-ref inputs "dune-grid") "/share"))
-             (apply invoke "make" "build_tests" make-flags))))))
+             (apply invoke "make" "build_tests" make-flags)))
+         (add-before 'check 'mpi-setup
+           ,%openmpi-setup))))
     (inputs
      `(("dune-common" ,dune-common)
        ("dune-geometry" ,dune-geometry)
@@ -4933,6 +4882,49 @@ implementation of the DUNE grid interface supporting either simplices or
 cubes.")
     (license license:gpl2+)))
 
+(define-public dune-subgrid
+  (package
+    (name "dune-subgrid")
+    (version "2.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+         (url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid")
+         (commit "releases/2.6-1")))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+          "1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'build 'build-tests
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (apply invoke "make" "build_tests" make-flags)))
+         (add-before 'check 'mpi-setup
+           ,%openmpi-setup))))
+    (inputs
+     `(("dune-common" ,dune-common)
+       ("dune-geometry" ,dune-geometry)
+       ("dune-grid" ,dune-grid)
+       ("openmpi" ,openmpi)
+       ;; Optional
+       ("metis" ,metis)
+       ("openblas" ,openblas)
+       ("gmp" ,gmp)))
+    (native-inputs
+     `(("gfortran" ,gfortran)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://numerik.mi.fu-berlin.de/dune-subgrid/index.php")
+    (synopsis "Distributed and Unified Numerics Environment")
+    (description "The dune-subgrid module allows to mark elements of
+another hierarchical dune grid.  The set of marked elements can then be
+accessed as a hierarchical dune grid in its own right.  Dune-Subgrid
+provides the full grid interface including adaptive mesh refinement.")
+    (license license:gpl2+)))
+
 (define-public dune-typetree
   (package
     (name "dune-typetree")
@@ -4988,7 +4980,20 @@ operating on statically typed trees of objects.")
         (base32
          "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200"))))
     (build-system cmake-build-system)
-    (arguments `(#:tests? #f)) ; FIXME: tests require dune-uugrid
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-failing-tests
+           (lambda _
+             (setenv "ARGS"
+                     ;; unable to load GMSH file in this test
+                     "--exclude-regex gridviewfunctionspacebasistest")
+            #t))
+         (add-after 'build 'build-tests
+           (lambda* (#:key make-flags #:allow-other-keys)
+             (apply invoke "make" "build_tests" make-flags)))
+         (add-before 'check 'mpi-setup
+           ,%openmpi-setup))))
     (inputs
      `(("dune-common" ,dune-common)
        ("dune-istl" ,dune-istl)
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 88c8d41ef8..d0785c5067 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -45,14 +45,14 @@ specified, recurse and return a mingw-w64 with support for winpthreads."
     (package
       (name (string-append "mingw-w64" "-" machine
                            (if with-winpthreads? "-winpthreads" "")))
-      (version "6.0.0")
+      (version "7.0.0")
       (source (origin
                 (method url-fetch)
                 (uri (string-append
                       "https://sourceforge.net/projects/mingw-w64/files/mingw-w64/"
                       "mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
                 (sha256
-                 (base32 "1w28mynv500y03h92nh87rgw3fnp82qwnjbxrrzqkmr63q812pl0"))
+                 (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a"))
                 (patches (search-patches "mingw-w64-6.0.0-gcc.patch"))))
       (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet)))
                        ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet)))
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index af3cc2540f..ae234afa29 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -172,7 +172,7 @@ a highly stable and efficient implementation.")
       '(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on.
         #:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
     (inputs `(("zlib" ,zlib)))
-    (home-page "http://taglib.org")
+    (home-page "https://taglib.org")
     (synopsis "Library to access audio file meta-data")
     (description
      "TagLib is a C++ library for reading and editing the meta-data of several
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 3690af83d7..f6585f60d4 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -864,7 +864,7 @@ interface.  It is implemented as a frontend to @code{klick}.")
 (define-public libgme
   (package
     (name "libgme")
-    (version "0.6.2")
+    (version "0.6.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://bitbucket.org/mpyne/game-music-emu/"
@@ -872,10 +872,10 @@ interface.  It is implemented as a frontend to @code{klick}.")
                                   ".tar.xz"))
               (sha256
                (base32
-                "0hkkmxbaas2sirlb5i4r10mgbbiaapjx8pazifabwba23m3wnijh"))))
+                "07857vdkak306d9s5g6fhmjyxk7vijzjhkmqb15s7ihfxx9lx8xb"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f)) ; no check target
+     '(#:tests? #f))                    ; no check target
     (home-page "https://bitbucket.org/mpyne/game-music-emu")
     (synopsis "Video game music file playback library")
     (description
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 7f4009df9b..b7e79ce596 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -167,7 +167,7 @@ or, more generally, MAC addresses of the same category of hardware.")
             (substitute* "src/Makefile"
               (("^TESTS = .*") "TESTS = \n"))
             #t)))))
-    (home-page "http://www.remlab.net/miredo/")
+    (home-page "https://www.remlab.net/miredo/")
     (synopsis "Teredo IPv6 tunneling software")
     (description
      "Miredo is an implementation (client, relay, server) of the Teredo
diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm
index 06214297f7..333fbfa026 100644
--- a/gnu/packages/password-utils.scm
+++ b/gnu/packages/password-utils.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se>
 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
-;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2016, 2019, 2020 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -46,6 +46,7 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system go)
   #:use-module (guix build-system trivial)
   #:use-module (guix download)
   #:use-module (guix git-download)
@@ -65,6 +66,7 @@
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages golang)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages guile)
   #:use-module (gnu packages kerberos)
@@ -697,6 +699,82 @@ using password-store through rofi interface:
 @end enumerate")
     (license license:gpl3)))
 
+(define-public browserpass-native
+  (package
+    (name "browserpass-native")
+    (version "3.0.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/browserpass/browserpass-native.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0q3bsla07zjl6i69nj1axbkg2ia89pvh0jg6nlqgbm2kpzzbn0pz"))))
+    (build-system go-build-system)
+    (arguments
+     `(#:import-path "github.com/browserpass/browserpass-native"
+       #:install-source? #f
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'patch-makefile
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; This doesn't go in #:make-flags because the Makefile itself
+               ;; gets installed.
+               (substitute*
+                   "src/github.com/browserpass/browserpass-native/Makefile"
+                 (("PREFIX \\?= /usr")
+                  (string-append "PREFIX ?= " out)))
+               #t)))
+         (add-before 'build 'configure
+           (lambda _
+               (with-directory-excursion
+                   "src/github.com/browserpass/browserpass-native"
+                 (invoke "make" "configure"))
+             #t))
+         (replace 'build
+           (lambda _
+               (with-directory-excursion
+                   "src/github.com/browserpass/browserpass-native"
+                 (invoke "make"))
+             #t))
+         (replace 'install
+           (lambda _
+             (with-directory-excursion
+                 "src/github.com/browserpass/browserpass-native"
+               (invoke "make" "install"))
+             #t))
+         (add-after 'install 'wrap-executable
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (gnupg (assoc-ref inputs "gnupg")))
+               (wrap-program (string-append out "/bin/browserpass")
+                 `("PATH" ":" prefix
+                   (,(string-append gnupg "/bin"))))
+               #t))))))
+    (native-inputs
+     `(("which" ,which)))
+    (inputs
+     `(("gnupg" ,gnupg)
+       ("go-github-com-mattn-go-zglob" ,go-github-com-mattn-go-zglob)
+       ("go-github-com-rifflock-lfshook" ,go-github-com-rifflock-lfshook)
+       ("go-github-com-sirupsen-logrus" ,go-github-com-sirupsen-logrus)
+       ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
+    (home-page "https://github.com/browserpass/browserpass-native")
+    (synopsis "Browserpass native messaging host")
+    (description "Browserpass is a browser extension for pass, a
+UNIX-based password store manager.  It allows you to auto-fill or copy to
+clipboard credentials for the current domain, protecting you from phishing
+attacks.
+
+This package only contains the Browserpass native messaging host.  You must
+also install the browser extension for GNU IceCat or ungoogled-chromium
+separately.")
+    (license license:isc)))
+
 (define-public argon2
   (package
     (name "argon2")
diff --git a/gnu/packages/patches/bluez-CVE-2020-0556.patch b/gnu/packages/patches/bluez-CVE-2020-0556.patch
new file mode 100644
index 0000000000..7c34459a3a
--- /dev/null
+++ b/gnu/packages/patches/bluez-CVE-2020-0556.patch
@@ -0,0 +1,180 @@
+Fix CVE-2020-0556:
+
+https://lore.kernel.org/linux-bluetooth/20200310023516.209146-1-alainm@chromium.org/
+https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
+http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0556
+
+Patches copied from upstream source repository:
+
+https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=3cccdbab2324086588df4ccf5f892fb3ce1f1787
+https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=8cdbd3b09f29da29374e2f83369df24228da0ad1
+
+From 3cccdbab2324086588df4ccf5f892fb3ce1f1787 Mon Sep 17 00:00:00 2001
+From: Alain Michaud <alainm@chromium.org>
+Date: Tue, 10 Mar 2020 02:35:18 +0000
+Subject: [PATCH] HID accepts bonded device connections only.
+
+This change adds a configuration for platforms to choose a more secure
+posture for the HID profile.  While some older mice are known to not
+support pairing or encryption, some platform may choose a more secure
+posture by requiring the device to be bonded  and require the
+connection to be encrypted when bonding is required.
+
+Reference:
+https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
+---
+ profiles/input/device.c   | 23 ++++++++++++++++++++++-
+ profiles/input/device.h   |  1 +
+ profiles/input/input.conf |  8 ++++++++
+ profiles/input/manager.c  | 13 ++++++++++++-
+ 4 files changed, 43 insertions(+), 2 deletions(-)
+
+diff --git a/profiles/input/device.c b/profiles/input/device.c
+index 2cb3811c8..d89da2d7c 100644
+--- a/profiles/input/device.c
++++ b/profiles/input/device.c
+@@ -92,6 +92,7 @@ struct input_device {
+ 
+ static int idle_timeout = 0;
+ static bool uhid_enabled = false;
++static bool classic_bonded_only = false;
+ 
+ void input_set_idle_timeout(int timeout)
+ {
+@@ -103,6 +104,11 @@ void input_enable_userspace_hid(bool state)
+ 	uhid_enabled = state;
+ }
+ 
++void input_set_classic_bonded_only(bool state)
++{
++	classic_bonded_only = state;
++}
++
+ static void input_device_enter_reconnect_mode(struct input_device *idev);
+ static int connection_disconnect(struct input_device *idev, uint32_t flags);
+ 
+@@ -970,8 +976,18 @@ static int hidp_add_connection(struct input_device *idev)
+ 	if (device_name_known(idev->device))
+ 		device_get_name(idev->device, req->name, sizeof(req->name));
+ 
++	/* Make sure the device is bonded if required */
++	if (classic_bonded_only && !device_is_bonded(idev->device,
++				btd_device_get_bdaddr_type(idev->device))) {
++		error("Rejected connection from !bonded device %s", dst_addr);
++		goto cleanup;
++	}
++
+ 	/* Encryption is mandatory for keyboards */
+-	if (req->subclass & 0x40) {
++	/* Some platforms may choose to require encryption for all devices */
++	/* Note that this only matters for pre 2.1 devices as otherwise the */
++	/* device is encrypted by default by the lower layers */
++	if (classic_bonded_only || req->subclass & 0x40) {
+ 		if (!bt_io_set(idev->intr_io, &gerr,
+ 					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
+ 					BT_IO_OPT_INVALID)) {
+@@ -1203,6 +1219,11 @@ static void input_device_enter_reconnect_mode(struct input_device *idev)
+ 	DBG("path=%s reconnect_mode=%s", idev->path,
+ 				reconnect_mode_to_string(idev->reconnect_mode));
+ 
++	/* Make sure the device is bonded if required */
++	if (classic_bonded_only && !device_is_bonded(idev->device,
++				btd_device_get_bdaddr_type(idev->device)))
++		return;
++
+ 	/* Only attempt an auto-reconnect when the device is required to
+ 	 * accept reconnections from the host.
+ 	 */
+diff --git a/profiles/input/device.h b/profiles/input/device.h
+index 51a9aee18..3044db673 100644
+--- a/profiles/input/device.h
++++ b/profiles/input/device.h
+@@ -29,6 +29,7 @@ struct input_conn;
+ 
+ void input_set_idle_timeout(int timeout);
+ void input_enable_userspace_hid(bool state);
++void input_set_classic_bonded_only(bool state);
+ 
+ int input_device_register(struct btd_service *service);
+ void input_device_unregister(struct btd_service *service);
+diff --git a/profiles/input/input.conf b/profiles/input/input.conf
+index 3e1d65aae..166aff4a4 100644
+--- a/profiles/input/input.conf
++++ b/profiles/input/input.conf
+@@ -11,3 +11,11 @@
+ # Enable HID protocol handling in userspace input profile
+ # Defaults to false (HIDP handled in HIDP kernel module)
+ #UserspaceHID=true
++
++# Limit HID connections to bonded devices
++# The HID Profile does not specify that devices must be bonded, however some
++# platforms may want to make sure that input connections only come from bonded
++# device connections. Several older mice have been known for not supporting
++# pairing/encryption.
++# Defaults to false to maximize device compatibility.
++#ClassicBondedOnly=true
+diff --git a/profiles/input/manager.c b/profiles/input/manager.c
+index 1d31b0652..5cd27b839 100644
+--- a/profiles/input/manager.c
++++ b/profiles/input/manager.c
+@@ -96,7 +96,7 @@ static int input_init(void)
+ 	config = load_config_file(CONFIGDIR "/input.conf");
+ 	if (config) {
+ 		int idle_timeout;
+-		gboolean uhid_enabled;
++		gboolean uhid_enabled, classic_bonded_only;
+ 
+ 		idle_timeout = g_key_file_get_integer(config, "General",
+ 							"IdleTimeout", &err);
+@@ -114,6 +114,17 @@ static int input_init(void)
+ 			input_enable_userspace_hid(uhid_enabled);
+ 		} else
+ 			g_clear_error(&err);
++
++		classic_bonded_only = g_key_file_get_boolean(config, "General",
++						"ClassicBondedOnly", &err);
++
++		if (!err) {
++			DBG("input.conf: ClassicBondedOnly=%s",
++					classic_bonded_only ? "true" : "false");
++			input_set_classic_bonded_only(classic_bonded_only);
++		} else
++			g_clear_error(&err);
++
+ 	}
+ 
+ 	btd_profile_register(&input_profile);
+-- 
+2.25.1
+
+From 8cdbd3b09f29da29374e2f83369df24228da0ad1 Mon Sep 17 00:00:00 2001
+From: Alain Michaud <alainm@chromium.org>
+Date: Tue, 10 Mar 2020 02:35:16 +0000
+Subject: [PATCH] HOGP must only accept data from bonded devices.
+
+HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding.
+
+Reference:
+https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.htm
+---
+ profiles/input/hog.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/profiles/input/hog.c b/profiles/input/hog.c
+index 83c017dcb..dfac68921 100644
+--- a/profiles/input/hog.c
++++ b/profiles/input/hog.c
+@@ -186,6 +186,10 @@ static int hog_accept(struct btd_service *service)
+ 			return -EINVAL;
+ 	}
+ 
++	/* HOGP 1.0 Section 6.1 requires bonding */
++	if (!device_is_bonded(device, btd_device_get_bdaddr_type(device)))
++		return -ECONNREFUSED;
++
+ 	/* TODO: Replace GAttrib with bt_gatt_client */
+ 	bt_hog_attach(dev->hog, attrib);
+ 
+-- 
+2.25.1
+
diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm
index 75e858609f..67bdfd81c4 100644
--- a/gnu/packages/perl-check.scm
+++ b/gnu/packages/perl-check.scm
@@ -66,9 +66,9 @@ implementation as used in cperl.  It does not store the mocked overrides
 lexically, just dynamically.")
     (license artistic2.0)))
 
-(define-public perl-test2-bundle-extended
+(define-public perl-test2-suite
   (package
-    (name "perl-test2-bundle-extended")
+    (name "perl-test2-suite")
     (version "0.000072")
     (source
       (origin
@@ -88,7 +88,7 @@ lexically, just dynamically.")
      `(("perl-importer" ,perl-importer)
        ("perl-term-table" ,perl-term-table)
        ("perl-sub-info" ,perl-sub-info)))
-    (home-page "https://metacpan.org/pod/Test2::Bundle::Extended")
+    (home-page "https://metacpan.org/pod/Test2-Suite")
     (synopsis "Full set of tools for Test2::Suite")
     (description "This package provides a rich set of tools, plugins, bundles,
 etc built upon the Test2 testing library.")
@@ -107,8 +107,10 @@ etc built upon the Test2 testing library.")
          (base32
           "002qk6qsm0l6r2kaxywvc38w0yf0mlavgywq8li076pn6kcw3242"))))
     (build-system perl-build-system)
+    (native-inputs
+     `(("perl-ipc-run3" ,perl-ipc-run3)))
     (propagated-inputs
-     `(("perl-test2-bundle-extended" ,perl-test2-bundle-extended)))
+     `(("perl-test2-suite" ,perl-test2-suite)))
     (home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings")
     (synopsis "Fail if tests warn")
     (description "Loading this plugin causes your tests to fail if there any
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index f1d00065f8..7e27ea01e7 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -7201,8 +7201,8 @@ function call parameters to an arbitrary level of specificity.")
     (native-inputs
      ;; For tests.
      `(("perl-test-without-module" ,perl-test-without-module)
-       ("perl-test2-bundle-extended" ,perl-test2-bundle-extended)
        ("perl-test2-plugin-nowarnings" ,perl-test2-plugin-nowarnings)
+       ("perl-test2-suite" ,perl-test2-suite)
        ("perl-type-tiny" ,perl-type-tiny)))
     (propagated-inputs
      `(("perl-eval-closure" ,perl-eval-closure)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 17b6aa41c7..b010f42647 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -5757,9 +5757,9 @@ computing.")
          (add-before 'check 'delete-broken-tests
            (lambda* (#:key inputs #:allow-other-keys)
              ;; These tests throw errors for unknown reasons.
+             (delete-file "IPython/core/tests/test_displayhook.py")
+             (delete-file "IPython/core/tests/test_magic_terminal.py")
              (delete-file "IPython/core/tests/test_profile.py")
-             (delete-file "IPython/core/tests/test_interactiveshell.py")
-             (delete-file "IPython/core/tests/test_magic.py")
              #t)))))
     (home-page "https://ipython.org")
     (synopsis "IPython is a tool for interactive computing in Python")
@@ -8186,6 +8186,7 @@ in the data.")
     (description "This package provides a terminal-based console frontend for
 Jupyter kernels.  It also allows for console-based interaction with non-Python
 Jupyter kernels such as IJulia and IRKernel.")
+    (properties `((python2-variant . ,(delay python2-jupyter-console))))
     (license license:bsd-3)))
 
 (define-public python2-jupyter-console
@@ -8200,8 +8201,9 @@ Jupyter kernels such as IJulia and IRKernel.")
         (base32
          "1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal"))))
     (build-system python-build-system)
-    ;; Tests only run in an TTY.
-    (arguments `(#:tests? #f))
+    (arguments
+     `(#:python ,python-2
+       #:tests? #f))    ; Tests only run in a TTY.
     (propagated-inputs
      `(("python2-ipykernel" ,python2-ipykernel)
        ("python2-jupyter-client" ,python2-jupyter-client)
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm
index 6323169ee6..31768c814e 100644
--- a/gnu/packages/skarnet.scm
+++ b/gnu/packages/skarnet.scm
@@ -104,14 +104,14 @@ complexity.")))
 (define-public s6
   (package
    (name "s6")
-   (version "2.9.0.1")
+   (version "2.9.1.0")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "https://skarnet.org/software/s6/s6-"
                          version ".tar.gz"))
      (sha256
-      (base32 "0mvcjrz8nlj9p2zclmcv22b4y6bqzd2iz38arhgc989vdvrbmkg0"))))
+      (base32 "1xqzl2wnvcmcyhppk7mc10h1ac7fkik3i6gpyliwpf3d5i9mkqh5"))))
    (build-system gnu-build-system)
    (inputs `(("skalibs" ,skalibs)
              ("execline" ,execline)))
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 547450c78b..6616780081 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
 ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
@@ -1983,20 +1983,21 @@ and environmental data in the framework of Euclidean exploratory methods.")
 (define-public r-xml2
   (package
     (name "r-xml2")
-    (version "1.2.2")
+    (version "1.2.5")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "xml2" version))
        (sha256
         (base32
-         "1x3q3a0xv8j0nx3hs4d3pfjm5g9nvaxmfrapba9f4nrkqi3z2l1h"))))
+         "0mp61gg8s3zfq10g10vjk0mrcx6d5gm81n4ji8an2my11g61yq94"))))
     (build-system r-build-system)
     (inputs
      `(("libxml2" ,libxml2)
        ("zlib" ,zlib)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("r-knitr" ,r-knitr)))
     (propagated-inputs
      `(("r-rcpp" ,r-rcpp)))
     (home-page "https://github.com/hadley/xml2")
@@ -2263,19 +2264,20 @@ tables, autolinks and strikethrough text.")
 (define-public r-roxygen2
   (package
     (name "r-roxygen2")
-    (version "7.0.2")
+    (version "7.1.0")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "roxygen2" version))
               (sha256
                (base32
-                "162xag27hwwyadfwm5zpyy15nxwhw2vbhwapx3jmi9cfyryr68sq"))))
+                "00s1wzx5960k8pzgpz4kikjf4k061hyhnd278y65q6n0wzv3d6vy"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-brew" ,r-brew)
        ("r-commonmark" ,r-commonmark)
        ("r-desc" ,r-desc)
        ("r-digest" ,r-digest)
+       ("r-knitr" ,r-knitr)
        ("r-pkgload" ,r-pkgload)
        ("r-purrr" ,r-purrr)
        ("r-r6" ,r-r6)
@@ -2284,8 +2286,6 @@ tables, autolinks and strikethrough text.")
        ("r-stringi" ,r-stringi)
        ("r-stringr" ,r-stringr)
        ("r-xml2" ,r-xml2)))
-    (native-inputs
-     `(("r-knitr" ,r-knitr))) ; for vignettes
     (home-page "https://github.com/klutometis/roxygen")
     (synopsis "In-source documentation system for R")
     (description
@@ -5101,14 +5101,14 @@ expected shortfall risk are also included.")
 (define-public r-nloptr
   (package
     (name "r-nloptr")
-    (version "1.2.2")
+    (version "1.2.2.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "nloptr" version))
        (sha256
         (base32
-         "19k7nd3a7cg35k5i1cwj1lhgfs02jb7bc2gwlammpq6j41rh4vr7"))))
+         "1bhh2v14phzndjhiq7yw9vych6vzn5yy3vk9q35zcp3jhjjbwdyh"))))
     (build-system r-build-system)
     (native-inputs
      `(("r-knitr" ,r-knitr) ; for building vignettes
@@ -5204,13 +5204,13 @@ Companion to Applied Regression, Third Edition, Sage.")
 (define-public r-car
   (package
     (name "r-car")
-    (version "3.0-6")
+    (version "3.0-7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "car" version))
        (sha256
-        (base32 "0yv5mwaa0ymrbis9590mx0zcj3w6j4drhs6ab13zhx4zc3x1b7b6"))))
+        (base32 "11sfk1l41j27mrfy16g7b02c570n3gy9icvpcrfjh1biykqa565d"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-abind" ,r-abind)
@@ -5224,6 +5224,8 @@ Companion to Applied Regression, Third Edition, Sage.")
        ("r-pbkrtest" ,r-pbkrtest)
        ("r-quantreg" ,r-quantreg)
        ("r-rio" ,r-rio)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
     (home-page "https://r-forge.r-project.org/projects/car/")
     (synopsis "Companion to applied regression")
     (description
@@ -5392,14 +5394,14 @@ genome-wide association studies can be analyzed efficiently.")
 (define-public r-cairo
   (package
     (name "r-cairo")
-    (version "1.5-10")
+    (version "1.5-11")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "Cairo" version))
        (sha256
         (base32
-         "1mdmd5zmjkh1b0x928zizgzh42x8swbajffb88rvnjfdhk1z0dvq"))))
+         "1k9kpxcg5n4g6x2gydv344f4w0snqbhww14fnbbj1bny0mmv28xg"))))
     (properties `((upstream-name . "Cairo")))
     (build-system r-build-system)
     (inputs
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index 1be7c69154..8510c6d1d0 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -561,7 +561,7 @@ runs Word\".")
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (mkdir-p (string-append out "/share/man/man1"))))))))
-    (home-page "http://www.wagner.pp.ru/~vitus/software/catdoc/")
+    (home-page "https://www.wagner.pp.ru/~vitus/software/catdoc/")
     (synopsis "MS-Word to TeX or plain text converter")
     (description "@command{catdoc} extracts text from MS-Word files, trying to
 preserve as many special printable characters as possible.  It supports
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 52626f8076..5d0fa267a9 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -27,6 +27,7 @@
 ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -531,6 +532,75 @@ everything from small to very large projects with speed and efficiency.")
        ("zlib" ,zlib)
        ("bash-for-tests" ,bash)))))
 
+(define-public gitless
+  (package
+    (name "gitless")
+    (version "0.8.8")
+    (source
+     (origin
+       ;; The PyPI package lacks a test suite.  Build directly from git.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gitless-vcs/gitless")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "048kl27zjr68hgs70g3l98ci9765wxva6azzrhcdys7nsdd493n6"))
+       (file-name (git-file-name name version))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'loosen-requirements
+           (lambda _
+             (substitute* "setup.py"
+               ;; Using Guix's python-pygit2 1.1.0 appears to work fine…
+               (("pygit2==") "pygit2>="))
+             #t))
+         (add-before 'check 'prepare-for-tests
+           (lambda _
+             ;; Find the 'gl' command.
+             (rename-file "gl.py" "gl")
+             (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+
+             ;; The tests try to run git as if it were already set up.
+             (setenv "HOME" (getcwd))
+             (invoke "git" "config" "--global" "user.email" "git@example.com")
+             (invoke "git" "config" "--global" "user.name" "Guix")))
+         (replace 'wrap
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (git (assoc-ref inputs "git")))
+               (wrap-program (string-append out "/bin/gl")
+                 `("PATH" ":" prefix (,(string-append git "/bin")))
+                 `("PYTHONPATH" ":" =
+                   (,(string-append out "/lib/python"
+                                    ,(version-major+minor
+                                      (package-version python))
+                                    "/site-packages:")
+                    ,(getenv "PYTHONPATH"))))
+               #t))))))
+    (native-inputs
+     `(("git-for-tests" ,git-minimal)))
+    (inputs
+     `(("git" ,git-minimal)
+       ("python-clint" ,python-clint)
+       ("python-pygit2" ,python-pygit2)
+       ("python-sh" ,python-sh)))
+    (home-page "https://gitless.com")
+    (synopsis "Simple version control system built on top of Git")
+    (description
+     "Gitless is a Git-compatible version control system that aims to be easy to
+learn and use.  It simplifies the common workflow by committing changes to
+tracked files by default and saving any uncommitted changes as part of a branch.
+
+The friendly @command{gl} command-line interface gives feedback and helps you
+figure out what to do next.
+
+Gitless is implemented on top of Git and its commits and repositories are
+indistinguishable from Git's.  You (or other contributors) can always fall back
+on @command{git}, and use any regular Git hosting service.")
+    (license license:expat)))
+
 (define-public libgit2
   (package
     (name "libgit2")
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 41e6835baf..0e428f345d 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2580,7 +2580,7 @@ Other features include a live preview and live streaming.")
        ("automake" ,automake)))
     (inputs
      `(("sdl" ,sdl2)))
-    (home-page "http://icculus.org/smpeg/")
+    (home-page "https://icculus.org/smpeg/")
     (synopsis "SDL MPEG decoding library")
     (description
      "SMPEG (SDL MPEG Player Library) is a free MPEG1 video player library
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 840083f021..ac156b2b99 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -221,14 +221,14 @@ Interface} specification.")
     ;; ’stable’ and recommends that “in general you deploy the NGINX mainline
     ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
     ;; Consider updating the nginx-documentation package together with this one.
-    (version "1.17.8")
+    (version "1.17.9")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://nginx.org/download/nginx-"
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0nwn4md8sxhks2j77qq1nvk5pfz3yykfhh2b507b6l2idp7kxllp"))))
+                "12dnrdxwnlid0wr797vdxj9z1fmxnk7ib55bznvl2g3mbi05vmkx"))))
     (build-system gnu-build-system)
     (inputs `(("openssl" ,openssl)
               ("pcre" ,pcre)
@@ -1129,7 +1129,7 @@ parser written in ANSI C and a small validating JSON generator.")
      "Libwebsockets is a library that allows C programs to establish client
 and server WebSockets connections---a protocol layered above HTTP that allows
 for efficient socket-like bidirectional reliable communication channels.")
-    (home-page "http://libwebsockets.org/")
+    (home-page "https://libwebsockets.org")
 
     ;; This is LGPLv2.1-only with extra exceptions specified in 'LICENSE'.
     (license license:lgpl2.1)))
@@ -6089,10 +6089,10 @@ file links.")
     (inputs
      `(("expat" ,expat)
        ("openssl" ,openssl)))
-    (home-page "http://www.webdav.org/cadaver")
+    (home-page "http://www.webdav.org/cadaver/")
     (synopsis "Command-line WebDAV client")
     (description
-     "Cadaver is a command-line WebDAV client for Unix. It supports
+     "Cadaver is a command-line WebDAV client for Unix.  It supports
 file upload, download, on-screen display, namespace operations (move/copy),
 collection creation and deletion, and locking operations.")
     (license license:gpl2)))
@@ -7207,7 +7207,7 @@ the Internet to a local directory, building recursively all directories,
 getting HTML, images, and other files from the server to your computer.
 
 HTTrack arranges the original site's relative link-structure.  Simply open
-a page of the ``mirrored'' website in your browser, and you can browse the
+a page of the @code{mirrored} website in your browser, and you can browse the
 site from link to link, as if you were viewing it online.  HTTrack can also
 update an existing mirrored site, and resume interrupted downloads.
 
diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
index 1474b6623d..16e2b009fc 100644
--- a/gnu/packages/webkit.scm
+++ b/gnu/packages/webkit.scm
@@ -121,14 +121,14 @@ engine that uses Wayland for graphics output.")
 (define-public webkitgtk
   (package
     (name "webkitgtk")
-    (version "2.26.4")
+    (version "2.28.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.webkitgtk.org/releases/"
                                   "webkitgtk-" version ".tar.xz"))
               (sha256
                (base32
-                "0gqi9f9njrdn8vad1zvr59b25arwc8r0n8bp25sgkbfz2c3r11j3"))))
+                "12qfs9w93c5kiyi14ynm4rf4ad3c213dvzmdrc9c3ab2iwbks7rn"))))
     (build-system cmake-build-system)
     (outputs '("out" "doc"))
     (arguments
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index f9b6ef9880..f5b9e62afe 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -691,14 +691,14 @@ tiled on several screens.")
 (define-public xmobar
   (package
     (name "xmobar")
-    (version "0.32")
+    (version "0.33")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://hackage/package/xmobar/"
                                   "xmobar-" version ".tar.gz"))
               (sha256
                (base32
-                "0x2ki3v0pmhl4bva3qi1xx21axayc4sx1nkzhmk2ap4l0cj52jrd"))))
+                "1hr3qqykc5givcpcwrr9f2y920jmiinmxm5mcy6qgpgymgwqb618"))))
     (build-system haskell-build-system)
     (native-inputs
      `(("ghc-hspec" ,ghc-hspec)
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index d62bab482a..c714b867f4 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -818,7 +818,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
 (define-public xlockmore
   (package
     (name "xlockmore")
-    (version "5.59")
+    (version "5.62")
     (source (origin
              (method url-fetch)
              (uri (list (string-append "http://sillycycle.com/xlock/"
@@ -829,7 +829,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
                                        "xlockmore-" version ".tar.xz")))
              (sha256
               (base32
-               "0lajc5a4lki33b9mzfsi74q4hbivbmhwysp7mib4ivnyxianhaid"))))
+               "0b05wgj4mpssy4hd7km5c48i454dfg45p11mfmsr7xjd2gnz5gqi"))))
     (build-system gnu-build-system)
     (arguments
      '(#:configure-flags (list (string-append "--enable-appdefaultdir="
@@ -841,7 +841,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.")
        ("libXext" ,libxext)
        ("libXt" ,libxt)
        ("linux-pam" ,linux-pam)))
-    (home-page "http://sillycycle.com/xlockmore.html")
+    (home-page "https://sillycycle.com/xlockmore.html")
     (synopsis "Screen locker for the X Window System")
     (description
      "XLockMore is a classic screen locker and screen saver for the
@@ -1972,7 +1972,7 @@ The cutbuffer and clipboard selection are always synchronized.")
 (define-public jgmenu
   (package
     (name "jgmenu")
-    (version "4.0.1")
+    (version "4.1.0")
     (source
      (origin
        (method git-fetch)
@@ -1982,7 +1982,7 @@ The cutbuffer and clipboard selection are always synchronized.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "1q0rpg2d96sn3rrdi8m7bngnxxqyxilpjxi7skiw4gvpiv1akxjp"))))
+         "1wsh37rapb1bszlq36hvwxqvfds39hbvbl152m8as4zlh93wfvvk"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("cppcheck" ,cppcheck)
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index 443165fea1..fac114fb82 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -13,7 +13,7 @@
 ;;; Copyright © 2016, 2017 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
-;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
@@ -6139,8 +6139,7 @@ X11 servers, Windows, or macOS.")
                            (guix build emacs-utils))
        #:configure-flags
        (list "--with-anthy-utf8"
-             (string-append "--with-lispdir=" %output
-                            "/share/emacs/site-lisp/guix.d")
+             (string-append "--with-lispdir=" %output "/share/emacs")
              ;; Set proper runpath
              (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
        #:phases
@@ -6148,13 +6147,22 @@ X11 servers, Windows, or macOS.")
          ;; Set path of uim-el-agent and uim-el-helper-agent executables
          (add-after 'configure 'configure-uim-el
            (lambda* (#:key outputs #:allow-other-keys)
-             (substitute* "emacs/uim-var.el"
-               (("\"(uim-el-agent|uim-el-helper-agent)\"" _ executable)
-                (string-append "\"" (assoc-ref outputs "out")
-                               "/bin/" executable "\"")))
+             (let ((out (assoc-ref outputs "out")))
+               (emacs-substitute-variables "emacs/uim-var.el"
+                 ("uim-el-agent" (string-append out "/bin/uim-el-agent"))
+                 ("uim-el-helper-agent" (string-append out "/bin/uim-el-helper-agent"))))
+             #t))
+         ;; Fix installation path by renaming share/emacs/uim-el to
+         ;; share/emacs/site-lisp
+         (add-after 'install 'fix-install-path
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((share-emacs (string-append (assoc-ref outputs "out")
+                                               "/share/emacs")))
+               (rename-file (string-append share-emacs "/uim-el")
+                            (string-append share-emacs "/site-lisp")))
              #t))
          ;; Generate emacs autoloads for uim.el
-         (add-after 'install 'make-autoloads
+         (add-after 'fix-install-path 'make-autoloads
            (lambda* (#:key outputs #:allow-other-keys)
              (emacs-generate-autoloads
               ,name (string-append (assoc-ref outputs "out")
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 075140816a..d093f60c8d 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net>
 ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2019 Florian Pelz <pelzflorian@pelzflorian.de>
+;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1670,12 +1671,14 @@ WSGIPassAuthorization On
     #~(begin
         (use-modules (guix build utils))
 
+        (mkdir-p "/var/mumi/db")
         (mkdir-p "/var/mumi/mails")
         (let* ((pw  (getpwnam "mumi"))
                (uid (passwd:uid pw))
                (gid (passwd:gid pw)))
           (chown "/var/mumi" uid gid)
-          (chown "/var/mumi/mails" uid gid)))))
+          (chown "/var/mumi/mails" uid gid)
+          (chown "/var/mumi/db" uid gid)))))
 
 (define %mumi-accounts
   (list (user-group (name "mumi") (system? #t))
@@ -1696,6 +1699,15 @@ WSGIPassAuthorization On
                    '(#$(file-append mumi "/bin/mumi"))
                    #:user "mumi" #:group "mumi"
                    #:log-file "/var/log/mumi.log"))
+         (stop #~(make-kill-destructor)))
+        (shepherd-service
+         (provision '(mumi-worker))
+         (documentation "Mumi bug-tracking web interface.")
+         (requirement '(networking))
+         (start #~(make-forkexec-constructor
+                   '(#$(file-append mumi "/bin/mumi") "--worker")
+                   #:user "mumi" #:group "mumi"
+                   #:log-file "/var/log/mumi.worker.log"))
          (stop #~(make-kill-destructor)))))
 
 (define mumi-service-type